From 1861ee3f98fdf90c2806b6130c157fe4e9013c2d Mon Sep 17 00:00:00 2001 From: elhassane <elhassanegargem@gmail.com> Date: Fri, 14 Aug 2020 17:21:14 +0200 Subject: [PATCH] onboarding on models tab --- app/apps/core/views.py | 1 + app/escriptorium/static/js/onboarding/exit.js | 13 +++++++++++++ .../static/js/onboarding/models.js | 10 ++++++++++ .../templates/core/document_part_edit.html | 1 + .../templates/core/models_list.html | 18 ++++++++++++++++++ 5 files changed, 43 insertions(+) create mode 100644 app/escriptorium/static/js/onboarding/exit.js create mode 100644 app/escriptorium/static/js/onboarding/models.js diff --git a/app/apps/core/views.py b/app/apps/core/views.py index fa854662..6abc8363 100644 --- a/app/apps/core/views.py +++ b/app/apps/core/views.py @@ -287,6 +287,7 @@ class ModelsList(LoginRequiredMixin, ListView): if self.document: context['document'] = self.document context['object'] = self.document # legacy + context['onboarding'] = self.request.user.onboarding # legacy return context diff --git a/app/escriptorium/static/js/onboarding/exit.js b/app/escriptorium/static/js/onboarding/exit.js new file mode 100644 index 00000000..5e263515 --- /dev/null +++ b/app/escriptorium/static/js/onboarding/exit.js @@ -0,0 +1,13 @@ +function exitonboarding() { + $.ajax({type: 'PUT', url:'/api/users/onboarding/', + contentType: "application/json; charset=utf-8", + data:JSON.stringify({ + onboarding : "False", + }) + + }).done($.proxy(function(data){ + }, this)).fail(function(data) { + alert(data); + }); + +} diff --git a/app/escriptorium/static/js/onboarding/models.js b/app/escriptorium/static/js/onboarding/models.js new file mode 100644 index 00000000..8b4e1f4e --- /dev/null +++ b/app/escriptorium/static/js/onboarding/models.js @@ -0,0 +1,10 @@ +var models_intro = introJs(); +models_intro.setOptions('doneLabel', 'Next page'); +models_intro.setOptions({steps: [ +{ + element: '#models-table', + intro: 'Here you manage Transcription and Segmentation models related to this document.', + position: 'bottom' +} +]}); + diff --git a/app/escriptorium/templates/core/document_part_edit.html b/app/escriptorium/templates/core/document_part_edit.html index 99c45a1b..76800146 100644 --- a/app/escriptorium/templates/core/document_part_edit.html +++ b/app/escriptorium/templates/core/document_part_edit.html @@ -622,6 +622,7 @@ const DOCUMENT_ID = '{{document.id}}'; var PART_ID = {{part.id}}; // can be changed with next & previous pages const onboarding = "{{ onboarding }}"; + var models_url = "{% url 'document-models' document_pk=document.pk %}"; </script> <script type="text/javascript"> diff --git a/app/escriptorium/templates/core/models_list.html b/app/escriptorium/templates/core/models_list.html index 5e65d0cd..67e4cea1 100644 --- a/app/escriptorium/templates/core/models_list.html +++ b/app/escriptorium/templates/core/models_list.html @@ -73,6 +73,9 @@ {% block scripts %} {{ block.super }} +<script src="{% static 'vendor/introjs/intro.js' %}"></script> +<script src="{% static 'js/onboarding/models.js' %}"></script> +<script src="{% static 'js/onboarding/exit.js' %}"></script> <script type="text/javascript"> 'use strict'; $(document).ready(function() { @@ -83,4 +86,19 @@ $(document).ready(function() { }); </script> <script src="{% static 'js/models.js' %}"></script> +<script type="text/javascript"> +const onboarding = "{{ onboarding }}"; +if (onboarding == "True") { + + models_intro.start(); + models_intro.onexit(function () { + exitonboarding(); + }); + + models_intro.oncomplete(function () { + exitonboarding(); + + }); +} +</script> {% endblock %} -- GitLab