BUG 5073 Extra features for Case Notes

Load 10 by 10 notes
This commit is contained in:
Hugo Loza
2011-07-14 19:12:55 -04:00
parent 0f7cae6d85
commit c186a47691

View File

@@ -1,22 +1,33 @@
function closeCaseNotesWindow(){
if(Ext.get("caseNotesWindowPanel")){
Ext.get("caseNotesWindowPanel").destroy();
Ext.get("caseNotesWindowPanel").destroy();
}
}
function openCaseNotesWindow(appUid,modalSw){
if(!appUid) appUid="";
var startRecord=0;
var loadSize=10;
var storeNotes = new Ext.data.JsonStore({
url : 'caseNotesAjax.php?action=getNotesList&appUid='+appUid,
root: 'notes',
totalProperty: 'totalCount',
fields: ['USR_USERNAME','NOTE_DATE','NOTE_CONTENT'],
baseParams:{
start:0,
limit:10
start:startRecord,
limit:startRecord+loadSize
},
listeners:{
load:function(){
if(storeNotes.getCount()<storeNotes.getTotalCount()){
Ext.getCmp('CASES_MORE_BUTTON').show();
}else{
Ext.getCmp('CASES_MORE_BUTTON').hide();
}
}
}
});
storeNotes.load();
@@ -30,8 +41,6 @@ function openCaseNotesWindow(appUid,modalSw){
'<span class="x-editable"><small><i>{NOTE_DATE}</i></small><hr /></span>',
'</div>',
'</div>',
'</tpl>',
'<div class="x-clear"></div>'
);
@@ -40,17 +49,15 @@ function openCaseNotesWindow(appUid,modalSw){
var panelNotes = new Ext.Panel({
id:'notesPanel',
frame:false,
frame:true,
autoWidth:true,
autoHeight:true,
collapsible:false,
collapsible:false,
items:[ new Ext.DataView({
store: storeNotes,
tpl: tplNotes,
autoWidth:true,
//autoHeight:true,
loadingtext:_('ID_CASE_NOTES_LOADING'),
autoScroll:true,
multiSelect: false,
overClass:'x-view-over',
@@ -58,7 +65,6 @@ function openCaseNotesWindow(appUid,modalSw){
emptyText: _('ID_CASE_NOTES_EMPTY'),
prepareData: function(data){
//data.shortName = Ext.util.Format.ellipsis(data.name, 15);
//data.sizeString = Ext.util.Format.fileSize(data.size);
@@ -72,7 +78,7 @@ function openCaseNotesWindow(appUid,modalSw){
fn: function(dv,nodes){
var l = nodes.length;
var s = l != 1 ? 's' : '';
panelNotes.setTitle('Process ('+l+' item'+s+' selected)');
//panelNotes.setTitle('Process ('+l+' item'+s+' selected)');
}
},
click: {
@@ -85,162 +91,165 @@ function openCaseNotesWindow(appUid,modalSw){
}
}),{
xtype:'button',
id:'CASES_MORE_BUTTON',
hidden:true,
text:_('ID_CASE_NOTES_MORE'),
align:'center',
handler:function() {
storeNotes.loadNext();
}
}]
});
var caseNotesWindow;
caseNotesWindow = new Ext.Window({
title: _('ID_CASES_NOTES'), //Title of the Window
id: 'caseNotesWindowPanel', //ID of the Window Panel
width:300, //Width of the Window
resizable: true, //Resize of the Window, if false - it cannot be resized
closable: true, //Hide close button of the Window
modal: modalSw, //When modal:true it make the window modal and mask everything behind it when displayed
iconCls: 'ICON_CASES_NOTES',
autoCreate: true,
height:400,
shadow:true,
minWidth:300,
minHeight:200,
proxyDrag: true,
keys: {
key: 27,
fn : function(){
caseNotesWindow.hide();
}
},
autoScroll:true,
items:[panelNotes],
tools:[
{
id:'refresh',
handler:function() {
storeNotes.load();
}
}
],
bbar:[
new Ext.ux.StatusBar({
defaultText : _('ID_READY'),
id : 'notesStatusPanel',
defaultIconCls: 'ICON_CASES_NOTES',
// values to set initially:
text: _('ID_READY'),
iconCls: 'ready-icon',
statusAlign: 'left',
// any standard Toolbar items:
items: []
})
],
tbar:[{
//xtype:'textfield',
xtype:'textarea',
id:'caseNoteText',
name:'caseNoteText',
hideLabel: true,
blankText:_('ID_CASES_NOTES_POST'),
//anchor:'95%',
anchor: '100% -53',
width:250,
//autoWidth:true,
grow:true,
selectOnFocus:true,
maxLenght:150,
//preventMark:true,
allowBlank:false
//multiline:true
},' ',{
text:'&nbsp;&nbsp;'+_('ID_SUBMIT_NOTE'),
iconCls: 'ICON_CASES_NOTES',
handler:function() {
var noteText = Ext.getCmp('caseNoteText').getValue();
if(noteText=="") return false;
Ext.getCmp('caseNoteText').focus();
Ext.getCmp('caseNoteText').reset();
statusBarMessage( _('ID_CASES_NOTE_POSTING'), true);
Ext.Ajax.request({
url : 'caseNotesAjax' ,
params : {
action : 'postNote',
appUid:appUid,
noteText:noteText
},
success: function ( result, request ) {
var data = Ext.util.JSON.decode(result.responseText);
if(data.success=="success"){
statusBarMessage( _('ID_CASES_NOTE_POST_SUCCESS'), false,true);
storeNotes.load();
}else{
statusBarMessage( _('ID_CASES_NOTE_POST_ERROR'), false,false);
Ext.MessageBox.alert(_('ID_CASES_NOTE_POST_ERROR'), data.message);
}
},
failure: function ( result, request) {
statusBarMessage( _('ID_CASES_NOTE_POST_FAILED'), false,false);
Ext.MessageBox.alert(_('ID_CASES_NOTE_POST_FAILED'), result.responseText);
handler:function() {
startRecord=startRecord+loadSize;
limitRecord=startRecord+loadSize;
storeNotes.load({
params:{
start:0,
limit:startRecord+loadSize
}
});
}
}]
});
}
}],
listeners:{
show:function() {
this.loadMask = new Ext.LoadMask(this.body, {
msg:_('ID_LOADING')
});
},
close:function(){
//console.log(Ext.get("caseNotes"));
var caseNotesWindow;
caseNotesWindow = new Ext.Window({
title: _('ID_CASES_NOTES'), //Title of the Window
id: 'caseNotesWindowPanel', //ID of the Window Panel
width:300, //Width of the Window
resizable: true, //Resize of the Window, if false - it cannot be resized
closable: true, //Hide close button of the Window
modal: modalSw, //When modal:true it make the window modal and mask everything behind it when displayed
iconCls: 'ICON_CASES_NOTES',
autoCreate: true,
height:400,
shadow:true,
minWidth:300,
minHeight:200,
proxyDrag: true,
keys: {
key: 27,
fn : function(){
caseNotesWindow.hide();
}
},
autoScroll:true,
items:[panelNotes],
tools:[
{
id:'refresh',
handler:function() {
storeNotes.load();
}
}
],
bbar:[
new Ext.ux.StatusBar({
defaultText : _('ID_NOTES_READY'),
id : 'notesStatusPanel',
defaultIconCls: 'ICON_CASES_NOTES',
// values to set initially:
text: _('ID_NOTES_READY'),
iconCls: 'ready-icon',
statusAlign: 'left',
// any standard Toolbar items:
items: []
})
],
tbar:[{
//xtype:'textfield',
xtype:'textarea',
id:'caseNoteText',
name:'caseNoteText',
hideLabel: true,
blankText:_('ID_CASES_NOTES_POST'),
//anchor:'95%',
anchor: '100% -53',
width:200,
//autoWidth:true,
grow:true,
selectOnFocus:true,
maxLenght:150,
//preventMark:true,
allowBlank:false
//multiline:true
},' ',{
text:'&nbsp;&nbsp;'+_('ID_SUBMIT_NOTE'),
iconCls: 'ICON_CASES_NOTES',
handler:function() {
var noteText = Ext.getCmp('caseNoteText').getValue();
if(noteText=="") return false;
Ext.getCmp('caseNoteText').focus();
Ext.getCmp('caseNoteText').reset();
statusBarMessage( _('ID_CASES_NOTE_POSTING'), true);
Ext.Ajax.request({
url : 'caseNotesAjax' ,
params : {
action : 'postNote',
appUid:appUid,
noteText:noteText
},
success: function ( result, request ) {
var data = Ext.util.JSON.decode(result.responseText);
if(data.success=="success"){
statusBarMessage( _('ID_CASES_NOTE_POST_SUCCESS'), false,true);
storeNotes.load();
}else{
statusBarMessage( _('ID_CASES_NOTE_POST_ERROR'), false,false);
Ext.MessageBox.alert(_('ID_CASES_NOTE_POST_ERROR'), data.message);
}
},
failure: function ( result, request) {
statusBarMessage( _('ID_CASES_NOTE_POST_FAILED'), false,false);
Ext.MessageBox.alert(_('ID_CASES_NOTE_POST_FAILED'), result.responseText);
}
});
}
}],
listeners:{
show:function() {
this.loadMask = new Ext.LoadMask(this.body, {
msg:_('ID_LOADING')
});
},
close:function(){
//console.log(Ext.get("caseNotes"));
if(Ext.get("caseNotes")){
Ext.getCmp("caseNotes").toggle(false);
Ext.getCmp("caseNotes").toggle(false);
//Ext.getCmp('caseNotes').show();
}
}
}
});
caseNotesWindow.show();
}
});
caseNotesWindow.show();
}
function statusBarMessage( msg, isLoading, success ) {
// console.log("Status Bar needed");
// console.log(msg);
var statusBar = Ext.getCmp('notesStatusPanel');
if( !statusBar ) return;
// console.log("Status bar acceced: "+msg);
if( isLoading ) {
statusBar.showBusy(msg);
}
else {
//statusBar.setStatus("Done.");
statusBar.clearStatus();
if( success ) {
statusBar.setStatus({
text: '' + msg,
iconCls: 'success',
clear: true
});
//Ext.msgBoxSlider.msg('', msg );
} else {
statusBar.setStatus({
text: 'Error: ' + msg,
iconCls: 'error',
clear: true
});
//Ext.msgBoxSlider.msg('Error', msg );
}
}
}
// console.log("Status Bar needed");
// console.log(msg);
var statusBar = Ext.getCmp('notesStatusPanel');
if( !statusBar ) return;
// console.log("Status bar acceced: "+msg);
if( isLoading ) {
statusBar.showBusy(msg);
}
else {
//statusBar.setStatus("Done.");
statusBar.clearStatus();
if( success ) {
statusBar.setStatus({
text: '' + msg,
iconCls: 'success',
clear: true
});
} else {
statusBar.setStatus({
text: 'Error: ' + msg,
iconCls: 'error',
clear: true
});
}
}
}