Ferdbold has uploaded a new change for review. https://gerrit.wikimedia.org/r/228984
Change subject: [WIP] Added padding support ...................................................................... [WIP] Added padding support Change-Id: I9007883e847c13edaced1c2beb62515def091cc3 --- M Graph.hooks.php M i18n/en.json M i18n/qqq.json M modules/ve-graph/ve.ui.MWGraphDialog.js M modules/ve-graph/widgets/TableWidget.js 5 files changed, 85 insertions(+), 17 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Graph refs/changes/84/228984/1 diff --git a/Graph.hooks.php b/Graph.hooks.php index d353aff..f508e0e 100644 --- a/Graph.hooks.php +++ b/Graph.hooks.php @@ -50,6 +50,12 @@ 'graph-ve-dialog-edit-field-graph-type', 'graph-ve-dialog-edit-field-raw-json', 'graph-ve-dialog-edit-json-invalid', + 'graph-ve-dialog-edit-padding-fieldset', + 'graph-ve-dialog-edit-padding-table-bottom', + 'graph-ve-dialog-edit-padding-table-left', + 'graph-ve-dialog-edit-padding-table-right', + 'graph-ve-dialog-edit-padding-table-top', + 'graph-ve-dialog-edit-padding-table-unit', 'graph-ve-dialog-edit-page-data', 'graph-ve-dialog-edit-page-general', 'graph-ve-dialog-edit-page-raw', diff --git a/i18n/en.json b/i18n/en.json index 5dc095f..c1d3d21 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -12,6 +12,12 @@ "graph-ve-dialog-edit-field-graph-type": "Graph type", "graph-ve-dialog-edit-field-raw-json": "Raw JSON specification", "graph-ve-dialog-edit-json-invalid": "Invalid JSON string", + "graph-ve-dialog-edit-padding-fieldset": "Padding", + "graph-ve-dialog-edit-padding-table-bottom": "Bottom", + "graph-ve-dialog-edit-padding-table-left": "Left", + "graph-ve-dialog-edit-padding-table-right": "Right", + "graph-ve-dialog-edit-padding-table-top": "Top", + "graph-ve-dialog-edit-padding-table-unit": "Pixels", "graph-ve-dialog-edit-page-data": "Data", "graph-ve-dialog-edit-page-general": "General", "graph-ve-dialog-edit-page-raw": "Raw data", diff --git a/i18n/qqq.json b/i18n/qqq.json index 310f046..16de6d1 100644 --- a/i18n/qqq.json +++ b/i18n/qqq.json @@ -12,6 +12,12 @@ "graph-ve-dialog-edit-field-graph-type": "Label for graph type", "graph-ve-dialog-edit-field-raw-json": "Label for the raw JSON specification in the graph editing dialog", "graph-ve-dialog-edit-json-invalid": "Validation label for the JSON specification string", + "graph-ve-dialog-edit-padding-fieldset": "Label for padding fieldset in graph edition dialog", + "graph-ve-dialog-edit-padding-table-bottom": "Label for bottom padding user config in graph editing tool", + "graph-ve-dialog-edit-padding-table-left": "Label for left padding user config in graph editing tool", + "graph-ve-dialog-edit-padding-table-right": "Label for right padding user config in graph editing tool", + "graph-ve-dialog-edit-padding-table-top": "Label for top padding user config in graph editing tool", + "graph-ve-dialog-edit-padding-table-unit": "Label for padding measuring unit in graph editing tool", "graph-ve-dialog-edit-page-data": "Label for the graph dialog data entry page", "graph-ve-dialog-edit-page-general": "Label for the general page in the graph edit dialog", "graph-ve-dialog-edit-page-raw": "Label for the raw data page in the graph edit dialog", diff --git a/modules/ve-graph/ve.ui.MWGraphDialog.js b/modules/ve-graph/ve.ui.MWGraphDialog.js index fd03a52..bb552b0 100644 --- a/modules/ve-graph/ve.ui.MWGraphDialog.js +++ b/modules/ve-graph/ve.ui.MWGraphDialog.js @@ -67,7 +67,8 @@ * @inheritdoc */ ve.ui.MWGraphDialog.prototype.initialize = function () { - var graphTypeField, jsonTextField; + var graphTypeField, paddingFieldset, + jsonTextField; // Parent method ve.ui.MWGraphDialog.super.prototype.initialize.call( this ); @@ -86,7 +87,7 @@ this.generalPage, this.dataPage, this.rawPage ] ); - /* Graph type page */ + /* General page */ this.generalPage.getOutlineItem() .setIcon( 'parameter' ) .setLabel( ve.msg( 'graph-ve-dialog-edit-page-general' ) ); @@ -112,8 +113,43 @@ label: ve.msg( 'graph-ve-dialog-edit-field-graph-type' ) } ); + this.paddingTable = new OO.ui.TableWidget( [ ve.msg( 'graph-ve-dialog-edit-padding-table-unit' ) ], { + items: ( function ( labels ) { + var rows = [], + row, i; + + for ( i = 0; i < labels.length; i++ ) { + row = new OO.ui.RowWidget( { + label: labels[i], + deletable: false + } ); + + row.addItems( [ + new OO.ui.TextInputWidget() + ] ); + + rows.push( row ); + } + + return rows; + }( [ + ve.msg( 'graph-ve-dialog-edit-padding-table-top' ), + ve.msg( 'graph-ve-dialog-edit-padding-table-right' ), + ve.msg( 'graph-ve-dialog-edit-padding-table-bottom' ), + ve.msg( 'graph-ve-dialog-edit-padding-table-left' ) + ] ) ), + disableInsertion: true + } ); + + paddingFieldset = new OO.ui.FieldsetLayout( { + label: ve.msg( 'graph-ve-dialog-edit-padding-fieldset' ) + } ); + + paddingFieldset.addItems( [ this.paddingTable ] ); + this.generalPage.$element - .append( graphTypeField.$element ); + .append( graphTypeField.$element ) + .append( paddingFieldset.$element ); /* Data page */ this.dataPage.getOutlineItem() diff --git a/modules/ve-graph/widgets/TableWidget.js b/modules/ve-graph/widgets/TableWidget.js index 1cf3a4f..719b84e 100644 --- a/modules/ve-graph/widgets/TableWidget.js +++ b/modules/ve-graph/widgets/TableWidget.js @@ -11,6 +11,7 @@ * @param {Object} [config] Configuration options * @cfg {OO.ui.RowWidget[]} [items] Rows to add * @cfg {boolean} [hideRowLabels] Whether or not to hide row labels. Defaults to false. + * @cfg {boolean} [disableInsertion] Whether or not to disable row insertion. Defaults to false. */ OO.ui.TableWidget = function OoUiTableWidget ( fields, config ) { @@ -31,6 +32,7 @@ this.fields = fields; this.listeningToInsertionRowChanges = true; this.hideRowLabels = config.hideRowLabels || false; + this.disableInsertion = config.disableInsertion || false; // Set up group element groupElement = $('<div/>', { @@ -44,11 +46,13 @@ label: null } ); - this.insertionRow = new OO.ui.RowWidget( { - classes: 'oo-ui-rowWidget-insertionRow', - deletable: false, - label: null - } ); + if ( !this.disableInsertion ) { + this.insertionRow = new OO.ui.RowWidget( { + classes: 'oo-ui-rowWidget-insertionRow', + deletable: false, + label: null + } ); + } for( i = 0; i < fields.length; i++ ) { headerRowItems.push( new OO.ui.TextInputWidget( { @@ -57,13 +61,17 @@ disabled: true } ) ); - insertionRowItems.push( new OO.ui.TextInputWidget( { - data: fields[i] - } ) ); + if ( !this.disableInsertion ) { + insertionRowItems.push( new OO.ui.TextInputWidget( { + data: fields[i] + } ) ); + } } this.headerRow.addItems( headerRowItems ); - this.insertionRow.addItems( insertionRowItems ); + if ( !this.disableInsertion ) { + this.insertionRow.addItems( insertionRowItems ); + } // Events this.aggregate( { @@ -76,17 +84,23 @@ rowDelete: 'onRowDelete' } ); - this.insertionRow.connect( this, { - change: 'onInsertionRowChange' - } ); + if ( !this.disableInsertion ) { + this.insertionRow.connect( this, { + change: 'onInsertionRowChange' + } ); + } // Initialization this.$element.addClass( 'oo-ui-tableWidget' ); this.$element .append( this.headerRow.$element ) - .append( groupElement ) - .append( this.insertionRow.$element ); + .append( groupElement ); + + if ( !this.disableInsertion ) { + this.$element + .append( this.insertionRow.$element ); + } if ( Array.isArray( config.items ) ) { this.addItems( config.items ); -- To view, visit https://gerrit.wikimedia.org/r/228984 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I9007883e847c13edaced1c2beb62515def091cc3 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Graph Gerrit-Branch: master Gerrit-Owner: Ferdbold <bolducfrede...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits