From 3490ba3a4b9ce9af87980856a56e9d8560b12d5e Mon Sep 17 00:00:00 2001 From: Alexander Mohr Date: Mon, 22 Oct 2018 13:47:04 -0700 Subject: [PATCH] mostly fix uiState on admin blockables page --- .../blockablepage/blockablepage-controller.js | 37 +++++++++++++++++++ .../components/blockables/blockable-card.html | 2 +- .../blockables/blockable-listing.html | 2 +- .../components/blockables/blockables.js | 4 ++ .../admin_ui/components/lib/controllers.js | 6 ++- 5 files changed, 48 insertions(+), 3 deletions(-) diff --git a/upvote/gae/modules/upvote_app/frontend/admin_ui/blockablepage/blockablepage-controller.js b/upvote/gae/modules/upvote_app/frontend/admin_ui/blockablepage/blockablepage-controller.js index 8f120ed..f02a3ca 100644 --- a/upvote/gae/modules/upvote_app/frontend/admin_ui/blockablepage/blockablepage-controller.js +++ b/upvote/gae/modules/upvote_app/frontend/admin_ui/blockablepage/blockablepage-controller.js @@ -20,6 +20,7 @@ goog.require('upvote.admin.lib.controllers.ModelController'); goog.require('upvote.app.constants'); goog.require('upvote.errornotifier.ErrorService'); goog.require('upvote.shared.Page'); +goog.require('upvote.statechip.ToUiState'); goog.scope(() => { const ModelController = upvote.admin.lib.controllers.ModelController; @@ -79,6 +80,31 @@ upvote.admin.blockablepage.BlockableController = class extends ModelController { this.init(); } + /** @override */ + loadData(opt_more) { + let dataPromise = super.loadData(opt_more); + let resource = this.resource; + + return (!dataPromise) ? dataPromise : dataPromise.then((results) => { + if(!results) { + return null; + } + + results.forEach(function(item) { + if (!!item['certId']) { + resource + .get({'id': item['certId']})['$promise'] + .then((cert) => { + item.cert = cert; + }) + .catch((response) => { + this.errorService_.createToastFromError(response); + }); + } + }); + }); + } + /** @protected @override */ init() { super.init(); @@ -110,6 +136,17 @@ upvote.admin.blockablepage.BlockableController = class extends ModelController { let cardPromise = super.loadCard(); return (!cardPromise) ? cardPromise : cardPromise.then(() => { this.card['rootScope'] = this.rootScope; + + if (!!this.card['certId']) { + this.resource + .get({'id': this.card['certId']})['$promise'] + .then((cert) => { + this.card.cert = cert; + }) + .catch((response) => { + this.errorService_.createToastFromError(response); + }); + } }); } diff --git a/upvote/gae/modules/upvote_app/frontend/admin_ui/components/blockables/blockable-card.html b/upvote/gae/modules/upvote_app/frontend/admin_ui/components/blockables/blockable-card.html index 1d54149..e75bf56 100644 --- a/upvote/gae/modules/upvote_app/frontend/admin_ui/components/blockables/blockable-card.html +++ b/upvote/gae/modules/upvote_app/frontend/admin_ui/components/blockables/blockable-card.html @@ -60,7 +60,7 @@ Flagged: {{ card.flagged }}
- State: {{ card.state | prettifyState }} + State: {{ card.state | toUiState: card.vote:card.cert | stateToDisplay }}
Last Changed State: {{ card.stateChangeDt }} diff --git a/upvote/gae/modules/upvote_app/frontend/admin_ui/components/blockables/blockable-listing.html b/upvote/gae/modules/upvote_app/frontend/admin_ui/components/blockables/blockable-listing.html index f1c5d07..732d2e3 100644 --- a/upvote/gae/modules/upvote_app/frontend/admin_ui/components/blockables/blockable-listing.html +++ b/upvote/gae/modules/upvote_app/frontend/admin_ui/components/blockables/blockable-listing.html @@ -8,7 +8,7 @@ {{ item.occurredDt | date:'mediumDate' }} {{item.score}} - + {{item.count}} diff --git a/upvote/gae/modules/upvote_app/frontend/admin_ui/components/blockables/blockables.js b/upvote/gae/modules/upvote_app/frontend/admin_ui/components/blockables/blockables.js index db75a17..1d1bddd 100644 --- a/upvote/gae/modules/upvote_app/frontend/admin_ui/components/blockables/blockables.js +++ b/upvote/gae/modules/upvote_app/frontend/admin_ui/components/blockables/blockables.js @@ -21,6 +21,8 @@ goog.require('upvote.admin.blockables.prettifyType'); goog.require('upvote.admin.blockables.prettifyVotingProhibitedReason'); goog.require('upvote.admin.blockables.uvBlockableCard'); goog.require('upvote.admin.blockables.uvBlockableListing'); +goog.require('upvote.statechip.StateToDisplay'); +goog.require('upvote.statechip.ToUiState'); goog.require('upvote.statechip.module'); @@ -40,6 +42,8 @@ upvote.admin.blockables.module = .directive( 'uvBlockableHeader', upvote.admin.blockables.uvBlockableHeader) .filter('prettifyState', () => upvote.admin.blockables.prettifyState) + .filter('toUiState', () => upvote.statechip.ToUiState) + .filter('stateToDisplay', () => upvote.statechip.StateToDisplay) .filter( 'prettifyVotingProhibitedReason', () => upvote.admin.blockables.prettifyVotingProhibitedReason) diff --git a/upvote/gae/modules/upvote_app/frontend/admin_ui/components/lib/controllers.js b/upvote/gae/modules/upvote_app/frontend/admin_ui/components/lib/controllers.js index 7bb204f..9365e0e 100644 --- a/upvote/gae/modules/upvote_app/frontend/admin_ui/components/lib/controllers.js +++ b/upvote/gae/modules/upvote_app/frontend/admin_ui/components/lib/controllers.js @@ -104,21 +104,25 @@ upvote.admin.lib.controllers.ModelController = class { /** * Load search query data. * @param {boolean=} opt_more Whether to load more items from the last query. + * @return {?angular.$q.Promise} A promise that will resolve once the data is loaded. * @protected */ loadData(opt_more) { if (!opt_more) { this.requestData['cursor'] = null; } + let data = this.queryData['search'] ? Object.assign({}, this.requestData, this.queryData) : this.requestData; - this.queryResource['search'](data)['$promise'].then((results) => { + + return this.queryResource['search'](data)['$promise'].then((results) => { this.content = opt_more ? this.content.concat(results['content']) : results['content']; this.requestData['cursor'] = results['cursor']; this.requestData['more'] = results['more']; this.requestData['perPage'] = results['perPage']; + return results['content']; }); }