Career diagram: Move tpl code in separate tpls

In order to allow to be added in an iframe BT#18720
pull/3883/head
Julio Montoya 5 years ago
parent d9e57ba093
commit 417982b528
  1. 2
      main/admin/career_diagram.php
  2. 308
      main/template/default/career/diagram.tpl
  3. 6
      main/template/default/career/diagram_full.tpl
  4. 6
      main/template/default/career/diagram_iframe.tpl
  5. 7
      main/user/career_diagram.php

@ -107,5 +107,5 @@ if (!empty($diagram)) {
}
$tpl->assign('content', $html);
$layout = $tpl->get_template('career/diagram.tpl');
$layout = $tpl->get_template('career/diagram_full.tpl');
$tpl->display($layout);

@ -1,165 +1,161 @@
{% extends 'layout/layout_1_col.tpl'|get_template %}
{% block content %}
<script>
mxBasePath = '{{ _p.web_lib }}mxgraph/src/';
</script>
<style>
#graphContainer svg {
min-width: 100% !important;
}
</style>
<script type="text/javascript" src="{{ _p.web_lib }}mxgraph/src/js/mxClient.js"></script>
<script>
// Overridden to define per-shape connection points
mxGraph.prototype.getAllConnectionConstraints = function(terminal, source) {
if (terminal != null && terminal.shape != null) {
<script>
mxBasePath = '{{ _p.web_lib }}mxgraph/src/';
</script>
<style>
#graphContainer svg {
min-width: 100% !important;
}
</style>
<script type="text/javascript" src="{{ _p.web_lib }}mxgraph/src/js/mxClient.js"></script>
<script>
// Overridden to define per-shape connection points
mxGraph.prototype.getAllConnectionConstraints = function(terminal, source) {
if (terminal != null && terminal.shape != null) {
if (terminal.shape.stencil != null) {
if (terminal.shape.stencil != null) {
if (terminal.shape.stencil != null) {
return terminal.shape.stencil.constraints;
}
} else if (terminal.shape.constraints != null) {
return terminal.shape.constraints;
return terminal.shape.stencil.constraints;
}
} else if (terminal.shape.constraints != null) {
return terminal.shape.constraints;
}
}
return null;
};
// Edges have no connection points
mxPolyline.prototype.constraints = null;
// Program starts here. Creates a sample graph in the
// DOM node with the specified ID. This function is invoked
// from the onLoad event handler of the document (see below).
function main(container)
{
// Checks if the browser is supported
if (!mxClient.isBrowserSupported()) {
// Displays an error message if the browser is not supported.
mxUtils.error('Browser is not supported!', 200, false);
} else {
// Disables the built-in context menu
mxEvent.disableContextMenu(container);
// Creates the graph inside the given container
var graph = new mxGraph(container);
graph.setConnectable(true);
graph.setHtmlLabels(true);
// Blocks the selection of elements
graph.setEnabled(false);
// Enables connect preview for the default edge style
graph.connectionHandler.createEdgeState = function(me) {
var edge = graph.createEdge(null, null, null, null, null);
return new mxCellState(this.graph.view, edge, this.graph.getCellStyle(edge));
};
// Specifies the default edge style
graph.getStylesheet().getDefaultEdgeStyle()['edgeStyle'] = 'orthogonalEdgeStyle';
// Enables rubberband selection
new mxRubberband(graph);
// Gets the default parent for inserting new cells. This
// is normally the first child of the root (ie. layer 0).
var parent = graph.getDefaultParent();
// Adds cells to the model in a single step
graph.getModel().beginUpdate();
try {
//var v1 = graph.insertVertex(parent, null, 'Hello,', 20, 20, 80, 30);
//var v2 = graph.insertVertex(parent, null, 'World!', 200, 150, 80, 30);
//var e1 = graph.insertEdge(parent, null, '', v1, v2);
{% for vertex in group_list %}
{{ vertex }}
{% endfor %}
{% for vertex in subgroup_list %}
{{ vertex }}
{% endfor %}
{% for vertex in vertex_list %}
{{ vertex }}
{% endfor %}
{% for vertex in connections %}
{{ vertex }}
{% endfor %}
} finally {
// Updates the display
graph.getModel().endUpdate();
}
return null;
};
// Edges have no connection points
mxPolyline.prototype.constraints = null;
// Program starts here. Creates a sample graph in the
// DOM node with the specified ID. This function is invoked
// from the onLoad event handler of the document (see below).
function main(container)
{
// Checks if the browser is supported
if (!mxClient.isBrowserSupported()) {
// Displays an error message if the browser is not supported.
mxUtils.error('Browser is not supported!', 200, false);
} else {
// Disables the built-in context menu
mxEvent.disableContextMenu(container);
// Creates the graph inside the given container
var graph = new mxGraph(container);
graph.setConnectable(true);
graph.setHtmlLabels(true);
// Blocks the selection of elements
graph.setEnabled(false);
// Enables connect preview for the default edge style
graph.connectionHandler.createEdgeState = function(me) {
var edge = graph.createEdge(null, null, null, null, null);
return new mxCellState(this.graph.view, edge, this.graph.getCellStyle(edge));
};
// Specifies the default edge style
graph.getStylesheet().getDefaultEdgeStyle()['edgeStyle'] = 'orthogonalEdgeStyle';
// Enables rubberband selection
new mxRubberband(graph);
// Gets the default parent for inserting new cells. This
// is normally the first child of the root (ie. layer 0).
var parent = graph.getDefaultParent();
// Adds cells to the model in a single step
graph.getModel().beginUpdate();
try {
//var v1 = graph.insertVertex(parent, null, 'Hello,', 20, 20, 80, 30);
//var v2 = graph.insertVertex(parent, null, 'World!', 200, 150, 80, 30);
//var e1 = graph.insertEdge(parent, null, '', v1, v2);
{% for vertex in group_list %}
{{ vertex }}
{% endfor %}
{% for vertex in subgroup_list %}
{{ vertex }}
{% endfor %}
{% for vertex in vertex_list %}
{{ vertex }}
{% endfor %}
{% for vertex in connections %}
{{ vertex }}
{% endfor %}
} finally {
// Updates the display
graph.getModel().endUpdate();
}
}
$(function () {
main(document.getElementById('graphContainer'));
var svg1 = document.getElementsByTagName("svg")[0];
var data = svg1.getBBox();
var widthValue = data.width + 100;
var heightValue = data.height + 100;
var att = document.createAttributeNS(null, "viewBox");
att.value = '0 0 ' + widthValue + ' ' + heightValue;
svg1.setAttributeNode(att);
$(".popup").qtip({
content: {
text: function(event, api) {
var item = $(this);
var itemId = $(this).attr("id");
var desc = $(this).attr("data-description");
var period = $(this).attr("data-period");
var teacherText = $(this).attr("data-teacher-text");
var teacher = $(this).attr("data-teacher");
var score = $(this).attr("data-score");
var value = $(this).attr("data-score-value");
var info = $(this).attr("data-info");
var teacherLabel = '';
if (teacher != '') {
teacherLabel = teacherText + ': ' + teacher + '<br />';
}
var textToShow = desc + '<br />' +
period + '<br />' +
teacherLabel +
score + ': ' + value + '<br /><br />'+
info + '<br />'
;
return textToShow;
}
},
events: {
render: function(event, api) {
var popup = $(api.elements.target);
var bg = popup.attr("data-background-color");
var color = popup.attr("data-color");
var borderColor = popup.attr("data-border-color");
// Grab the tooltip element from the API
//var tooltip = api.elements.tooltip;
$(this).css('background-color', bg);
$(this).css('color', color);
$(this).css('border-color', borderColor);
}
},
position: {
my: 'bottom left', // Position my top left...
at: 'top right', // at the bottom right of...
adjust: {
x: 0,
y: 0
}
$(function () {
main(document.getElementById('graphContainer'));
var svg1 = document.getElementsByTagName("svg")[0];
var data = svg1.getBBox();
var widthValue = data.width + 100;
var heightValue = data.height + 100;
var att = document.createAttributeNS(null, "viewBox");
att.value = '0 0 ' + widthValue + ' ' + heightValue;
svg1.setAttributeNode(att);
$(".popup").qtip({
content: {
text: function(event, api) {
var item = $(this);
var itemId = $(this).attr("id");
var desc = $(this).attr("data-description");
var period = $(this).attr("data-period");
var teacherText = $(this).attr("data-teacher-text");
var teacher = $(this).attr("data-teacher");
var score = $(this).attr("data-score");
var value = $(this).attr("data-score-value");
var info = $(this).attr("data-info");
var teacherLabel = '';
if (teacher != '') {
teacherLabel = teacherText + ': ' + teacher + '<br />';
}
var textToShow = desc + '<br />' +
period + '<br />' +
teacherLabel +
score + ': ' + value + '<br /><br />'+
info + '<br />'
;
return textToShow;
}
});
},
events: {
render: function(event, api) {
var popup = $(api.elements.target);
var bg = popup.attr("data-background-color");
var color = popup.attr("data-color");
var borderColor = popup.attr("data-border-color");
// Grab the tooltip element from the API
//var tooltip = api.elements.tooltip;
$(this).css('background-color', bg);
$(this).css('color', color);
$(this).css('border-color', borderColor);
}
},
position: {
my: 'bottom left', // Position my top left...
at: 'top right', // at the bottom right of...
adjust: {
x: 0,
y: 0
}
}
});
</script>
{{ content }}
{% endblock %}
});
</script>
{{ content }}

@ -0,0 +1,6 @@
{% extends 'layout/layout_1_col.tpl'|get_template %}
{% block content %}
{% include 'diagram.tpl'%}
{{ content }}
{% endblock %}

@ -0,0 +1,6 @@
{% extends 'layout/blank_no_header.tpl'|get_template %}
{% block body %}
{% include 'diagram.tpl'%}
{{ content }}
{% endblock %}

@ -97,5 +97,10 @@ if (!empty($diagram)) {
}
$tpl->assign('content', $html);
$layout = $tpl->get_template('career/diagram.tpl');
if ($showFullPage) {
$layout = $tpl->get_template('career/diagram_full.tpl');
} else {
$layout = $tpl->get_template('career/diagram_iframe.tpl');
}
$tpl->display($layout);

Loading…
Cancel
Save