mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-12-17 15:01:26 +01:00
natural search in list pages
This commit is contained in:
@@ -1,207 +1,207 @@
|
||||
/*
|
||||
Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview The "show border" plugin. The command display visible outline
|
||||
* border line around all table elements if table doesn't have a none-zero 'border' attribute specified.
|
||||
*/
|
||||
|
||||
(function()
|
||||
{
|
||||
var showBorderClassName = 'cke_show_border',
|
||||
cssStyleText,
|
||||
cssTemplate =
|
||||
// TODO: For IE6, we don't have child selector support,
|
||||
// where nested table cells could be incorrect.
|
||||
( CKEDITOR.env.ie6Compat ?
|
||||
[
|
||||
'.%1 table.%2,',
|
||||
'.%1 table.%2 td, .%1 table.%2 th',
|
||||
'{',
|
||||
'border : #d3d3d3 1px dotted',
|
||||
'}'
|
||||
] :
|
||||
[
|
||||
'.%1 table.%2,',
|
||||
'.%1 table.%2 > tr > td, .%1 table.%2 > tr > th,',
|
||||
'.%1 table.%2 > tbody > tr > td, .%1 table.%2 > tbody > tr > th,',
|
||||
'.%1 table.%2 > thead > tr > td, .%1 table.%2 > thead > tr > th,',
|
||||
'.%1 table.%2 > tfoot > tr > td, .%1 table.%2 > tfoot > tr > th',
|
||||
'{',
|
||||
'border : #d3d3d3 1px dotted',
|
||||
'}'
|
||||
] ).join( '' );
|
||||
|
||||
cssStyleText = cssTemplate.replace( /%2/g, showBorderClassName ).replace( /%1/g, 'cke_show_borders ' );
|
||||
|
||||
var commandDefinition =
|
||||
{
|
||||
preserveState : true,
|
||||
editorFocus : false,
|
||||
readOnly: 1,
|
||||
|
||||
exec : function ( editor )
|
||||
{
|
||||
this.toggleState();
|
||||
this.refresh( editor );
|
||||
},
|
||||
|
||||
refresh : function( editor )
|
||||
{
|
||||
if ( editor.document )
|
||||
{
|
||||
var funcName = ( this.state == CKEDITOR.TRISTATE_ON ) ? 'addClass' : 'removeClass';
|
||||
editor.document.getBody()[ funcName ]( 'cke_show_borders' );
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
CKEDITOR.plugins.add( 'showborders',
|
||||
{
|
||||
requires : [ 'wysiwygarea' ],
|
||||
modes : { 'wysiwyg' : 1 },
|
||||
|
||||
init : function( editor )
|
||||
{
|
||||
|
||||
var command = editor.addCommand( 'showborders', commandDefinition );
|
||||
command.canUndo = false;
|
||||
|
||||
if ( editor.config.startupShowBorders !== false )
|
||||
command.setState( CKEDITOR.TRISTATE_ON );
|
||||
|
||||
editor.addCss( cssStyleText );
|
||||
|
||||
// Refresh the command on setData.
|
||||
editor.on( 'mode', function()
|
||||
{
|
||||
if ( command.state != CKEDITOR.TRISTATE_DISABLED )
|
||||
command.refresh( editor );
|
||||
}, null, null, 100 );
|
||||
|
||||
// Refresh the command on wysiwyg frame reloads.
|
||||
editor.on( 'contentDom', function()
|
||||
{
|
||||
if ( command.state != CKEDITOR.TRISTATE_DISABLED )
|
||||
command.refresh( editor );
|
||||
});
|
||||
|
||||
editor.on( 'removeFormatCleanup', function( evt )
|
||||
{
|
||||
var element = evt.data;
|
||||
if ( editor.getCommand( 'showborders' ).state == CKEDITOR.TRISTATE_ON &&
|
||||
element.is( 'table' ) && ( !element.hasAttribute( 'border' ) || parseInt( element.getAttribute( 'border' ), 10 ) <= 0 ) )
|
||||
element.addClass( showBorderClassName );
|
||||
});
|
||||
},
|
||||
|
||||
afterInit : function( editor )
|
||||
{
|
||||
var dataProcessor = editor.dataProcessor,
|
||||
dataFilter = dataProcessor && dataProcessor.dataFilter,
|
||||
htmlFilter = dataProcessor && dataProcessor.htmlFilter;
|
||||
|
||||
if ( dataFilter )
|
||||
{
|
||||
dataFilter.addRules(
|
||||
{
|
||||
elements :
|
||||
{
|
||||
'table' : function( element )
|
||||
{
|
||||
var attributes = element.attributes,
|
||||
cssClass = attributes[ 'class' ],
|
||||
border = parseInt( attributes.border, 10 );
|
||||
|
||||
if ( ( !border || border <= 0 ) && ( !cssClass || cssClass.indexOf( showBorderClassName ) == -1 ) )
|
||||
attributes[ 'class' ] = ( cssClass || '' ) + ' ' + showBorderClassName;
|
||||
}
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
if ( htmlFilter )
|
||||
{
|
||||
htmlFilter.addRules(
|
||||
{
|
||||
elements :
|
||||
{
|
||||
'table' : function( table )
|
||||
{
|
||||
var attributes = table.attributes,
|
||||
cssClass = attributes[ 'class' ];
|
||||
|
||||
cssClass && ( attributes[ 'class' ] =
|
||||
cssClass.replace( showBorderClassName, '' )
|
||||
.replace( /\s{2}/, ' ' )
|
||||
.replace( /^\s+|\s+$/, '' ) );
|
||||
}
|
||||
}
|
||||
} );
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Table dialog must be aware of it.
|
||||
CKEDITOR.on( 'dialogDefinition', function( ev )
|
||||
{
|
||||
var dialogName = ev.data.name;
|
||||
|
||||
if ( dialogName == 'table' || dialogName == 'tableProperties' )
|
||||
{
|
||||
var dialogDefinition = ev.data.definition,
|
||||
infoTab = dialogDefinition.getContents( 'info' ),
|
||||
borderField = infoTab.get( 'txtBorder' ),
|
||||
originalCommit = borderField.commit;
|
||||
|
||||
borderField.commit = CKEDITOR.tools.override( originalCommit, function( org )
|
||||
{
|
||||
return function( data, selectedTable )
|
||||
{
|
||||
org.apply( this, arguments );
|
||||
var value = parseInt( this.getValue(), 10 );
|
||||
selectedTable[ ( !value || value <= 0 ) ? 'addClass' : 'removeClass' ]( showBorderClassName );
|
||||
};
|
||||
} );
|
||||
|
||||
var advTab = dialogDefinition.getContents( 'advanced' ),
|
||||
classField = advTab && advTab.get( 'advCSSClasses' );
|
||||
|
||||
if ( classField )
|
||||
{
|
||||
classField.setup = CKEDITOR.tools.override( classField.setup, function( originalSetup )
|
||||
{
|
||||
return function()
|
||||
{
|
||||
originalSetup.apply( this, arguments );
|
||||
this.setValue( this.getValue().replace( /cke_show_border/, '' ) );
|
||||
};
|
||||
});
|
||||
|
||||
classField.commit = CKEDITOR.tools.override( classField.commit, function( originalCommit )
|
||||
{
|
||||
return function( data, element )
|
||||
{
|
||||
originalCommit.apply( this, arguments );
|
||||
|
||||
if ( !parseInt( element.getAttribute( 'border' ), 10 ) )
|
||||
element.addClass( 'cke_show_border' );
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
} )();
|
||||
|
||||
/**
|
||||
* Whether to automatically enable the "show borders" command when the editor loads.
|
||||
* (ShowBorders in FCKeditor)
|
||||
* @name CKEDITOR.config.startupShowBorders
|
||||
* @type Boolean
|
||||
* @default true
|
||||
* @example
|
||||
* config.startupShowBorders = false;
|
||||
*/
|
||||
/*
|
||||
Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview The "show border" plugin. The command display visible outline
|
||||
* border line around all table elements if table doesn't have a none-zero 'border' attribute specified.
|
||||
*/
|
||||
|
||||
(function()
|
||||
{
|
||||
var showBorderClassName = 'cke_show_border',
|
||||
cssStyleText,
|
||||
cssTemplate =
|
||||
// TODO: For IE6, we don't have child selector support,
|
||||
// where nested table cells could be incorrect.
|
||||
( CKEDITOR.env.ie6Compat ?
|
||||
[
|
||||
'.%1 table.%2,',
|
||||
'.%1 table.%2 td, .%1 table.%2 th',
|
||||
'{',
|
||||
'border : #d3d3d3 1px dotted',
|
||||
'}'
|
||||
] :
|
||||
[
|
||||
'.%1 table.%2,',
|
||||
'.%1 table.%2 > tr > td, .%1 table.%2 > tr > th,',
|
||||
'.%1 table.%2 > tbody > tr > td, .%1 table.%2 > tbody > tr > th,',
|
||||
'.%1 table.%2 > thead > tr > td, .%1 table.%2 > thead > tr > th,',
|
||||
'.%1 table.%2 > tfoot > tr > td, .%1 table.%2 > tfoot > tr > th',
|
||||
'{',
|
||||
'border : #d3d3d3 1px dotted',
|
||||
'}'
|
||||
] ).join( '' );
|
||||
|
||||
cssStyleText = cssTemplate.replace( /%2/g, showBorderClassName ).replace( /%1/g, 'cke_show_borders ' );
|
||||
|
||||
var commandDefinition =
|
||||
{
|
||||
preserveState : true,
|
||||
editorFocus : false,
|
||||
readOnly: 1,
|
||||
|
||||
exec : function ( editor )
|
||||
{
|
||||
this.toggleState();
|
||||
this.refresh( editor );
|
||||
},
|
||||
|
||||
refresh : function( editor )
|
||||
{
|
||||
if ( editor.document )
|
||||
{
|
||||
var funcName = ( this.state == CKEDITOR.TRISTATE_ON ) ? 'addClass' : 'removeClass';
|
||||
editor.document.getBody()[ funcName ]( 'cke_show_borders' );
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
CKEDITOR.plugins.add( 'showborders',
|
||||
{
|
||||
requires : [ 'wysiwygarea' ],
|
||||
modes : { 'wysiwyg' : 1 },
|
||||
|
||||
init : function( editor )
|
||||
{
|
||||
|
||||
var command = editor.addCommand( 'showborders', commandDefinition );
|
||||
command.canUndo = false;
|
||||
|
||||
if ( editor.config.startupShowBorders !== false )
|
||||
command.setState( CKEDITOR.TRISTATE_ON );
|
||||
|
||||
editor.addCss( cssStyleText );
|
||||
|
||||
// Refresh the command on setData.
|
||||
editor.on( 'mode', function()
|
||||
{
|
||||
if ( command.state != CKEDITOR.TRISTATE_DISABLED )
|
||||
command.refresh( editor );
|
||||
}, null, null, 100 );
|
||||
|
||||
// Refresh the command on wysiwyg frame reloads.
|
||||
editor.on( 'contentDom', function()
|
||||
{
|
||||
if ( command.state != CKEDITOR.TRISTATE_DISABLED )
|
||||
command.refresh( editor );
|
||||
});
|
||||
|
||||
editor.on( 'removeFormatCleanup', function( evt )
|
||||
{
|
||||
var element = evt.data;
|
||||
if ( editor.getCommand( 'showborders' ).state == CKEDITOR.TRISTATE_ON &&
|
||||
element.is( 'table' ) && ( !element.hasAttribute( 'border' ) || parseInt( element.getAttribute( 'border' ), 10 ) <= 0 ) )
|
||||
element.addClass( showBorderClassName );
|
||||
});
|
||||
},
|
||||
|
||||
afterInit : function( editor )
|
||||
{
|
||||
var dataProcessor = editor.dataProcessor,
|
||||
dataFilter = dataProcessor && dataProcessor.dataFilter,
|
||||
htmlFilter = dataProcessor && dataProcessor.htmlFilter;
|
||||
|
||||
if ( dataFilter )
|
||||
{
|
||||
dataFilter.addRules(
|
||||
{
|
||||
elements :
|
||||
{
|
||||
'table' : function( element )
|
||||
{
|
||||
var attributes = element.attributes,
|
||||
cssClass = attributes[ 'class' ],
|
||||
border = parseInt( attributes.border, 10 );
|
||||
|
||||
if ( ( !border || border <= 0 ) && ( !cssClass || cssClass.indexOf( showBorderClassName ) == -1 ) )
|
||||
attributes[ 'class' ] = ( cssClass || '' ) + ' ' + showBorderClassName;
|
||||
}
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
if ( htmlFilter )
|
||||
{
|
||||
htmlFilter.addRules(
|
||||
{
|
||||
elements :
|
||||
{
|
||||
'table' : function( table )
|
||||
{
|
||||
var attributes = table.attributes,
|
||||
cssClass = attributes[ 'class' ];
|
||||
|
||||
cssClass && ( attributes[ 'class' ] =
|
||||
cssClass.replace( showBorderClassName, '' )
|
||||
.replace( /\s{2}/, ' ' )
|
||||
.replace( /^\s+|\s+$/, '' ) );
|
||||
}
|
||||
}
|
||||
} );
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Table dialog must be aware of it.
|
||||
CKEDITOR.on( 'dialogDefinition', function( ev )
|
||||
{
|
||||
var dialogName = ev.data.name;
|
||||
|
||||
if ( dialogName == 'table' || dialogName == 'tableProperties' )
|
||||
{
|
||||
var dialogDefinition = ev.data.definition,
|
||||
infoTab = dialogDefinition.getContents( 'info' ),
|
||||
borderField = infoTab.get( 'txtBorder' ),
|
||||
originalCommit = borderField.commit;
|
||||
|
||||
borderField.commit = CKEDITOR.tools.override( originalCommit, function( org )
|
||||
{
|
||||
return function( data, selectedTable )
|
||||
{
|
||||
org.apply( this, arguments );
|
||||
var value = parseInt( this.getValue(), 10 );
|
||||
selectedTable[ ( !value || value <= 0 ) ? 'addClass' : 'removeClass' ]( showBorderClassName );
|
||||
};
|
||||
} );
|
||||
|
||||
var advTab = dialogDefinition.getContents( 'advanced' ),
|
||||
classField = advTab && advTab.get( 'advCSSClasses' );
|
||||
|
||||
if ( classField )
|
||||
{
|
||||
classField.setup = CKEDITOR.tools.override( classField.setup, function( originalSetup )
|
||||
{
|
||||
return function()
|
||||
{
|
||||
originalSetup.apply( this, arguments );
|
||||
this.setValue( this.getValue().replace( /cke_show_border/, '' ) );
|
||||
};
|
||||
});
|
||||
|
||||
classField.commit = CKEDITOR.tools.override( classField.commit, function( originalCommit )
|
||||
{
|
||||
return function( data, element )
|
||||
{
|
||||
originalCommit.apply( this, arguments );
|
||||
|
||||
if ( !parseInt( element.getAttribute( 'border' ), 10 ) )
|
||||
element.addClass( 'cke_show_border' );
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
} )();
|
||||
|
||||
/**
|
||||
* Whether to automatically enable the "show borders" command when the editor loads.
|
||||
* (ShowBorders in FCKeditor)
|
||||
* @name CKEDITOR.config.startupShowBorders
|
||||
* @type Boolean
|
||||
* @default true
|
||||
* @example
|
||||
* config.startupShowBorders = false;
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user