mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
test app async working
This commit is contained in:
parent
bc1f624e14
commit
3e7c79d6ce
@ -0,0 +1,20 @@
|
|||||||
|
|
||||||
|
import Vue from 'vue';
|
||||||
|
|
||||||
|
const AccompanyingCourseComponent = {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
id: 7,
|
||||||
|
persons_associated: []
|
||||||
|
};
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
let app = Vue.CreateApp({
|
||||||
|
delimiters: ['${', '}']
|
||||||
|
})
|
||||||
|
.component(AccompanyingCourseComponent)
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
|
app.mount('#app');
|
@ -1,16 +1,105 @@
|
|||||||
<template>
|
<template>
|
||||||
<div id="app">
|
<div id="kkk">
|
||||||
<persons_associated></persons_associated>
|
<h3>Usagers concernés</h3>
|
||||||
</div>
|
<dl>
|
||||||
|
<dt>id</dt>
|
||||||
|
<dd>{{ course.id }}</dd>
|
||||||
|
<dt>opening_date</dt>
|
||||||
|
<dd>{{ course.opening_date }}</dd>
|
||||||
|
<dt>closing_date</dt>
|
||||||
|
<dd>{{ course.closing_date }}</dd>
|
||||||
|
<dt>remarkzzzzz</dt>
|
||||||
|
<dd>{{ course.remark }}</dd>
|
||||||
|
<dt>closing_motive</dt>
|
||||||
|
<dd>{{ course.closing_motive }}</dd>
|
||||||
|
</dl>
|
||||||
|
<label>{{counter}} usagers concernés</label>
|
||||||
|
<table class="rounded">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th class="chill-orange">firstname</th>
|
||||||
|
<th class="chill-orange">lastname</th>
|
||||||
|
<th class="chill-orange">startdate</th>
|
||||||
|
<th class="chill-orange">enddate</th>
|
||||||
|
<th class="chill-orange">actions</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr v-for="person in course.persons">
|
||||||
|
<td>{{ person.firstname }}</td>
|
||||||
|
<td>{{ person.lastname }}</td>
|
||||||
|
<td>{{ person.startdate }}</td>
|
||||||
|
<td>{{ person.enddate }}</td>
|
||||||
|
<td>
|
||||||
|
<ul class="record_actions">
|
||||||
|
<li><a class="sc-button bt-show"></a></li>
|
||||||
|
<li><a class="sc-button bt-update"></a></li>
|
||||||
|
<li><a class="sc-button bt-delete"></a></li>
|
||||||
|
</ul>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<ul class="record_actions">
|
||||||
|
<li>
|
||||||
|
<button class="sc-button bt-create" @click="addPerson">Add Person</button>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import persons_associated from './components/PersonsAssociated.vue'
|
import { createApp } from 'vue';
|
||||||
|
|
||||||
export default {
|
const App = {
|
||||||
name: 'app',
|
name: 'AppAccompanyingCourse',
|
||||||
components: {
|
//delimiters: ['${', '}'], works only for template "in browser", not for template in vue files
|
||||||
persons_associated,
|
data() {
|
||||||
|
return { course:
|
||||||
|
{
|
||||||
|
id: 50,
|
||||||
|
opening_date: null,
|
||||||
|
closing_date: null,
|
||||||
|
remark: 'bim',
|
||||||
|
closing_motive: 'bam',
|
||||||
|
counter: 0,
|
||||||
|
persons: []
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
courseId() {
|
||||||
|
return window.courseId;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async mounted() {
|
||||||
|
console.log('mounted');
|
||||||
|
console.log(this.data);
|
||||||
|
console.log(this.courseId);
|
||||||
|
await this.getCourse();
|
||||||
|
console.log(this.data);
|
||||||
|
console.log('mounted stop');
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
async getCourse() {
|
||||||
|
console.log('get course start');
|
||||||
|
console.log(this);
|
||||||
|
courseId = this.courseId;
|
||||||
|
let data_;
|
||||||
|
return fetch(`/fr/api/parcours/${courseId}/show`)
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => {
|
||||||
|
console.log(data);
|
||||||
|
console.log(this);
|
||||||
|
this.$data.course = data;
|
||||||
|
console.log(this.data);
|
||||||
|
console.log('get course finish');
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
|
export default App;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style></style>
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
import Vue from 'vue'
|
import AccompanyingCourseComponent from './AccompanyingCourse.vue';
|
||||||
import App from './AccompanyingCourse.vue'
|
import { createApp } from 'vue';
|
||||||
|
|
||||||
new Vue({
|
|
||||||
el: '#app',
|
const app = createApp({
|
||||||
render: h => h(App)
|
name: 'AccCourseGlobal',
|
||||||
});
|
template: '<div class="abcde"><accompanying-course></accompanying-course></div>',
|
||||||
|
})
|
||||||
|
.component('accompanying-course', AccompanyingCourseComponent)
|
||||||
|
.mount('#app');
|
||||||
|
@ -8,81 +8,14 @@
|
|||||||
|
|
||||||
<h1>{{ block('title') }}</h1>
|
<h1>{{ block('title') }}</h1>
|
||||||
|
|
||||||
{#
|
<script type="text/javascript">
|
||||||
<pre>
|
window.courseId = {{ accompanyingCourse.id|e('js') }};
|
||||||
{{ accompanyingCourse.id }}
|
console.log(window.courseId);
|
||||||
{{ accompanyingCourse.openingDate|format_date('short') }}
|
</script>
|
||||||
{{ accompanyingCourse.closingDate|format_date('short') }}
|
|
||||||
{{ accompanyingCourse.closingMotive|chill_entity_render_box }}
|
|
||||||
{{ accompanyingCourse.remark|raw }}
|
|
||||||
{{ accompanyingCourse.user }}
|
|
||||||
usagers:
|
|
||||||
{% for p in accompanyingCourse.participations %}
|
|
||||||
{{ p.person.id }} | <a href="{{ path('chill_person_accompanying_period_list', { person_id: p.person.id }) }}">{{ p.person.fullnamecanonical }}</a> | {{ p.startdate|format_date('short') }} | {{ p.enddate|format_date('short') }}
|
|
||||||
{% endfor %}
|
|
||||||
</pre>
|
|
||||||
{{ dump() }}
|
|
||||||
{% verbatim %}{% endverbatim %}
|
|
||||||
#}
|
|
||||||
|
|
||||||
<div id="app" course-id="{{ accompanyingCourse.id }}"></div>
|
|
||||||
|
|
||||||
<template id="accompanying" type="text/x-template">
|
<div id="app"></div>
|
||||||
<div class="vue-component">
|
|
||||||
<persons_associated></persons_associated>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<template id="vue-usagers" type="text/x-template">
|
|
||||||
<div class="vue-component">
|
|
||||||
<h3>Usagers concernés</h3>
|
|
||||||
<dl>
|
|
||||||
<dt>id</dt>
|
|
||||||
<dd>${ persons_associated.id }</dd>
|
|
||||||
<dt>opening_date</dt>
|
|
||||||
<dd>${ persons_associated.opening_date }</dd>
|
|
||||||
<dt>closing_date</dt>
|
|
||||||
<dd>${ persons_associated.closing_date }</dd>
|
|
||||||
<dt>remarkzzzzz</dt>
|
|
||||||
<dd>${ persons_associated.remark }</dd>
|
|
||||||
<dt>closing_motive</dt>
|
|
||||||
<dd>${ persons_associated.closing_motive }</dd>
|
|
||||||
</dl>
|
|
||||||
<label>${counter} usagers concernés</label>
|
|
||||||
<table class="rounded">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="chill-orange">firstname</th>
|
|
||||||
<th class="chill-orange">lastname</th>
|
|
||||||
<th class="chill-orange">startdate</th>
|
|
||||||
<th class="chill-orange">enddate</th>
|
|
||||||
<th class="chill-orange">actions</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr v-for="person in persons_associated.persons">
|
|
||||||
<td>${ person.firstname }</td>
|
|
||||||
<td>${ person.lastname }</td>
|
|
||||||
<td>${ person.startdate }</td>
|
|
||||||
<td>${ person.enddate }</td>
|
|
||||||
<td>
|
|
||||||
<ul class="record_actions">
|
|
||||||
<li><a class="sc-button bt-show"></a></li>
|
|
||||||
<li><a class="sc-button bt-update"></a></li>
|
|
||||||
<li><a class="sc-button bt-delete"></a></li>
|
|
||||||
</ul>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<ul class="record_actions">
|
|
||||||
<li>
|
|
||||||
<button class="sc-button bt-create" @click="addPerson">Add Person</button>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</template>
|
|
||||||
{{ encore_entry_script_tags('accompanying_course') }}
|
{{ encore_entry_script_tags('accompanying_course') }}
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user