Files
izyim/resources/assets/vue/app.js
T
Omair Saleh 919e0252f7 large commit
2019-06-03 10:29:08 +08:00

171 lines
9.0 KiB
JavaScript
Vendored

/**
* First we will load all of this project's JavaScript dependencies which
* includes Vue and other libraries. It is a great starting point when
* building robust, powerful web applications using Vue and Laravel.
*/
window.Vue = require('vue');
import Avatar from 'vue-avatar';
Vue.component('user-avatar', Avatar);
import SlideUpDown from 'vue-slide-up-down';
Vue.component('slide-up-down', SlideUpDown);
/**
* Next, we will create a fresh Vue application instance and attach it to
* the page. Then, you may begin adding components to this application
* or customize the JavaScript scaffolding to fit your unique needs.
*/
//general elements
Vue.component('order-search-component', require('./components/common/OrdersSearchComponent.vue'));
Vue.component('loading-component', require('./components/common/LoadingComponent.vue'));
Vue.component('pagination-component', require('./components/common/PaginationComponent.vue'));
Vue.component('modal-component', require('./components/common/ModalComponent.vue'));
Vue.component('confirm-modal-component', require('./components/common/ConfirmModalComponent.vue'));
Vue.component('warning-message-component', require('./components/common/WarningMessageComponent.vue'));
Vue.component('accounts-search-component', require('./components/common/AccountsSearchComponent.vue'));
Vue.component('date-picker-component', require('./components/common/DatePickerComponent.vue'))
//form elements
Vue.component('file-selector', require('./components/form_elements/FileSelectorComponent.vue'));
Vue.component('select-component', require('./components/form_elements/SelectComponent.vue'));
Vue.component('address-component', require('./components/form_elements/AddressComponent.vue'));
//lists
Vue.component('search-order-list-component',require('./components/order/lists/SearchOrdersComponent.vue'));
Vue.component('invite-account-list-component',require('./components/account/lists/AccountsInviteListComponent.vue'));
Vue.component('accounts-list-component', require('./components/account/lists/AccountsListComponent.vue'));
Vue.component('invite-account-list-component', require('./components/account/lists/AccountsInviteListComponent.vue'));
Vue.component('companies-list-component', require('./components/company/lists/CompaniesListComponenet.vue'));
Vue.component('address-book-list-component', require('./components/company/lists/AddressListComponenet.vue'));
Vue.component('contact-list-component', require('./components/contact/list/ContactListComponenet.vue'));
Vue.component('warehouses-list-component', require('./components/warehouse/lists/WarehousesListComponenet.vue'));
Vue.component('orders-list-component', require('./components/order/lists/OrdersListComponent.vue'));
Vue.component('orders-select-list-component', require('./components/order/lists/OrdersSelectListComponent.vue'));
//elements
Vue.component('search-order-component', require('./components/order/elements/SearchOrderComponent.vue'));
Vue.component('invite-account-component',require('./components/account/elements/AccountInviteComponent.vue'));
Vue.component('account-component', require('./components/account/elements/AccountComponent.vue'));
Vue.component('invite-account-component', require('./components/account/elements/AccountInviteComponent.vue'));
Vue.component('company-profile-component', require('./components/company/elements/CompanyProfileComponenet.vue'));
Vue.component('company-summary-component', require('./components/company/elements/CompanySummaryComponenet.vue'));
Vue.component('company-component', require('./components/company/elements/CompanyComponenet.vue'));
Vue.component('address-book-component', require('./components/company/elements/AddressBookComponenet.vue'));
Vue.component('contact-component', require('./components/contact/elements/ContactComponenet.vue'));
Vue.component('warehouse-profile-component', require('./components/warehouse/elements/WarehouseProfileComponenet.vue'));
Vue.component('warehouse-component', require('./components/warehouse/elements/WarehouseComponenet.vue'));
Vue.component('warehouse-summary-component', require('./components/warehouse/elements/WarehouseSummaryComponenet.vue'));
Vue.component('order-page-component', require('./components/order/elements/OrdersPageComponent.vue'));
Vue.component('order-select-component', require('./components/order/elements/OrderSelectComponent.vue'));
Vue.component('order-component', require('./components/order/elements/OrderComponenet.vue'));
Vue.component('order-profile-component', require('./components/order/elements/OrderProfileComponent.vue'));
Vue.component('order-header-component', require('./components/order/elements/OrderHeaderComponenet.vue'));
Vue.component('order-action-component', require('./components/order/elements/OrderActionComponenet.vue'));
Vue.component('order-delivery-address-component', require('./components/order/elements/OrderDeliveryAddressComponenet.vue'));
Vue.component('order-history-component', require('./components/order/elements/OrderHistoryComponenet.vue'));
Vue.component('order-quick-view-component', require('./components/order/elements/OrderQuickViewComponenet.vue'));
Vue.component('action-date-component', require('./components/order/elements/steps/ActionDateComponenet.vue'));
Vue.component('confirm-order-component', require('./components/order/elements/steps/ConfirmOrderComponent.vue'));
Vue.component('receive-step-component', require('./components/order/elements/steps/ReceiveStepComponenet.vue'));
Vue.component('packing-step-component', require('./components/order/elements/steps/PackingStepComponenet.vue'));
Vue.component('supplier-packing-step-component', require('./components/order/elements/steps/SupplierPackingStepComponenet.vue'));
Vue.component('shipping-step-component', require('./components/order/elements/steps/ShippingStepComponenet.vue'));
Vue.component('arrival-step-component', require('./components/order/elements/steps/ArrivalStepComponenet.vue'));
Vue.component('unpacking-step-component', require('./components/order/elements/steps/UnpackingStepComponenet.vue'));
Vue.component('delivery-step-component', require('./components/order/elements/steps/DeliveryStepComponenet.vue'));
//forms
Vue.component('invite-account-form-component', require('./components/account/forms/InviteAccountFormComponent.vue'));
Vue.component('company-form-component', require('./components/company/forms/CompanyFormComponent.vue'));
Vue.component('address-book-form-component', require('./components/company/forms/AddressBookFormComponent.vue'));
Vue.component('contact-form-component', require('./components/contact/forms/ContactFormComponent.vue'));
Vue.component('warehouse-form-component', require('./components/warehouse/forms/WarehouseFormComponent.vue'));
Vue.component('order-form-component', require('./components/order/forms/OrderFormComponent.vue'));
Vue.component('addon-order-form-component', require('./components/order/forms/AddonOrderFormComponent.vue'));
Vue.component('warehouse-receive-note-form-component', require('./components/order/forms/WarehouseReceiveNoteFormComponent.vue'));
Vue.component('packing-list-form-component', require('./components/order/forms/PackingFormComponenet.vue'));
Vue.component('shipping-arrangement-form-component', require('./components/order/forms/ShippingArrangmentFormComponenet.vue'));
Vue.component('delivery-arrangement-form-component', require('./components/order/forms/DeliveryArrangmentFormComponenet.vue'));
Vue.component('notification-component', require('./components/common/NotificationComponent.vue'));
Vue.component('company-error-notification-component', require('./components/company/notifications/CompanyErrorComponent.vue'));
Vue.component('cbm-order-chart-component', require('./components/dashboard/elements/CbmVsOrdersChartComponent.vue'));
Vue.component('customer-chart-component', require('./components/dashboard/elements/CustomerChartComponent.vue'));
Vue.component('order-status-chart-component', require('./components/dashboard/elements/OrderStatusChartComponent.vue'));
window.Event = new Vue();
if($('#header').length >0 ) {
const header = new Vue({
el: '#header'
});
}
if($('#app').length >0 ) {
const app = new Vue({
el: '#app',
provide() {
const countriesList = {};
Object.defineProperty(countriesList, 'countries', {
enumerable: true,
get: () => this.countries
});
return {
countriesList
}
},
data() {
return {
countries: []
}
},
created() {
this.fetchCountries();
},
methods: {
fetchCountries() {
fetch(route('api.service.list.countries')).then(response => response.json())
.then(response => {
this.countries = $.map(response, function (value, key) {
return {'id': value.name, 'text': value.name};
});
})
.catch(error => console.log(error))
}
}
});
}