Merge pull request #277 from okriuchykhin/ok_SCI_571

Additional steps added to tutorial and numbering of the steps fixed [SCI-571]
This commit is contained in:
okriuchykhin 2016-11-15 12:05:20 +01:00 committed by GitHub
commit 01b01939f3
16 changed files with 126 additions and 72 deletions

View file

@ -100,10 +100,15 @@ function bindEditDueDateAjax() {
function initTutorial() { function initTutorial() {
var currentStep = Cookies.get('current_tutorial_step'); var currentStep = Cookies.get('current_tutorial_step');
if (showTutorial() && (currentStep > 8 && currentStep < 12)) { if (showTutorial() && (currentStep > 10 && currentStep < 15)) {
var resultsTab = $("#results-nav-tab"); var resultsTab = $('#results-nav-tab');
var moduleProtocolsTutorial = $("[data-role='tutorial-data']").attr("data-module-protocols-step-text"); var saveRepositoryButton = $('#protocol-copy-to-repository').get(0);
var moduleProtocolsClickResultsTutorial = $("[data-role='tutorial-data']").attr("data-module-protocols-click-results-step-text"); var moduleProtocolsTutorial = $("[data-role='tutorial-data']")
.attr('data-module-protocols-step-text');
var moduleProtocolsSaveTutorial = $("[data-role='tutorial-data']")
.attr('data-module-protocols-save-step-text');
var moduleProtocolsClickResultsTutorial = $("[data-role='tutorial-data']")
.attr('data-module-protocols-click-results-step-text');
introJs() introJs()
.setOptions({ .setOptions({
@ -111,6 +116,10 @@ function initTutorial() {
{ {
intro: moduleProtocolsTutorial intro: moduleProtocolsTutorial
}, },
{
intro: moduleProtocolsSaveTutorial,
element: saveRepositoryButton
},
{ {
intro: moduleProtocolsClickResultsTutorial, intro: moduleProtocolsClickResultsTutorial,
element: resultsTab[0], element: resultsTab[0],
@ -127,28 +136,28 @@ function initTutorial() {
exitOnEsc: false, exitOnEsc: false,
tooltipClass: 'custom' tooltipClass: 'custom'
}) })
.onafterchange(function(tarEl) { .onafterchange(function() {
Cookies.set('current_tutorial_step', this._currentStep + 10); Cookies.set('current_tutorial_step', this._currentStep + 12);
if (this._currentStep == 1) { if (this._currentStep === 2) {
setTimeout(function() { setTimeout(function() {
$('.next-page-link a.introjs-nextbutton') $('.next-page-link a.introjs-nextbutton')
.removeClass('introjs-disabled') .removeClass('introjs-disabled')
.attr('href', resultsTab.find("a").attr('href')); .attr('href', resultsTab.find('a').attr('href'));
positionTutorialTooltip(); positionTutorialTooltip();
}, 500); }, 500);
} else { } else {
positionTutorialTooltip(); positionTutorialTooltip();
} }
}) })
.goToStep(currentStep == 11 ? 2 : 1) .goToStep(currentStep === 13 ? 2 : 1)
.start(); .start();
window.onresize = positionTutorialTooltip; window.onresize = positionTutorialTooltip;
// Destroy first-time tutorial cookies when skip tutorial // Destroy first-time tutorial cookies when skip tutorial
// or end tutorial is clicked // or end tutorial is clicked
$(".introjs-skipbutton").each(function (){ $('.introjs-skipbutton').each(function() {
$(this).click(function (){ $(this).click(function() {
Cookies.remove('tutorial_data'); Cookies.remove('tutorial_data');
Cookies.remove('current_tutorial_step'); Cookies.remove('current_tutorial_step');
}); });

View file

@ -85,7 +85,7 @@ function renderTable(table) {
// Initialize first-time tutorial // Initialize first-time tutorial
function initTutorial() { function initTutorial() {
var currentStep = Cookies.get('current_tutorial_step'); var currentStep = Cookies.get('current_tutorial_step');
if (showTutorial() && (currentStep > 10 && currentStep < 14)) { if (showTutorial() && (currentStep > 13 && currentStep < 17)) {
var moduleResultsTutorial = $("#results").attr("data-module-protocols-step-text"); var moduleResultsTutorial = $("#results").attr("data-module-protocols-step-text");
var moduleResultsClickSamplesTutorial = $("#results").attr("data-module-protocols-click-samples-step-text"); var moduleResultsClickSamplesTutorial = $("#results").attr("data-module-protocols-click-samples-step-text");
var samplesTab = $("#module-samples-nav-tab"); var samplesTab = $("#module-samples-nav-tab");
@ -116,7 +116,7 @@ function initTutorial() {
disableInteraction: true disableInteraction: true
}) })
.onafterchange(function (tarEl){ .onafterchange(function (tarEl){
Cookies.set('current_tutorial_step', this._currentStep + 12); Cookies.set('current_tutorial_step', this._currentStep + 15);
if (this._currentStep == 1) { if (this._currentStep == 1) {
setTimeout(function() { setTimeout(function() {
$('.next-page-link a.introjs-nextbutton') $('.next-page-link a.introjs-nextbutton')
@ -130,7 +130,7 @@ function initTutorial() {
positionTutorialTooltip(); positionTutorialTooltip();
} }
}) })
.goToStep(currentStep == 13 ? 2 : 1) .goToStep(currentStep == 16 ? 2 : 1)
.start(); .start();
window.onresize = positionTutorialTooltip; window.onresize = positionTutorialTooltip;

View file

@ -3126,7 +3126,7 @@ function initializeTutorial(isEditMode) {
canvas_tutorial_helper(); canvas_tutorial_helper();
var currentStep = Cookies.get('current_tutorial_step'); var currentStep = Cookies.get('current_tutorial_step');
// Add edit canvas tutorial step and show it // Add edit canvas tutorial step and show it
if (!isEditMode && currentStep > 2 && currentStep < 6) { if (!isEditMode && currentStep > 4 && currentStep < 8) {
var $introJs = introJs(); var $introJs = introJs();
$introJs $introJs
.setOptions({ .setOptions({
@ -3141,7 +3141,7 @@ function initializeTutorial(isEditMode) {
tooltipClass: 'custom next-page-link' tooltipClass: 'custom next-page-link'
}) })
.onafterchange(function (tarEl) { .onafterchange(function (tarEl) {
Cookies.set('current_tutorial_step', this._currentStep + 4); Cookies.set('current_tutorial_step', this._currentStep + 6);
if (this._currentStep == 1) { if (this._currentStep == 1) {
$introJs.setOption("disableInteraction", true); $introJs.setOption("disableInteraction", true);
// Go to project canvas // Go to project canvas
@ -3160,13 +3160,13 @@ function initializeTutorial(isEditMode) {
}); });
} }
}) })
.goToStep(currentStep == "5" ? 2 : 1) .goToStep(currentStep == "6" ? 2 : 1)
.start(); .start();
window.onresize = function() { window.onresize = function() {
$(".introjs-tooltip").css("right", ($("#canvas-container").width() + 20) + "px"); $(".introjs-tooltip").css("right", ($("#canvas-container").width() + 20) + "px");
}; };
} else if (isEditMode && currentStep > 4 && currentStep < 7) { } else if (isEditMode && currentStep > 6 && currentStep < 10) {
canvas_tutorial_helper(); canvas_tutorial_helper();
var editWorkflowTutorial = $("#canvas-container").attr("data-edit-workflow-step-text"); var editWorkflowTutorial = $("#canvas-container").attr("data-edit-workflow-step-text");
var editWorkflowClickSaveTutorial = $("#canvas-container").attr("data-edit-workflow-click-save-step-text"); var editWorkflowClickSaveTutorial = $("#canvas-container").attr("data-edit-workflow-click-save-step-text");
@ -3200,7 +3200,7 @@ function initializeTutorial(isEditMode) {
}) })
.onafterchange(function (tarEl) { .onafterchange(function (tarEl) {
// Go to edit workflow mode // Go to edit workflow mode
Cookies.set('current_tutorial_step', this._currentStep + 6); Cookies.set('current_tutorial_step', this._currentStep + 8);
if (this._currentStep == 0) { if (this._currentStep == 0) {
$(".introjs-tooltipReferenceLayer").addClass("max"); $(".introjs-tooltipReferenceLayer").addClass("max");
$(".introjs-tooltip").css("left", "0"); $(".introjs-tooltip").css("left", "0");
@ -3228,11 +3228,10 @@ function initializeTutorial(isEditMode) {
}); });
}); });
}, 600); }, 600);
} else if (!isEditMode && currentStep > 5 || currentStep < 10) { } else if (!isEditMode && currentStep > 8 && currentStep < 13) {
canvas_tutorial_helper(); canvas_tutorial_helper();
var sidebarTutorial = $("#canvas-container").attr("data-sidebar-step-text"); var sidebarTutorial = $("#canvas-container").attr("data-sidebar-step-text");
var sidebarClickModuleTutorial = $("#canvas-container").attr("data-sidebar-click-module-step-text"); var sidebarClickModuleTutorial = $("#canvas-container").attr("data-sidebar-click-module-step-text");
Cookies.set('current_tutorial_step', '8');
var qpcrModuleLeaf = $("li.leaf[data-module-id='" + tutorialData[0].qpcr_module + "']"); var qpcrModuleLeaf = $("li.leaf[data-module-id='" + tutorialData[0].qpcr_module + "']");
introJs() introJs()
@ -3260,7 +3259,7 @@ function initializeTutorial(isEditMode) {
tooltipClass: 'custom next-page-link' tooltipClass: 'custom next-page-link'
}) })
.onafterchange(function(tarEl) { .onafterchange(function(tarEl) {
Cookies.set('current_tutorial_step', this._currentStep + 8); Cookies.set('current_tutorial_step', this._currentStep + 10);
if (this._currentStep == 1) { if (this._currentStep == 1) {
setTimeout(function() { setTimeout(function() {
$('.next-page-link a.introjs-nextbutton') $('.next-page-link a.introjs-nextbutton')
@ -3271,7 +3270,7 @@ function initializeTutorial(isEditMode) {
$(".introjs-tooltipReferenceLayer").css("top", $("#slide-panel .tree").height()/3 + "px"); $(".introjs-tooltipReferenceLayer").css("top", $("#slide-panel .tree").height()/3 + "px");
} }
}) })
.goToStep(currentStep == "9" ? 2 : 1) .goToStep(currentStep == "10" ? 2 : 1)
.start(); .start();
} }

View file

@ -398,10 +398,9 @@
} }
}; };
} }
else if (goToStep > 18) { else if (goToStep > 21) {
var archiveProjectTutorial = $("#projects-toolbar").attr("data-archive-project-step-text"); var archiveProjectTutorial = $("#projects-toolbar").attr("data-archive-project-step-text");
var goodbye_message = $("#projects-toolbar").attr("data-goodbye-tutorial"); var goodbye_message = $("#projects-toolbar").attr("data-goodbye-tutorial");
Cookies.set('current_tutorial_step', '20');
var position = "right"; var position = "right";
if (demoProject.offset().left > window.innerWidth / 2 || window.innerWidth < demoProject.width() + 100) { if (demoProject.offset().left > window.innerWidth / 2 || window.innerWidth < demoProject.width() + 100) {
if (demoProject.offset().top > 500 && demoProject.offset().top > window.innerHeight / 2) { if (demoProject.offset().top > 500 && demoProject.offset().top > window.innerHeight / 2) {
@ -410,8 +409,8 @@
position = "bottom"; position = "bottom";
} }
} }
var $introjs = introJs();
introJs() $introjs
.setOptions({ .setOptions({
steps: [{ steps: [{
element: document.getElementById(demoProjectId), element: document.getElementById(demoProjectId),
@ -432,6 +431,9 @@
exitOnEsc: false, exitOnEsc: false,
tooltipClass: 'custom next-page-link' tooltipClass: 'custom next-page-link'
}) })
.onafterchange(function() {
Cookies.set('current_tutorial_step', this._currentStep + 24);
})
.oncomplete(function () { .oncomplete(function () {
Cookies.remove('tutorial_data'); Cookies.remove('tutorial_data');
Cookies.remove('current_tutorial_step'); Cookies.remove('current_tutorial_step');

View file

@ -84,7 +84,7 @@
disableInteraction: true disableInteraction: true
}) })
.onafterchange(function (tarEl) { .onafterchange(function (tarEl) {
Cookies.set('current_tutorial_step', this._currentStep + 2); Cookies.set('current_tutorial_step', this._currentStep + 4);
if (this._currentStep == 1) { if (this._currentStep == 1) {
setTimeout(function() { setTimeout(function() {

View file

@ -698,6 +698,47 @@ function initImport() {
}); });
} }
/* Initilize first-time tutorial if needed */
function initTutorial() {
var currentStep = Cookies.get('current_tutorial_step');
var protocolButtons = $('.nav-tab .nav-settings').get(0);
if (currentStep && (currentStep > 20 && currentStep < 23)) {
introJs()
.setOptions({
overlayOpacity: '0.1',
nextLabel: 'Next',
doneLabel: 'End tutorial',
skipLabel: 'End tutorial',
showBullets: false,
showStepNumbers: false,
exitOnOverlayClick: false,
exitOnEsc: false,
tooltipClass: 'custom'
})
.onafterchange(function() {
Cookies.set('current_tutorial_step', this._currentStep + 22);
if (this._currentStep === 1) {
Cookies.set('current_tutorial_step', this._currentStep + 22);
setTimeout(function() {
$('.introjs-tooltipbuttons a.introjs-nextbutton')
.removeClass('introjs-disabled')
.attr('href', '/');
}, 500);
}
}).start();
// Destroy first-time tutorial cookies when skip tutorial
// or end tutorial is clicked
$('.introjs-skipbutton').each(function() {
$(this).click(function() {
Cookies.remove('tutorial_data');
Cookies.remove('current_tutorial_step');
});
});
}
}
// Initialize everything // Initialize everything
updateButtons(); updateButtons();
initProtocolsTable(); initProtocolsTable();
@ -707,3 +748,4 @@ initLinkedChildrenModal();
initCreateNewModal(); initCreateNewModal();
initModals(); initModals();
initImport(); initImport();
initTutorial();

View file

@ -141,11 +141,12 @@
/* Initilize first-time tutorial if needed */ /* Initilize first-time tutorial if needed */
function initTutorial() { function initTutorial() {
var currentStep = Cookies.get('current_tutorial_step'); var currentStep = Cookies.get('current_tutorial_step');
if (showTutorial() && (currentStep > 14 && currentStep < 18)) { if (showTutorial() && (currentStep > 17 && currentStep < 20)) {
var reportsClickNewReportTutorial = $("#content").attr("data-reports-click-new-report-step-text"); var reportsClickNewReportTutorial = $("#content").attr("data-reports-click-new-report-step-text");
introJs() introJs()
.setOptions({ .setOptions({
steps: [{}, steps: [
{},
{ {
element: document.getElementById("new-report-btn"), element: document.getElementById("new-report-btn"),
intro: reportsClickNewReportTutorial, intro: reportsClickNewReportTutorial,
@ -163,7 +164,7 @@
tooltipClass: 'custom' tooltipClass: 'custom'
}) })
.onafterchange(function (tarEl) { .onafterchange(function (tarEl) {
Cookies.set('current_tutorial_step', this._currentStep + 16); Cookies.set('current_tutorial_step', this._currentStep + 18);
if (this._currentStep == 1) { if (this._currentStep == 1) {
setTimeout(function() { setTimeout(function() {

View file

@ -1144,13 +1144,12 @@ function initializeTutorial() {
disableInteraction: true disableInteraction: true
}) })
.onafterchange(function (tarEl) { .onafterchange(function (tarEl) {
Cookies.set('current_tutorial_step', this._currentStep + 18); Cookies.set('current_tutorial_step', this._currentStep + 20);
if (this._currentStep == 1) { if (this._currentStep == 1) {
setTimeout(function() { setTimeout(function() {
$('.next-page-link a.introjs-nextbutton') $('.next-page-link a.introjs-nextbutton')
.removeClass('introjs-disabled') .removeClass('introjs-disabled')
.attr('href', tarEl.href); .attr('href', '/protocols');
$('.introjs-disableInteraction').remove(); $('.introjs-disableInteraction').remove();
}, 500); }, 500);
} else { } else {
@ -1160,7 +1159,7 @@ function initializeTutorial() {
.start(); .start();
window.onresize = function() { window.onresize = function() {
if (Cookies.get('current_tutorial_step') == 18) { if (Cookies.get('current_tutorial_step') == 20) {
$(".introjs-tooltip").css("right", ($(".new-element.initial").width() + 60) + "px"); $(".introjs-tooltip").css("right", ($(".new-element.initial").width() + 60) + "px");
} }
}; };
@ -1183,7 +1182,7 @@ function showTutorial() {
else else
return false; return false;
var currentStep = Cookies.get('current_tutorial_step'); var currentStep = Cookies.get('current_tutorial_step');
if (currentStep < 16 || currentStep > 18) if (currentStep < 18 && currentStep > 22)
return false; return false;
var tutorialProjectId = tutorialData[0].project; var tutorialProjectId = tutorialData[0].project;
var currentProjectId = $("#data-holder").attr("data-project-id"); var currentProjectId = $("#data-holder").attr("data-project-id");

View file

@ -156,9 +156,7 @@ function sampleAlertMsgHide() {
function initTutorial() { function initTutorial() {
var currentStep = parseInt(Cookies.get('current_tutorial_step'), 10); var currentStep = parseInt(Cookies.get('current_tutorial_step'), 10);
if (currentStep == 8) if (showTutorial() && (currentStep > 15 && currentStep < 19)) {
currentStep++;
if (showTutorial() && (currentStep > 12 && currentStep < 16)) {
var samplesTutorial =$("#samples-toolbar").attr("data-samples-step-text"); var samplesTutorial =$("#samples-toolbar").attr("data-samples-step-text");
var breadcrumbsTutorial = $("#samples-toolbar").attr("data-breadcrumbs-step-text"); var breadcrumbsTutorial = $("#samples-toolbar").attr("data-breadcrumbs-step-text");
@ -187,7 +185,7 @@ function initTutorial() {
tooltipClass: "custom" tooltipClass: "custom"
}) })
.onafterchange(function (tarEl) { .onafterchange(function (tarEl) {
Cookies.set('current_tutorial_step', this._currentStep + 14); Cookies.set('current_tutorial_step', this._currentStep + 17);
if (this._currentStep == 1) { if (this._currentStep == 1) {
setTimeout(function() { setTimeout(function() {
@ -201,7 +199,7 @@ function initTutorial() {
positionTutorialTooltip(); positionTutorialTooltip();
} }
}) })
.goToStep(currentStep == 15 ? 2 : 1) .goToStep(currentStep == 18 ? 2 : 1)
.start(); .start();
// Destroy first-time tutorial cookies when skip tutorial // Destroy first-time tutorial cookies when skip tutorial

View file

@ -14,7 +14,7 @@
data: { data: {
action: 'edit', action: 'edit',
intro: t('tutorial.canvas_click_edit_workflow_html'), intro: t('tutorial.canvas_click_edit_workflow_html'),
step: '5', step: '7',
position: 'left' position: 'left'
} do %> } do %>
<span class="glyphicon glyphicon-pencil"></span> <span class="glyphicon glyphicon-pencil"></span>
@ -63,7 +63,7 @@
</div> </div>
<div id="canvas-container" data-project-id="<%= @project.id %>" <div id="canvas-container" data-project-id="<%= @project.id %>"
data-step="4" data-position='left' data-step="6" data-position='left'
data-intro="<%=t 'tutorial.canvas_overview_html' %>" data-intro="<%=t 'tutorial.canvas_overview_html' %>"
data-sidebar-step-text="<%=t 'tutorial.sidebar_html' %>" data-sidebar-step-text="<%=t 'tutorial.sidebar_html' %>"
data-sidebar-click-module-step-text="<%=t 'tutorial.sidebar_click_module_html' %>" data-sidebar-click-module-step-text="<%=t 'tutorial.sidebar_click_module_html' %>"

View file

@ -18,6 +18,7 @@
<!-- Tutorial data --> <!-- Tutorial data -->
<div class="hidden" data-role="tutorial-data" data-module-id="<%= @my_module.id %>" <div class="hidden" data-role="tutorial-data" data-module-id="<%= @my_module.id %>"
data-module-protocols-step-text="<%=t 'tutorial.module_protocols_html' %>" data-module-protocols-step-text="<%=t 'tutorial.module_protocols_html' %>"
data-module-protocols-save-step-text="<%=t 'tutorial.module_protocols_save_html' %>"
data-module-protocols-click-results-step-text="<%=t 'tutorial.module_protocols_click_results_html' %>"> data-module-protocols-click-results-step-text="<%=t 'tutorial.module_protocols_click_results_html' %>">
</div> </div>

View file

@ -29,7 +29,7 @@
<a href="#" class="btn btn-default disabled"><span class="glyphicon glyphicon-export"></span><span class="hidden-xs-custom">&nbsp;<%= t("my_modules.protocols.buttons.export") %></span></a> <a href="#" class="btn btn-default disabled"><span class="glyphicon glyphicon-export"></span><span class="hidden-xs-custom">&nbsp;<%= t("my_modules.protocols.buttons.export") %></span></a>
<% end %> <% end %>
<% if can_copy_protocol_to_repository(@my_module) %> <% if can_copy_protocol_to_repository(@my_module) %>
<%= link_to copy_to_repository_modal_protocol_path(@protocol, format: :json), class: "btn btn-default", remote: true, data: { action: "copy-to-repository" } do %> <%= link_to copy_to_repository_modal_protocol_path(@protocol, format: :json), id: "protocol-copy-to-repository", class: "btn btn-default", remote: true, data: { action: "copy-to-repository" } do %>
<span class="glyphicon glyphicon-saved"></span><span class="hidden-xs-custom">&nbsp;<%= t("my_modules.protocols.buttons.copy_to_repository") %></span> <span class="glyphicon glyphicon-saved"></span><span class="hidden-xs-custom">&nbsp;<%= t("my_modules.protocols.buttons.copy_to_repository") %></span>
<% end %> <% end %>
<% else %> <% else %>

View file

@ -3,7 +3,7 @@
<% if current_organization %> <% if current_organization %>
<%= render partial: "protocols/breadcrumbs.html.erb", locals: { organizations: @organizations, current_organization: @current_organization, type: @type } %> <%= render partial: "protocols/breadcrumbs.html.erb", locals: { organizations: @organizations, current_organization: @current_organization, type: @type } %>
<ul class="nav nav-tabs nav-settings"> <ul class="nav nav-tabs nav-settings" data-intro="<%=t 'tutorial.protocols_index_html' %>" data-step="20">
<li role="presentation" class="<%= "active" if @type == :public %>"> <li role="presentation" class="<%= "active" if @type == :public %>">
<%= link_to t("protocols.index.navigation.public"), protocols_path(organization: @current_organization, type: :public) %> <%= link_to t("protocols.index.navigation.public"), protocols_path(organization: @current_organization, type: :public) %>
</li> </li>
@ -49,7 +49,7 @@
<% end %> <% end %>
</div> </div>
<div class="btn-group" role="group"> <div class="btn-group" role="group" data-intro="<%=t 'tutorial.protocols_import_export_html' %>" data-step="21">
<a class="btn btn-default btn-open-file" <%= can_import_protocols(@current_organization) ? 'data-action="import"' : 'disabled="disabled"' %>> <a class="btn btn-default btn-open-file" <%= can_import_protocols(@current_organization) ? 'data-action="import"' : 'disabled="disabled"' %>>
<span class="glyphicon glyphicon-import"></span> <span class="glyphicon glyphicon-import"></span>
<span class="hidden-xs">&nbsp;<%= t("protocols.index.import") %></span> <span class="hidden-xs">&nbsp;<%= t("protocols.index.import") %></span>

View file

@ -2,7 +2,7 @@
<% if !defined? initial then initial = false end %> <% if !defined? initial then initial = false end %>
<div class="new-element <%= "hidden" if hide %> <%= "initial" if initial %>" data-ts="ignore" data-type="new" title="<%=t "projects.reports.elements.new_element.title" %>" <div class="new-element <%= "hidden" if hide %> <%= "initial" if initial %>" data-ts="ignore" data-type="new" title="<%=t "projects.reports.elements.new_element.title" %>"
<% if initial %> <% if initial %>
data-step="18" data-step="20"
data-position="left" data-position="left"
data-intro="<%=t 'tutorial.new_report_html' %>" data-intro="<%=t 'tutorial.new_report_html' %>"
<% end %>> <% end %>>

View file

@ -5,7 +5,7 @@
<ul class="breadcrumb" style="margin-left: 15px;"> <ul class="breadcrumb" style="margin-left: 15px;">
<li> <li>
<% if can_view_projects(@project.organization) %> <% if can_view_projects(@project.organization) %>
<a href="<%= projects_path :organization => @project.organization.id %>" data-intro="<%=t 'tutorial.new_report_click_org_html', private_org: @project.organization.name %>" data-step="19"> <a href="<%= projects_path :organization => @project.organization.id %>" data-intro="<%=t 'tutorial.new_report_click_org_html', private_org: @project.organization.name %>" data-step="21">
<% end %> <% end %>
<span class="hidden-sm hidden-md hidden-lg">Org</span> <span class="hidden-sm hidden-md hidden-lg">Org</span>
<span class="hidden-xs"><%= @project.organization.name %></span> <span class="hidden-xs"><%= @project.organization.name %></span>

View file

@ -1468,28 +1468,31 @@ en:
skip_tutorial: "Skip tutorial" skip_tutorial: "Skip tutorial"
end_tutorial: "End tutorial" end_tutorial: "End tutorial"
finish_tutorial: "Start using sciNote" finish_tutorial: "Start using sciNote"
tutorial_welcome_title_html: 'Welcome to <em>sciNote</em>, your electronic lab notebook. <em>sciNote</em> organizes your work in Projects. You can reorder them by clicking the <strong>Sort by</strong> button. <strong>(Step 1/21)</strong>' tutorial_welcome_title_html: "Welcome to <em>sciNote</em>, your electronic lab notebook. <em>sciNote</em> organizes your work in Projects. Click <strong>Team icon</strong> to choose Projects from which Team you want to view on your Dashboard. You can also reorder them by clicking the <strong>Sort by</strong> button. <strong>(Step 1/25)</strong>"
create_project_html: "Click here to create a Project and it will appear under the Team you've chosen. Choose public <span class='glyphicon glyphicon-eye-open'></span> if you want everyone from the Team to view the Project or choose private <span class='glyphicon glyphicon-eye-close'></span> so only the people who you invite to the project can see it. <strong>(Step 2/21)</strong>" create_project_html: "Click here to create a Project and it will appear under the Team you've chosen. Choose public <span class='glyphicon glyphicon-eye-open'></span> if you want everyone from the Team to view the Project or choose private <span class='glyphicon glyphicon-eye-close'></span> so only the people who you invite to the Project can see it. <strong>(Step 2/25)</strong>"
project_options_html: "In the bottom row of the Project card you can check the latest activity <span class='glyphicon glyphicon-equalizer'></span>, invite collaborators <span class='glyphicon glyphicon-user'></span>, see the notifications <span class='glyphicon glyphicon-bell'></span> and write comments <span class='glyphicon glyphicon-comment'></span>. You can also edit the Project's name and visibility or archive it. You can recall the Project from the Archive <span class='glyphicon glyphicon-briefcase'></span> in the top right side of the Dashboard at any time. <strong>(Step 3/21)</strong>" project_options_html: "In the bottom row of the Project card you can check the latest activity <span class='glyphicon glyphicon-equalizer'></span>, invite collaborators <span class='glyphicon glyphicon-user'></span>, see the notifications <span class='glyphicon glyphicon-bell'></span> and write comments <span class='glyphicon glyphicon-comment'></span>. You can also edit the Project's name and visibility or archive it. You can recall the Project from the Archive <span class='glyphicon glyphicon-briefcase'></span> in the top right side of the Dashboard at any time. <strong>(Step 3/25)</strong>"
create_experiment_html: "Inside of a Project you can create Experiments. To create one click on this button and edit Experiments name and description. <strong>(Step 4/21)</strong>" create_experiment_html: "Inside of a Project you can create Experiments. To create one click on this button and edit Experiments name and description. <strong>(Step 4/25)</strong>"
edit_experiment_html: "By clicking on the down arrow <span class='caret'></span> of an Experiment card you can choose between different actions. You can <strong>Edit details</strong> to the Experiment, such as experiment name and description, <strong>Clone</strong> it inside of a Project, where cloned Experiment is identical to the original one, <strong>Move</strong> it from one Project to another or <strong>Archive</strong> it in the Archive <span class='glyphicon glyphicon-briefcase'></span>. <strong>(Step 5/21)</strong>" edit_experiment_html: "By clicking on the down arrow <span class='caret'></span> of an Experiment card you can choose between different actions. You can <strong>Edit details</strong> to the Experiment, such as experiment name and description, <strong>Clone</strong> it inside of a Project, where cloned Experiment is identical to the original one, <strong>Move</strong> it from one Project to another or <strong>Archive</strong> it in the Archive <span class='glyphicon glyphicon-briefcase'></span>. <strong>(Step 5/25)</strong>"
canvas_overview_html: "A Task is a basic unit of your Experiment. Within a Task, you can add Protocols, Results and add Samples. You can connect Tasks into Workflows to assure traceability of your work. You can grab a Task or entire Workflow and move it in all directions on the canvas. <strong>(Step 6/21)</strong>" canvas_overview_html: "A Task is a basic unit of your Experiment. Within a Task, you can add Protocols, Results and add Samples. You can connect Tasks into Workflows to assure traceability of your work. You can grab a Task or entire Workflow and move it in all directions on the canvas. <strong>(Step 6/25)</strong>"
canvas_click_edit_workflow_html: " Click <strong>Edit experiment</strong> to add new Tasks or to modify an existing Experiment. <strong>(Step 7/21)</strong>" canvas_click_edit_workflow_html: " Click <strong>Edit experiment</strong> to add new Tasks or to modify an existing Experiment. <strong>(Step 7/25)</strong>"
edit_workflow_html: "To add a new Task to the Experiment, click on <strong>New task</strong> and drag it onto canvas. <strong>(Step 8/21)</strong>" edit_workflow_html: "To add a new Task to the Experiment, click on <strong>New task</strong> and drag it onto canvas. <strong>(Step 8/25)</strong>"
edit_workflow_click_save_html: "Click <strong>Save experiment</strong> to save changes youve made to the Experiment. <strong>(Step 9/21)</strong>" edit_workflow_click_save_html: "Click <strong>Save experiment</strong> to save changes youve made to the Experiment. <strong>(Step 9/25)</strong>"
sidebar_html: "Navigation bar helps you orient on which Experiment you are currently working. It also helps you to find a specific Task on the canvas by clicking the navigate icon <span class='glyphicon glyphicon-map-marker'></span>. The line that follows down the Tasks on their left side signifies they are connected into a Workflow. <strong>(Step 10/21)</strong>" sidebar_html: "Navigation bar helps you to navigate through Experiments. It also helps you to find a specific Task on the canvas by clicking the navigate icon <span class='glyphicon glyphicon-map-marker'></span>. <strong>(Step 10/25)</strong>"
sidebar_click_module_html: "Click on the Task name <strong>qPCR</strong> to see its contents. <strong>(Step 11/21)</strong>" sidebar_click_module_html: "Click on the Task name <strong>qPCR</strong> to see its contents. <strong>(Step 11/25)</strong>"
module_protocols_html: "Inside of a Task you can create Protocol steps and upload existing protocol files. After you have finished a certain step, click the <strong>Complete step</strong> button. Exact time and the person who completed the step are recorded and can be seen in the <strong>Activity</strong> tab in the top right side of the Dashboard. <strong>(Step 12/21)</strong>" module_protocols_html: "Inside of a Task you can create Protocol steps and upload existing protocol files. After you have finished a certain step, click the <strong>Complete step</strong> button. Exact time and the person who completed the step are recorded and can be seen in the <strong>Activity</strong> tab in the top right side of the Dashboard. <strong>(Step 12/25)</strong>"
module_protocols_click_results_html: "Click on the <strong>Results</strong> tab to upload experiment results. <strong>(Step 13/21)</strong>" module_protocols_save_html: "You can save the protocol to Protocol repository. Everyone within the same Team will be able to use it. <strong>(Step 13/25)</strong>"
module_results_html: "You can upload any type of a file, insert table or write comments. <strong>(Step 14/21)</strong>" module_protocols_click_results_html: "Click on the <strong>Results</strong> tab to upload experiment results. <strong>(Step 14/25)</strong>"
module_results_click_samples_html: "Click on the <strong>Samples</strong> tab to import, export or assign samples to the Task. <strong>(Step 15/21)</strong>" module_results_html: "You can upload any type of a file, insert table or write comments. <strong>(Step 15/25)</strong>"
samples_html: "You can easily import sample tables from Excel or tab-delimited files. If you assign samples to a certain Task, these samples will be automatically assigned downstream the Workflow. <strong>(Step 16/21)</strong>" module_results_click_samples_html: "Click on the <strong>Samples</strong> tab to import, export or assign samples to the Task. <strong>(Step 16/25)</strong>"
breadcrumbs_html: "You can always use these breadcrumbs to navigate all the way back to the Dashboard. Click on the <strong>Reports</strong> tab to generate reports for meetings, projects, patents or thesis. <strong>(Step 17/21)</strong>" samples_html: "You can easily import sample tables from Excel or tab-delimited files. If you assign samples to a certain Task, these samples will be automatically assigned downstream the Workflow. <strong>(Step 17/25)</strong>"
reports_index_click_new_report_html: "When inside of <strong>Reports</strong>, click the <strong>New report</strong> button to create a new report. <strong>(Step 18/21)</strong>" breadcrumbs_html: "You can always use these breadcrumbs to navigate all the way back to the Dashboard. Click on the <strong>Reports</strong> tab to generate a report of your work. <strong>(Step 18/25)</strong>"
new_report_html: "To add report elements to the report, click on the <strong>—+—</strong> sign on the sheet. Select the report contents in the tabs and click <strong>Add to report</strong>. You can save the report as a PDF on your computer or save it within sciNote for later viewing and modification. <strong>(Step 19/21)</strong>" reports_index_click_new_report_html: "Click the <strong>New report</strong> button to create a new report. <strong>(Step 19/25)</strong>"
new_report_click_org_html: "Click on <strong>%{private_org}</strong> in breadcrumbs to return to the Dashboard. <strong>(Step 20/21)</strong>" new_report_html: "To add report elements to the report, click on the <strong>—+—</strong> sign on the sheet. Select the report contents in the tabs and click <strong>Add to report</strong>. You can save the report as a PDF on your computer or save it within sciNote for later viewing and modification. <strong>(Step 20/25)</strong>"
archive_project_html: "Archive Demo project - qPCR by clicking on the down arrow <span class='glyphicon glyphicon-triangle-bottom'></span>. You can always access the Archive by clicking the <span class='glyphicon glyphicon-briefcase'></span> icon on the top right side of the Dashboard and restore any item you have archived. <strong>(Step 21/21)</strong>" new_report_click_org_html: "Click on <strong>%{private_org}</strong> in breadcrumbs to return to the Dashboard. <strong>(Step 21/25)</strong>"
goodbye_message: "To repeat the tutorial, go to your Settings and open <strong>My preferences</strong> tab. Click on the <strong>Repeat tutorial</strong> button and watch the tutorial as many times needed." protocols_index_html: "View your Public and Private Protocols, which you can Edit, Create new ones or Clone them. Protocols can be archived and restored from the Archive. <strong>(Step 22/25)</strong>"
protocols_import_export_html: "You can also Import or Export protocols to your hard drive. Return to the Dashboard. <strong>(Step 23/25)</strong>"
archive_project_html: "Archive Demo project - qPCR by clicking on the down arrow <span class='glyphicon glyphicon-triangle-bottom'></span>. You can always access the Archive by clicking the <span class='glyphicon glyphicon-briefcase'></span> icon on the top right side of the Dashboard and restore any item you have archived. <strong>(Step 24/25)</strong>"
goodbye_message: "To repeat the tutorial, go to your Settings and open <strong>My preferences</strong> tab. Click on the <strong>Repeat tutorial</strong> button and go through the tutorial as many times needed. <strong>(Step 25/25)</strong>"
notifications: notifications:
title: "Notifications" title: "Notifications"