Skip to content

Commit

Permalink
Merge "Partial-Bug: #1530242 - Usability Fixes on query Pages"
Browse files Browse the repository at this point in the history
  • Loading branch information
Zuul authored and opencontrail-ci-admin committed Jan 3, 2016
2 parents 8e3d32a + 961c606 commit 7dc7807
Show file tree
Hide file tree
Showing 14 changed files with 139 additions and 102 deletions.
4 changes: 3 additions & 1 deletion webroot/common/ui/js/controller.labels.js
Expand Up @@ -163,7 +163,9 @@ define([
to_time_utc: 'To Time',
opsQueryId: 'Analytics QueryId',
queryId: 'QueryId',
timeTaken: 'Time Taken'
startTime: 'Time Issued',
timeTaken: 'Time Taken',
filters: 'Filter'
};

this.TOP_CONTENT_CONTAINER = "top-content-container";
Expand Down
55 changes: 55 additions & 0 deletions webroot/reports/qe/ui/api/query.api.js
Expand Up @@ -742,6 +742,11 @@ function getQueryJSON4Table(queryReqObj) {
setMicroTimeRange(queryJSON, fromTimeUTC, toTimeUTC);
parseSelect(queryJSON, formModelAttrs);
parseWhere(queryJSON, where);

if (tableName == 'MessageTable' && formModelAttrs['keywords'] != null && formModelAttrs['keywords'] != "") {
parseSLWhere(queryJSON, where, formModelAttrs['keywords'])
}

if(filters != null && filters != "") {
parseFilters(queryJSON, filters);
}
Expand Down Expand Up @@ -784,6 +789,56 @@ function parseSelect(query, formModelAttrs) {
}
};

function parseSLWhere (query, where, keywords) {
var keywordsArray = keywords.split(',');
if (keywords != null && keywords.trim() != '') {
for (var i = 0; i < keywordsArray.length; i++){
keywordsArray[i] = keywordsArray[i].trim();
}
}
if (where != null && where.trim() != '') {
var whereORArray = where.split(' OR '),
whereORLength = whereORArray.length, i,
newWhereOR, newWhereORArray = [];
var keywordsStr = getKeywordsStrFromArray(keywordsArray), where = [];
for (i = 0; i < whereORLength; i += 1) {
whereORArray[i] = whereORArray[i].trim();
newWhereOR = whereORArray[i].substr(0, whereORArray[i].length - 1);
where[i] = newWhereOR.concat(" AND " + keywordsStr + " )");
where[i] = parseWhereANDClause(where[i]);
}
query['where'] = where;
} else{
if (keywords != null && keywords.trim() != '') {
var where = [];
query['where'] = parseKeywordsObj(keywordsArray);
}
}
}

function getKeywordsStrFromArray (keywords) {
var tempStr = "";
for (var i = 1; i < keywords.length; i++) {
tempStr = tempStr.concat("AND Keyword = " + keywords[i] + " ");
}
var final = ("Keyword = " + keywords[0] + " ").concat(tempStr);
return final;
}

function parseKeywordsObj(keywordsArray)
{
var keywordObj = [], keywordArray = [], finalkeywordArray = [];
for(var i=0; i<keywordsArray.length; i++){
keywordObj[i] = {"name":"", value:"", op:""};
keywordObj[i].name = "Keyword";
keywordObj[i].value = keywordsArray[i];
keywordObj[i].op = 1;
keywordArray.push(keywordObj[i]);
}
finalkeywordArray.push(keywordArray);
return finalkeywordArray;
};

function parseWhere(query, where) {
if (where != null && where.trim() != '') {
var whereORArray = where.split(' OR '),
Expand Down
13 changes: 0 additions & 13 deletions webroot/reports/qe/ui/js/models/FlowRecordFormModel.js
Expand Up @@ -19,19 +19,6 @@ define([
QueryFormModel.prototype.constructor.call(this, modelData, queryReqConfig);

return this;
},

validations: {
runQueryValidation: {
'table_name': {
required: true,
msg: ctwm.getRequiredMessage('table name')
},
'select': {
required: true,
msg: ctwm.getRequiredMessage('select')
}
},
}
});

Expand Down
13 changes: 0 additions & 13 deletions webroot/reports/qe/ui/js/models/FlowSeriesFormModel.js
Expand Up @@ -19,19 +19,6 @@ define([
QueryFormModel.prototype.constructor.call(this, modelData, queryReqConfig);

return this;
},

validations: {
runQueryValidation: {
'table_name': {
required: true,
msg: ctwm.getRequiredMessage('table name')
},
'select': {
required: true,
msg: ctwm.getRequiredMessage('select')
}
},
}
});

Expand Down
13 changes: 0 additions & 13 deletions webroot/reports/qe/ui/js/models/ObjectLogsFormModel.js
Expand Up @@ -24,19 +24,6 @@ define([
var tableName = this.table_name();

return !(tableName === null || tableName === '');
},

validations: {
runQueryValidation: {
'table_name': {
required: true,
msg: ctwm.getRequiredMessage('table name')
},
'select': {
required: true,
msg: ctwm.getRequiredMessage('select')
}
},
}
});

Expand Down
13 changes: 0 additions & 13 deletions webroot/reports/qe/ui/js/models/StatQueryFormModel.js
Expand Up @@ -24,19 +24,6 @@ define([
var tableName = this.table_name();

return !(tableName === null || tableName === '');
},

validations: {
runQueryValidation: {
'table_name': {
required: true,
msg: ctwm.getRequiredMessage('table name')
},
'select': {
required: true,
msg: ctwm.getRequiredMessage('select')
}
},
}
});

