BIMData BCF components library
A set (library) of Vue components to manage BCF and build BCF related
features into your app.
Made with :heart: by BIMData.io.
Usage
Install:
npm install @bimdata/bcf-components
Then refer to the next sub-sections on how to use the library depending
on which version of Vue you're using.
Vue 2.6+ application
In order to use the library in your Vue 2 app you'll need to use
Vue Composition API plugin.
First add it to your dependencies:
npm install @vue/composition-api
Then, in your application bootstrap script, add the following:
import Vue from "vue";
import VueCompositionApi from "@vue/composition-api";
import VueI18n from "vue-i18n";
import { makeBIMDataApiClient } from "@bimdata/typescript-fetch-api-client";
import BIMDataBcfComponents from "@bimdata/bcf-components/vue2-plugin.js";
...
const i18nPlugin = new VueI18n({ ... });
const apiClient = makeBIMDataApiClient({ ... });
Vue.use(VueCompositionApi);
Vue.use(i18nPlugin);
Vue.use(BIMDataBcfComponents({ i18nPlugin, apiClient }));
...
Vue 3.x application
Using Vue plugin
The package provide a Vue plugin that can be used to setup the library for your app
and make all components available globally.
import { createApp } from "vue";
import { createI18n } from "vue-i18n";
import { makeBIMDataApiClient } from "@bimdata/typescript-fetch-api-client";
import BIMDataBcfComponents from "@bimdata/bcf-components/vue3-plugin.js";
const i18nPlugin = createI18n({ ... });
const apiClient = makeBIMDataApiClient({ ... });
const app = createApp()
.use(i18nPlugin)
.use(BIMDataBcfComponents({ i18nPlugin, apiClient }));
...
It is also possible to provide your own translations for i18n by removing
i18nPlugin
from plugin config and adding translation keys from
src/i18n/lang/fr.js
to the translation files of your app.
Using "manual" setup
To setup the library without the use of the plugin you have to provide your own translations
(as described above in the Using Vue plugin section) and inject an API client like so:
import { makeBIMDataApiClient } from "@bimdata/typescript-fetch-api-client";
import { setApiClient } from "@bimdata/bcf-components";
const apiClient = makeBIMDataApiClient({ ... });
setApiClient(apiClient);
Then you can directly use components in your app that way:
import { BcfTopicCard } from "@bimdata/bcf-components";
Build
npm run build