зеркало из https://github.com/mozilla/treeherder.git
Bug 1463079 - Update to AngularJS 1.7 (#3570)
Changelog: https://github.com/angular/angular.js/blob/master/CHANGELOG.md#170-nonexistent-physiology-2018-05-11 `PluginCtrl` has been updated to correctly cancel the `$http` requests made by `selectJob`, since previously they were silently failing to be cancelled, whereas under AngularJS 1.7 an exception is raised if `$timeout` is used incorrectly: https://code.angularjs.org/snapshot/docs/guide/migration#-timeout- The usage of `$timeout` has been removed in favour of this pattern: https://odetocode.com/blogs/scott/archive/2014/04/24/canceling-http-requests-in-angularjs.aspx Closes #3542.
This commit is contained in:
Родитель
459df93d3c
Коммит
c89fa8cfcb
10
package.json
10
package.json
|
@ -12,13 +12,13 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"ajv": "6.5.0",
|
||||
"angular": "1.6.10",
|
||||
"angular": "1.7.0",
|
||||
"angular-clipboard": "1.6.2",
|
||||
"angular-local-storage": "0.7.1",
|
||||
"angular-marked": "1.2.2",
|
||||
"angular-resource": "1.6.10",
|
||||
"angular-route": "1.6.10",
|
||||
"angular-sanitize": "1.6.10",
|
||||
"angular-resource": "1.7.0",
|
||||
"angular-route": "1.7.0",
|
||||
"angular-sanitize": "1.7.0",
|
||||
"angular-ui-router": "0.4.3",
|
||||
"angular1-ui-bootstrap4": "2.4.22",
|
||||
"auth0-js": "9.5.1",
|
||||
|
@ -68,7 +68,7 @@
|
|||
"taskcluster-lib-scopes": "10.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"angular-mocks": "1.6.10",
|
||||
"angular-mocks": "1.7.0",
|
||||
"enzyme": "3.3.0",
|
||||
"enzyme-adapter-react-16": "1.1.1",
|
||||
"jasmine-core": "3.1.0",
|
||||
|
|
|
@ -176,7 +176,7 @@ treeherder.controller('PluginCtrl', [
|
|||
|
||||
// this promise will void all the ajax requests
|
||||
// triggered by selectJob once resolved
|
||||
let selectJobPromise = null;
|
||||
let selectJobCanceller = null;
|
||||
|
||||
const selectJob = function (job) {
|
||||
$scope.bugSuggestionsLoading = true;
|
||||
|
@ -186,24 +186,25 @@ treeherder.controller('PluginCtrl', [
|
|||
// set the scope variables needed for the job detail panel
|
||||
if (job.id) {
|
||||
$scope.job_detail_loading = true;
|
||||
if (selectJobPromise !== null) {
|
||||
selectJobPromise.resolve();
|
||||
if (selectJobCanceller !== null) {
|
||||
// Cancel the in-progress $http requests.
|
||||
selectJobCanceller.resolve();
|
||||
}
|
||||
selectJobPromise = $q.defer();
|
||||
selectJobCanceller = $q.defer();
|
||||
|
||||
$scope.job = {};
|
||||
$scope.job_details = [];
|
||||
const jobPromise = ThJobModel.get(
|
||||
$scope.repoName, job.id,
|
||||
{ timeout: selectJobPromise });
|
||||
{ timeout: selectJobCanceller.promise });
|
||||
|
||||
const jobDetailPromise = ThJobDetailModel.getJobDetails(
|
||||
{ job_guid: job.job_guid },
|
||||
{ timeout: selectJobPromise });
|
||||
{ timeout: selectJobCanceller.promise });
|
||||
|
||||
const jobLogUrlPromise = ThJobLogUrlModel.get_list(
|
||||
job.id,
|
||||
{ timeout: selectJobPromise });
|
||||
{ timeout: selectJobCanceller.promise });
|
||||
|
||||
const phSeriesPromise = PhSeries.getSeriesData(
|
||||
$scope.repoName, { job_id: job.id });
|
||||
|
@ -559,8 +560,9 @@ treeherder.controller('PluginCtrl', [
|
|||
});
|
||||
|
||||
$rootScope.$on(thEvents.clearSelectedJob, function () {
|
||||
if (selectJobPromise !== null) {
|
||||
$timeout.cancel(selectJobPromise);
|
||||
if (selectJobCanceller !== null) {
|
||||
// Cancel the in-progress $http requests.
|
||||
selectJobCanceller.resolve();
|
||||
}
|
||||
});
|
||||
|
||||
|
|
30
yarn.lock
30
yarn.lock
|
@ -129,21 +129,21 @@ angular-marked@1.2.2:
|
|||
dependencies:
|
||||
marked "^0.3.3"
|
||||
|
||||
angular-mocks@1.6.10:
|
||||
version "1.6.10"
|
||||
resolved "https://registry.yarnpkg.com/angular-mocks/-/angular-mocks-1.6.10.tgz#6a139e43c461d0c9a5a1acebc91e63db16031176"
|
||||
angular-mocks@1.7.0:
|
||||
version "1.7.0"
|
||||
resolved "https://registry.yarnpkg.com/angular-mocks/-/angular-mocks-1.7.0.tgz#4957aaf966b6fc36edd6ac381a60814f7c05de3f"
|
||||
|
||||
angular-resource@1.6.10:
|
||||
version "1.6.10"
|
||||
resolved "https://registry.yarnpkg.com/angular-resource/-/angular-resource-1.6.10.tgz#28c1834e9fa623467d2f9894716a4e6c7e077459"
|
||||
angular-resource@1.7.0:
|
||||
version "1.7.0"
|
||||
resolved "https://registry.yarnpkg.com/angular-resource/-/angular-resource-1.7.0.tgz#356f92cafd68ded59862d7af34ddf8c08ac414b4"
|
||||
|
||||
angular-route@1.6.10:
|
||||
version "1.6.10"
|
||||
resolved "https://registry.yarnpkg.com/angular-route/-/angular-route-1.6.10.tgz#4247a32eab19495624623e96c1626dfba17ebf21"
|
||||
angular-route@1.7.0:
|
||||
version "1.7.0"
|
||||
resolved "https://registry.yarnpkg.com/angular-route/-/angular-route-1.7.0.tgz#37cbe8ddb58a331624d0a33e59c17e7254854e08"
|
||||
|
||||
angular-sanitize@1.6.10:
|
||||
version "1.6.10"
|
||||
resolved "https://registry.yarnpkg.com/angular-sanitize/-/angular-sanitize-1.6.10.tgz#635a362afb2dd040179f17d3a5455962b2c1918f"
|
||||
angular-sanitize@1.7.0:
|
||||
version "1.7.0"
|
||||
resolved "https://registry.yarnpkg.com/angular-sanitize/-/angular-sanitize-1.7.0.tgz#8ff2870fa3f6d4d0e0647900dbc01258ebeee1c1"
|
||||
|
||||
angular-ui-router@0.4.3:
|
||||
version "0.4.3"
|
||||
|
@ -155,11 +155,7 @@ angular1-ui-bootstrap4@2.4.22:
|
|||
version "2.4.22"
|
||||
resolved "https://registry.yarnpkg.com/angular1-ui-bootstrap4/-/angular1-ui-bootstrap4-2.4.22.tgz#378697405c957b96f947f42322f36660cd3fc88d"
|
||||
|
||||
angular@1.6.10:
|
||||
version "1.6.10"
|
||||
resolved "https://registry.yarnpkg.com/angular/-/angular-1.6.10.tgz#eed3080a34d29d0f681ff119b18ce294e3f74826"
|
||||
|
||||
angular@>=1.5, angular@>=1.5.0, angular@^1.0.8:
|
||||
angular@1.7.0, angular@>=1.5, angular@>=1.5.0, angular@^1.0.8:
|
||||
version "1.7.0"
|
||||
resolved "https://registry.yarnpkg.com/angular/-/angular-1.7.0.tgz#e45d679fc8d81040a4894c7ccc16a4e1ad0a9ca6"
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче