BUG 5073 Extra features for Case Notes
Load 10 by 10 notes
This commit is contained in:
@@ -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:' '+_('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:' '+_('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
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user