BUG 0000 new Feature: Report table ver 2 (fixes)

- update phisical table fixed
This commit is contained in:
Erik Amaru Ortiz
2011-06-29 12:46:51 -04:00
parent 172bd87580
commit db2ff5a36a
18 changed files with 436 additions and 203 deletions

View File

@@ -1,69 +0,0 @@
<html>
<header>
<style type="text/css">
/*!
* Ext JS Library 3.3.3
* Copyright(c) 2006-2011 Sencha Inc.
* licensing@sencha.com
* http://www.sencha.com/license
*/
.ext-ie .x-row-editor .x-form-text {
margin:0 !important;
}
.x-row-editor-header {
height:2px;
overflow:hidden;
background: transparent url(../images/row-editor-bg.gif) repeat-x 0 0;
}
.x-row-editor-footer {
height:2px;
overflow:hidden;
background: transparent url(../images/row-editor-bg.gif) repeat-x 0 -2px;
}
.ext-ie .x-row-editor-footer {
margin-top:-1px;
}
.x-row-editor-body {
overflow:hidden;
zoom:1;
background: #ebf2fb;
padding-top:2px;
}
.x-row-editor .x-btns {
position:absolute;
top:28px;
left:20px;
padding-left:5px;
background: transparent url(../images/row-editor-btns.gif) no-repeat 0 0;
}
.x-row-editor .x-btns .x-plain-bwrap {
padding-right:5px;
background: transparent url(../images/row-editor-btns.gif) no-repeat right -31px;
}
.x-row-editor .x-btns .x-plain-body {
background: transparent url(../images/row-editor-btns.gif) repeat-x 0 -62px;
height:31px;
}
.x-row-editor .x-btns .x-table-layout-cell {
padding:3px;
}
/* Fixes for IE6/7 trigger fields */
.ext-ie6 .x-row-editor .x-form-field-wrap .x-form-trigger, .ext-ie7 .x-row-editor .x-form-field-wrap .x-form-trigger {
top: 1px;
}
.ext-ie6 .x-row-editor .x-form-field-trigger-wrap, .ext-ie7 .x-row-editor .x-form-field-trigger-wrap {
margin-top: -1px;
}
.errorTip .x-tip-body ul{
list-style-type:disc;
margin-left:15px;
}
</style>
</header>
</html>

View File

