UNPKG

vue-trovimap-wizard

Version:

A Vue component for inputting Naira-formatted amounts.

119 lines (96 loc) 4.17 kB
// Import vue component import TrovimapWizard from './components/TrovimapWizard.vue'; import ParcelByAddress from './components/Address/ParcelByAddress.vue'; import BuildingUnitByCadastralReference from './components/Address/BuildingUnitByCadastralReference.vue'; import ParcelList from './components/Address/list/ParcelList.vue'; import ParcelListElement from './components/Address/list/ParcelListElement.vue'; import ApartmentList from './components/Apartment/ApartmentList.vue'; import ApartmentListElement from './components/Apartment/ApartmentListElement.vue'; import BuildingUnit from './components/BuildingUnit/BuildingUnit.vue'; import EvaluationElement from './components/Evaluation/EvaluationElement.vue'; import EvaluationForm from './components/Evaluation/EvaluationForm.vue'; import PriceEvolution from './components/Evaluation/History/PriceEvolution.vue'; import * as filters from './filters/filters' import { createModule } from './store/index.js' const Trovimap = () => { return { install(Vue, args = {}) { console.log('install.init') if (!args.store) console.warn('Please provide a store!!') if (!args.axios) console.warn('Please provide a axios instance!!') Vue.prototype.axios = args.axios console.log('vue-trovimap-wizard.install') args.store.registerModule('trovimap', createModule(args.axios)) Vue.component('TrovimapWizard', TrovimapWizard); Vue.component('ParcelByAddress', ParcelByAddress) Vue.component('ParcelList', ParcelList) Vue.component('ParcelListElement', ParcelListElement) Vue.component('ApartmentList', ApartmentList) Vue.component('ApartmentListElement', ApartmentListElement) Vue.component('BuildingUnit', BuildingUnit) Vue.component('BuildingUnitByCadastralReference', BuildingUnitByCadastralReference) Vue.component('EvaluationForm', EvaluationForm) Vue.component('EvaluationElement', EvaluationElement) Vue.component('PriceEvolution', PriceEvolution) Object.keys(filters).forEach(key => { Vue.filter(`trovimap_${key}`, filters[key]) }) console.log('vue-trovimap-wizard.install.end', Object.keys(args.store.state)) this.installed = true } } } export default Trovimap // install function executed by Vue.use() function install2(Vue, args = {}) { console.log('installing...', install) if (install.installed) { console.log('installed, returning') return }; if (!args.store) console.warn('Please provide a store!!') if (!args.axios) console.warn('Please provide a axios instance!!') Vue.prototype.axios = args.axios console.log('vue-trovimap-wizard.install') args.store.registerModule('trovimap', createModule(args.axios)) Vue.component('TrovimapWizard', TrovimapWizard); Vue.component('ParcelByAddress', ParcelByAddress) Vue.component('ParcelList', ParcelList) Vue.component('ParcelListElement', ParcelListElement) Vue.component('ApartmentList', ApartmentList) Vue.component('ApartmentListElement', ApartmentListElement) Vue.component('BuildingUnit', BuildingUnit) Vue.component('BuildingUnitByCadastralReference', BuildingUnitByCadastralReference) Vue.component('EvaluationForm', EvaluationForm) Vue.component('EvaluationElement', EvaluationElement) Vue.component('PriceEvolution', PriceEvolution) Object.keys(filters).forEach(key => { Vue.filter(`trovimap_${key}`, filters[key]) }) console.log('vue-trovimap-wizard.install.end', Object.keys(args.store.state)) install.installed = true; } // Create module definition for Vue.use() const plugin = { install2, }; // To auto-install when vue is found /* global window global */ let GlobalVue = null; if (typeof window !== 'undefined') { GlobalVue = window.Vue; } else if (typeof global !== 'undefined') { GlobalVue = global.Vue; } if (GlobalVue) { GlobalVue.use(plugin); } // Inject install function into component - allows component // to be registered via Vue.use() as well as Vue.component() // TrovimapWizard.install = install; // Export component by default //export default plugin; export { TrovimapWizard, ParcelByAddress }