diff --git a/data/narratives.yml b/data/narratives.yml
index 00bf2ea76b..7cff860f25 100644
--- a/data/narratives.yml
+++ b/data/narratives.yml
@@ -1,4 +1,4 @@
-management/zone/.*:
+management/zone/[^/]*/$:
- li.manage-tab.active:
- step: 1
- text: Welcome! This is the landing page for admins. If at any point you would like to navigate back to this page, click on this tab!
@@ -28,9 +28,9 @@ update/videos:
- '#content_tree':
- step: 2
- text: Downloadable content will be organized in this topic tree.
- - span.dynatree-node.dynatree-folder.dynatree-has-children.unstarted.dynatree-exp-c.dynatree-ico-cf:
+ - .fancytree-node:
- step: 3
- - text: Simply toggle the "+" button to view see more subtopics under a topic....
+ - text: Simply toggle topic button to view see more subtopics.
update/languages:
- li.languages.active:
- step: 1
@@ -38,7 +38,7 @@ update/languages:
- '#language-packs-selection':
- step: 2
- text: Click on this drop down menu to view the available language packs...
- - '#option-bg':
+ - '#language-packs-ul li':
- step: 3
- text: ...select the language of your choice...
- before-showing:
@@ -47,7 +47,7 @@ update/languages:
- step: 4
- text: ...and details such as the number of subtitles, translation completion, and total download size will be displayed for the chosen language pack!
- before-showing:
- - click: '#option-bg'
+ - click: '#language-packs-ul li'
- '#get-language-button':
- step: 5
- text: Just click this button to start your download!
diff --git a/kalite/distributed/templates/distributed/base.html b/kalite/distributed/templates/distributed/base.html
index 5bbabd320f..860bc8149a 100644
--- a/kalite/distributed/templates/distributed/base.html
+++ b/kalite/distributed/templates/distributed/base.html
@@ -78,6 +78,10 @@
{% block headjs %}{% endblock headjs %}
{% block analytics %}{% endblock analytics %}
+
diff --git a/kalite/inline/api_views.py b/kalite/inline/api_views.py
index c77ef1fb18..ea40654e02 100644
--- a/kalite/inline/api_views.py
+++ b/kalite/inline/api_views.py
@@ -4,10 +4,12 @@
import os
import re
+from django.utils.translation import ugettext as _
+
from kalite.shared.utils import open_json_or_yml
from kalite import settings
-from fle_utils.internet.classes import JsonResponse
+from fle_utils.internet.classes import JsonResponse, JsonResponseMessageWarning
def narrative_view(request, narrative_id):
@@ -25,4 +27,7 @@ def narrative_view(request, narrative_id):
the_narrative[key] = narr
break
+ if not the_narrative:
+ return JsonResponseMessageWarning(_("No inline help is available for this page."), status=404)
+
return JsonResponse(the_narrative)
diff --git a/kalite/inline/static/js/inline/bundle_modules/bootstrap.js b/kalite/inline/static/js/inline/bundle_modules/bootstrap.js
new file mode 100644
index 0000000000..0435640761
--- /dev/null
+++ b/kalite/inline/static/js/inline/bundle_modules/bootstrap.js
@@ -0,0 +1,4 @@
+// This file exists so that inline help can reload the bootstrap src, if it needs to.
+// Sometimes bootstrap events might be disabled, such as when demonstrating an interactive menu, and then need to be
+// re-enabled.
+require("bootstrap/dist/js/bootstrap.min.js");
\ No newline at end of file
diff --git a/kalite/inline/static/js/inline/views.js b/kalite/inline/static/js/inline/views.js
index 0094f12eb5..aabc3eeab4 100644
--- a/kalite/inline/static/js/inline/views.js
+++ b/kalite/inline/static/js/inline/views.js
@@ -79,6 +79,7 @@ var ButtonView = BaseView.extend({
error: function(model, response, options) {
console.log("Unable to load inline tutorial narrative!");
+ self.$("#inline-btn").prop("disabled", true);
}
});
},