[Kimchi-devel] [PATCH] UI: Adding widget of gauge
Wen Wang
wenwang at linux.vnet.ibm.com
Fri Jan 16 02:43:25 UTC 2015
Okay, I will sent a separate patch that contains only adding this Demo
directory and all future widget will have the mock placed in this directory.
Best Regards
On 1/15/2015 8:34 PM, Aline Manera wrote:
>
> On 14/01/2015 08:04, Wen Wang wrote:
>> Hi Aline,
>>
>> Please apply the patch for widget " messagebar-flat" first. I have
>> created a "widget/sample" directory there. After you apply that
>> patch, I will sent another patch with the sample of gauge.
>>
>
> You can send a simple patch that only creates the directory
> "widgets/samples" to avoid delaying on get a specific patch accepted.
>
>> Best Regards
>>
>> Wang Wen
>> On 1/14/2015 6:01 PM, Wen Wang wrote:
>>> V1 -> V2:
>>> Change the time of the copyright.
>>>
>>> New widget accept two options: "value" and "color". value varies from 0
>>> to 100 and color contains "red", "blue", "yellow" and "purple".
>>>
>>> Signed-off-by: Wen Wang <wenwang at linux.vnet.ibm.com>
>>> ---
>>> ui/css/theme-default/gauge-flat.css | 45 +++++++++++++++
>>> ui/js/widgets/gauge-flat.js | 110
>>> ++++++++++++++++++++++++++++++++++++
>>> 2 files changed, 155 insertions(+)
>>> create mode 100755 ui/css/theme-default/gauge-flat.css
>>> create mode 100755 ui/js/widgets/gauge-flat.js
>>>
>>> diff --git a/ui/css/theme-default/gauge-flat.css
>>> b/ui/css/theme-default/gauge-flat.css
>>> new file mode 100755
>>> index 0000000..4f65cd9
>>> --- /dev/null
>>> +++ b/ui/css/theme-default/gauge-flat.css
>>> @@ -0,0 +1,45 @@
>>> +/*
>>> + * Project Kimchi
>>> + *
>>> + * Copyright IBM, Corp. 2015
>>> + *
>>> + * Licensed under the Apache License, Version 2.0 (the 'License');
>>> + * you may not use this file except in compliance with the License.
>>> + * You may obtain a copy of the License at
>>> + *
>>> + * http://www.apache.org/licenses/LICENSE-2.0
>>> + *
>>> + * Unless required by applicable law or agreed to in writing, software
>>> + * distributed under the License is distributed on an 'AS IS' BASIS,
>>> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>>> implied.
>>> + * See the License for the specific language governing permissions and
>>> + * limitations under the License.
>>> + */
>>> +
>>> +.ui-gauge-flat {
>>> + height: 15px;
>>> + text-align: left;
>>> + overflow: hidden;
>>> + background: #E6E7E8;
>>> +}
>>> +
>>> +.ui-gauge-flat .ui-gauge-flat-value {
>>> + margin: -1px;
>>> + height: 100%;
>>> +}
>>> +
>>> +.ui-gauge-flat .red {
>>> + background: #D9182D;
>>> +}
>>> +
>>> +.ui-gauge-flat .blue {
>>> + background: #008ABF;
>>> +}
>>> +
>>> +.ui-gauge-flat .yellow {
>>> + background: #FDB813;
>>> +}
>>> +
>>> +.ui-gauge-flat .purple {
>>> + background: #7F1C7D;
>>> +}
>>> diff --git a/ui/js/widgets/gauge-flat.js b/ui/js/widgets/gauge-flat.js
>>> new file mode 100755
>>> index 0000000..41a9ce8
>>> --- /dev/null
>>> +++ b/ui/js/widgets/gauge-flat.js
>>> @@ -0,0 +1,110 @@
>>> +/*
>>> + * Project Kimchi
>>> + *
>>> + * Copyright IBM, Corp. 2015
>>> + *
>>> + * Licensed under the Apache License, Version 2.0 (the 'License');
>>> + * you may not use this file except in compliance with the License.
>>> + * You may obtain a copy of the License at
>>> + *
>>> + * http://www.apache.org/licenses/LICENSE-2.0
>>> + *
>>> + * Unless required by applicable law or agreed to in writing, software
>>> + * distributed under the License is distributed on an 'AS IS' BASIS,
>>> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>>> implied.
>>> + * See the License for the specific language governing permissions and
>>> + * limitations under the License.
>>> + */
>>> +
>>> +
>>> +(function( $ ) {
>>> +
>>> +return $.widget( "ui.gaugeflat", {
>>> + version: "@VERSION",
>>> + options: {
>>> + max: 100,
>>> + value: 0,
>>> + color: "red"
>>> + },
>>> +
>>> + min: 0,
>>> +
>>> + _create: function() {
>>> + this.oldValue = this.options.value = this._constrainedValue();
>>> +
>>> + this.element
>>> + .addClass( "ui-gauge-flat ui-widget ui-widget-content
>>> ui-corner-all" )
>>> + .attr({
>>> + role: "gaugeflat",
>>> + "aria-valuemin": this.min
>>> + });
>>> +
>>> + var color = this.options.color;
>>> +
>>> + this.valueDiv = $( "<div class='ui-gauge-flat-value " +
>>> color + " ui-widget-header ui-corner-left'></div>" )
>>> + .appendTo( this.element );
>>> +
>>> + this._refreshValue();
>>> + },
>>> +
>>> + _destroy: function() {
>>> + this.element
>>> + .removeClass( "ui-gauge-flat ui-widget
>>> ui-widget-content ui-corner-all" )
>>> + .removeAttr( "role" )
>>> + .removeAttr( "aria-valuemin" )
>>> + .removeAttr( "aria-valuemax" )
>>> + .removeAttr( "aria-valuenow" );
>>> +
>>> + this.valueDiv.remove();
>>> + },
>>> +
>>> + value: function( newValue ) {
>>> + if ( newValue === undefined ) {
>>> + return this.options.value;
>>> + }
>>> +
>>> + this.options.value = this._constrainedValue( newValue );
>>> + this._refreshValue();
>>> + },
>>> +
>>> + _constrainedValue: function( newValue ) {
>>> + if ( newValue === undefined ) {
>>> + newValue = this.options.value;
>>> + }
>>> +
>>> + this.indeterminate = newValue === false;
>>> +
>>> + if ( typeof newValue !== "number" ) {
>>> + newValue = 0;
>>> + }
>>> +
>>> + return this.indeterminate ? false :
>>> + Math.min( this.options.max, Math.max( this.min,
>>> newValue ) );
>>> + },
>>> +
>>> + _setOptions: function( options ) {
>>> + var value = options.value;
>>> + delete options.value;
>>> +
>>> + this._super( options );
>>> +
>>> + this.options.value = this._constrainedValue( value );
>>> + this._refreshValue();
>>> + },
>>> +
>>> + _percentage: function() {
>>> + return this.indeterminate ? 100 : 100 * (
>>> this.options.value - this.min ) / ( this.options.max - this.min );
>>> + },
>>> +
>>> + _refreshValue: function() {
>>> + var value = this.options.value,
>>> + percentage = this._percentage();
>>> +
>>> + this.valueDiv
>>> + .toggle( this.indeterminate || value > this.min )
>>> + .toggleClass( "ui-corner-right", value ===
>>> this.options.max )
>>> + .width( percentage.toFixed(0) + "%" );
>>> + }
>>> +});
>>> +
>>> +})(jQuery);
>>
>>
>> _______________________________________________
>> Kimchi-devel mailing list
>> Kimchi-devel at ovirt.org
>> http://lists.ovirt.org/mailman/listinfo/kimchi-devel
>>
>
More information about the Kimchi-devel
mailing list