|
@@ -12,15 +12,19 @@
|
|
|
ref="form"
|
|
ref="form"
|
|
|
lazy-validation
|
|
lazy-validation
|
|
|
>
|
|
>
|
|
|
-
|
|
|
|
|
<v-btn class="ma-12" @click="submit">{{ $t('generate') }}</v-btn>
|
|
<v-btn class="ma-12" @click="submit">{{ $t('generate') }}</v-btn>
|
|
|
-
|
|
|
|
|
</v-form>
|
|
</v-form>
|
|
|
|
|
+ <span v-if="pending">
|
|
|
|
|
+ Loading...
|
|
|
|
|
+ </span>
|
|
|
|
|
+ <span v-if="fileUrl !== null">
|
|
|
|
|
+ <a :href="fileUrl">{{ fileUrl }}</a>
|
|
|
|
|
+ </span>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script lang="ts">
|
|
<script lang="ts">
|
|
|
-import {defineComponent, useContext} from "@nuxtjs/composition-api";
|
|
|
|
|
|
|
+import {defineComponent, Ref, ref, useContext} from "@nuxtjs/composition-api";
|
|
|
import {HTTP_METHOD, QUERY_TYPE} from "~/types/enums";
|
|
import {HTTP_METHOD, QUERY_TYPE} from "~/types/enums";
|
|
|
import DataPersister from "~/services/data/dataPersister";
|
|
import DataPersister from "~/services/data/dataPersister";
|
|
|
import {DataPersisterArgs} from "~/types/interfaces";
|
|
import {DataPersisterArgs} from "~/types/interfaces";
|
|
@@ -28,23 +32,35 @@ import {DataPersisterArgs} from "~/types/interfaces";
|
|
|
export default defineComponent({
|
|
export default defineComponent({
|
|
|
name: 'OrganizationCmfLicence',
|
|
name: 'OrganizationCmfLicence',
|
|
|
setup() {
|
|
setup() {
|
|
|
|
|
+ const { $config } = useContext()
|
|
|
|
|
+ let pending: Ref<boolean> = ref(false)
|
|
|
|
|
+ let fileUrl: Ref<string | null> = ref(null)
|
|
|
|
|
+ console.log($config.baseUrl_mercure)
|
|
|
const submit = async () => {
|
|
const submit = async () => {
|
|
|
|
|
+
|
|
|
|
|
+ const url = new URL($config.baseUrl_mercure)
|
|
|
|
|
+ url.searchParams.append('topic', "files")
|
|
|
|
|
+ // const eventSource = new EventSource(url.toString(), { withCredentials: true });
|
|
|
|
|
+ const eventSource = new EventSource(url.toString());
|
|
|
|
|
+ eventSource.onmessage = event => {
|
|
|
|
|
+ // Will be called every time an update is published by the server
|
|
|
|
|
+ const data = JSON.parse(event.data)
|
|
|
|
|
+ fileUrl.value = data.url
|
|
|
|
|
+ pending.value = false
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
const response = await DataPersister.request(
|
|
const response = await DataPersister.request(
|
|
|
'/api/export/cmf-licence/organization',
|
|
'/api/export/cmf-licence/organization',
|
|
|
HTTP_METHOD.POST,
|
|
HTTP_METHOD.POST,
|
|
|
{ type: QUERY_TYPE.DEFAULT, data: { format: 'pdf', async: true } } as DataPersisterArgs
|
|
{ type: QUERY_TYPE.DEFAULT, data: { format: 'pdf', async: true } } as DataPersisterArgs
|
|
|
)
|
|
)
|
|
|
- console.debug(response)
|
|
|
|
|
-
|
|
|
|
|
- const eventSource = new EventSource("https://local.mercure.opentalent.fr/.well-known/mercure/ui/files/602066");
|
|
|
|
|
- eventSource.onmessage = event => {
|
|
|
|
|
- // Will be called every time an update is published by the server
|
|
|
|
|
- console.log(JSON.parse(event.data));
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ pending.value = true
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return {
|
|
return {
|
|
|
- submit
|
|
|
|
|
|
|
+ submit,
|
|
|
|
|
+ pending,
|
|
|
|
|
+ fileUrl
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|