Skip to content

Commit

Permalink
feat: adds refresh stats button, syncing user details with Optimole d…
Browse files Browse the repository at this point in the history
…ashboard, fix #83
  • Loading branch information
preda-bogdan authored and selul committed Mar 29, 2019
1 parent d9459f6 commit 1461483
Show file tree
Hide file tree
Showing 6 changed files with 19 additions and 31 deletions.
10 changes: 6 additions & 4 deletions assets/js/bundle.js
Original file line number Diff line number Diff line change
Expand Up @@ -14871,7 +14871,8 @@ Object.defineProperty(exports, "__esModule", {
// </div>
// <progress class="progress is-success" :value="this.userData.usage" :max="this.userData.quota">60%</progress>
// <div class="level-right">
// <button class="button is-small is-info" v-on:click="requestUpdate"><span class="icon"><i class="dashicons dashicons-image-rotate"></i></span> <span>Refresh Stats</span></button>
// <button class="button is-small is-warning" v-if="this.$store.state.loading"><span class="icon"><i class="dashicons dashicons-backup"></i></span> <span>Updating Stats</span></button>
// <button class="button is-small is-info" v-else v-on:click="requestUpdate"><span class="icon"><i class="dashicons dashicons-image-rotate"></i></span> <span>Refresh Stats</span></button>
// </div>
// </div>
// </template>
Expand Down Expand Up @@ -14908,7 +14909,7 @@ exports.default = {
/* 23 */
/***/ (function(module, exports) {

module.exports = "\n\t<div class=\"cdn-details\" _v-de4534c4=\"\">\n\t\t<hr _v-de4534c4=\"\">\n\t\t<div class=\"account level has-text-centered\" _v-de4534c4=\"\">\n\t\t\t<div class=\"level-left\" _v-de4534c4=\"\">\n\t\t\t\t<span class=\"label level-item\" _v-de4534c4=\"\">{{strings.logged_in_as}}:</span>\n\t\t\t\t<p class=\"details level-item tags has-addons\" _v-de4534c4=\"\">\n\t\t\t\t\t<span class=\"tag is-light\" _v-de4534c4=\"\">{{userData.display_name}}</span>\n\t\t\t\t\t<span class=\"tag is-paddingless\" _v-de4534c4=\"\"><img :src=\"userData.picture\" class=\"image is-24x24 is-rounded\" :alt=\"userData.display_name\" _v-de4534c4=\"\"></span>\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t\t<div class=\"level-right\" _v-de4534c4=\"\">\n\t\t\t\t<span class=\"label level-item\" _v-de4534c4=\"\">{{strings.private_cdn_url}}:</span>\n\t\t\t\t<p class=\"details level-item tag is-light\" _v-de4534c4=\"\">{{userData.cdn_key}}.i.optimole.com</p>\n\t\t\t</div>\n\t\t</div>\n\t\t<hr _v-de4534c4=\"\">\n\t\t<div class=\"level stats\" _v-de4534c4=\"\">\n\t\t\t<div class=\"level-left\" _v-de4534c4=\"\">\n\t\t\t\t<div class=\"level-item\" _v-de4534c4=\"\">\n\t\t\t\t\t<div class=\"tags has-addons\" _v-de4534c4=\"\">\n\t\t\t\t\t\t<span class=\"tag is-info\" _v-de4534c4=\"\">{{strings.usage}}:</span>\n\t\t\t\t\t\t<span class=\"tag\" _v-de4534c4=\"\">{{this.userData.usage_pretty}}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<h4 class=\"level-item is-size-5 is-marginless has-text-grey\" _v-de4534c4=\"\">\n\t\t\t\t{{computedPercentage()}}%\n\t\t\t</h4>\n\t\t\t<div class=\"level-right\" _v-de4534c4=\"\">\n\t\t\t\t<div class=\"level-item\" _v-de4534c4=\"\">\n\t\t\t\t\t<div class=\"tags has-addons\" _v-de4534c4=\"\">\n\t\t\t\t\t\t<span class=\"tag is-info\" _v-de4534c4=\"\">{{strings.quota}}:</span>\n\t\t\t\t\t\t<span class=\"tag\" _v-de4534c4=\"\">{{this.userData.quota_pretty}}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<progress class=\"progress is-success\" :value=\"this.userData.usage\" :max=\"this.userData.quota\" _v-de4534c4=\"\">60%</progress>\n <div class=\"level-right\" _v-de4534c4=\"\">\n <button class=\"button is-small is-info\" v-on:click=\"requestUpdate\" _v-de4534c4=\"\"><span class=\"icon\" _v-de4534c4=\"\"><i class=\"dashicons dashicons-image-rotate\" _v-de4534c4=\"\"></i></span> <span _v-de4534c4=\"\">Refresh Stats</span></button>\n </div>\n\t</div>\n";
module.exports = "\n\t<div class=\"cdn-details\" _v-de4534c4=\"\">\n\t\t<hr _v-de4534c4=\"\">\n\t\t<div class=\"account level has-text-centered\" _v-de4534c4=\"\">\n\t\t\t<div class=\"level-left\" _v-de4534c4=\"\">\n\t\t\t\t<span class=\"label level-item\" _v-de4534c4=\"\">{{strings.logged_in_as}}:</span>\n\t\t\t\t<p class=\"details level-item tags has-addons\" _v-de4534c4=\"\">\n\t\t\t\t\t<span class=\"tag is-light\" _v-de4534c4=\"\">{{userData.display_name}}</span>\n\t\t\t\t\t<span class=\"tag is-paddingless\" _v-de4534c4=\"\"><img :src=\"userData.picture\" class=\"image is-24x24 is-rounded\" :alt=\"userData.display_name\" _v-de4534c4=\"\"></span>\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t\t<div class=\"level-right\" _v-de4534c4=\"\">\n\t\t\t\t<span class=\"label level-item\" _v-de4534c4=\"\">{{strings.private_cdn_url}}:</span>\n\t\t\t\t<p class=\"details level-item tag is-light\" _v-de4534c4=\"\">{{userData.cdn_key}}.i.optimole.com</p>\n\t\t\t</div>\n\t\t</div>\n\t\t<hr _v-de4534c4=\"\">\n\t\t<div class=\"level stats\" _v-de4534c4=\"\">\n\t\t\t<div class=\"level-left\" _v-de4534c4=\"\">\n\t\t\t\t<div class=\"level-item\" _v-de4534c4=\"\">\n\t\t\t\t\t<div class=\"tags has-addons\" _v-de4534c4=\"\">\n\t\t\t\t\t\t<span class=\"tag is-info\" _v-de4534c4=\"\">{{strings.usage}}:</span>\n\t\t\t\t\t\t<span class=\"tag\" _v-de4534c4=\"\">{{this.userData.usage_pretty}}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<h4 class=\"level-item is-size-5 is-marginless has-text-grey\" _v-de4534c4=\"\">\n\t\t\t\t{{computedPercentage()}}%\n\t\t\t</h4>\n\t\t\t<div class=\"level-right\" _v-de4534c4=\"\">\n\t\t\t\t<div class=\"level-item\" _v-de4534c4=\"\">\n\t\t\t\t\t<div class=\"tags has-addons\" _v-de4534c4=\"\">\n\t\t\t\t\t\t<span class=\"tag is-info\" _v-de4534c4=\"\">{{strings.quota}}:</span>\n\t\t\t\t\t\t<span class=\"tag\" _v-de4534c4=\"\">{{this.userData.quota_pretty}}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<progress class=\"progress is-success\" :value=\"this.userData.usage\" :max=\"this.userData.quota\" _v-de4534c4=\"\">60%</progress>\n <div class=\"level-right\" _v-de4534c4=\"\">\n <button class=\"button is-small is-warning\" v-if=\"this.$store.state.loading\" _v-de4534c4=\"\"><span class=\"icon\" _v-de4534c4=\"\"><i class=\"dashicons dashicons-backup\" _v-de4534c4=\"\"></i></span> <span _v-de4534c4=\"\">Updating Stats</span></button>\n <button class=\"button is-small is-info\" v-else=\"\" v-on:click=\"requestUpdate\" _v-de4534c4=\"\"><span class=\"icon\" _v-de4534c4=\"\"><i class=\"dashicons dashicons-image-rotate\" _v-de4534c4=\"\"></i></span> <span _v-de4534c4=\"\">Refresh Stats</span></button>\n </div>\n\t</div>\n";

/***/ }),
/* 24 */
Expand Down Expand Up @@ -20191,16 +20192,17 @@ var requestStatsUpdate = function requestStatsUpdate(_ref9, data) {
var commit = _ref9.commit,
state = _ref9.state;

commit('toggleLoading', true);
_vue2.default.http({
url: optimoleDashboardApp.root + '/request_update',
method: 'GET',
headers: { 'X-WP-Nonce': optimoleDashboardApp.nonce },
params: { 'req': 'Update Stats' },
responseType: 'json'
}).then(function (response) {
commit('toggleLoading', false);
if (response.status === 200) {
// TODO give notice maybe?
console.log(response);
commit('updateUserData', response.body.data);
}
});
};
Expand Down
10 changes: 5 additions & 5 deletions assets/js/bundle.min.js

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion assets/vue/components/cdn-details.vue
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@
</div>
<progress class="progress is-success" :value="this.userData.usage" :max="this.userData.quota">60%</progress>
<div class="level-right">
<button class="button is-small is-info" v-on:click="requestUpdate"><span class="icon"><i class="dashicons dashicons-image-rotate"></i></span> <span>Refresh Stats</span></button>
<button class="button is-small is-warning" v-if="this.$store.state.loading"><span class="icon"><i class="dashicons dashicons-backup"></i></span> <span>Updating Stats</span></button>
<button class="button is-small is-info" v-else v-on:click="requestUpdate"><span class="icon"><i class="dashicons dashicons-image-rotate"></i></span> <span>Refresh Stats</span></button>
</div>
</div>
</template>
Expand Down
5 changes: 3 additions & 2 deletions assets/vue/store/actions.js
Original file line number Diff line number Diff line change
Expand Up @@ -238,16 +238,17 @@ const removeWatermark = function ( {commit, state}, data ) {


const requestStatsUpdate = function ( {commit, state}, data ) {
commit( 'toggleLoading', true );
Vue.http( {
url: optimoleDashboardApp.root + '/request_update',
method: 'GET',
headers: {'X-WP-Nonce': optimoleDashboardApp.nonce},
params: {'req': 'Update Stats'},
responseType: 'json',
} ).then( function ( response ) {
commit( 'toggleLoading', false );
if( response.status === 200 ) {
// TODO give notice maybe?
console.log( response );
commit( 'updateUserData', response.body.data );
}
} );
};
Expand Down
15 changes: 0 additions & 15 deletions inc/api.php
Original file line number Diff line number Diff line change
Expand Up @@ -212,21 +212,6 @@ public function add_watermark( $file ) {
return $response;
}

/**
* Request a stats update job queue from the API.
*
* @param string $api_key The API key.
*
* @return array|bool
*/
public function request_update( $api_key = '' ) {
if ( ! empty( $api_key ) ) {
$this->api_key = $api_key;
}

return $this->request( '/optml/v1/stats/update' );
}

/**
* Throw error on object clone
*
Expand Down
7 changes: 3 additions & 4 deletions inc/rest.php
Original file line number Diff line number Diff line change
Expand Up @@ -450,10 +450,9 @@ public function remove_watermark( WP_REST_Request $request ) {
* @return WP_REST_Response
*/
public function request_update( WP_REST_Request $request ) {
$api_key = $request->get_param( 'api_key' );
$request = new Optml_Api();

return $this->response( $request->request_update( $api_key ) );
do_action( 'optml_daily_sync' );
$settings = new Optml_Settings();
return $this->response( $settings->get( 'service_data' ) );
}

/**
Expand Down

0 comments on commit 1461483

Please sign in to comment.