journal-intime/resources/js/app.js

68 lines
2.2 KiB
JavaScript

/**
* 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.
*/
require('./bootstrap');
window.Vue = require('vue');
/**
* The following block of code may be used to automatically register your
* Vue components. It will recursively scan this directory for the Vue
* components and automatically register them with their "basename".
*
* Eg. ./components/ExampleComponent.vue -> <example-component></example-component>
*/
// const files = require.context('./', true, /\.vue$/i)
// files.keys().map(key => Vue.component(key.split('/').pop().split('.')[0], files(key).default))
// Vue.component('example-component', require('./components/ExampleComponent.vue').default);
/**
* 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.
*/
import App from './components/App.vue';
Vue.config.productionTip = false;
/** Function for collapse card */
document.querySelectorAll('[data-toggle="card-collapse"]').forEach(function(card){
card.addEventListener('click', function(evt) {
let $card = this.parentElement.parentElement.parentElement;
$card.classList.toggle('card-collapsed');
evt.preventDefault();
return false;
});
});
let fileNameChanged = function(element, label) {
let labelVal = label.innerText;
let fileName = '';
if (element.value) {
fileName = element.value.split('\\').pop();
}
if (fileName) {
label.firstChild.nextSibling.classList = "fe fe-check";
label.querySelector('.js-fileName').innerHTML = fileName;
} else {
label.firstChild.nextSibling.classList = "fe fe-upload";
label.querySelector('.js-fileName').innerHTML = labelVal;
}
};
let inputFiles = document.querySelectorAll(".input-file");
for (let i = 0, l = inputFiles.length; i < l; i++) {
inputFiles[i].onchange = fileNameChanged.bind(null, inputFiles[i], inputFiles[i].nextSibling.nextSibling);
}
// new Vue();
const app = new Vue({
render: h => h(App),
}).$mount('#app');