diff options
Diffstat (limited to 'plugins/jetpack/modules/widgets/milestone/milestone.js')
-rw-r--r-- | plugins/jetpack/modules/widgets/milestone/milestone.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/plugins/jetpack/modules/widgets/milestone/milestone.js b/plugins/jetpack/modules/widgets/milestone/milestone.js new file mode 100644 index 00000000..3780dec6 --- /dev/null +++ b/plugins/jetpack/modules/widgets/milestone/milestone.js @@ -0,0 +1,49 @@ +/* global MilestoneConfig */ + +var Milestone = ( function( $ ) { + var Milestone = function( args ) { + var $widget = $( '#' + args.id ), + id = args.id, + refresh = args.refresh * 1000; + + this.timer = function() { + var instance = this; + + $.ajax( { + url: MilestoneConfig.api_root + 'jetpack/v4/widgets/' + id, + success: function( result ) { + $widget.find( '.milestone-countdown' ).replaceWith( result.message ); + refresh = result.refresh * 1000; + + if ( ! refresh ) { + return; + } + + setTimeout( function() { + instance.timer(); + }, refresh ); + }, + } ); + }; + + if ( refresh > 0 ) { + this.timer(); + } + }; + return function( args ) { + return new Milestone( args ); + }; +} )( jQuery ); + +( function() { + var i, + MilestoneInstances = {}; + + if ( typeof MilestoneConfig === 'undefined' ) { + return; + } + + for ( i = 0; i < MilestoneConfig.instances.length; i++ ) { + MilestoneInstances[ i ] = new Milestone( MilestoneConfig.instances[ i ] ); + } +} )(); |