use try/catch block in updatefeedlist

remove reporting function from exception dialog
This commit is contained in:
Andrew Dolgov 2017-03-05 10:30:49 +03:00
parent 1bfe1d7b31
commit e0a957b3f6
3 changed files with 70 additions and 97 deletions

View File

@ -817,8 +817,8 @@ div.fatalError button {
}
div.fatalError textarea {
width : 100%;
height : 100px;
width : 565px;
height : 200px;
}
#ttrssMain #main {

View File

@ -55,34 +55,19 @@ function exception_error(e, e_compat) {
var msg = e.toString();
msg += "<p>"+ __("The error will be reported to the configured log destination.") +
"</p>";
console.error(msg);
var content = "<div class=\"fatalError\">" +
"<pre>" + msg + "</pre>";
var content = "<div class='fatalError'><p>" + msg + "</p>";
content += "<form name=\"exceptionForm\" id=\"exceptionForm\" target=\"_blank\" "+
"action=\"https://tt-rss.org/report.php\" method=\"POST\">";
content += "<textarea style=\"display : none\" name=\"message\">" + msg + "</textarea>";
content += "<textarea style=\"display : none\" name=\"params\">N/A</textarea>";
if (e) {
if (e.stack) {
content += "<div><b>Stack trace:</b></div>" +
"<textarea name=\"stack\" readonly=\"1\">" + e.stack + "</textarea>";
}
content += "</form>";
content += "</div>";
content += "<div class='dlgButtons'>";
content += "<button dojoType=\"dijit.form.Button\""+
"onclick=\"dijit.byId('exceptionDlg').report()\">" +
__('Report to tt-rss.org') + "</button> ";
content += "<button dojoType=\"dijit.form.Button\" "+
"onclick=\"dijit.byId('exceptionDlg').hide()\">" +
__('Close') + "</button>";
@ -95,22 +80,6 @@ function exception_error(e, e_compat) {
id: "exceptionDlg",
title: "Unhandled exception",
style: "width: 600px",
report: function() {
if (confirm(__("Are you sure to report this exception to tt-rss.org? The report will include information about your web browser and tt-rss configuration. Your IP will be saved in the database."))) {
document.forms['exceptionForm'].params.value = $H({
browserName: navigator.appName,
browserVersion: navigator.appVersion,
browserPlatform: navigator.platform,
browserCookies: navigator.cookieEnabled,
ttrssVersion: __ttrss_version,
initParams: JSON.stringify(init_params),
}).toQueryString();
document.forms['exceptionForm'].submit();
}
},
content: content});
dialog.show();

View File

@ -41,72 +41,76 @@ function setActiveFeedId(id, is_cat) {
function updateFeedList() {
try {
Element.show("feedlistLoading");
Element.show("feedlistLoading");
resetCounterCache();
resetCounterCache();
if (dijit.byId("feedTree")) {
dijit.byId("feedTree").destroyRecursive();
}
var store = new dojo.data.ItemFileWriteStore({
url: "backend.php?op=pref_feeds&method=getfeedtree&mode=2"});
var treeModel = new fox.FeedStoreModel({
store: store,
query: {
"type": getInitParam('enable_feed_cats') == 1 ? "category" : "feed"
},
rootId: "root",
rootLabel: "Feeds",
childrenAttrs: ["items"]
});
var tree = new fox.FeedTree({
model: treeModel,
onClick: function (item, node) {
var id = String(item.id);
var is_cat = id.match("^CAT:");
var feed = id.substr(id.indexOf(":")+1);
viewfeed({feed: feed, is_cat: is_cat});
return false;
},
openOnClick: false,
showRoot: false,
persist: true,
id: "feedTree",
}, "feedTree");
/* var menu = new dijit.Menu({id: 'feedMenu'});
menu.addChild(new dijit.MenuItem({
label: "Simple menu item"
}));
// menu.bindDomNode(tree.domNode); */
var tmph = dojo.connect(dijit.byId('feedMenu'), '_openMyself', function (event) {
console.log(dijit.getEnclosingWidget(event.target));
dojo.disconnect(tmph);
});
$("feeds-holder").appendChild(tree.domNode);
var tmph = dojo.connect(tree, 'onLoad', function() {
dojo.disconnect(tmph);
Element.hide("feedlistLoading");
try {
feedlist_init();
loading_set_progress(25);
} catch (e) {
exception_error(e);
if (dijit.byId("feedTree")) {
dijit.byId("feedTree").destroyRecursive();
}
});
tree.startup();
var store = new dojo.data.ItemFileWriteStore({
url: "backend.php?op=pref_feeds&method=getfeedtree&mode=2"
});
var treeModel = new fox.FeedStoreModel({
store: store,
query: {
"type": getInitParam('enable_feed_cats') == 1 ? "category" : "feed"
},
rootId: "root",
rootLabel: "Feeds",
childrenAttrs: ["items"]
});
var tree = new fox.FeedTree({
model: treeModel,
onClick: function (item, node) {
var id = String(item.id);
var is_cat = id.match("^CAT:");
var feed = id.substr(id.indexOf(":") + 1);
viewfeed({feed: feed, is_cat: is_cat});
return false;
},
openOnClick: false,
showRoot: false,
persist: true,
id: "feedTree",
}, "feedTree");
/* var menu = new dijit.Menu({id: 'feedMenu'});
menu.addChild(new dijit.MenuItem({
label: "Simple menu item"
}));
// menu.bindDomNode(tree.domNode); */
var tmph = dojo.connect(dijit.byId('feedMenu'), '_openMyself', function (event) {
console.log(dijit.getEnclosingWidget(event.target));
dojo.disconnect(tmph);
});
$("feeds-holder").appendChild(tree.domNode);
var tmph = dojo.connect(tree, 'onLoad', function () {
dojo.disconnect(tmph);
Element.hide("feedlistLoading");
try {
feedlist_init();
loading_set_progress(25);
} catch (e) {
exception_error(e);
}
});
tree.startup();
} catch (e) {
exception_error(e);
}
}
function catchupAllFeeds() {