mkanat%bugzilla.org d0bc259040 Preliminary support for Bugzilla 3.6.x
git-svn-id: svn://10.0.0.236/trunk@260648 18797224-902f-48f8-a5cc-f745e15eee43
2010-07-06 15:09:21 +00:00

163 lines
5.0 KiB
JavaScript

/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (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.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Bugzilla Testopia System.
*
* The Initial Developer of the Original Code is Greg Hendricks.
* Portions created by Greg Hendricks are Copyright (C) 2006
* Novell. All Rights Reserved.
*
* Contributor(s): Greg Hendricks <ghendricks@novell.com>
* Ryan Hamilton <rhamilton@novell.com>
* Daniel Parker <dparker1@novell.com>
*/
Testopia.Product.Store = function(class_id, auto){
Testopia.Product.Store.superclass.constructor.call(this, {
url: 'tr_quicksearch.cgi',
root: 'products',
listeners: { 'exception': Testopia.Util.loadError },
autoLoad: auto,
id: 'id',
baseParams: {
action: 'getproducts',
class_id: class_id
},
fields: [{
name: 'id',
mapping: 'id'
}, {
name: 'name',
mapping: 'name'
}]
});
};
Ext.extend(Testopia.Product.Store, Ext.data.JsonStore);
Testopia.Product.VersionStore = function(params, auto){
params.action = 'getversions';
Testopia.Product.VersionStore.superclass.constructor.call(this, {
url: 'tr_quicksearch.cgi',
root: 'versions',
listeners: { 'exception': Testopia.Util.loadError },
baseParams: params,
autoLoad: auto,
id: 'id',
fields: [{
name: 'id',
mapping: 'id'
}, {
name: 'name',
mapping: 'name'
}]
});
};
Ext.extend(Testopia.Product.VersionStore, Ext.data.JsonStore);
Testopia.Product.MilestoneStore = function(params, auto){
params.action = 'getmilestones';
Testopia.Product.MilestoneStore.superclass.constructor.call(this, {
url: 'tr_quicksearch.cgi',
root: 'milestones',
listeners: { 'exception': Testopia.Util.loadError },
autoLoad: auto,
baseParams: params,
id: 'id',
fields: [{
name: 'id',
mapping: 'id'
}, {
name: 'name',
mapping: 'name'
}]
});
};
Ext.extend(Testopia.Product.MilestoneStore, Ext.data.JsonStore);
/*
* Testopia.Product.Combo
*/
Testopia.Product.Combo = function(cfg){
Testopia.Product.Combo.superclass.constructor.call(this, {
id: cfg.id || 'product_combo',
store: cfg.transform ? false : new Testopia.Product.Store(cfg.params, cfg.mode == 'local' ? true : false),
loadingText: 'Looking up products...',
displayField: 'name',
valueField: 'id',
typeAhead: true,
triggerAction: 'all',
minListWidth: 300,
forceSelection: true,
transform: cfg.transform,
emptyText: 'Please select...'
});
Ext.apply(this, cfg);
this.store.on('load', function(){
if (cfg.value) {
this.setValue(cfg.value);
}
}, this);
};
Ext.extend(Testopia.Product.Combo, Ext.form.ComboBox);
/*
* Testopia.Product.VersionCombo
*/
Testopia.Product.VersionCombo = function(cfg){
Testopia.Product.VersionCombo.superclass.constructor.call(this, {
id: cfg.id || 'product_version_combo',
store: cfg.transform ? false : new Testopia.Product.VersionStore(cfg.params, cfg.mode == 'local' ? true : false),
loadingText: 'Looking up versions...',
displayField: 'name',
valueField: 'id',
typeAhead: true,
triggerAction: 'all',
minListWidth: 300,
forceSelection: true,
transform: cfg.transform,
emptyText: 'Please select...'
});
Ext.apply(this, cfg);
this.store.on('load', function(){
if (cfg.value) {
this.setValue(cfg.value);
}
}, this);
};
Ext.extend(Testopia.Product.VersionCombo, Ext.form.ComboBox);
/*
* Testopia.Product.MilestoneCombo
*/
Testopia.Product.MilestoneCombo = function(cfg){
Testopia.Product.MilestoneCombo.superclass.constructor.call(this, {
id: cfg.id || 'milestone_combo',
store: cfg.transform ? false : new Testopia.Product.MilestoneStore(cfg.params, cfg.mode == 'local' ? true : false),
loadingText: 'Looking up milestones...',
displayField: 'name',
valueField: 'id',
typeAhead: true,
triggerAction: 'all',
minListWidth: 300,
forceSelection: true,
transform: cfg.transform,
emptyText: 'Please select...'
});
Ext.apply(this, cfg);
this.store.on('load', function(){
if (cfg.value) {
this.setValue(cfg.value);
}
}, this);
};
Ext.extend(Testopia.Product.MilestoneCombo, Ext.form.ComboBox);