@@ -30,6 +30,7 @@ var reportTablesGlobal = {};
reportTablesGlobal.REP_TAB_UID = "";
reportTablesGlobal.REP_TAB_UID_EDIT = "";
reportTablesGlobal.REP_TAB_TITTLE = "";
var oo;
Ext.onReady(function(){
@@ -138,6 +139,16 @@ Ext.onReady(function(){
dataIndex: 'field_uid',
hidden: true
},
{
id: 'field_key',
dataIndex: 'field_key',
hidden: true
},
{
id: 'field_null',
dataIndex: 'field_null',
hidden: true
},
{
id: 'field_dyn',
header: 'Dynaform Field',
@@ -205,16 +216,17 @@ Ext.onReady(function(){
})
}
];
//if permissions plugin is enabled
if (_plugin_permissions !== false) {
if (TABLE !== false && TABLE.ADD_TAB_TAG == 'plugin@simplereport') {
cmColumns.push({
xtype: 'booleancolumn',
header: 'Filter',
dataIndex: 'field_filter',
align: 'center',
width: 50,
trueText: 'on',
falseText: 'off',
trueText: 'Yes',
falseText: 'No',
editor: {
xtype: 'checkbox'
}
@@ -234,10 +246,13 @@ Ext.onReady(function(){
fields: [
{name: 'uid', type: 'string'},
{name: 'field_uid', type: 'string'},
{name: 'field_key', type: 'string'},
{name: 'field_name', type: 'string'},
{name: 'field_label', type: 'string'},
{name: 'field_type'},
{name: 'field_size', type: 'float'}
{name: 'field_size', type: 'float'},
{name: 'field_null', type: 'float'},
{name: 'field_filter', type: 'string'}
]
});
//row editor for table columns grid
@@ -245,6 +260,18 @@ Ext.onReady(function(){
saveText: 'Update'
});
editor.on({
afteredit: function(roweditor, changes, record, rowIndex) {
//
},
beforeedit: function(roweditor, rowIndex) {
row = assignedGrid.getSelectionModel().getSelected();
if (row.get('field_name') == 'APP_UID' || row.get('field_name') == 'APP_NUMBER' || row.get('field_name') == 'ROW') {
return false;
}
}
});
//table columns grid
assignedGrid = new Ext.grid.GridPanel({
//title: 'Columns',
@@ -271,19 +298,26 @@ Ext.onReady(function(){
field_name : '',
field_label : '',
field_type : '',
field_size : ''
field_size : '',
field_key : 0,
field_null : 1
});
//store.add(row);
editor.stopEditing();
store.insert(0, row);
assignedGrid.getView().refresh();
assignedGrid.getSelectionModel().selectRow(1);
assignedGrid.getSelectionModel().selectRow(0);
editor.startEditing(0);
}
}
]
});
assignedGrid.getSelectionModel().on('selectionchange', function(sm){
//alert('s');
});
// (vertical) selection buttons
buttonsPanel = new Ext.Panel({
width : 40,
@@ -582,7 +616,8 @@ Ext.onReady(function(){
});
var tbar = new Array();
if (_plugin_permissions !== false) {
//if (_plugin_permissions !== false) {
if (TABLE !== false && TABLE.ADD_TAB_TAG == 'plugin@simplereport') {
tbar = [
{
text: _plugin_permissions.label,
@@ -784,7 +819,9 @@ AssignFieldsAction = function(){
field_name : records[i].data['FIELD_NAME'].toUpperCase(),
field_label : records[i].data['FIELD_NAME'].toUpperCase(),
field_type : meta.type,
field_size : meta.size
field_size : meta.size,
field_key : 0,
field_null : 1
});
store.add(row);
@@ -799,12 +836,15 @@ RemoveFieldsAction = function(){
records = Ext.getCmp('assignedGrid').getSelectionModel().getSelections();
var PMRow = availableGrid.getStore().recordType;
for(i=0; i < records.length; i++){
var row = new PMRow({
FIELD_UID : records[i].data['field_uid'],
FIELD_NAME : records[i].data['field_name']
});
availableGrid.getStore().add(row);
if (records[i].data['field_dyn'] != '' && records[i].data['field_name'] != 'APP_UID' && records[i].data['field_name'] != 'APP_NUMBER' && records[i].data['field_name'] != 'ROW') {
var row = new PMRow({
FIELD_UID : records[i].data['field_uid'],
FIELD_NAME : records[i].data['field_dyn']
});
availableGrid.getStore().add(row);
} else {
records[i] = null;
}
}
//remove from source grid
Ext.each(records, Ext.getCmp('assignedGrid').store.remove, Ext.getCmp('assignedGrid').store);
@@ -829,7 +869,9 @@ AssignAllFieldsAction = function(){
field_name : records[i].data['FIELD_NAME'].toUpperCase(),
field_label : records[i].data['FIELD_NAME'].toUpperCase(),
field_type : meta.type,
field_size : meta.size
field_size : meta.size,
field_key : 0,
field_null : 1
});
store.add(row);
@@ -848,11 +890,15 @@ RemoveAllFieldsAction = function(){
var PMRow = availableGrid.getStore().recordType;
for (var i=0; i < allRows.getCount(); i++){
records[i] = allRows.getAt(i);
var row = new PMRow({
FIELD_UID : records[i].data['field_uid'],
FIELD_NAME : records[i].data['field_name']
});
availableGrid.getStore().add(row);
if (records[i].data['field_dyn'] != '' && records[i].data['field_name'] != 'APP_UID' && records[i].data['field_name'] != 'APP_NUMBER' && records[i].data['field_name'] != 'ROW') {
var row = new PMRow({
FIELD_UID : records[i].data['field_uid'],
FIELD_NAME : records[i].data['field_dyn']
});
availableGrid.getStore().add(row);
} else {
records[i] = null;
}
}
//remove from source grid
Ext.each(records, Ext.getCmp('assignedGrid').store.remove, Ext.getCmp('assignedGrid').store);
@@ -1051,11 +1097,15 @@ var DDLoadFields = function(){
var PMRow = availableGrid.getStore().recordType;
for (i=0; i < records.length; i++){
var row = new PMRow({
FIELD_UID: records[i].data['field_uid'],
FIELD_NAME: records[i].data['field_dyn']
});
availableGrid.getStore().add(row);
if (records[i].data['field_dyn'] != '' && records[i].data['field_name'] != 'APP_UID' && records[i].data['field_name'] != 'APP_NUMBER' && records[i].data['field_name'] != 'ROW') {
var row = new PMRow({
FIELD_UID: records[i].data['field_uid'],
FIELD_NAME: records[i].data['field_dyn']
});
availableGrid.getStore().add(row);
} else if (records[i].data['field_dyn'] != '') {
records[i] = null;
}
}
Ext.each(records, ddSource.grid.store.remove, ddSource.grid.store);
@@ -1083,7 +1133,9 @@ var DDLoadFields = function(){
field_name : records[i].data['FIELD_NAME'].toUpperCase(),
field_label : records[i].data['FIELD_NAME'].toUpperCase(),
field_type : meta.type,
field_size : meta.size
field_size : meta.size,
field_key : 0,
field_null : 1
});
store.add(row);
@@ -1107,10 +1159,13 @@ function loadTableRowsFromArray(records)
uid : records[i].FLD_UID,
field_uid : records[i].FLD_DYN_UID,
field_dyn : records[i].FLD_DYN_NAME,
field_name : records[i].FLD_NAME,
field_label : records[i].FLD_DESCRIPTION,
field_type : records[i].FLD_TYPE,
field_size : records[i].FLD_SIZE
field_name : records[i].FLD_NAME,
field_label: records[i].FLD_DESCRIPTION,
field_type : records[i].FLD_TYPE,
field_size : records[i].FLD_SIZE,
field_key : records[i].FLD_KEY,
field_null : records[i].FLD_NULL,
field_filter: records[i].FLD_FILTER == '1' ? true : false,
});
store.add(row);
@@ -1192,8 +1247,3 @@ Ext.override(Ext.form.TextField, {
return value;
}
});
function myFunc()
{
alert('permissi11111');
}

View File

@@ -37,6 +37,7 @@ var viewport;
var smodel;
var rowsSelected;
var externalOption;
Ext.onReady(function(){
Ext.QuickTips.init();
@@ -100,13 +101,26 @@ Ext.onReady(function(){
handler: DoSearch
});
var contextMenuItems = new Array();
contextMenuItems.push(editButton);
contextMenuItems.push(deleteButton);
if (_PLUGIN_SIMPLEREPORTS !== false) {
externalOption = new Ext.Action({
text:'',
handler: function() {
updateTag('plugin@simplereport');
},
disabled: false
});
contextMenuItems.push(externalOption);
}
contextMenu = new Ext.menu.Menu({
items: [
editButton,
deleteButton
//dataButton,'-',
//exportButton
]
items: contextMenuItems
});
searchText = new Ext.form.TextField ({
@@ -169,16 +183,22 @@ Ext.onReady(function(){
cmodelColumns = new Array();
cmodelColumns.push({id:'ADD_TAB_UID', dataIndex: 'ADD_TAB_UID', hidden:true, hideable:false});
cmodelColumns.push({dataIndex: 'ADD_TAB_TAG', hidden:true, hideable:false});
cmodelColumns.push({header: _('ID_NAME'), dataIndex: 'ADD_TAB_NAME', width: 300, align:'left', renderer: function(v,p,r){
return r.get('TYPE') == 'CLASSIC'? v + '&nbsp<span style="font-size:9px; color:green">(old version)</font>' : v;
}});
cmodelColumns.push({header: _('ID_DESCRIPTION'), dataIndex: 'ADD_TAB_DESCRIPTION', width: 400, hidden:false, align:'left'});
cmodelColumns.push({header: _('ID_DESCRIPTION'), dataIndex: 'ADD_TAB_DESCRIPTION', width: 400, hidden:false, align:'left', renderer: function(v,p,r){
if (r.get('ADD_TAB_TAG')) {
tag = r.get('ADD_TAB_TAG').replace('plugin@', '');
tag = tag.charAt(0).toUpperCase() + tag.slice(1);
}
return r.get('ADD_TAB_TAG') ? '<span style="font-size:9px; color:green">'+tag+':</span> '+ v : v;
}});
if (PRO_UID === false) {
cmodelColumns.push({header: _('ID_PROCESS'), dataIndex: 'PRO_TITLE', width: 300, align:'left'});
}
cmodelColumns.push({header: _('ID_TYPE'), dataIndex: 'ADD_TAB_TYPE', width: 400, hidden:true, align:'left'});
cmodelColumns.push({header: _('ID_TYPE'), dataIndex: 'ADD_TAB_TYPE', width: 150, hidden:false, align:'left'});
cmodel = new Ext.grid.ColumnModel({
defaults: {
@@ -201,7 +221,8 @@ Ext.onReady(function(){
{name : 'ADD_TAB_DESCRIPTION'},
{name : 'PRO_TITLE'},
{name : 'TYPE'},
{name : 'ADD_TAB_TYPE'}
{name : 'ADD_TAB_TYPE'},
{name : 'ADD_TAB_TAG'}
]
})
});
@@ -337,6 +358,13 @@ Ext.onReady(function(){
function (grid, rowIndex, evt) {
var sm = grid.getSelectionModel();
sm.selectRow(rowIndex, sm.isSelected(rowIndex));
var rowsSelected = Ext.getCmp('infoGrid').getSelectionModel().getSelections();
tag = rowsSelected[0].get('ADD_TAB_TAG');
text = tag? 'Convert to native Report Table': 'Convert to Simple Report';
if (externalOption) {
externalOption.setText(text);
}
},
this
);
@@ -489,4 +517,24 @@ GridByDefault = function(){
GridByDefault1 = function(){
Ext.getCmp('PROCESS').setValue('');
infoGrid.store.load();
};
};
function updateTag(value)
{
var rowsSelected = Ext.getCmp('infoGrid').getSelectionModel().getSelections();
Ext.Ajax.request({
url: 'reportTables_Ajax',
params: {
action: 'updateTag',
ADD_TAB_UID: rowsSelected[0].get('ADD_TAB_UID'),
value: rowsSelected[0].get('ADD_TAB_TAG') ? '': value
},
success: function(resp){
Ext.getCmp('infoGrid').store.reload();
},
failure: function(obj, resp){
Ext.Msg.alert( _('ID_ERROR'), resp.result.msg);
}
});
}