[Kimchi-devel] [PATCH] Issue #296 [enhance]kimchi UI should not waiting while generating reports

Wang Wen wenwang at linux.vnet.ibm.com
Mon Jun 2 15:33:19 UTC 2014


Good point. For current process, I enabled all other parts of Kimchi 
except the Debug report area. I have some thoughts of enable the buttons 
when generating the debug report which don't seem to work with current 
design. I believe it's better to enable the buttons during the 
generating procedure. I will have that done in the future.

Thanks Hongliang!

On 05/30/2014 05:03 PM, Hongliang Wang wrote:
> What if I want to rename/remove/download another debug report when 
> there is a new debug report being generated? All buttons are disabled 
> when generating a debug report so it's impossible to access any debug 
> reports.
>
> On 05/28/2014 09:45 AM, Wen Wang wrote:
>> 1) Removed the dialogue window when generating a debug report.
>> 2) Designed an animation bar indicate user there is a report generating
>>     during the generating progress.
>> 3) Disable the buttons' functions in debug report area when 
>> generating a new
>>     report in case there might be any conflict. Meanwhile user can 
>> operate
>>     on other parts of Kimchi.
>> 4) Enable all buttonss' functions in debug report area after generating
>>     progress.
>> ---
>>   ui/css/theme-default/host.css       | 22 +++++++++++++++++++++
>>   ui/js/src/kimchi.report_add_main.js | 38 
>> ++++++++++++++++++++++++++++++++-----
>>   2 files changed, 55 insertions(+), 5 deletions(-)
>>
>> diff --git a/ui/css/theme-default/host.css 
>> b/ui/css/theme-default/host.css
>> index 6a1a308..c684c0a 100644
>> --- a/ui/css/theme-default/host.css
>> +++ b/ui/css/theme-default/host.css
>> @@ -219,6 +219,28 @@
>>       width: 200px;
>>   }
>>
>> +#id-generate-bar {
>> +    text-align: center;
>> +    vertical-align: middle;
>> +}
>> +
>> +#id-generate-panel {
>> +    vertical-align: middle;
>> +    margin: 0 auto;
>> +    text-align: center;
>> +    height: 20px;
>> +    width: 250px;
>> +    color: #fff;
>> +    border: 1px solid #ccc;
>> +    background-color: #5af;
>> +}
>> +
>> +#id-generating {
>> +    font-color: #fff;
>> +    background: #5af url(../../images/theme-default/loading.gif) 7px
>> +            center no-repeat;
>> +    padding-left: 26px;
>> +}
>>   /* End of Debug Report */
>>
>>   /* Software Updates */
>> diff --git a/ui/js/src/kimchi.report_add_main.js 
>> b/ui/js/src/kimchi.report_add_main.js
>> index 8759c2b..1e5df89 100644
>> --- a/ui/js/src/kimchi.report_add_main.js
>> +++ b/ui/js/src/kimchi.report_add_main.js
>> @@ -1,4 +1,5 @@
>>   kimchi.report_add_main = function() {
>> +    var reportGridID = 'available-reports-grid';
>>       var addReportForm = $('#form-report-add');
>>       var submitButton = $('#button-report-add');
>>       var nameTextbox = $('input[name="name"]', addReportForm);
>> @@ -13,12 +14,39 @@ kimchi.report_add_main = function() {
>>               return false;
>>           }
>>           var formData = addReportForm.serializeObject();
>> -        submitButton
>> -            .text(i18n['KCHDR6007M'])
>> -            .prop('disabled', true);
>> -        nameTextbox.prop('disabled', true);
>> +        kimchi.window.close();
>> +        var reportGrid = null;
>> +        $('#' + reportGridID + 
>> '-generate-button').prop('disabled',true);
>> +        $('#' + reportGridID + '-remove-button').prop('disabled',true);
>> +        $('#' + reportGridID + 
>> '-download-button').prop('disabled',true);
>> +        $('#' + reportGridID + '-rename-button').prop('disabled',true);
>> + 
>> $('#available-reports-grid').find('.grid-body').find('table').find('tr').click(function() 
>> {
>> +            $('#' + reportGridID + 
>> '-remove-button').prop('disabled',true);
>> +            $('#' + reportGridID + 
>> '-download-button').prop('disabled',true);
>> +            $('#' + reportGridID + 
>> '-rename-button').prop('disabled',true);
>> +        });
>> +        var len = 
>> $('#available-reports-grid').find('.grid-frozen-body-view').find('tr').length 
>> + 1;
>> + 
>> $('#available-reports-grid').find('.grid-frozen-body-view').find('table').append('<tr 
>> id="temp-row-col1"><td>' + len + '</td></tr>');
>> + 
>> $('#available-reports-grid').find('.grid-body-view').find('table').append('<tr 
>> id="temp-row-col2"><td id="id-generate-bar"; colspan="2"></td></tr>');
>> +        var textboxValue = $('#report-name-textbox').val();
>> +        if (textboxValue != "") {
>> +            if (textboxValue.length <= 15) {
>> +                $('#id-generate-bar').append('<div 
>> id="id-generate-panel"></div>');
>> +                $('#id-generate-panel').append('<label 
>> id="id-generating"><span>' + '"' + textboxValue +'"  ' + 
>> i18n['KCHDR6007M'] + '</span></label>');
>> +            }
>> +            else {
>> +                $('#id-generate-bar').append('<div 
>> id="id-generate-panel"></div>');
>> +                $('#id-generate-panel').append('<label 
>> id="id-generating"><span>' + '"' + textboxValue.substring(0,13) 
>> +'..."  ' + i18n['KCHDR6007M'] + '</span></label>');
>> +            }
>> +        }
>> +        else {
>> +            $('#id-generate-bar').append('<div 
>> id="id-generate-panel"></div>');
>> +            $('#id-generate-panel').append('<label 
>> id="id-generating"><span>' + i18n['KCHDR6007M'] + '</span></label>');
>> +        }
>>           kimchi.createReport(formData, function(result) {
>> -            kimchi.window.close();
>> +            $('#temp-row-col1').remove();
>> +            $('#temp-row-col2').remove();
>> +            $('#' + reportGridID + 
>> '-generate-button').prop('disabled',false);
>>               kimchi.topic('kimchi/debugReportAdded').publish({
>>                   result: result
>>               });
>




More information about the Kimchi-devel mailing list