diff --git a/workflow/engine/templates/cases/caseNotes.js b/workflow/engine/templates/cases/caseNotes.js index 4c8217ff4..40d3547ba 100644 --- a/workflow/engine/templates/cases/caseNotes.js +++ b/workflow/engine/templates/cases/caseNotes.js @@ -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(){NOTE_DATE}
', '', '', - - '', '
' ); @@ -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 ); - - } - } - - - } \ No newline at end of file + // 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 + }); + } + } +} \ No newline at end of file