Estandarizacióe "Placeholder" para al campo "Search" en los listados para el "Classic Designer" Se cambio el texto del placeholder de los campos de busqueda
454 lines
13 KiB
JavaScript
Executable File
454 lines
13 KiB
JavaScript
Executable File
/*
|
||
* @author: Qennix
|
||
* Feb 11st, 2011
|
||
*/
|
||
new Ext.KeyMap(document, [
|
||
{
|
||
key: Ext.EventObject.F5,
|
||
fn: function(keycode, e) {
|
||
if (! e.ctrlKey) {
|
||
if (Ext.isIE) {
|
||
// IE6 doesn't allow cancellation of the F5 key, so trick it into
|
||
// thinking some other key was pressed (backspace in this case)
|
||
e.browserEvent.keyCode = 8;
|
||
}
|
||
e.stopEvent();
|
||
document.location = document.location;
|
||
}else{
|
||
Ext.Msg.alert( _('ID_REFRESH_LABEL'), _('ID_REFRESH_MESSAGE'));
|
||
}
|
||
}
|
||
},
|
||
{
|
||
key: Ext.EventObject.DELETE,
|
||
fn: function(k,e){
|
||
iGrid = Ext.getCmp('infoGrid');
|
||
rowSelected = iGrid.getSelectionModel().getSelected();
|
||
if (rowSelected){
|
||
DeleteAuthSource();
|
||
}
|
||
}
|
||
},
|
||
{
|
||
key: Ext.EventObject.F2,
|
||
fn: function(k,e){
|
||
iGrid = Ext.getCmp('infoGrid');
|
||
rowSelected = iGrid.getSelectionModel().getSelected();
|
||
if (rowSelected){
|
||
EditAuthSource();
|
||
}
|
||
}
|
||
}
|
||
]);
|
||
|
||
var store;
|
||
var cmodel;
|
||
var infoGrid;
|
||
var viewport;
|
||
var smodel;
|
||
var newButton;
|
||
var editButton;
|
||
var deleteButton;
|
||
var usersButton;
|
||
var permissionsButton;
|
||
var searchButton;
|
||
var serachText;
|
||
var newForm;
|
||
var comboStatusStore;
|
||
var editForm;
|
||
var contextMenu;
|
||
var w;
|
||
var actionButtons;
|
||
|
||
Ext.onReady(function(){
|
||
Ext.QuickTips.init();
|
||
|
||
pageSize = parseInt(CONFIG.pageSize);
|
||
|
||
newButton = new Ext.Action({
|
||
text: _('ID_NEW'),
|
||
iconCls: 'button_menu_ext ss_sprite ss_add',
|
||
handler: NewAuthSource
|
||
});
|
||
|
||
editButton = new Ext.Action({
|
||
text: _('ID_EDIT'),
|
||
iconCls: 'button_menu_ext ss_sprite ss_pencil',
|
||
handler: EditAuthSource,
|
||
disabled: true
|
||
});
|
||
|
||
deleteButton = new Ext.Action({
|
||
text: _('ID_DELETE'),
|
||
iconCls: 'button_menu_ext ss_sprite ss_delete',
|
||
handler: DeleteAuthSource,
|
||
disabled: true
|
||
});
|
||
|
||
usersButton = new Ext.Action({
|
||
text: _('ID_IMPORT_USERS'),
|
||
iconCls: 'button_menu_ext ss_sprite ss_user_add',
|
||
handler: ImportUsers,
|
||
disabled: true
|
||
|
||
});
|
||
|
||
searchButton = new Ext.Action({
|
||
text: _('ID_SEARCH'),
|
||
handler: DoSearch
|
||
});
|
||
|
||
contextMenu = new Ext.menu.Menu({
|
||
items: [editButton, deleteButton,'-',usersButton]
|
||
});
|
||
|
||
searchText = new Ext.form.TextField ({
|
||
id: 'searchText',
|
||
ctCls:'pm_search_text_field',
|
||
allowBlank: true,
|
||
width: 150,
|
||
emptyText: _('ID_EMPTY_SEARCH'),//'enter search term',
|
||
listeners: {
|
||
specialkey: function(f,e){
|
||
if (e.getKey() == e.ENTER) {
|
||
DoSearch();
|
||
}
|
||
},
|
||
focus: function(f,e) {
|
||
var row = infoGrid.getSelectionModel().getSelected();
|
||
infoGrid.getSelectionModel().deselectRow(infoGrid.getStore().indexOf(row));
|
||
}
|
||
}
|
||
});
|
||
|
||
clearTextButton = new Ext.Action({
|
||
text: 'X',
|
||
ctCls:"pm_search_x_button_des",
|
||
handler: GridByDefault
|
||
});
|
||
|
||
actionButtons = _addPluginActions([newButton, '-', editButton, deleteButton, '-', usersButton, {xtype: 'tbfill'}, searchText, clearTextButton, searchButton]);
|
||
|
||
smodel = new Ext.grid.RowSelectionModel({
|
||
singleSelect: true,
|
||
listeners:{
|
||
rowselect: function(sm, index, record){
|
||
editButton.enable();
|
||
deleteButton.enable();
|
||
usersButton.enable();
|
||
if (typeof(_rowselect) !== 'undefined') {
|
||
if (Ext.isArray(_rowselect)) {
|
||
for (var i = 0; i < _rowselect.length; i++) {
|
||
if (Ext.isFunction(_rowselect[i])) {
|
||
_rowselect[i](sm, index, record);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
rowdeselect: function(sm, index, record){
|
||
editButton.disable();
|
||
deleteButton.disable();
|
||
usersButton.disable();
|
||
if (typeof(_rowdeselect) !== 'undefined') {
|
||
if (Ext.isArray(_rowdeselect)) {
|
||
for (var i = 0; i < _rowdeselect.length; i++) {
|
||
if (Ext.isFunction(_rowdeselect[i])) {
|
||
_rowdeselect[i](sm, index, record);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
});
|
||
|
||
store = new Ext.data.GroupingStore( {
|
||
proxy : new Ext.data.HttpProxy({
|
||
url: 'authSources_Ajax?action=authSourcesList'
|
||
}),
|
||
reader : new Ext.data.JsonReader( {
|
||
root: 'sources',
|
||
totalProperty: 'total_sources',
|
||
fields : [
|
||
{name : 'AUTH_SOURCE_UID'},
|
||
{name : 'AUTH_SOURCE_NAME'},
|
||
{name : 'AUTH_SOURCE_PROVIDER'},
|
||
{name : 'AUTH_SOURCE_SERVER_NAME'},
|
||
{name : 'AUTH_SOURCE_PORT'},
|
||
{name : 'AUTH_SOURCE_ENABLED_TLS'},
|
||
{name : 'AUTH_SOURCE_VERSION'},
|
||
{name : 'AUTH_SOURCE_BASE_DN'},
|
||
{name : 'AUTH_ANONYMOUS'},
|
||
{name : 'AUTH_SOURCE_SEARCH_USER'},
|
||
{name : 'AUTH_SOURCE_ATTRIBUTES'},
|
||
{name : 'AUTH_SOURCE_OBJECT_CLASSES'},
|
||
{name : 'CURRENT_USERS', type:'int'}
|
||
]
|
||
})
|
||
});
|
||
|
||
cmodel = new Ext.grid.ColumnModel({
|
||
defaults: {
|
||
width: 50,
|
||
sortable: true
|
||
},
|
||
columns: [
|
||
{id:'AUTH_SOURCE_UID', dataIndex: 'AUTH_SOURCE_UID', hidden:true, hideable:false},
|
||
{header: _('ID_NAME'), dataIndex: 'AUTH_SOURCE_NAME', width: 200, hidden:false, align:'left'},
|
||
{header: _('ID_PROVIDER'), dataIndex: 'AUTH_SOURCE_PROVIDER', width: 120, hidden: false, align: 'center'},
|
||
{header: _('ID_SERVER_NAME'), dataIndex: 'AUTH_SOURCE_SERVER_NAME', width: 180, hidden: false, align: 'center'},
|
||
{header: _('ID_PORT'), dataIndex: 'AUTH_SOURCE_PORT', width: 60, hidden: false, align: 'center'},
|
||
{header: _('ID_ENABLED_TLS'), dataIndex: 'AUTH_SOURCE_ENABLED_TLS', width: 90, hidden: false, align: 'center', renderer: show_enabled},
|
||
{header: _('ID_ACTIVE_USERS'), dataIndex: 'CURRENT_USERS', width: 90, hidden: false, align: 'center'}
|
||
]
|
||
});
|
||
|
||
storePageSize = new Ext.data.SimpleStore({
|
||
fields: ['size'],
|
||
data: [['20'],['30'],['40'],['50'],['100']],
|
||
autoLoad: true
|
||
});
|
||
|
||
comboPageSize = new Ext.form.ComboBox({
|
||
typeAhead : false,
|
||
mode : 'local',
|
||
triggerAction : 'all',
|
||
store: storePageSize,
|
||
valueField: 'size',
|
||
displayField: 'size',
|
||
width: 50,
|
||
editable: false,
|
||
listeners:{
|
||
select: function(c,d,i){
|
||
UpdatePageConfig(d.data['size']);
|
||
bbarpaging.pageSize = parseInt(d.data['size']);
|
||
bbarpaging.moveFirst();
|
||
}
|
||
}
|
||
});
|
||
|
||
comboPageSize.setValue(pageSize);
|
||
|
||
bbarpaging = new Ext.PagingToolbar({
|
||
pageSize: pageSize,
|
||
store: store,
|
||
displayInfo: true,
|
||
displayMsg: _('ID_GRID_PAGE_DISPLAYING_AUTHENTICATION_MESSAGE') + ' ',
|
||
emptyMsg: _('ID_GRID_PAGE_NO_AUTHENTICATION_MESSAGE'),
|
||
items: ['-',_('ID_PAGE_SIZE')+':',comboPageSize]
|
||
});
|
||
|
||
infoGrid = new Ext.grid.GridPanel({
|
||
region: 'center',
|
||
layout: 'fit',
|
||
id: 'infoGrid',
|
||
height:100,
|
||
autoWidth : true,
|
||
stateful : true,
|
||
stateId : 'gridAuthList',
|
||
enableColumnResize: true,
|
||
enableHdMenu: true,
|
||
frame:false,
|
||
//iconCls:'icon-grid',
|
||
columnLines: false,
|
||
viewConfig: {
|
||
forceFit:true
|
||
},
|
||
title : _('ID_AUTH_SOURCES'),
|
||
store: store,
|
||
cm: cmodel,
|
||
sm: smodel,
|
||
tbar: actionButtons,
|
||
bbar: bbarpaging,
|
||
listeners: {
|
||
rowdblclick: EditAuthSource,
|
||
render: function(){
|
||
this.loadMask = new Ext.LoadMask(this.body, {msg:_('ID_LOADING_GRID')});
|
||
}
|
||
},
|
||
view: new Ext.grid.GroupingView({
|
||
forceFit:true,
|
||
groupTextTpl: '{text}',
|
||
cls:"x-grid-empty",
|
||
emptyText: _('ID_NO_RECORDS_FOUND')
|
||
})
|
||
});
|
||
|
||
infoGrid.on('rowcontextmenu',
|
||
function (grid, rowIndex, evt) {
|
||
var sm = grid.getSelectionModel();
|
||
sm.selectRow(rowIndex, sm.isSelected(rowIndex));
|
||
},
|
||
this
|
||
);
|
||
|
||
infoGrid.on('contextmenu',
|
||
function (evt) {
|
||
evt.preventDefault();
|
||
},
|
||
this
|
||
);
|
||
|
||
infoGrid.addListener('rowcontextmenu',onMessageContextMenu,this);
|
||
|
||
infoGrid.store.load();
|
||
|
||
viewport = new Ext.Viewport({
|
||
layout: 'fit',
|
||
autoScroll: false,
|
||
items: [
|
||
infoGrid
|
||
]
|
||
});
|
||
});
|
||
|
||
//Funtion Handles Context Menu Opening
|
||
onMessageContextMenu = function (grid, rowIndex, e) {
|
||
e.stopEvent();
|
||
var coords = e.getXY();
|
||
contextMenu.showAt([coords[0], coords[1]]);
|
||
};
|
||
|
||
//Do Nothing Function
|
||
DoNothing = function(){};
|
||
|
||
//Load Grid By Default
|
||
GridByDefault = function(){
|
||
searchText.reset();
|
||
infoGrid.store.load();
|
||
};
|
||
|
||
//Do Search Function
|
||
DoSearch = function(){
|
||
infoGrid.store.load({params: {textFilter: searchText.getValue()}});
|
||
};
|
||
|
||
//Update Page Size Configuration
|
||
UpdatePageConfig = function(pageSize){
|
||
Ext.Ajax.request({
|
||
url: 'processCategory_Ajax',
|
||
params: {action:'updatePageSize', size: pageSize}
|
||
});
|
||
};
|
||
|
||
//Render Function Enabled TLS
|
||
show_enabled = function(v){
|
||
return (v==0) ? _('ID_DISABLED') : _('ID_ENABLED');
|
||
};
|
||
|
||
//New AuthSource Action
|
||
NewAuthSource = function(){
|
||
location.href = 'authSources_SelectType';
|
||
};
|
||
|
||
//Edit AuthSource Action
|
||
EditAuthSource = function(){
|
||
var rowSelected = infoGrid.getSelectionModel().getSelected();
|
||
if (rowSelected){
|
||
location.href = 'authSources_Edit?sUID=' +rowSelected.data.AUTH_SOURCE_UID;
|
||
}
|
||
};
|
||
|
||
//Delete AuthSource Action
|
||
DeleteAuthSource = function(){
|
||
var rowSelected = infoGrid.getSelectionModel().getSelected();
|
||
if (rowSelected){
|
||
viewport.getEl().mask(_('ID_PROCESSING'));
|
||
Ext.Ajax.request({
|
||
url: 'authSources_Ajax',
|
||
params: {action: 'canDeleteAuthSource', auth_uid: rowSelected.data.AUTH_SOURCE_UID},
|
||
success: function(r,o){
|
||
viewport.getEl().unmask();
|
||
response = Ext.util.JSON.decode(r.responseText);
|
||
if (response.success){
|
||
Ext.Msg.confirm(_('ID_CONFIRM'),_('ID_CONFIRM_DELETE_AUTHENTICATION'),function(btn,text){
|
||
if (btn=='yes'){
|
||
viewport.getEl().mask(_('ID_PROCESSING'));
|
||
Ext.Ajax.request({
|
||
url: 'authSources_Ajax',
|
||
params: {action: 'deleteAuthSource', auth_uid : rowSelected.data.AUTH_SOURCE_UID},
|
||
success: function(r,o){
|
||
viewport.getEl().unmask();
|
||
resp = Ext.util.JSON.decode(r.responseText);
|
||
if (resp.success){
|
||
PMExt.notify(_('ID_AUTH_SOURCES'),_('ID_AUTHENTICATION_SUCCESS_DELETE'));
|
||
}else{
|
||
PMExt.error(_('ID_AUTH_SOURCES'),resp.error);
|
||
}
|
||
DoSearch();
|
||
editButton.disable();
|
||
deleteButton.disable();
|
||
usersButton.disable();
|
||
},
|
||
failure: function(r,o){
|
||
viewport.getEl().unmask();
|
||
}
|
||
});
|
||
}
|
||
});
|
||
|
||
}else{
|
||
PMExt.error(_('ID_AUTH_SOURCES'),_('ID_MSG_CANNOT_DELETE_AUTHENTICATION'));
|
||
}
|
||
},
|
||
failure: function(r,o){
|
||
viewport.getEl().unmask();
|
||
}
|
||
});
|
||
}
|
||
};
|
||
|
||
//Import Users Action
|
||
ImportUsers = function(){
|
||
var rowSelected = infoGrid.getSelectionModel().getSelected();
|
||
if (rowSelected){
|
||
location.href = 'authSources_SearchUsers?sUID=' +rowSelected.data.AUTH_SOURCE_UID;
|
||
}
|
||
};
|
||
|
||
// Mover a un archivo m<>s gen<65>rico - Start
|
||
var _pluginActionButtons = [];
|
||
var _rowselect = [];
|
||
var _rowdeselect = [];
|
||
|
||
var _addPluginActions = function(defaultActionButtons) {
|
||
try {
|
||
if (Ext.isArray(_pluginActionButtons)) {
|
||
if (_pluginActionButtons.length > 0) {
|
||
var positionToInsert = _tbfillPosition(defaultActionButtons);
|
||
var leftActionButtons = defaultActionButtons.slice(0, positionToInsert);
|
||
var rightActionButtons = defaultActionButtons.slice(positionToInsert, defaultActionButtons.length - 1);
|
||
return leftActionButtons.concat(_pluginActionButtons.concat(rightActionButtons));
|
||
}
|
||
else {
|
||
return defaultActionButtons;
|
||
}
|
||
}
|
||
else {
|
||
return defaultActionButtons;
|
||
}
|
||
}
|
||
catch (error) {
|
||
return defaultActionButtons;
|
||
}
|
||
};
|
||
|
||
var _tbfillPosition = function(actionButtons) {
|
||
try {
|
||
for (var i = 0; i < actionButtons.length; i++) {
|
||
if (Ext.isObject(actionButtons[i])) {
|
||
if (actionButtons[i].xtype == 'tbfill') {
|
||
return i;
|
||
}
|
||
}
|
||
}
|
||
return i;
|
||
}
|
||
catch (error) {
|
||
return 0;
|
||
}
|
||
};
|
||
|
||
// Mover a un archivo m<>s gen<65>rico - End
|