Bug 32030: Fix pinia init
Uncaught Error: [🍍]: getActivePinia was called with no active Pinia. Did you forget to install pinia? const pinia = createPinia() app.use(pinia) This will fail in production.
Signed-off-by: Jonathan Field <jonathan.field@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
parent
f62e6ebbaa
commit
2db6bd8a0c
|
|
@ -173,22 +173,22 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { inject } from 'vue'
|
||||
import AgreementPeriods from './AgreementPeriods.vue'
|
||||
import AgreementUserRoles from './AgreementUserRoles.vue'
|
||||
import AgreementLicenses from './AgreementLicenses.vue'
|
||||
import AgreementRelationships from './AgreementRelationships.vue'
|
||||
import AgreementDocuments from './AgreementDocuments.vue'
|
||||
import { useVendorStore } from "../../stores/vendors"
|
||||
import { useAVStore } from "../../stores/authorised_values"
|
||||
import { setMessage, setError, setWarning } from "../../messages"
|
||||
import { fetchAgreement } from '../../fetch'
|
||||
import { storeToRefs } from "pinia"
|
||||
|
||||
export default {
|
||||
setup() {
|
||||
const vendorStore = useVendorStore()
|
||||
const vendorStore = inject('vendorStore')
|
||||
const { vendors } = storeToRefs(vendorStore)
|
||||
const AVStore = useAVStore()
|
||||
|
||||
const AVStore = inject('AVStore')
|
||||
const {
|
||||
av_agreement_statuses,
|
||||
av_agreement_closure_reasons,
|
||||
|
|
|
|||
|
|
@ -34,19 +34,18 @@
|
|||
<script>
|
||||
import flatPickr from 'vue-flatpickr-component'
|
||||
import Toolbar from "./AgreementsToolbar.vue"
|
||||
import { createVNode, render } from 'vue'
|
||||
import { useVendorStore } from "../../stores/vendors"
|
||||
import { useAVStore } from "../../stores/authorised_values"
|
||||
import { inject, createVNode, render } from 'vue'
|
||||
import { storeToRefs } from "pinia"
|
||||
import { fetchAgreements } from "../../fetch"
|
||||
import { useDataTable, build_url } from "../../composables/datatables"
|
||||
|
||||
export default {
|
||||
setup() {
|
||||
const vendorStore = useVendorStore()
|
||||
|
||||
const vendorStore = inject('vendorStore')
|
||||
const { vendors } = storeToRefs(vendorStore)
|
||||
|
||||
const AVStore = useAVStore()
|
||||
const AVStore = inject('AVStore')
|
||||
const { get_lib_from_av, map_av_dt_filter } = AVStore
|
||||
|
||||
const table_id = "agreement_list"
|
||||
|
|
|
|||
|
|
@ -299,7 +299,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { useAVStore } from "../../stores/authorised_values"
|
||||
import { inject } from 'vue'
|
||||
import { fetchAgreement } from "../../fetch"
|
||||
|
||||
export default {
|
||||
|
|
@ -307,7 +307,7 @@ export default {
|
|||
const format_date = $date
|
||||
const patron_to_html = $patron_to_html
|
||||
|
||||
const AVStore = useAVStore()
|
||||
const AVStore = inject('AVStore')
|
||||
const { get_lib_from_av } = AVStore
|
||||
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -15,11 +15,11 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { inject } from "vue"
|
||||
import { storeToRefs } from "pinia"
|
||||
import { useMainStore } from "../../stores/main"
|
||||
export default {
|
||||
setup() {
|
||||
const mainStore = useMainStore()
|
||||
const mainStore = inject("mainStore")
|
||||
const { message, error, warning } = storeToRefs(mainStore)
|
||||
const { removeMessages } = mainStore
|
||||
return { message, error, warning, removeMessages }
|
||||
|
|
@ -42,4 +42,4 @@ export default {
|
|||
float: right;
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -59,14 +59,13 @@
|
|||
|
||||
<script>
|
||||
|
||||
import { createVNode, render } from 'vue'
|
||||
import { useAVStore } from "../../stores/authorised_values"
|
||||
import { inject, createVNode, render } from 'vue'
|
||||
import { storeToRefs } from "pinia"
|
||||
import { useDataTable } from "../../composables/datatables"
|
||||
|
||||
export default {
|
||||
setup() {
|
||||
const AVStore = useAVStore()
|
||||
const AVStore = inject('AVStore')
|
||||
const { av_title_publication_types } = storeToRefs(AVStore)
|
||||
const { get_lib_from_av, map_av_dt_filter } = AVStore
|
||||
|
||||
|
|
|
|||
|
|
@ -60,19 +60,17 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { createVNode, render } from 'vue'
|
||||
import { useVendorStore } from "../../stores/vendors"
|
||||
import { useAVStore } from "../../stores/authorised_values"
|
||||
import { inject, createVNode, render } from 'vue'
|
||||
import { storeToRefs } from "pinia"
|
||||
import { fetchCountLocalPackages } from './../../fetch'
|
||||
import { useDataTable, build_url_params, build_url } from "../../composables/datatables"
|
||||
|
||||
export default {
|
||||
setup() {
|
||||
const vendorStore = useVendorStore() // FIXME We only need that for 'manual'
|
||||
const vendorStore = inject('vendorStore')
|
||||
const { vendors } = storeToRefs(vendorStore)
|
||||
|
||||
const AVStore = useAVStore()
|
||||
const AVStore = inject('AVStore')
|
||||
const { av_package_types, av_package_content_types } = storeToRefs(AVStore)
|
||||
const { get_lib_from_av, map_av_dt_filter } = AVStore
|
||||
|
||||
|
|
|
|||
|
|
@ -103,16 +103,16 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { inject } from 'vue'
|
||||
import EHoldingsPackageAgreements from "./EHoldingsEBSCOPackageAgreements.vue"
|
||||
import EHoldingsPackageTitlesList from "./EHoldingsEBSCOPackageTitlesList.vue"
|
||||
import { useAVStore } from "../../stores/authorised_values"
|
||||
import { fetchEBSCOPackage, checkError } from "../../fetch"
|
||||
|
||||
export default {
|
||||
setup() {
|
||||
const format_date = $date
|
||||
|
||||
const AVStore = useAVStore()
|
||||
const AVStore = inject('AVStore')
|
||||
const { get_lib_from_av } = AVStore
|
||||
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -112,8 +112,8 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { inject } from 'vue'
|
||||
import { fetchEBSCOResource } from "../../fetch"
|
||||
import { useVendorStore } from "../../stores/vendors"
|
||||
import { storeToRefs } from "pinia"
|
||||
import { checkError } from '../../fetch.js'
|
||||
|
||||
|
|
@ -121,7 +121,7 @@ export default {
|
|||
setup() {
|
||||
const format_date = $date
|
||||
|
||||
const vendorStore = useVendorStore()
|
||||
const vendorStore = inject('vendorStore')
|
||||
const { vendors } = storeToRefs(vendorStore)
|
||||
return {
|
||||
format_date,
|
||||
|
|
|
|||
|
|
@ -66,19 +66,17 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { createVNode, render } from 'vue'
|
||||
import { useVendorStore } from "../../stores/vendors"
|
||||
import { useAVStore } from "../../stores/authorised_values"
|
||||
import { inject, createVNode, render } from 'vue'
|
||||
import { storeToRefs } from "pinia"
|
||||
import { fetchCountLocalTitles } from "./../../fetch"
|
||||
import { useDataTable, build_url_params, build_url } from "../../composables/datatables"
|
||||
|
||||
export default {
|
||||
setup() {
|
||||
const vendorStore = useVendorStore()
|
||||
const vendorStore = inject('vendorStore')
|
||||
const { vendors } = storeToRefs(vendorStore)
|
||||
|
||||
const AVStore = useAVStore()
|
||||
const AVStore = inject('AVStore')
|
||||
const { av_title_publication_types } = storeToRefs(AVStore)
|
||||
const { get_lib_from_av } = AVStore
|
||||
|
||||
|
|
|
|||
|
|
@ -243,12 +243,12 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { inject } from 'vue'
|
||||
import EHoldingsTitlePackagesList from "./EHoldingsEBSCOTitlePackagesList.vue"
|
||||
import { fetchEBSCOTitle } from "../../fetch"
|
||||
import { useAVStore } from "../../stores/authorised_values"
|
||||
export default {
|
||||
setup() {
|
||||
const AVStore = useAVStore()
|
||||
const AVStore = inject('AVStore')
|
||||
const { get_lib_from_av } = AVStore
|
||||
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -6,13 +6,12 @@
|
|||
|
||||
<script>
|
||||
|
||||
import { createVNode, render } from 'vue'
|
||||
import { useAVStore } from "../../stores/authorised_values"
|
||||
import { inject, createVNode, render } from 'vue'
|
||||
import { useDataTable } from "../../composables/datatables"
|
||||
|
||||
export default {
|
||||
setup() {
|
||||
const AVStore = useAVStore()
|
||||
const AVStore = inject('AVStore')
|
||||
const { get_lib_from_av, map_av_dt_filter } = AVStore
|
||||
|
||||
const table_id = "title_list"
|
||||
|
|
|
|||
|
|
@ -85,18 +85,17 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { inject } from 'vue'
|
||||
import EHoldingsPackageAgreements from "./EHoldingsLocalPackageAgreements.vue"
|
||||
import { useVendorStore } from "../../stores/vendors"
|
||||
import { useAVStore } from "../../stores/authorised_values"
|
||||
import { setMessage, setError, setWarning } from "../../messages"
|
||||
import { fetchLocalPackage, createPackage, editPackage } from '../../fetch'
|
||||
import { storeToRefs } from "pinia"
|
||||
|
||||
export default {
|
||||
setup() {
|
||||
const vendorStore = useVendorStore()
|
||||
const vendorStore = inject('vendorStore')
|
||||
const { vendors } = storeToRefs(vendorStore)
|
||||
const AVStore = useAVStore()
|
||||
const AVStore = inject('AVStore')
|
||||
const {
|
||||
av_package_types,
|
||||
av_package_content_types,
|
||||
|
|
|
|||
|
|
@ -15,19 +15,17 @@
|
|||
|
||||
<script>
|
||||
import Toolbar from "./EHoldingsLocalPackagesToolbar.vue"
|
||||
import { createVNode, render } from 'vue'
|
||||
import { useVendorStore } from "../../stores/vendors"
|
||||
import { useAVStore } from "../../stores/authorised_values"
|
||||
import { inject, createVNode, render } from 'vue'
|
||||
import { storeToRefs } from "pinia"
|
||||
import { fetchLocalPackages } from "../../fetch"
|
||||
import { useDataTable } from "../../composables/datatables"
|
||||
|
||||
export default {
|
||||
setup() {
|
||||
const vendorStore = useVendorStore() // FIXME We only need that for 'manual'
|
||||
const vendorStore = inject('vendorStore')
|
||||
const { vendors } = storeToRefs(vendorStore)
|
||||
|
||||
const AVStore = useAVStore()
|
||||
const AVStore = inject('AVStore')
|
||||
const { get_lib_from_av, map_av_dt_filter } = AVStore
|
||||
|
||||
const table_id = "package_list"
|
||||
|
|
|
|||
|
|
@ -104,15 +104,15 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { inject } from 'vue'
|
||||
import EHoldingsPackageTitlesList from "./EHoldingsLocalPackageTitlesList.vue"
|
||||
import { useAVStore } from "../../stores/authorised_values"
|
||||
import { fetchLocalPackage } from "../../fetch"
|
||||
|
||||
export default {
|
||||
setup() {
|
||||
const format_date = $date
|
||||
|
||||
const AVStore = useAVStore()
|
||||
const AVStore = inject('AVStore')
|
||||
const { get_lib_from_av } = AVStore
|
||||
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -95,14 +95,14 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { inject } from 'vue'
|
||||
import { fetchLocalResource } from "../../fetch"
|
||||
import { useVendorStore } from "../../stores/vendors"
|
||||
import { storeToRefs } from "pinia"
|
||||
export default {
|
||||
setup() {
|
||||
const format_date = $date
|
||||
|
||||
const vendorStore = useVendorStore()
|
||||
const vendorStore = inject('vendorStore')
|
||||
const { vendors } = storeToRefs(vendorStore)
|
||||
return {
|
||||
format_date,
|
||||
|
|
|
|||
|
|
@ -379,8 +379,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { useVendorStore } from "../../stores/vendors"
|
||||
import { useAVStore } from "../../stores/authorised_values"
|
||||
import { inject } from 'vue'
|
||||
import EHoldingsTitlesFormAddResources from "./EHoldingsLocalTitlesFormAddResources.vue"
|
||||
import { setMessage, setError, setWarning } from "../../messages"
|
||||
import { fetchLocalTitle } from '../../fetch'
|
||||
|
|
@ -388,10 +387,10 @@ import { storeToRefs } from "pinia"
|
|||
|
||||
export default {
|
||||
setup() {
|
||||
const vendorStore = useVendorStore()
|
||||
const vendorStore = inject('vendorStore')
|
||||
const { vendors } = storeToRefs(vendorStore)
|
||||
|
||||
const AVStore = useAVStore()
|
||||
const AVStore = inject('AVStore')
|
||||
const { av_title_publication_types } = storeToRefs(AVStore)
|
||||
const { get_lib_from_av } = AVStore
|
||||
|
||||
|
|
|
|||
|
|
@ -92,14 +92,14 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { inject } from 'vue'
|
||||
import flatPickr from 'vue-flatpickr-component'
|
||||
import { useVendorStore } from "../../stores/vendors"
|
||||
import { storeToRefs } from "pinia"
|
||||
import { fetchLocalPackages } from "../../fetch"
|
||||
|
||||
export default {
|
||||
setup() {
|
||||
const vendorStore = useVendorStore() // FIXME We only need that for 'manual'
|
||||
const vendorStore = inject('vendorStore')
|
||||
const { vendors } = storeToRefs(vendorStore)
|
||||
return { vendors }
|
||||
},
|
||||
|
|
|
|||
|
|
@ -15,15 +15,14 @@
|
|||
|
||||
<script>
|
||||
import Toolbar from "./EHoldingsLocalTitlesToolbar.vue"
|
||||
import { createVNode, render } from 'vue'
|
||||
import { useAVStore } from "../../stores/authorised_values"
|
||||
import { inject, createVNode, render } from 'vue'
|
||||
import { storeToRefs } from "pinia"
|
||||
import { fetchLocalTitles } from "../../fetch"
|
||||
import { useDataTable } from "../../composables/datatables"
|
||||
|
||||
export default {
|
||||
setup() {
|
||||
const AVStore = useAVStore()
|
||||
const AVStore = inject('AVStore')
|
||||
const { av_title_publication_types } = storeToRefs(AVStore)
|
||||
const { get_lib_from_av, map_av_dt_filter } = AVStore
|
||||
|
||||
|
|
|
|||
|
|
@ -256,12 +256,12 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { inject } from 'vue'
|
||||
import EHoldingsTitlePackagesList from "./EHoldingsLocalTitlePackagesList.vue"
|
||||
import { fetchLocalTitle } from "../../fetch"
|
||||
import { useAVStore } from "../../stores/authorised_values"
|
||||
export default {
|
||||
setup() {
|
||||
const AVStore = useAVStore()
|
||||
const AVStore = inject('AVStore')
|
||||
const { get_lib_from_av } = AVStore
|
||||
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -116,17 +116,15 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { inject } from 'vue'
|
||||
import Breadcrumb from "./Breadcrumb.vue"
|
||||
import Dialog from "./Dialog.vue"
|
||||
import { useVendorStore } from "../../stores/vendors"
|
||||
import { useAVStore } from "../../stores/authorised_values"
|
||||
import { fetchVendors } from "../../fetch"
|
||||
import "vue-select/dist/vue-select.css";
|
||||
|
||||
export default {
|
||||
setup() {
|
||||
const vendorStore = useVendorStore()
|
||||
const AVStore = useAVStore()
|
||||
const AVStore = inject('AVStore')
|
||||
AVStore.av_agreement_statuses = agreement_statuses
|
||||
AVStore.av_agreement_closure_reasons = agreement_closure_reasons
|
||||
AVStore.av_agreement_renewal_priorities = agreement_renewal_priorities
|
||||
|
|
@ -139,6 +137,8 @@ export default {
|
|||
AVStore.av_package_content_types = package_content_types
|
||||
AVStore.av_title_publication_types = title_publication_types
|
||||
|
||||
const vendorStore = inject('vendorStore')
|
||||
|
||||
return {
|
||||
vendorStore,
|
||||
erm_providers,
|
||||
|
|
@ -179,4 +179,4 @@ form .v-select {
|
|||
border-radius: 4px;
|
||||
min-width: 30%;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -125,9 +125,8 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { inject } from 'vue'
|
||||
import flatPickr from 'vue-flatpickr-component'
|
||||
import { useVendorStore } from "../../stores/vendors"
|
||||
import { useAVStore } from "../../stores/authorised_values"
|
||||
import { setMessage, setError } from "../../messages"
|
||||
import { fetchLicense } from '../../fetch'
|
||||
import { storeToRefs } from "pinia"
|
||||
|
|
@ -135,9 +134,10 @@ import { storeToRefs } from "pinia"
|
|||
export default {
|
||||
|
||||
setup() {
|
||||
const vendorStore = useVendorStore()
|
||||
const vendorStore = inject('vendorStore')
|
||||
const { vendors } = storeToRefs(vendorStore)
|
||||
const AVStore = useAVStore()
|
||||
|
||||
const AVStore = inject('AVStore')
|
||||
const {
|
||||
av_license_types,
|
||||
av_license_statuses,
|
||||
|
|
|
|||
|
|
@ -11,19 +11,17 @@
|
|||
|
||||
<script>
|
||||
import Toolbar from "./LicensesToolbar.vue"
|
||||
import { createVNode, render } from 'vue'
|
||||
import { useVendorStore } from "../../stores/vendors"
|
||||
import { useAVStore } from "../../stores/authorised_values"
|
||||
import { inject, createVNode, render } from 'vue'
|
||||
import { storeToRefs } from "pinia"
|
||||
import { fetchLicenses } from "../../fetch"
|
||||
import { useDataTable } from "../../composables/datatables"
|
||||
|
||||
export default {
|
||||
setup() {
|
||||
const vendorStore = useVendorStore()
|
||||
const vendorStore = inject('vendorStore')
|
||||
const { vendors } = storeToRefs(vendorStore)
|
||||
|
||||
const AVStore = useAVStore()
|
||||
const AVStore = inject('AVStore')
|
||||
const { get_lib_from_av, map_av_dt_filter } = AVStore
|
||||
|
||||
const table_id = "license_list"
|
||||
|
|
|
|||
|
|
@ -81,14 +81,14 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { useAVStore } from "../../stores/authorised_values"
|
||||
import { inject } from 'vue'
|
||||
import { fetchLicense } from "../../fetch"
|
||||
|
||||
export default {
|
||||
setup() {
|
||||
const format_date = $date
|
||||
|
||||
const AVStore = useAVStore()
|
||||
const AVStore = inject('AVStore')
|
||||
const { get_lib_from_av } = AVStore
|
||||
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -22,6 +22,8 @@ import { routes } from "./routes";
|
|||
const router = createRouter({ history: createWebHistory(), routes });
|
||||
|
||||
import { useMainStore } from "./stores/main";
|
||||
import { useVendorStore } from "./stores/vendors";
|
||||
import { useAVStore } from "./stores/authorised_values";
|
||||
|
||||
import { createI18n } from "vue-i18n";
|
||||
|
||||
|
|
@ -34,17 +36,24 @@ const languages = { en, "de-DE": de_DE, "es-ES": es_ES, "fr-FR": fr_FR };
|
|||
const messages = Object.assign(languages);
|
||||
const i18n = createI18n({ locale: "en", messages });
|
||||
|
||||
const pinia = createPinia();
|
||||
const app = createApp(App);
|
||||
|
||||
const rootComponent = app.use(createPinia())
|
||||
const rootComponent = app
|
||||
.use(pinia)
|
||||
.use(router)
|
||||
.use(i18n)
|
||||
.component("font-awesome-icon", FontAwesomeIcon)
|
||||
.component("v-select", vSelect);
|
||||
|
||||
app.config.unwrapInjectedRef = true;
|
||||
app.provide("vendorStore", useVendorStore(pinia));
|
||||
const mainStore = useMainStore(pinia);
|
||||
app.provide("mainStore", mainStore);
|
||||
app.provide("AVStore", useAVStore(pinia));
|
||||
|
||||
app.mount("#erm");
|
||||
const mainStore = useMainStore();
|
||||
|
||||
const { removeMessages } = mainStore;
|
||||
router.beforeEach((to, from) => {
|
||||
removeMessages(); // This will actually flag the messages as displayed already
|
||||
|
|
|
|||
Loading…
Reference in New Issue