Skip to content
Snippets Groups Projects
Commit b4ef3df8 authored by Jared Hancock's avatar Jared Hancock
Browse files

pjax: Fix help tip fetching

parent 9b0c9fc0
Branches
Tags
No related merge requests found
......@@ -42,6 +42,7 @@ class osTicket {
var $title; //Custom title. html > head > title.
var $headers;
var $pjax_extra;
var $config;
var $session;
......@@ -163,13 +164,17 @@ class osTicket {
return $replacer->replaceVars($input);
}
function addExtraHeader($header) {
function addExtraHeader($header, $pjax_script=false) {
$this->headers[md5($header)] = $header;
$this->pjax_extra[md5($header)] = $pjax_script;
}
function getExtraHeaders() {
return $this->headers;
}
function getExtraPjax() {
return $this->pjax_extra;
}
function setPageTitle($title) {
$this->title = $title;
......
......@@ -25,7 +25,7 @@ if(is_object($thisstaff) && $thisstaff->isStaff()) { ?>
if ($.support.pjax) {
$(document).on('click', 'a', function(event) {
if (!$(this).hasClass('no-pjax'))
$.pjax.click(event, {container: $('#content')})
$.pjax.click(event, {container: $('#content'), timeout: 2000})
})
}
</script>
......
......@@ -113,7 +113,11 @@
}
?>
</ul>
<div id="content" data-pjax-container>
<div id="content">
<?php } elseif ($pjax = $ost->getExtraPjax()) { # endif X_PJAX ?>
<script type="text/javascript">
<?php foreach ($pjax as $s) echo $s.";"; ?>
</script>
<?php } # endif X_PJAX ?>
<?php if($errors['err']) { ?>
<div id="msg_error"><?php echo $errors['err']; ?></div>
......
......@@ -126,7 +126,8 @@ $page='dynamic-forms.inc.php';
if($form || ($_REQUEST['a'] && !strcasecmp($_REQUEST['a'],'add')))
$page='dynamic-form.inc.php';
$ost->addExtraHeader('<meta name="tip-namespace" content="forms" />');
$ost->addExtraHeader('<meta name="tip-namespace" content="forms" />',
"$('#content').data('tipNamespace', 'forms');");
$nav->setTabActive('manage');
require(STAFFINC_DIR.'header.inc.php');
require(STAFFINC_DIR.$page);
......
......@@ -24,20 +24,26 @@ jQuery(function() {
});
},
getHelpTips = (function() {
var dfd = $.Deferred(),
requested = false,
namespace = $('meta[name=tip-namespace]').attr('content');
return function() {
if (namespace && dfd.state() != 'resolved' && !requested)
requested = $.ajax({
var dfd, cache = {};
return function(namespace) {
var namespace = namespace
|| $('#content').data('tipNamespace')
|| $('meta[name=tip-namespace]').attr('content');
if (!namespace)
return false;
else if (!cache[namespace])
cache[namespace] = {
dfd: dfd = $.Deferred(),
ajax: $.ajax({
url: "ajax.php/help/tips/" + namespace,
dataType: 'json',
success: function (json_config) {
dfd.resolve(json_config);
}
});
return dfd;
}
success: $.proxy(function (json_config) {
this.resolve(json_config);
}, dfd)
})
}
return cache[namespace].dfd;
};
})();
//Generic tip.
......
......@@ -48,7 +48,8 @@ if($page && $_POST && !$errors) {
}
$config=($errors && $_POST)?Format::input($_POST):Format::htmlchars($cfg->getConfigInfo());
$ost->addExtraHeader('<meta name="tip-namespace" content="'.$page[1].'" />');
$ost->addExtraHeader('<meta name="tip-namespace" content="'.$page[1].'" />',
"$('#content').data('tipNamespace', '".$page[1]."');");
$nav->setTabActive('settings', ('settings.php?t='.$target));
require_once(STAFFINC_DIR.'header.inc.php');
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment