r104004 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r104003‎ | r104004 | r104005 >
Date:07:11, 23 November 2011
Author:inez
Status:deferred
Tags:
Comment:
Build VisualEditor toolbar dynamicly based on configuration.
Modified paths:
  • /trunk/extensions/VisualEditor/modules/es/views/es.ToolbarView.js (modified) (history)

Diff [purge]

Index: trunk/extensions/VisualEditor/modules/es/views/es.ToolbarView.js
@@ -4,53 +4,68 @@
55
66 this.config = [
77 {
8 - name: 'Text',
 8+ name: 'text',
99 items: [
10 - {
11 - 'type' : 'bold',
12 - 'annotation': 'textStyle/bold'
13 - },
14 - {
15 - 'type' : 'italic',
16 - 'annotation': 'textStyle/italic'
17 - },
18 - {
19 - 'type' : 'link',
20 - 'annotation': 'link/internal'
21 - },
22 - 'small',
23 - 'big',
24 - 'sub',
25 - 'super',
26 - 'clear'
 10+ { 'name': 'bold', 'annotation': 'textStyle/bold' },
 11+ { 'name': 'italic', 'annotation': 'textStyle/italic' },
 12+ { 'name': 'link', 'annotation': 'link/internal' },
 13+ { 'name': 'small' },
 14+ { 'name': 'big' },
 15+ { 'name': 'sub' },
 16+ { 'name': 'super' },
 17+ { 'name': 'clear' }
2718 ]
2819 },
2920 '/',
3021 {
31 - name: 'Lists',
32 - items: [ 'bullet', 'number', 'indent', 'outdent' ]
 22+ name: 'list',
 23+ items: [
 24+ { 'name': 'bullet' },
 25+ { 'name': 'number' },
 26+ { 'name': 'indent' },
 27+ { 'name': 'outdent' }
 28+ ]
3329 },
34 - '/',
3530 {
36 - name: 'Preview',
37 - items: [ 'json', 'wikitext', 'html', 'render' ]
 31+ name: 'preview',
 32+ items: [
 33+ { 'name': 'json' },
 34+ { 'name': 'wikitext' },
 35+ { 'name': 'html' },
 36+ { 'name': 'render' }
 37+ ]
3838 }
3939 ];
4040
41 - for( var i = this.config.length - 1; i >= 0; i-- ) {
42 - if ( es.isPlainObject( this.config[i] ) ) {
43 - var $group = $( '<div class="es-toolbarGroup">' );
44 - $( '<div class="es-toolbarLabel">' ).html( this.config[i].name ).appendTo( $group );
 41+ for ( var i = this.config.length - 1; i >= 0; i-- ) {
 42+ if ( !es.isPlainObject( this.config[i] ) ) {
 43+ if ( this.config[i] === '/' ) {
 44+ this.$.prepend( '<div class="es-toolbarDivider">' );
 45+ }
 46+ } else {
 47+ var $group = $( '<div>' )
 48+ .addClass( 'es-toolbarGroup' )
 49+ .addClass( 'es-toolbarGroup-' + this.config[i].name );
 50+
 51+ $( '<div>' )
 52+ .addClass( 'es-toolbarLabel' )
 53+ .html( this.config[i].name )
 54+ .appendTo( $group );
 55+
4556 for ( var j = 0; j < this.config[i].items.length; j++ ) {
46 - var toolName = es.isPlainObject( this.config[i].items[j] ) ? this.config[i].items[j].type : this.config[i].items[j];
47 - $( '<div class="es-toolbarTool" id="' + toolName + '"><img src="images/' + toolName + '.png" /></div>' ).appendTo( $group );
 57+ var $tool = $('<div>')
 58+ .addClass( 'es-toolbarTool' )
 59+ .attr( 'id', 'es-toolbar-' + this.config[i].items[j].name );
 60+
 61+ $( '<img>' )
 62+ .attr( 'src', 'images/' + this.config[i].items[j].name + '.png')
 63+ .appendTo( $tool );
 64+
 65+ $group.append( $tool );
4866 }
 67+
4968 this.$.prepend( $group );
50 - } else {
51 - if ( this.config[i] === '/' ) {
52 - this.$.prepend( '<div class="es-toolbarDivider">' );
53 - }
5469 }
55 -
5670 }
 71+
5772 };
\ No newline at end of file

Status & tagging log