diff --git a/js/core/view/shipping/caseform.js b/js/core/view/shipping/caseform.js
index b992bf810..a9077f9d7 100644
--- a/js/core/view/shipping/caseform.js
+++ b/js/core/view/shipping/caseform.js
@@ -14,7 +14,6 @@ function CaseForm(args) {
this.showTitle = args.showTitle;
}
}
-
this.onSaved = new Event(this);
}
@@ -40,9 +39,9 @@ CaseForm.prototype.getDewar = function() {
this.dewar.code = Ext.getCmp(this.id + "dewar_code").getValue();
this.dewar.comments = Ext.getCmp(this.id + "dewar_comments").getValue();
this.dewar.transportValue = Ext.getCmp(this.id + "dewar_transportValue").getValue();
-// this.dewar.storageLocation = Ext.getCmp("dewar_storageLocation").getValue();
this.dewar.storageLocation = this.storageLocationComboBox.getValue();
//this.dewar.firstExperimentId = this.sessionsCombo.getValue();
+
return this.dewar;
};
@@ -60,29 +59,17 @@ CaseForm.prototype.setDewar = function(dewar) {
Ext.getCmp(this.id + "dewar_code").setValue(this.dewar.code);
Ext.getCmp(this.id + "dewar_comments").setValue(this.dewar.comments);
Ext.getCmp(this.id + "dewar_transportValue").setValue(this.dewar.transportValue);
-// Ext.getCmp("dewar_storageLocation").setValue(this.dewar.storageLocation);
this.storageLocationComboBox.setValue(this.dewar.storageLocation);
- /*if (this.dewar.sessionVO != null) {
- this.sessionsCombo.setValue(this.dewar.sessionVO.sessionId);
- }*/
+
};
-/*
-CaseForm.prototype.getSessionCombo = function() {
- this.sessionsCombo = BIOSAXS_COMBOMANAGER.getComboSessions(EXI.proposalManager.getFutureSessions(), {
- labelWidth : 200,
- margin : '5 0 00 0',
- width : 500
- });
- return this.sessionsCombo;
-};*/
-
CaseForm.prototype.getStorageLocationCombo = function() {
this.storageLocationComboBox = BIOSAXS_COMBOMANAGER.getComboStorageTemperature();
return this.storageLocationComboBox;
};
-CaseForm.prototype.getPanel = function(dewar) {
+CaseForm.prototype.getPanel = function(dewar, hideReimb) {
+
this.panel = Ext.create('Ext.form.Panel', {
width : this.width - 10,
// cls : 'border-grid',
@@ -106,30 +93,31 @@ CaseForm.prototype.getPanel = function(dewar) {
id : this.id + 'dewar_code',
labelWidth : 200,
width : 500
- }
+ },
]
- },
- this.getStorageLocationCombo(),
- {
- xtype : 'numberfield',
- width : 500,
- labelWidth : 200,
- margin : '10 0 0 0',
- fieldLabel : 'Transport Value',
- id : this.id + 'dewar_transportValue'
- },
- {
- xtype : 'textareafield',
- name : 'comments',
- fieldLabel : 'Comments',
- labelWidth : 200,
- width : 500,
- margin : '10 0 0 0',
- height : 100,
- id : this.id + 'dewar_comments'
- } ]
- } ]
- });
+ },
+ this.getStorageLocationCombo(),
+ {
+ xtype : 'numberfield',
+ width : 500,
+ labelWidth : 200,
+ margin : '10 0 0 0',
+ fieldLabel : 'Transport Value',
+ id : this.id + 'dewar_transportValue'
+ },
+ {
+ xtype : 'textareafield',
+ name : 'comments',
+ fieldLabel : 'Comments',
+ labelWidth : 200,
+ width : 500,
+ margin : '10 0 0 0',
+ height : 100,
+ id : this.id + 'dewar_comments'
+ },
+ ]}]
+ });
+
this.refresh(dewar);
return this.panel;
-};
+};
\ No newline at end of file
diff --git a/js/core/view/shipping/containerspreadsheet.js b/js/core/view/shipping/containerspreadsheet.js
index 25abf790d..99deaab65 100644
--- a/js/core/view/shipping/containerspreadsheet.js
+++ b/js/core/view/shipping/containerspreadsheet.js
@@ -221,14 +221,16 @@ ContainerSpreadSheet.prototype.getHeader = function() {
{ text : '#', id: 'position', column : {width : 20}},
{ text :'Protein
Acronym', id :'Protein Acronym', column : {
width : 80,
- type: 'dropdown',
+ type: 'autocomplete',
+ filter: 'true',
source: this.getAcronyms()
}
},
{ text :'Sample
Name', id :'Sample Name', column : {width : 120}},
{ text :'Crystal Form', id : 'Crystal Form',column : {
width : 230,
- type: 'dropdown',
+ type: 'autocomplete',
+ filter: 'true',
source: function(query, process) {
var colIndex = _this.getColumnIndex("Protein Acronym");
var protein = EXI.proposalManager.getProteinByAcronym(this.instance.getDataAtCell(this.row,colIndex));
@@ -243,7 +245,8 @@ ContainerSpreadSheet.prototype.getHeader = function() {
},
{ text :'Exp.
Type', id : 'Experiment Type', column : {
width : 100,
- type: 'dropdown',
+ type: 'autocomplete',
+ filter: 'true',
source: [ "Default", "MXPressE", "MXPressO", "MXPressI", "MXPressE_SAD", "MXScore", "MXPressM", "MXPressP", "MXPressP_SAD" ]
}
},
@@ -257,9 +260,10 @@ ContainerSpreadSheet.prototype.getHeader = function() {
{ text :'Required
multiplicity', id :'Required multiplicity', column : {width : 60}},
{ text :'Required
Completeness', id :'Required Completeness', column : {width : 80}},
- { text :'Forced
Space G.', id : 'Space Group', column : {
+ { text :'Forced
Space G.', id : 'Space Group', column : {
width : 55,
- type: 'dropdown',
+ type: 'autocomplete',
+ filter: 'true',
source: _.concat([""], ExtISPyB.spaceGroups)
}
},
diff --git a/js/core/view/shipping/csvcontainerspreadsheet.js b/js/core/view/shipping/csvcontainerspreadsheet.js
index 02bf60232..e2c61a952 100644
--- a/js/core/view/shipping/csvcontainerspreadsheet.js
+++ b/js/core/view/shipping/csvcontainerspreadsheet.js
@@ -585,7 +585,8 @@ CSVContainerSpreadSheet.prototype.getHeader = function() {
{ text : '#', id: 'position', column : {width : 20, renderer: samplePositionParameterRenderer}},
{ text :'Protein
Acronym', id :'Protein Acronym', column : {
width : 80,
- type: 'dropdown',
+ type: 'autocomplete',
+ filter: 'true',
renderer: proteinParameterRenderer,
source: this.getAcronyms()
}
@@ -599,7 +600,8 @@ CSVContainerSpreadSheet.prototype.getHeader = function() {
{ text :'Exp.
Type', id : 'experimentKind', column : {
width : 100,
- type: 'dropdown',
+ type: 'autocomplete',
+ filter: 'true',
renderer: mandatoryParameterRenderer,
source: [ "Default", "MXPressE", "MXPressO", "MXPressI", "MXPressE_SAD", "MXScore", "MXPressM", "MXPressP", "MXPressP_SAD" ]
}
@@ -607,7 +609,8 @@ CSVContainerSpreadSheet.prototype.getHeader = function() {
{ text :'Space
group', id : 'Space Group', column : {
width : 70,
- type: 'dropdown',
+ type: 'autocomplete',
+ filter: 'true',
renderer: mandatoryParameterRenderer,
source: _.concat([""], ExtISPyB.spaceGroups)
}},
@@ -625,7 +628,8 @@ CSVContainerSpreadSheet.prototype.getHeader = function() {
{ text :'Required
Completeness', id :'Required Completeness', column : {width : 80}},
{ text :'Forced
SPG', id :'forced', column : {
width : 70,
- type: 'dropdown',
+ type: 'autocomplete',
+ filter: 'true',
source: _.concat([""], ExtISPyB.spaceGroups)
}},
diff --git a/js/core/view/shipping/genericcontainerspreadsheet.js b/js/core/view/shipping/genericcontainerspreadsheet.js
index 96534c271..5c55478ed 100644
--- a/js/core/view/shipping/genericcontainerspreadsheet.js
+++ b/js/core/view/shipping/genericcontainerspreadsheet.js
@@ -105,7 +105,8 @@ GenericContainerSpreadSheet.prototype.getHeader = function() {
header = [{ text : '#', id: 'position', column : {width : 20}},
{ text :'Samplesheet
Acronym', id :'Protein Acronym', column : {
width : 100,
- type: 'dropdown',
+ type: 'autocomplete',
+ filter: 'true',
source: this.getAcronyms()
}
},
diff --git a/js/core/view/shipping/parcelgrid.js b/js/core/view/shipping/parcelgrid.js
index a677994bf..c29c01eaf 100644
--- a/js/core/view/shipping/parcelgrid.js
+++ b/js/core/view/shipping/parcelgrid.js
@@ -13,6 +13,8 @@ function ParcelGrid(args) {
this.btnEditVisible = true;
this.btnRemoveVisible = true;
+ this.reimbursementId = this.id + "_reimbursement_panel";
+
if (args != null) {
if (args.height != null) {
this.height = args.height;
@@ -43,6 +45,40 @@ function ParcelGrid(args) {
this.onRemove = new Event(this);
}
+ParcelGrid.prototype.getReimbursementContentHTML = function(currentReimbursedDewars, maxReimbursedDewars ) {
+ return "("+ currentReimbursedDewars +" reimbursed out of " + maxReimbursedDewars +" allowed)";
+};
+ParcelGrid.prototype.getReimbursementHTML = function(currentReimbursedDewars, maxReimbursedDewars ) {
+ if (maxReimbursedDewars){
+ if (maxReimbursedDewars > 0){
+ return "" + this.getReimbursementContentHTML(currentReimbursedDewars, maxReimbursedDewars)+ ""
+ }
+ }
+ return "";
+};
+
+ParcelGrid.prototype.refreshReimbursementContentHTML = function(currentReimbursedDewars, maxReimbursedDewars ) {
+ $("#" + this.reimbursementId).html(this.getReimbursementContentHTML(currentReimbursedDewars, maxReimbursedDewars));
+};
+
+ParcelGrid.prototype.displayContentLabel = function(dewars,nSamples,nMeasured, currentReimbursedDewars, maxReimbursedDewars ) {
+
+ $("#" + this.id + "-label").html("Content (" + dewars.length + " Parcels " + this.getReimbursementHTML(currentReimbursedDewars, maxReimbursedDewars) + " - " + nSamples + " Samples - " + nMeasured + " Measured )");
+};
+
+ParcelGrid.prototype.getAuthorizedReimbursedDewars = function(sessions) {
+ if (sessions){
+ if (sessions.length > 0){
+ return sessions[0].nbReimbDewars;
+ }
+ };
+ return 0;
+};
+
+ParcelGrid.prototype.getCurrentReimbursedDewars = function(dewars) {
+ return _.filter(dewars, function(o){ return o.isReimbursed == true}).length;
+};
+
ParcelGrid.prototype.load = function(shipment,hasExportedData,samples,withoutCollection) {
var _this = this;
this.shipment = shipment;
@@ -50,22 +86,30 @@ ParcelGrid.prototype.load = function(shipment,hasExportedData,samples,withoutCol
this.hasExportedData = hasExportedData;
nSamples = 0;
nMeasured = 0;
+ this.maxReimbursedDewars = 0;
+ this.currentReimbursedDewars = 0;
if (samples) {
nSamples = samples.length;
nMeasured = nSamples - withoutCollection.length;
this.samples = _.groupBy(samples,"Dewar_dewarId");
this.withoutCollection = _.groupBy(withoutCollection,"Dewar_dewarId");
+ };
+
+ if (shipment){
+ this.maxReimbursedDewars = this.getAuthorizedReimbursedDewars(this.shipment.sessions);
+ this.currentReimbursedDewars = this.getCurrentReimbursedDewars(this.dewars);
}
-
+
this.dewars.sort(function(a, b) {
return a.dewarId - b.dewarId;
});
- $("#" + this.id + "-label").html("Content (" + this.dewars.length + " Parcels - " + nSamples + " Samples - " + nMeasured + " Measured)");
+ this.displayContentLabel(this.dewars, nSamples, nMeasured, this.currentReimbursedDewars, this.maxReimbursedDewars);
$("#" + this.id + "-add-button").removeClass("disabled");
$("#" + this.id + "-add-button").unbind('click').click(function(sender){
_this.edit();
});
+
if (nSamples > 0) {
$("#" + this.id + "-export").removeClass("disabled");
$("#" + this.id + "-export").unbind('click').click(function(sender){
@@ -74,14 +118,15 @@ ParcelGrid.prototype.load = function(shipment,hasExportedData,samples,withoutCol
exportForm.show();
});
}
-
+
this.fillTab("content", this.dewars);
this.attachCallBackAfterRender();
};
ParcelGrid.prototype.fillTab = function (tabName, dewars) {
- var _this = this;
+ var _this = this;
+
$("#" + tabName + "-" + this.id).html("");
this.parcelPanels[tabName] = Ext.create('Ext.panel.Panel', {
// cls : 'border-grid',
@@ -98,20 +143,22 @@ ParcelGrid.prototype.fillTab = function (tabName, dewars) {
dewar["shippingId"] = _this.shipment.shippingId;
var onSuccess = function(sender, shipment) {
- _this.panel.setLoading(false);
- _this.panel.doLayout();
+ _this.panel.setLoading(false);
+ _this.refreshReimbursementContentHTML( _this.getCurrentReimbursedDewars(shipment.dewarVOs), _this.getAuthorizedReimbursedDewars(shipment.sessions));
+ _this.currentReimbursedDewars = _this.getCurrentReimbursedDewars(shipment.dewarVOs);
+ _this.panel.doLayout();
};
EXI.getDataAdapter({onSuccess : onSuccess}).proposal.dewar.saveDewar(_this.shipment.shippingId, dewar);
}
for ( var i in dewars) {
var parcelPanel = new ParcelPanel({
- height : 90,
- width : this.panel.getWidth()*0.9,
+ height : 110,
+ width : this.panel.getWidth()*0.9,
shippingId : this.shipment.shippingId,
shippingStatus : this.shipment.shippingStatus,
index : Number(i)+1,
- currentTab : tabName
+ currentTab : tabName,
});
this.parcelPanels[tabName].insert(parcelPanel.getPanel());
parcelPanel.load(this.dewars[i],this.shipment,this.samples[this.dewars[i].dewarId],this.withoutCollection[this.dewars[i].dewarId]);
@@ -130,7 +177,7 @@ ParcelGrid.prototype.edit = function(dewar) {
width : 600,
modal : true,
layout : 'fit',
- items : [ caseForm.getPanel(dewar) ],
+ items : [ caseForm.getPanel(dewar, true) ],
listeners : {
afterrender : function(component, eOpts) {
if (_this.puck != null) {
diff --git a/js/core/view/shipping/reimbursementform.js b/js/core/view/shipping/reimbursementform.js
new file mode 100644
index 000000000..15cd9e1e3
--- /dev/null
+++ b/js/core/view/shipping/reimbursementform.js
@@ -0,0 +1,116 @@
+/**
+ * @showTitle
+ *
+ * #onSaved
+ * #onAddPlates
+ * #onRemovePlates
+ **/
+function ReimbForm(args) {
+ this.id = BUI.id();
+ this.width = 600;
+ this.showTitle = true;
+ if (args != null) {
+ if (args.showTitle != null) {
+ this.showTitle = args.showTitle;
+ }
+ }
+ this.onSaved = new Event(this);
+}
+
+ReimbForm.prototype.fillStores = function() {
+ var _this = this;
+ this.panel.setLoading("Loading Labcontacts from database");
+
+ var proposal = BUI.getProposal();
+ proposal.onDataRetrieved.attach(function(sender, data) {
+ _this.labContactForSendingStore.loadData(data, false);
+ _this.labContactForReturnStore.loadData(data, false);
+ _this.panel.setLoading(false);
+ });
+ proposal.getLabContactsByProposalId();
+
+};
+
+ReimbForm.prototype.refresh = function(dewar) {
+ this.setDewar(dewar);
+};
+
+ReimbForm.prototype.getDewar = function() {
+ this.dewar.isReimbursed = Ext.getCmp(this.id + "dewar_isReimbursed").getValue();
+ return this.dewar;
+};
+
+ReimbForm.prototype.setDewar = function(dewar) {
+ this.dewar = dewar;
+
+ if (this.dewar == null){
+ this.dewar={};
+ this.dewar["isReimbursed"] = "";
+ }
+
+ Ext.getCmp(this.id + "dewar_isReimbursed").setValue(this.dewar.isReimbursed);
+};
+
+ReimbForm.prototype.getCurrentReimbursedDewars = function(dewars) {
+ return _.filter(dewars, function(o){ return o.isReimbursed == true}).length;
+};
+
+ReimbForm.prototype.hideReimbursedButton = function(shipment, dewar){
+ this.maxReimb = 0;
+ debugger;
+ if (shipment) {
+ if (shipment.sessions.length > 0){
+ this.maxReimb = shipment.sessions[0].nbReimbDewars;
+ }
+ }
+ if (dewar.isReimbursed)
+ return false;
+ if (this.getCurrentReimbursedDewars(shipment.dewarVOs) < this.maxReimb){
+ return false;
+ }
+ return true;
+}
+
+ReimbForm.prototype.getBoxLabelText = function(shipment, dewar){
+
+ boxLabel = 'By setting this parcel to reimbursed, the labels printed for the sending
will contain the fedex account that you should use to send your dewars.
Please note that you MUST NOT use this account to ship more
than the allowed number of dewars.
In case of abuse, your proposal will no more benefit
from parcel reimbursement.';
+ if (this.hideReimbursedButton(shipment, dewar) == true){
+ boxLabel = "You are not authorized to select another parcel to be reimbursed";
+ }
+ return boxLabel;
+}
+
+ReimbForm.prototype.getPanel = function(dewar, shipment) {
+ this.panel = Ext.create('Ext.form.Panel', {
+ width : this.width - 10,
+ title : this.getBoxLabelText(shipment, dewar),
+// cls : 'border-grid',
+// margin : 10,
+ padding : 10,
+ height : 320,
+ items : [ {
+ xtype : 'container',
+ margin : "2 2 2 2",
+ collapsible : false,
+ defaultType : 'textfield',
+ layout : 'anchor',
+ items : [
+ {
+ xtype: 'checkbox',
+ fieldLabel : ' ',
+ boxLabel : 'Click if you agree with these conditions and you want to have this parcel automatically reimbursed.',
+ hideLabel:true,
+ labelWidth : 500,
+ name : 'isReimbursed',
+ id : this.id + 'dewar_isReimbursed',
+ trueText: 'true',
+ falseText: 'false' ,
+ hidden : this.hideReimbursedButton(shipment, dewar) //false //'{4 < 3}'
+ },
+
+ ]}]
+ });
+
+ this.refresh(dewar);
+ return this.panel;
+};
\ No newline at end of file
diff --git a/js/core/view/shipping/shipmentform.js b/js/core/view/shipping/shipmentform.js
index da8065a4a..b3d45ff1b 100644
--- a/js/core/view/shipping/shipmentform.js
+++ b/js/core/view/shipping/shipmentform.js
@@ -42,11 +42,12 @@ ShipmentForm.prototype.load = function(shipment,hasExportedData) {
if (shipment){
if (shipment.sessions.length > 0){
beamlineName = shipment.sessions[0].beamlineName;
+ nbReimbDewars = shipment.sessions[0].nbReimbDewars;
startDate = moment(shipment.sessions[0].startDate).format("DD/MM/YYYY");
}
}
- dust.render("shipping.form.template", {id : this.id, to : toData, from : fromData, beamlineName : beamlineName, startDate : startDate, shipment : shipment}, function(err, out){
+ dust.render("shipping.form.template", {id : this.id, to : toData, from : fromData, beamlineName : beamlineName, startDate : startDate, shipment : shipment, nbReimbDewars : nbReimbDewars}, function(err, out){
html = out;
});
diff --git a/js/core/widget/parcelpanel.js b/js/core/widget/parcelpanel.js
index 8bfc04ea0..8792cb115 100644
--- a/js/core/widget/parcelpanel.js
+++ b/js/core/widget/parcelpanel.js
@@ -21,6 +21,8 @@ function ParcelPanel(args) {
this.shippingStatus = "";
this.containersPanel = null;
this.currentTab = "content";
+
+ this.maxReimb = 0;
this.isSaveButtonHidden = false;
this.isHidden = false;
@@ -56,11 +58,14 @@ function ParcelPanel(args) {
ParcelPanel.prototype.load = function(dewar, shipment, samples, withoutCollection) {
var _this = this;
this.dewar = dewar;
+ this.oldDewar = dewar;
this.dewar.index = this.index;
this.shipment = shipment;
+
if (shipment){
if (shipment.sessions.length > 0){
this.dewar.beamlineName = shipment.sessions[0].beamlineName;
+ this.maxReimb = shipment.sessions[0].nbReimbDewars;
}
}
this.samples = samples;
@@ -86,8 +91,17 @@ ParcelPanel.prototype.load = function(dewar, shipment, samples, withoutCollectio
$("#" + this.id + "-edit-button").click(function () {
_this.showCaseForm();
});
+ //debugger
+ if (this.maxReimb > 0) {
+ $("#" + this.id + "-euro-button").removeClass("disabled");
+ $("#" + this.id + "-euro-button").click(function () {
+ _this.showReimbForm();
+ });
+ } else {
+ $("#" + this.id + "-euro-button").hide();
+ }
}
-
+
$("#" + this.id + "-print-button").click(function () {
var dewarId = _this.dewar.dewarId;
var url = EXI.getDataAdapter().proposal.shipping.getDewarLabelURL(dewarId, dewarId);
@@ -121,7 +135,12 @@ ParcelPanel.prototype.load = function(dewar, shipment, samples, withoutCollectio
ParcelPanel.prototype.renderDewarParameters = function (dewar) {
var html = "";
- dust.render("parcel.panel.parameter.table.template", {id : this.id, dewar : dewar, height : this.height}, function(err, out){
+ if (dewar.isReimbursed){
+ this.isSelectedForReimb = " (R)";
+ } else {
+ this.isSelectedForReimb = "";
+ }
+ dust.render("parcel.panel.parameter.table.template", {id : this.id, dewar : dewar, height : this.height, isSelectedForReimb : this.isSelectedForReimb}, function(err, out){
html = out;
});
$('#' + this.id + "-parameters-div").hide().html(html).fadeIn("fast");
@@ -316,6 +335,13 @@ ParcelPanel.prototype.addContainerToDewar = function(containerVO) {
*/
ParcelPanel.prototype.showCaseForm = function() {
var _this = this;
+ var hideReimb = true;
+ if (this.dewar.isReimbursed) {
+ hideReimb = false;
+ }
+ if (this.maxReimbursedDewars > this.currentReimbursedDewars) {
+ hideReimb = false;
+ }
/** Opens a window with the cas form **/
var caseForm = new CaseForm();
var window = Ext.create('Ext.window.Window', {
@@ -325,7 +351,7 @@ ParcelPanel.prototype.showCaseForm = function() {
modal : true,
layout: 'fit',
items: [
- caseForm.getPanel(_this.dewar)
+ caseForm.getPanel(_this.dewar, hideReimb)
],
buttons : [ {
text : 'Save',
@@ -348,6 +374,47 @@ ParcelPanel.prototype.showCaseForm = function() {
window.show();
};
+/**
+* It displays a window with the reimbursement form
+*
+* @method showReimbForm
+*/
+ParcelPanel.prototype.showReimbForm = function() {
+ var _this = this;
+ /** Opens a window with the cas form **/
+ var reimbForm = new ReimbForm();
+ var window = Ext.create('Ext.window.Window', {
+ title: 'Reimburse Parcel',
+ height: 450,
+ width: 600,
+ modal : true,
+ layout: 'fit',
+ items: [
+ reimbForm.getPanel(_this.dewar, _this.shipment)
+ ],
+ buttons : [ {
+ text : 'Save',
+ handler : function() {
+ _this.onSavedClick.notify(reimbForm.getDewar());
+ window.close();
+ if (_this.currentTab == "content") {
+ _this.renderDewarParameters(_this.dewar);
+ }
+ _this.renderDewarComments(_this.dewar);
+ _this.panel.doLayout();
+
+ }
+ },
+ {
+ text : 'Cancel',
+ handler : function() {
+ window.close();
+ }
+ } ]
+ });
+ window.show();
+};
+
/**
* It displays a window with an adding container form
*
diff --git a/js/mx/view/prepareexperiment/containerspreparepreadsheet.js b/js/mx/view/prepareexperiment/containerspreparepreadsheet.js
index fa766051f..0b18fa912 100644
--- a/js/mx/view/prepareexperiment/containerspreparepreadsheet.js
+++ b/js/mx/view/prepareexperiment/containerspreparepreadsheet.js
@@ -163,7 +163,8 @@ ContainerPrepareSpreadSheet.prototype.getPanel = function() {
header : 'Beamline',
dataIndex: 'beamlineName',
hidden : true,
- type: 'dropdown',
+ type: 'autocomplete',
+ filter: 'true',
flex: 1,
source: EXI.credentialManager.getBeamlineNames()
},
diff --git a/js/saxs/widget/framesgrid.js b/js/saxs/widget/framesgrid.js
index c132dd452..a053020f7 100644
--- a/js/saxs/widget/framesgrid.js
+++ b/js/saxs/widget/framesgrid.js
@@ -9,7 +9,7 @@ FramesGrid.prototype.getPanel = function () {
return {
html : '