1 /* ***************************************************************************
2 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd.
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software" ),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20 * DEALINGS IN THE SOFTWARE.
21 * ***************************************************************************
23 * Author: Minkyu Kang <mk7.kang@samsung.com>
24 * Author: Koeun Choi <koeun.choi@samsung.com>
32 * data-role: set to 'progressing'.
33 * data-style: 'circle' or 'pending'.
37 * show(): show the progressing.
38 * hide(): hide the progressing.
39 * running(boolean): start or stop the running.
47 * <li data-role="list-divider">Progress Pending</li>
49 * <div data-role="progressing" data-style="pending" id="pending"></div>
51 * <li data-role="list-divider">Progress ~ing</li>
53 * <div data-role="progressing" data-style="circle" id="progressing"></div>Loading..
56 * $("#pending").progress( "running", true );
57 * $("#progressing").progress( "running", true );
61 (function ( $, window, undefined ) {
62 $.widget( "tizen.progress", $.mobile.widget, {
69 $( this.element ).show();
73 $( this.element ).hide();
78 $( this.element ).append( this.html );
85 .find( ".ui-progress-" + this.options.style )
86 .addClass( this.runningClass );
91 .find( ".ui-progress-" + this.options.style )
92 .removeClass( this.runningClass );
95 running: function ( running ) {
96 if ( running === undefined ) {
97 return this.options.running;
100 this._setOption( "running", running );
103 _setOption: function ( key, value ) {
104 if ( key === "running" ) {
105 if ( typeof value !== "boolean" ) {
106 window.alert( "running value MUST be boolean type!" );
110 this.options.running = value;
115 _refresh: function () {
116 if ( this.options.running ) {
123 _create: function () {
125 element = this.element,
126 style = element.jqmData( "style" ),
130 this.options.style = style;
132 style = this.options.style;
135 this.html = $( '<div class="ui-progress-container-' + style + '">' +
136 '<div class="ui-progress-' + style + '"></div>' +
139 runningClass = "ui-progress-" + style + "-running";
143 runningClass: runningClass
147 } ); /* End of widget */
149 $( document ).bind( "pagecreate", function ( e ) {
150 $( e.target ).find( ":jqmData(role='progressing')" ).progress();