* [misc] add global method to get page perf data.
This commit is contained in:
@@ -218,6 +218,10 @@ function openApp(url, code, options)
|
||||
const getPageInfo = openedApp.iframe.contentWindow.getPageInfo;
|
||||
return getPageInfo ? getPageInfo() : null;
|
||||
};
|
||||
openedApp.getPerfData = () => {
|
||||
const getPerfData = openedApp.iframe.contentWindow.getPerfData;
|
||||
return getPerfData ? getPerfData() : null;
|
||||
};
|
||||
|
||||
/* Update on app tabs bar */
|
||||
const $tabs = $('#appTabs');
|
||||
|
||||
+17
-1
@@ -241,6 +241,21 @@
|
||||
else requestAnimationFrame(() => updateZinbar(perf, errors, basePath));
|
||||
}
|
||||
|
||||
function getPerfData()
|
||||
{
|
||||
return (zinbar && zinbar.$) ? zinbar.$.state.pagePerf : null;
|
||||
}
|
||||
|
||||
function triggerPerfEvent(stage)
|
||||
{
|
||||
if(!zinbar || !zinbar.$) return;
|
||||
if(zinbar.lastPerfEventType === stage) clearTimeout(zinbar.lastPerfEventTimer);
|
||||
zinbar.lastPerfEventTimer = setTimeout(() => {
|
||||
$.apps.triggerEvent('updatePerfData.app', {stage: stage, perf: getPerfData()}, {silent: true});
|
||||
}, 100);
|
||||
zinbar.lastPerfEventType = stage;
|
||||
}
|
||||
|
||||
function updatePerfInfo(options, stage, info)
|
||||
{
|
||||
if(!hasZinBar) return;
|
||||
@@ -255,6 +270,7 @@
|
||||
if(info.dataSize) perf.dataSize = info.dataSize;
|
||||
}
|
||||
updateZinbar(perf);
|
||||
triggerPerfEvent(stage);
|
||||
}
|
||||
|
||||
function showZinDebugInfo(data, options)
|
||||
@@ -1801,7 +1817,7 @@
|
||||
if($firstControl) $firstControl[0]?.focus();
|
||||
}
|
||||
|
||||
$.extend(window, {registerRender: registerRender, fetchContent: fetchContent, loadTable: loadTable, loadPage: loadPage, postAndLoadPage: postAndLoadPage, loadCurrentPage: loadCurrentPage, parseSelector: parseSelector, toggleLoading: toggleLoading, openUrl: openUrl, openPage: openPage, goBack: goBack, registerTimer: registerTimer, loadModal: loadModal, loadTarget: loadTarget, loadComponent: loadComponent, loadPartial: loadPartial, reloadPage: reloadPage, selectLang: selectLang, selectTheme: selectTheme, selectVision: selectVision, changeAppLang, changeAppTheme: changeAppTheme, waitDom: waitDom, fetchMessage: fetchMessage, setImageSize: setImageSize, showMoreImage: showMoreImage, autoLoad: autoLoad, loadForm: loadForm, showValidateMessage: showValidateMessage, getPageInfo: getPageInfo});
|
||||
$.extend(window, {registerRender: registerRender, fetchContent: fetchContent, loadTable: loadTable, loadPage: loadPage, postAndLoadPage: postAndLoadPage, loadCurrentPage: loadCurrentPage, parseSelector: parseSelector, toggleLoading: toggleLoading, openUrl: openUrl, openPage: openPage, goBack: goBack, registerTimer: registerTimer, loadModal: loadModal, loadTarget: loadTarget, loadComponent: loadComponent, loadPartial: loadPartial, reloadPage: reloadPage, selectLang: selectLang, selectTheme: selectTheme, selectVision: selectVision, changeAppLang, changeAppTheme: changeAppTheme, waitDom: waitDom, fetchMessage: fetchMessage, setImageSize: setImageSize, showMoreImage: showMoreImage, autoLoad: autoLoad, loadForm: loadForm, showValidateMessage: showValidateMessage, getPageInfo: getPageInfo, getPerfData: getPerfData});
|
||||
$.extend($.apps, {openUrl: openUrl, getAppUrl: () => currentAppUrl});
|
||||
$.extend($, {ajaxSendScore: ajaxSendScore, selectLang: selectLang});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user