datasource-polling.mustache revision 72378c4b11f0468874fbad14749246d2ae564474
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk<style scoped>
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk/* custom styles for this example */
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk#demo .output {margin-bottom:1em; padding:10px; border:1px solid #D9D9D9;}
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk</style>
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk<div class="intro">
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk <p>DataSource's Pollable extension enables polling functionality on all your DataSource instances.</p>
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk</div>
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk<div class="example">
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk {{>datasource-polling-source}}
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk</div>
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk<p>Include the `datasource-pollable` extension in your `Y.use()` statement to add the `setInterval()`, `clearInterval()`, and `clearAllInterval()` methods to all your DataSource instances.</p>
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk```
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenkYUI().use("datasource-function", "datasource-polling", function(Y) {
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk var myFunction = function() {
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk return new Date();
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk },
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk myDataSource = new Y.DataSource.Function({source:myFunction}),
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk request = {
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk callback: {
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk success: function(e){
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk Y.one("#demo_output_polling")
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk .setContent("At the tone the time will be: " +
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk Y.dump(e.response.results[0].toString()));
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk },
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk failure: function(e){
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk Y.one("#demo_output_polling")
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk .setContent("Could not retrieve data: " + e.error.message);
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk }
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk }
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk },
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk id = myDataSource.setInterval(1000, request); // Starts polling
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk myDataSource.clearInterval(id); // Ends polling
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk});
7d602f039beb26151cdc6306cfd3952b98bdc424jeff.schenk```