Expand Down
15 changes: 1 addition & 14 deletions webroot/reports/qe/ui/js/models/SystemLogsFormModel.js
Expand Up @@ -13,7 +13,7 @@ define([

disableSelectFields: ['SequenceNum', 'Context', 'Keyword'],

disableWhereFields: ['Level'],
disableWhereFields: ['Level', 'Keyword'],

constructor: function (modelData, queryReqConfig) {
var defaultConfig = qewmc.getQueryModelConfig({table_name: cowc.MESSAGE_TABLE, table_type: cowc.QE_LOG_TABLE_TYPE, query_prefix: cowc.SYSTEM_LOGS_PREFIX, keywords: "",
Expand All @@ -23,19 +23,6 @@ define([
QueryFormModel.prototype.constructor.call(this, modelData, $.extend(true, queryReqConfig, {chunkSize: cowc.QE_RESULT_CHUNK_SIZE_10K}));

return this;
},

validations: {
runQueryValidation: {
'table_name': {
required: true,
msg: ctwm.getRequiredMessage('table name')
},
'select': {
required: true,
msg: ctwm.getRequiredMessage('select')
}
}
}
});

Expand Down
6 changes: 3 additions & 3 deletions webroot/reports/qe/ui/js/views/FlowRecordFormView.js
Expand Up @@ -31,12 +31,12 @@ define([
self.model.to_time(parseInt(queryFormAttributes.to_time));
}

self.renderView4Config($(self.$el).find(queryFormId), this.model, self.getViewConfig(), null, null, modelMap, function () {
self.renderView4Config($(self.$el).find(queryFormId), this.model, self.getViewConfig(), cowc.KEY_RUN_QUERY_VALIDATION, null, modelMap, function () {
self.model.showErrorAttr(flowRecordId, false);
Knockback.applyBindings(self.model, document.getElementById(flowRecordId));
kbValidation.bind(self);
$("#run_query").on('click', function() {
if (self.model.model().isValid(true, 'runQueryValidation')) {
if (self.model.model().isValid(true, cowc.KEY_RUN_QUERY_VALIDATION)) {
self.renderQueryResult();
}
});
Expand Down Expand Up @@ -196,7 +196,7 @@ define([
columns: [
{
elementId: 'filters', view: "FormTextAreaView",
viewConfig: {path: 'filters', dataBindValue: 'filters', class: "span9", editPopupConfig: {
viewConfig: {path: 'filters', dataBindValue: 'filters', class: "span9", label: cowl.TITLE_QE_FILTER, editPopupConfig: {
renderEditFn: function() {
self.renderFilters({className: cowc.QE_MODAL_CLASS_700});
}
Expand Down
7 changes: 4 additions & 3 deletions webroot/reports/qe/ui/js/views/FlowSeriesFormView.js
Expand Up @@ -31,12 +31,12 @@ define([
self.model.to_time(parseInt(queryFormAttributes.to_time));
}

self.renderView4Config($(queryFormId), self.model, self.getViewConfig(), null, null, modelMap, function () {
self.renderView4Config($(queryFormId), self.model, self.getViewConfig(), cowc.KEY_RUN_QUERY_VALIDATION, null, modelMap, function () {
self.model.showErrorAttr(flowSeriesId, false);
Knockback.applyBindings(self.model, document.getElementById(flowSeriesId));
kbValidation.bind(self);
$("#run_query").on('click', function() {
if (self.model.model().isValid(true, 'runQueryValidation')) {
if (self.model.model().isValid(true, cowc.KEY_RUN_QUERY_VALIDATION)) {
self.renderQueryResult();
}
});
Expand Down Expand Up @@ -219,7 +219,8 @@ define([
columns: [
{
elementId: 'filters', view: "FormTextAreaView",
viewConfig: {path: 'filters', dataBindValue: 'filters', class: "span9", editPopupConfig: {
viewConfig: {
path: 'filters', dataBindValue: 'filters', class: "span9", label: cowl.TITLE_QE_FILTER, editPopupConfig: {
renderEditFn: function() {
self.renderFilters({className: cowc.QE_MODAL_CLASS_700});
}
Expand Down
6 changes: 3 additions & 3 deletions webroot/reports/qe/ui/js/views/ObjectLogsFormView.js
Expand Up @@ -32,12 +32,12 @@ define([
self.model.to_time(parseInt(queryFormAttributes.to_time));
}

self.renderView4Config($(self.$el).find(queryFormId), this.model, self.getViewConfig(), null, null, modelMap, function () {
self.renderView4Config($(self.$el).find(queryFormId), this.model, self.getViewConfig(), cowc.KEY_RUN_QUERY_VALIDATION, null, modelMap, function () {
self.model.showErrorAttr(objectLogsId, false);
Knockback.applyBindings(self.model, document.getElementById(objectLogsId));
kbValidation.bind(self);
$("#run_query").on('click', function() {
if (self.model.model().isValid(true, 'runQueryValidation')) {
if (self.model.model().isValid(true, cowc.KEY_RUN_QUERY_VALIDATION)) {
self.renderQueryResult();
}
});
Expand Down Expand Up @@ -190,7 +190,7 @@ define([
{
elementId: 'filters', view: "FormTextAreaView",
viewConfig: {
path: 'filters', dataBindValue: 'filters', class: "span9",
path: 'filters', dataBindValue: 'filters', class: "span9", label: cowl.TITLE_QE_FILTER,
visible: 'isTableNameAvailable()',
editPopupConfig: {
renderEditFn: function() {
Expand Down

0 comments on commit 7dc7807

Please sign in to comment.