You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
164 lines
4.7 KiB
164 lines
4.7 KiB
var Demo = function() {
|
|
this.syntaxes = [
|
|
["ANSI SQL-2003", false, []],
|
|
["ANSI SQL-92", false, []],
|
|
["ANSI SQL-89", false, []],
|
|
["Firebird", false, [
|
|
"Firebird 2.0",
|
|
"Firebird 1.5",
|
|
"Firebird 1.0"
|
|
]],
|
|
["IBM DB2", false, []],
|
|
["IBM Informix", false, [
|
|
"Informix 10",
|
|
"Informix 9",
|
|
"Informix 8"
|
|
]],
|
|
["Microsoft Access", false, [
|
|
"MS Jet 4",
|
|
"MS Jet 3"
|
|
]],
|
|
["Microsoft SQL Server", true, [
|
|
"Auto",
|
|
"SQL Server 2005",
|
|
"SQL Server 2000",
|
|
"SQL Server 7"
|
|
]],
|
|
["MySQL", false, [
|
|
"5.0",
|
|
"4.0",
|
|
"3.0"
|
|
]],
|
|
["Oracle", false, [
|
|
"Oracle 10",
|
|
"Oracle 9",
|
|
"Oracle 8",
|
|
"Oracle 7"
|
|
]],
|
|
["PostgreSQL", false, []],
|
|
["SQLite", false, []],
|
|
["Sybase", false, [
|
|
"ASE",
|
|
"SQL Anywhere"
|
|
]],
|
|
["VistaDB", false, []],
|
|
["Universal", false, []]
|
|
];
|
|
|
|
var me = this;
|
|
|
|
this.toolbarSytnaxOnChange = function(event) {
|
|
me.toolbarSytnaxVersionUpdate($(event.target));
|
|
me.toolbarSytnaxChanged();
|
|
};
|
|
|
|
this.getQueryStatistics = function(event) {
|
|
me.QueryStatisticsDialog.html(QB.Web.Dto.Localizer.Strings.Loading);
|
|
me.QueryStatisticsDialog.dialog('open');
|
|
var command = {
|
|
action:'QueryStatistics',
|
|
data : {}
|
|
};
|
|
me.sendRequest(command);
|
|
};
|
|
|
|
|
|
this.processRequest = function (data) {
|
|
if (data.Action == "update") {
|
|
QB.Web.Application.fullUpdate();
|
|
} else if (data.Action == "QueryStatistics") {
|
|
me.QueryStatisticsDialog.html(data.Data);
|
|
me.QueryStatisticsDialog.dialog('open');
|
|
}
|
|
};
|
|
|
|
this.sendRequest = function (command) {
|
|
var data = $.toJSON(command);
|
|
|
|
$.ajax({
|
|
url: 'handlers/DemoHandler.axd',
|
|
type:'POST',
|
|
dataType : "json",
|
|
contentType : 'application/json',
|
|
data: data,
|
|
success: function (data) {
|
|
me.processRequest(data);
|
|
}
|
|
});
|
|
};
|
|
|
|
this.toolbarSytnaxChanged = function () {
|
|
var $select = $("#qb-ui-syntax-selector-server");
|
|
var $selectVersion = $("#qb-ui-syntax-selector-version");
|
|
var syntax = $select.valEx();
|
|
var syntaxVersion = $selectVersion.valEx();
|
|
var command = {
|
|
action:'ChangeSyntax',
|
|
data : {
|
|
Syntax : syntax,
|
|
SyntaxVersion: syntaxVersion
|
|
}
|
|
};
|
|
me.sendRequest(command);
|
|
};
|
|
|
|
this.toolbarSytnaxVersionUpdate = function($select) {
|
|
var $selectVersion = $("#qb-ui-syntax-selector-version");
|
|
var val = $select.valEx();
|
|
var options = [];
|
|
for (var i = 0; i < this.syntaxes.length; i++) {
|
|
var item = this.syntaxes[i];
|
|
if (item[0] == val) {
|
|
for (var j = 0; j < item[2].length; j++) {
|
|
options.push('<option value="' + item[2][j] + '">' + item[2][j] + '</option>');
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
if (options.length == 0) {
|
|
options.push('<option value="">Auto</option>');
|
|
$selectVersion.attr('disabled', 'disabled');
|
|
} else {
|
|
$selectVersion.removeAttr('disabled');
|
|
}
|
|
$selectVersion.html(options.join(''));
|
|
};
|
|
|
|
this.init = function() {
|
|
var me = this;
|
|
var options = new Array(this.syntaxes.length);
|
|
for (var i = 0; i < this.syntaxes.length; i++) {
|
|
var item = this.syntaxes[i];
|
|
var syntaxName = item[0];
|
|
var syntaxSelected = item[1];
|
|
options[i] = '<option' + (syntaxSelected ? ' selected' : '') + ' value="' + syntaxName + '">' + syntaxName + '</option>';
|
|
}
|
|
|
|
var $select = $("#qb-ui-syntax-selector-server");
|
|
$select.html(options.join(''));
|
|
$select.bind('change', me.toolbarSytnaxOnChange);
|
|
|
|
var $selectVersion = $("#qb-ui-syntax-selector-version");
|
|
$selectVersion.bind('change', me.toolbarSytnaxChanged);
|
|
|
|
this.toolbarSytnaxVersionUpdate($select);
|
|
|
|
$('#qb-ui-query-statistic').bind('click', me.getQueryStatistics);
|
|
this.QueryStatisticsDialog = $('#qb-ui-query-statistic-dialog').dialog({
|
|
autoOpen: false,
|
|
zIndex: 4000,
|
|
width: 600,
|
|
height:300
|
|
});
|
|
};
|
|
|
|
this.init();
|
|
};
|
|
|
|
setGlobalOnLoad(function() {
|
|
jQuery(document).ready(function() {
|
|
var demo = new Demo();
|
|
});
|
|
});
|
|
|