/releases/extjs/myext/agent_list.js.php
PHP | 198 lines | 187 code | 9 blank | 2 comment | 6 complexity | 39886af2648d76f337cc6c86cc199a33 MD5 | raw file
Possible License(s): AGPL-3.0
- var fm = Ext.form;
- var base_url = '<?php echo base64_decode($_GET['baseUrl']);?>';
- <?php
- $langList = unserialize(base64_decode($_GET['langList']));
- $langFilter = array();
- foreach($langList as $k=>$v){
- $langFilter[]=array($k,$v);
- }
- $langFilter = json_encode($langFilter);
- $langList = json_encode($langList);
- ?>
- var langFilter = <?php echo $langFilter;?>;
- var langList = <?php echo $langList;?>;
- var total_row = 20;
- var proxy = new Ext.data.ScriptTagProxy({
- api: {
- read : base_url+'admin/agent/grid.html',
- create : base_url+'admin/agent/add.html',
- update: base_url+'admin/agent/add.html',
- destroy: base_url+'admin/agent/delete.html'
- }
- });
- var writer = new Ext.data.JsonWriter({
- encode: true
- });
- var store = new Ext.data.JsonStore({
- start : 'start',
- remoteSort: true,
- totalProperty: 'total',
- proxy: proxy,
- root: 'data',
- fields : [
- {name: 'id'},
- {name: 'company_name'},
- {name: 'contact_name'},
- {name: 'email'},
- {name: 'phone'},
- {name: 'fax'},
- {name: 'address'},
- {name: 'comment'},
- {name: 'username'},
- {name: 'edit',type: 'string'}
- ],
- listeners: {
- save: function(s, b, d) {
- store.save();
- }
- },
- writer: writer
- });
- var filters = new Ext.ux.grid.GridFilters({
- // encode and local configuration options defined previously for easier reuse
- encode: true, // json encode the filter query
- local: true, // defaults to false (remote filtering)
- filters: [
- {type: 'string',dataIndex: 'company_name'},
- {type: 'string',dataIndex: 'contact_name'},
- {type: 'string',dataIndex: 'email'},
- {type: 'string',dataIndex: 'phone'},
- {type: 'string',dataIndex: 'fax'},
- {type: 'string',dataIndex: 'address'},
- {type: 'string',dataIndex: 'comment'},
- {type: 'string',dataIndex: 'username'},
- ]
- });
- var createColModel = function () {
- var columns = [
- {header: 'ID',sort: 'id',dataIndex: 'id'},
- {header: 'Company Name',sortable: true,sort: 'company_name',dataIndex: 'company_name',editor: new Ext.form.TextField()},
- {header: 'Contact Name',sortable: true,sort: 'contact_name',dataIndex: 'contact_name',editor: new Ext.form.TextField()},
- {header: 'Email',sortable: true,sort: 'email',dataIndex: 'email',editor: new Ext.form.TextField()},
- {header: 'Phone',sortable: true,sort: 'phone',dataIndex: 'phone',editor: new Ext.form.TextField()},
- {header: 'Fax',sortable: true,sort: 'fax',dataIndex: 'fax',editor: new Ext.form.TextField()},
- {header: 'Address',sortable: true,sort: 'address',dataIndex: 'address',editor: new Ext.form.TextArea()},
- {header: 'Comment',sortable: true,sort: 'comment',dataIndex: 'comment',editor: new Ext.form.TextArea()},
- {header: 'User Name',sortable: true,sort: 'username',dataIndex: 'username',editor: new Ext.form.TextField()},
- {header: 'Edit',dataIndex: 'edit',sortable: false}
- ];
- return new Ext.grid.ColumnModel({
- columns: columns,
- defaults: {
- sortable: true
- }
- });
- };
- pagingBar = new Ext.PagingToolbar({
- store: store,
- pageSize: total_row,
- displayInfo: true,
- displayMsg: 'Displaying item {0} - {1} of {2}',
- emptyMsg: "No item to display",
- plugins: new Ext.ux.ProgressBarPager()
- });
- Ext.onReady(function() {
- Ext.QuickTips.init();
- // use RowEditor for editing
- var editor = new Ext.ux.grid.RowEditor({
- saveText: 'Update'
- });
- var newsGrid = new Ext.grid.GridPanel({
- renderTo: 'news-grid',
- iconCls: 'icon-grid',
- frame: true,
- height: 300,
- store: store,
- plugins: [editor,filters],
- colModel: createColModel(),
- listeners: {
- render: {
- fn: function(){
- store.load({
- params: {
- start: 0,
- limit: total_row
- }
- });
- }
- }
- },
- tbar: [new Ext.form.ComboBox({
- triggerAction: 'all',
- lazyRender:false,
- width:40,
- mode: 'local',
- store: new Ext.data.ArrayStore({
- fields: [
- 'id',
- 'value'
- ],
- data: [[10,'10'],[20,'20'],[50,'50'],[100,'100']]
- }),
- valueField: 'id',
- displayField: 'value',
- listeners:{
- 'select': function(combo,record ,index){
- total_row = combo.getValue();
- store.reload({params:{start:0, limit:total_row}});
- pagingBar.pageSize = total_row;
- pagingBar.render();
- }
- }
- })
- ,'-',{
- text: 'Add',
- iconCls: 'silk-add',
- handler: onAdd
- }, '-', {
- text: 'Delete',
- iconCls: 'silk-delete',
- handler: onDelete
- }, '-'],
- bbar: pagingBar,
- viewConfig: {
- forceFit: true
- }
- });
- function onAdd(btn, ev) {
- window.location.href = base_url+'admin/agent/edit';
- }
- function onDelete() {
- Ext.MessageBox.show({
- title:'Delete item',
- msg: 'Do you really want to delete this item ?',
- buttons: Ext.MessageBox.YESNO,
- animEl: 'samplebutton',
- icon: Ext.MessageBox.QUESTION,
- fn:function(buttonId){
- if (buttonId == 'yes'){
- var recs = newsGrid.getSelectionModel().getSelections() ;
- if (!recs) {
- return false;
- }
- for(var i in recs)
- {
- newsGrid.store.remove(recs[i]);
- }
- }
- }
- });
- }
- });
- function formatDate(value){
- return value ? value.dateFormat('d-m-Y') : '';
- }
- function formatLanguage(value){
- if(value!='')
- return eval('langList.'+value);
- else return '';
- }