Henning Snater has uploaded a new change for review.
https://gerrit.wikimedia.org/r/180438
Change subject: Renamed fingerprintview widgets
......................................................................
Renamed fingerprintview widgets
fingerprintview widgets were named incorrectly. As "Fingerprint" is the
aggregation of labels,
descriptions and aliases in all languages, fingerprintview should have been
what was
labeled fingerprintgroupview. While there is no fictitious term for the
aggregation of label,
description and aliases of a single language and the term "Fingerprint" does
not pursue a
solid concept, the UI components have been renamed in a more obvious fashion.
"entitytermsview" aggregates all term related objects of an entity.
(Fingerprint is actually
an aggregation of wikibase.datamodel.Term(Map) and
wikibase.datamodel.MultiTerm(Map) objects.)
This change advances the effort of renaming/removing the term "Fingerprint".
->75655
Change-Id: I084b6a11f8ddb7930b145e7852b7a5e66daa0a32
---
M lib/resources/Resources.php
R lib/resources/jquery.wikibase/jquery.wikibase.entitytermsforlanguage.js
R
lib/resources/jquery.wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
A lib/resources/jquery.wikibase/jquery.wikibase.entitytermsview.js
M lib/resources/jquery.wikibase/jquery.wikibase.entityview.js
D lib/resources/jquery.wikibase/jquery.wikibase.fingerprintgroupview.js
M lib/resources/jquery.wikibase/resources.php
A
lib/resources/jquery.wikibase/themes/default/jquery.wikibase.entitytermsforlanguage.css
A
lib/resources/jquery.wikibase/themes/default/jquery.wikibase.entitytermsforlanguagelistview.css
A
lib/resources/jquery.wikibase/themes/default/jquery.wikibase.entitytermsview.css
D
lib/resources/jquery.wikibase/themes/default/jquery.wikibase.fingerprintgroupview.css
D
lib/resources/jquery.wikibase/themes/default/jquery.wikibase.fingerprintlistview.css
D
lib/resources/jquery.wikibase/themes/default/jquery.wikibase.fingerprintview.css
A
lib/tests/qunit/jquery.wikibase/jquery.wikibase.entitytermsforlanguage.tests.js
A
lib/tests/qunit/jquery.wikibase/jquery.wikibase.entitytermsforlanguagelistview.tests.js
A lib/tests/qunit/jquery.wikibase/jquery.wikibase.entitytermsview.tests.js
D lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintgroupview.tests.js
D lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintlistview.tests.js
D lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintview.tests.js
M lib/tests/qunit/jquery.wikibase/resources.php
M repo/includes/View/TermBoxView.php
M repo/resources/templates.php
M repo/resources/wikibase.ui.entityViewInit.js
23 files changed, 1,226 insertions(+), 1,205 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase
refs/changes/38/180438/1
diff --git a/lib/resources/Resources.php b/lib/resources/Resources.php
index fd3e2ec..610ef89 100644
--- a/lib/resources/Resources.php
+++ b/lib/resources/Resources.php
@@ -34,9 +34,9 @@
'jquery.wikibase/themes/default/jquery.wikibase.aliasesview.css',
'jquery.wikibase/themes/default/jquery.wikibase.descriptionview.css',
'jquery.wikibase/themes/default/jquery.wikibase.entityview.css',
-
'jquery.wikibase/themes/default/jquery.wikibase.fingerprintgroupview.css',
-
'jquery.wikibase/themes/default/jquery.wikibase.fingerprintlistview.css',
-
'jquery.wikibase/themes/default/jquery.wikibase.fingerprintview.css',
+
'jquery.wikibase/themes/default/jquery.wikibase.entitytermsview.css',
+
'jquery.wikibase/themes/default/jquery.wikibase.entitytermsforlanguagelistview.css',
+
'jquery.wikibase/themes/default/jquery.wikibase.entitytermsforlanguage.css',
'jquery.wikibase/themes/default/jquery.wikibase.labelview.css',
'jquery.wikibase/themes/default/jquery.wikibase.sitelinkgrouplistview.css',
'jquery.wikibase/themes/default/jquery.wikibase.sitelinkgroupview.css',
diff --git a/lib/resources/jquery.wikibase/jquery.wikibase.fingerprintview.js
b/lib/resources/jquery.wikibase/jquery.wikibase.entitytermsforlanguage.js
similarity index 94%
rename from lib/resources/jquery.wikibase/jquery.wikibase.fingerprintview.js
rename to
lib/resources/jquery.wikibase/jquery.wikibase.entitytermsforlanguage.js
index 889bb40..435c96c 100644
--- a/lib/resources/jquery.wikibase/jquery.wikibase.fingerprintview.js
+++ b/lib/resources/jquery.wikibase/jquery.wikibase.entitytermsforlanguage.js
@@ -47,9 +47,9 @@
* - {jQuery.Event}
* - {Error|null}
*/
-$.widget( 'wikibase.fingerprintview', PARENT, {
+$.widget( 'wikibase.entitytermsforlanguage', PARENT, {
options: {
- template: 'wikibase-fingerprintview',
+ template: 'wikibase-entitytermsforlanguage',
templateParams: [
function() {
return this.options.value.language;
@@ -69,10 +69,10 @@
'' // aliases
],
templateShortCuts: {
- $language: '.wikibase-fingerprintview-language',
- $label: '.wikibase-fingerprintview-label',
- $description : '.wikibase-fingerprintview-description',
- $aliases : '.wikibase-fingerprintview-aliases'
+ $language: '.wikibase-entitytermsforlanguage-language',
+ $label: '.wikibase-entitytermsforlanguage-label',
+ $description :
'.wikibase-entitytermsforlanguage-description',
+ $aliases : '.wikibase-entitytermsforlanguage-aliases'
},
value: null,
helpMessage: mw.msg(
'wikibase-fingerprintview-input-help-message' ),
@@ -277,16 +277,16 @@
$queue.queue( 'stopediting', function( next ) {
widget.element
.one(
- widget.widgetEventPrefix +
'afterstopediting.fingerprintviewstopediting',
+ widget.widgetEventPrefix +
'afterstopediting.entitytermsforlanguagestopediting',
function( event ) {
- widget.element.off(
'.fingerprintviewstopediting' );
+ widget.element.off(
'.entitytermsforlanguagestopediting' );
setTimeout( next, 0 );
}
)
.one(
- widget.widgetEventPrefix +
'toggleerror.fingerprintviewstopediting',
+ widget.widgetEventPrefix +
'toggleerror.entitytermsforlanguagestopediting',
function( event ) {
- widget.element.off(
'.fingerprintviewstopediting' );
+ widget.element.off(
'.entitytermsforlanguagestopediting' );
$queue.clearQueue();
self._resetEditMode();
}
diff --git
a/lib/resources/jquery.wikibase/jquery.wikibase.fingerprintlistview.js
b/lib/resources/jquery.wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
similarity index 83%
rename from lib/resources/jquery.wikibase/jquery.wikibase.fingerprintlistview.js
rename to
lib/resources/jquery.wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
index 842162f..d713f3e 100644
--- a/lib/resources/jquery.wikibase/jquery.wikibase.fingerprintlistview.js
+++
b/lib/resources/jquery.wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
@@ -8,7 +8,7 @@
var PARENT = $.ui.TemplatedWidget;
/**
- * Displays multiple fingerprints (see jQuery.wikibase.fingerprintview).
+ * Displays multiple fingerprints (see jQuery.wikibase.entitytermsforlanguage).
* @since 0.5
* @extends jQuery.ui.TemplatedWidget
*
@@ -46,9 +46,9 @@
* - {jQuery.Event}
* - {Error|null}
*/
-$.widget( 'wikibase.fingerprintlistview', PARENT, {
+$.widget( 'wikibase.entitytermsforlanguagelistview', PARENT, {
options: {
- template: 'wikibase-fingerprintlistview',
+ template: 'wikibase-entitytermsforlanguagelistview',
templateParams: [
'' // tbodys
],
@@ -79,7 +79,7 @@
this._createListView();
- this.element.addClass( 'wikibase-fingerprintlistview' );
+ this.element.addClass(
'wikibase-entitytermsforlanguagelistview' );
},
/**
@@ -93,16 +93,16 @@
listview.destroy();
}
- this.element.removeClass( 'wikibase-fingerprintlistview' );
+ this.element.removeClass(
'wikibase-entitytermsforlanguagelistview' );
PARENT.prototype.destroy.call( this );
},
/**
- * Creates the listview widget managing the fingerprintview widgets
+ * Creates the listview widget managing the entitytermsforlanguage
widgets
*/
_createListView: function() {
var self = this,
- listItemWidget = $.wikibase.fingerprintview,
+ listItemWidget = $.wikibase.entitytermsforlanguage,
prefix = listItemWidget.prototype.widgetEventPrefix;
// Fully encapsulate child widgets by suppressing their events:
@@ -138,7 +138,7 @@
entityId: self.options.entityId,
entityChangersFactory:
self.options.entityChangersFactory,
helpMessage: mw.msg(
-
'wikibase-fingerprintview-input-help-message',
+
'wikibase-entitytermsforlanguage-input-help-message',
wb.getLanguageNameByCode( value.language )
)
};
@@ -174,8 +174,8 @@
currentValue = [];
listview.items().each( function() {
- var fingerprintview = lia.liInstance( $( this ) );
- currentValue.push( fingerprintview.value() );
+ var entitytermsforlanguage = lia.liInstance( $( this )
);
+ currentValue.push( entitytermsforlanguage.value() );
} );
if( currentValue.length !== this.options.value.length ) {
@@ -209,8 +209,8 @@
lia = listview.listItemAdapter();
listview.items().each( function() {
- var fingerprintview = lia.liInstance( $( this ) );
- fingerprintview.startEditing();
+ var entitytermsforlanguage = lia.liInstance( $( this )
);
+ entitytermsforlanguage.startEditing();
} );
this._trigger( 'afterstartediting' );
@@ -238,39 +238,40 @@
// TODO: This widget should not need to queue the requests of
its encapsulated widgets.
// However, the back-end produces edit conflicts when issuing
multiple requests at once.
// Remove queueing as soon as the back-end is fixed; see bug
#72020.
- var $queue = $( {} );
+ var $queue = $( {} ),
+ eventNamespace =
'entitytermsforlanguagelistviewstopediting';
/**
* @param {jQuery} $queue
- * @param {jQuery.wikibase.fingerprintview} fingerprintview
+ * @param {jQuery.wikibase.entitytermsforlanguage}
entitytermsforlanguage
* @param {boolean} dropValue
*/
- function addStopEditToQueue( $queue, fingerprintview, dropValue
) {
+ function addStopEditToQueue( $queue, entitytermsforlanguage,
dropValue ) {
$queue.queue( 'stopediting', function( next ) {
- fingerprintview.element
- .one(
'fingerprintviewafterstopediting.fingerprintlistviewstopediting',
+ entitytermsforlanguage.element
+ .one( 'entitytermsforlanguageafterstopediting.'
+ eventNamespace,
function( event ) {
- fingerprintview.element.off(
'.fingerprintlistviewstopediting' );
+
entitytermsforlanguage.element.off( '.' + eventNamespace );
setTimeout( next, 0 );
}
)
- .one(
'fingerprintviewtoggleerror.fingerprintlistviewstopediting',
+ .one( 'entitytermsforlanguagetoggleerror.' +
eventNamespace,
function( event ) {
- fingerprintview.element.off(
'.fingerprintlistviewstopediting' );
+
entitytermsforlanguage.element.off( '.' + eventNamespace );
$queue.clearQueue();
self._resetEditMode();
}
);
- fingerprintview.stopEditing( dropValue );
+ entitytermsforlanguage.stopEditing( dropValue );
} );
}
listview.items().each( function() {
- var fingerprintview = lia.liInstance( $( this ) );
+ var entitytermsforlanguage = lia.liInstance( $( this )
);
addStopEditToQueue(
$queue,
- fingerprintview,
- dropValue || fingerprintview.isInitialValue()
+ entitytermsforlanguage,
+ dropValue ||
entitytermsforlanguage.isInitialValue()
);
} );
@@ -364,8 +365,8 @@
value = [];
listview.items().each( function() {
- var fingerprintview = lia.liInstance( $( this ) );
- value.push( fingerprintview.value() );
+ var entitytermsforlanguage = lia.liInstance( $( this )
);
+ value.push( entitytermsforlanguage.value() );
} );
return value;
diff --git a/lib/resources/jquery.wikibase/jquery.wikibase.entitytermsview.js
b/lib/resources/jquery.wikibase/jquery.wikibase.entitytermsview.js
new file mode 100644
index 0000000..90c1add
--- /dev/null
+++ b/lib/resources/jquery.wikibase/jquery.wikibase.entitytermsview.js
@@ -0,0 +1,371 @@
+/**
+ * @licence GNU GPL v2+
+ * @author H. Snater < [email protected] >
+ */
+( function( mw, $ ) {
+ 'use strict';
+
+ var PARENT = $.ui.TemplatedWidget;
+
+/**
+ * Encapsulates a entitytermsforlanguagelistview widget.
+ * @since 0.5
+ * @extends jQuery.ui.TemplatedWidget
+ *
+ * @option {Object[]} value
+ * Object representing the widget's value.
+ * Structure: [
+ * {
+ * language: <{string]>,
+ * label: <{wikibase.datamodel.Term}>,
+ * description: <{wikibase.datamodel.Term}>
+ * aliases: <{wikibase.datamodel.MultiTerm}>
+ * }[, ...]
+ * ]
+ *
+ * @option {string} entityId
+ *
+ * @option {wikibase.entityChangers.EntityChangersFactory}
entityChangersFactory
+ *
+ * @option {string} [helpMessage]
+ * Default: 'Edit label, description and aliases per
language.'
+ *
+ * @event change
+ * - {jQuery.Event}
+ *
+ * @event afterstartediting
+ * - {jQuery.Event}
+ *
+ * @event stopediting
+ * - {jQuery.Event}
+ * - {boolean} Whether to drop the value.
+ * - {Function} Callback function.
+ *
+ * @event afterstopediting
+ * - {jQuery.Event}
+ * - {boolean} Whether to drop the value.
+ *
+ * @event toggleerror
+ * - {jQuery.Event}
+ * - {Error|null}
+ */
+$.widget( 'wikibase.entitytermsview', PARENT, {
+ options: {
+ template: 'wikibase-entitytermsview',
+ templateParams: [
+ function() {
+ return mw.msg( 'wikibase-terms' );
+ },
+ '', // entitytermsforlanguagelistview
+ '' // edit section
+ ],
+ templateShortCuts: {
+ $h: 'h2'
+ },
+ value: [],
+ entityId: null,
+ entityChangersFactory: null,
+ helpMessage: 'Edit label, description and aliases per language.'
+ },
+
+ /**
+ * @type {boolean}
+ */
+ _isInEditMode: false,
+
+ /**
+ * @type {jQuery}
+ */
+ $entitytermsforlanguagelistview: null,
+
+ /**
+ * @see jQuery.ui.TemplatedWidget._create
+ */
+ _create: function() {
+ if(
+ !$.isArray( this.options.value )
+ || !this.options.entityId
+ || !this.options.entityChangersFactory
+ ) {
+ throw new Error( 'Required option(s) missing' );
+ }
+
+ PARENT.prototype._create.call( this );
+
+ this.element.addClass( 'wikibase-entitytermsview' );
+
+ this.$entitytermsforlanguagelistview
+ = this.element.find(
'.wikibase-entitytermsforlanguagelistview' );
+
+ if( !this.$entitytermsforlanguagelistview.length ) {
+ this.$entitytermsforlanguagelistview = $( '<table/>'
).appendTo( this.element );
+ }
+
+ this._createEntitytermsforlanguagelistview();
+ },
+
+ /**
+ * @see jQuery.ui.TemplatedWidget.destroy
+ */
+ destroy: function() {
+ // When destroying a widget not initialized properly,
entitytermsforlanguagelistview will
+ // not have been created.
+ if( this.$entitytermsforlanguagelistview ) {
+ var entitytermsforlanguagelistview =
this._getEntitytermsforlanguagelistview();
+
+ if( entitytermsforlanguagelistview ) {
+ entitytermsforlanguagelistview.destroy();
+ }
+
+ this.$entitytermsforlanguagelistview.remove();
+ }
+
+ this.element.removeClass( 'wikibase-entitytermsview' );
+ PARENT.prototype.destroy.call( this );
+ },
+
+ /**
+ * @return {jQuery.wikibase.entitytermsforlanguagelistview}
+ * @private
+ */
+ _getEntitytermsforlanguagelistview: function() {
+ return this.$entitytermsforlanguagelistview.data(
'entitytermsforlanguagelistview' );
+ },
+
+ /**
+ * Creates and initializes the entitytermsforlanguagelistview widget.
+ */
+ _createEntitytermsforlanguagelistview: function() {
+ var self = this,
+ prefix =
$.wikibase.entitytermsforlanguagelistview.prototype.widgetEventPrefix;
+
+ this.$entitytermsforlanguagelistview
+ .on( prefix + 'change.' + this.widgetName, function( event ) {
+ event.stopPropagation();
+ self._trigger( 'change' );
+ } )
+ .on( prefix + 'toggleerror.' + this.widgetName, function(
event, error ) {
+ event.stopPropagation();
+ self.setError( error );
+ } )
+ .on(
+ [
+ prefix + 'create.' + this.widgetName,
+ prefix + 'afterstartediting.' + this.widgetName,
+ prefix + 'stopediting.' + this.widgetName,
+ prefix + 'afterstopediting.' + this.widgetName,
+ prefix + 'disable.' + this.widgetName
+ ].join( ' ' ),
+ function( event ) {
+ event.stopPropagation();
+ }
+ )
+ .entitytermsforlanguagelistview( {
+ value: this.options.value,
+ entityId: this.options.entityId,
+ entityChangersFactory:
this.options.entityChangersFactory
+ } );
+ },
+
+ /**
+ * @return {boolean}
+ */
+ isValid: function() {
+ return this._getEntitytermsforlanguagelistview().isValid();
+ },
+
+ /**
+ * @return {boolean}
+ */
+ isInitialValue: function() {
+ return
this._getEntitytermsforlanguagelistview().isInitialValue();
+ },
+
+ startEditing: function() {
+ if( this._isInEditMode ) {
+ return;
+ }
+
+ this._isInEditMode = true;
+ this.element.addClass( 'wb-edit' );
+
+ this._getEntitytermsforlanguagelistview().startEditing();
+
+ this._trigger( 'afterstartediting' );
+ },
+
+ /**
+ * @param {boolean} [dropValue]
+ */
+ stopEditing: function( dropValue ) {
+ var self = this;
+
+ if( !this._isInEditMode || ( !this.isValid() ||
this.isInitialValue() ) && !dropValue ) {
+ return;
+ }
+
+ dropValue = !!dropValue;
+
+ this._trigger( 'stopediting', null, [dropValue] );
+
+ this.disable();
+
+ this.$entitytermsforlanguagelistview
+ .one(
+
'entitytermsforlanguagelistviewafterstopediting.entitytermsviewstopediting',
+ function( event, dropValue ) {
+ self._afterStopEditing( dropValue );
+ self.$entitytermsforlanguagelistview.off(
'.entitytermsviewstopediting' );
+ }
+ )
+ .one(
+
'entitytermsforlanguagelistviewtoggleerror.entitytermsviewstopediting',
+ function( event, dropValue ) {
+ self.enable();
+ self.$entitytermsforlanguagelistview.off(
'.entitytermsviewstopediting' );
+ }
+ );
+
+ this._getEntitytermsforlanguagelistview().stopEditing(
dropValue );
+ },
+
+ /**
+ * @param {boolean} dropValue
+ */
+ _afterStopEditing: function( dropValue ) {
+ if( !dropValue ) {
+ this.options.value = this.value();
+ }
+ this._isInEditMode = false;
+ this.enable();
+ this.element.removeClass( 'wb-edit' );
+ this._trigger( 'afterstopediting', null, [dropValue] );
+ },
+
+ cancelEditing: function() {
+ this.stopEditing( true );
+ },
+
+ /**
+ * @see jQuery.ui.TemplatedWidget.focus
+ */
+ focus: function() {
+ this._getEntitytermsforlanguagelistview().focus();
+ },
+
+ /**
+ * Applies/Removes error state.
+ *
+ * @param {Error} [error]
+ */
+ setError: function( error ) {
+ if( error ) {
+ this.element.addClass( 'wb-error' );
+ this._trigger( 'toggleerror', null, [error] );
+ } else {
+ this.removeError();
+ this._trigger( 'toggleerror' );
+ }
+ },
+
+ removeError: function() {
+ this.element.removeClass( 'wb-error' );
+ this._getEntitytermsforlanguagelistview().removeError();
+ },
+
+ /**
+ * @param {Object[]} [value]
+ * @return {Object[]|*}
+ */
+ value: function( value ) {
+ if( value !== undefined ) {
+ return this.option( 'value', value );
+ }
+
+ return this._getEntitytermsforlanguagelistview().value();
+ },
+
+ /**
+ * @see jQuery.ui.TemplatedWidget._setOption
+ */
+ _setOption: function( key, value ) {
+ if( key === 'value' ) {
+ throw new Error( 'Impossible to set value after
initialization' );
+ }
+
+ var response = PARENT.prototype._setOption.apply( this,
arguments );
+
+ if( key === 'disabled' ) {
+ this._getEntitytermsforlanguagelistview().option( key,
value );
+ }
+
+ return response;
+ }
+} );
+
+$.wikibase.toolbarcontroller.definition( 'edittoolbar', {
+ id: 'entitytermsview',
+ selector: ':' + $.wikibase.entitytermsview.prototype.namespace
+ + '-' + $.wikibase.entitytermsview.prototype.widgetName,
+ events: {
+ entitytermsviewcreate: function( event, toolbarcontroller ) {
+ var $entitytermsview = $( event.target ),
+ entitytermsview = $entitytermsview.data(
'entitytermsview' ),
+ $headingContainer = $entitytermsview.find(
+
'.wikibase-entitytermsview-heading-container'
+ ),
+ $container = $headingContainer.children(
'.wikibase-toolbar-container' );
+
+ if( !$container.length ) {
+ $container = $( '<div/>' ).appendTo(
$headingContainer );
+ }
+
+ $entitytermsview.edittoolbar( {
+ $container: $container,
+ interactionWidget: entitytermsview
+ } );
+
+ $entitytermsview.on( 'keyup.edittoolbar', function(
event ) {
+ if( entitytermsview.option( 'disabled' ) ) {
+ return;
+ }
+ if( event.keyCode === $.ui.keyCode.ESCAPE ) {
+ entitytermsview.stopEditing( true );
+ } else if( event.keyCode === $.ui.keyCode.ENTER
) {
+ entitytermsview.stopEditing( false );
+ }
+ } );
+ },
+ 'entitytermsviewchange entitytermsviewafterstartediting':
function( event ) {
+ var $entitytermsview = $( event.target ),
+ entitytermsview = $entitytermsview.data(
'entitytermsview' ),
+ edittoolbar = $entitytermsview.data(
'edittoolbar' ),
+ btnSave = edittoolbar.getButton( 'save' ),
+ enable = entitytermsview.isValid() &&
!entitytermsview.isInitialValue();
+
+ btnSave[enable ? 'enable' : 'disable']();
+ },
+ entitytermsviewdisable: function( event ) {
+ var $entitytermsview = $( event.target ),
+ entitytermsview = $entitytermsview.data(
'entitytermsview' ),
+ edittoolbar = $entitytermsview.data(
'edittoolbar' ),
+ btnSave = edittoolbar.getButton( 'save' ),
+ enable = entitytermsview.isValid() &&
!entitytermsview.isInitialValue();
+
+ btnSave[enable ? 'enable' : 'disable']();
+ },
+ toolbareditgroupedit: function( event, toolbarcontroller ) {
+ var $entitytermsview = $( event.target ),
+ entitytermsview = $entitytermsview.data(
'entitytermsview' );
+
+ if( !entitytermsview ) {
+ return;
+ }
+
+ entitytermsview.focus();
+ }
+ }
+} );
+
+
+}( mediaWiki, jQuery ) );
diff --git a/lib/resources/jquery.wikibase/jquery.wikibase.entityview.js
b/lib/resources/jquery.wikibase/jquery.wikibase.entityview.js
index 65f4b81..57942b8 100644
--- a/lib/resources/jquery.wikibase/jquery.wikibase.entityview.js
+++ b/lib/resources/jquery.wikibase/jquery.wikibase.entityview.js
@@ -222,7 +222,7 @@
return;
}
- this.$fingerprints = $( '.wikibase-fingerprintgroupview',
this.element );
+ this.$fingerprints = $( '.wikibase-entitytermsview',
this.element );
if( !this.$fingerprints.length ) {
var $precedingNode = this.$toc;
@@ -242,11 +242,11 @@
// Scrape languages from static HTML:
// FIXME: Currently, this simply overrules the
languages options.
self.options.languages = [];
- this.$fingerprints.find( '.wikibase-fingerprintview'
).each( function() {
+ this.$fingerprints.find(
'.wikibase-entitytermsforlanguage' ).each( function() {
$.each( $( this ).attr( 'class' ).split( ' ' ),
function() {
- if( this.indexOf(
'wikibase-fingerprintview-' ) === 0 ) {
+ if( this.indexOf(
'wikibase-entitytermsforlanguage-' ) === 0 ) {
self.options.languages.push(
- this.split(
'wikibase-fingerprintview-' )[1]
+ this.split(
'wikibase-entitytermsforlanguage-' )[1]
);
return false;
}
@@ -269,7 +269,7 @@
} );
}
- this.$fingerprints.fingerprintgroupview( {
+ this.$fingerprints.entitytermsview( {
value: value,
entityId: this.options.value.getId(),
entityChangersFactory:
this.options.entityChangersFactory,
@@ -288,7 +288,7 @@
'labelviewafterstartediting.' + this.widgetName,
'descriptionviewafterstartediting.' + this.widgetName,
'aliasesviewafterstartediting.' + this.widgetName,
- 'fingerprintgroupviewafterstartediting.' +
this.widgetName
+ 'entitytermsviewafterstartediting.' + this.widgetName
].join( ' ' ),
function( event ) {
self._trigger( 'afterstartediting' );
@@ -299,7 +299,7 @@
'labelviewafterstopediting.' + this.widgetName,
'descriptionviewafterstopediting.' + this.widgetName,
'aliasesviewafterstopediting.' + this.widgetName,
- 'fingerprintgroupviewafterstopediting.' +
this.widgetName
+ 'entitytermsviewafterstopediting.' + this.widgetName
].join( ' ' ),
function( event, dropValue ) {
self._trigger( 'afterstopediting', null, [dropValue] );
@@ -329,7 +329,7 @@
this.$description.data( 'descriptionview' )[state]();
this.$aliases.data( 'aliasesview' )[state]();
if( this.$fingerprints ) {
- this.$fingerprints.data( 'fingerprintgroupview'
)[state]();
+ this.$fingerprints.data( 'entitytermsview' )[state]();
}
},
diff --git
a/lib/resources/jquery.wikibase/jquery.wikibase.fingerprintgroupview.js
b/lib/resources/jquery.wikibase/jquery.wikibase.fingerprintgroupview.js
deleted file mode 100644
index 54cc65b..0000000
--- a/lib/resources/jquery.wikibase/jquery.wikibase.fingerprintgroupview.js
+++ /dev/null
@@ -1,362 +0,0 @@
-/**
- * @licence GNU GPL v2+
- * @author H. Snater < [email protected] >
- */
-( function( mw, $ ) {
- 'use strict';
-
- var PARENT = $.ui.TemplatedWidget;
-
-/**
- * Encapsulates a fingerprintlistview widget.
- * @since 0.5
- * @extends jQuery.ui.TemplatedWidget
- *
- * @option {Object[]} value
- * Object representing the widget's value.
- * Structure: [
- * {
- * language: <{string]>,
- * label: <{wikibase.datamodel.Term}>,
- * description: <{wikibase.datamodel.Term}>
- * aliases: <{wikibase.datamodel.MultiTerm}>
- * }[, ...]
- * ]
- *
- * @option {string} entityId
- *
- * @option {wikibase.entityChangers.EntityChangersFactory}
entityChangersFactory
- *
- * @option {string} [helpMessage]
- * Default: 'Edit label, description and aliases per
language.'
- *
- * @event change
- * - {jQuery.Event}
- *
- * @event afterstartediting
- * - {jQuery.Event}
- *
- * @event stopediting
- * - {jQuery.Event}
- * - {boolean} Whether to drop the value.
- * - {Function} Callback function.
- *
- * @event afterstopediting
- * - {jQuery.Event}
- * - {boolean} Whether to drop the value.
- *
- * @event toggleerror
- * - {jQuery.Event}
- * - {Error|null}
- */
-$.widget( 'wikibase.fingerprintgroupview', PARENT, {
- options: {
- template: 'wikibase-fingerprintgroupview',
- templateParams: [
- function() {
- return mw.msg( 'wikibase-terms' );
- },
- '', // fingerprintlistview
- '' // edit section
- ],
- templateShortCuts: {
- $h: 'h2'
- },
- value: [],
- entityId: null,
- entityChangersFactory: null,
- helpMessage: 'Edit label, description and aliases per language.'
- },
-
- /**
- * @type {boolean}
- */
- _isInEditMode: false,
-
- /**
- * @type {jQuery}
- */
- $fingerprintlistview: null,
-
- /**
- * @see jQuery.ui.TemplatedWidget._create
- */
- _create: function() {
- if(
- !$.isArray( this.options.value )
- || !this.options.entityId
- || !this.options.entityChangersFactory
- ) {
- throw new Error( 'Required option(s) missing' );
- }
-
- PARENT.prototype._create.call( this );
-
- this.element.addClass( 'wikibase-fingerprintgroupview' );
-
- this.$fingerprintlistview = this.element.find(
'.wikibase-fingerprintlistview' );
-
- if( !this.$fingerprintlistview.length ) {
- this.$fingerprintlistview = $( '<table/>' ).appendTo(
this.element );
- }
-
- this._createFingerprintlistview();
- },
-
- /**
- * @see jQuery.ui.TemplatedWidget.destroy
- */
- destroy: function() {
- // When destroying a widget not initialized properly,
fingerprintlistview will not have been
- // created.
- if( this.$fingerprintlistview ) {
- var fingerprintlistview =
this.$fingerprintlistview.data( 'fingerprintlistview' );
-
- if( fingerprintlistview ) {
- fingerprintlistview.destroy();
- }
-
- this.$fingerprintlistview.remove();
- }
-
- this.element.removeClass( 'wikibase-fingerprintgroupview' );
- PARENT.prototype.destroy.call( this );
- },
-
- /**
- * Creates and initializes the fingerprintlistview widget.
- */
- _createFingerprintlistview: function() {
- var self = this,
- prefix =
$.wikibase.fingerprintlistview.prototype.widgetEventPrefix;
-
- this.$fingerprintlistview
- .on( prefix + 'change.' + this.widgetName, function( event ) {
- event.stopPropagation();
- self._trigger( 'change' );
- } )
- .on( prefix + 'toggleerror.' + this.widgetName, function(
event, error ) {
- event.stopPropagation();
- self.setError( error );
- } )
- .on(
- [
- prefix + 'create.' + this.widgetName,
- prefix + 'afterstartediting.' + this.widgetName,
- prefix + 'stopediting.' + this.widgetName,
- prefix + 'afterstopediting.' + this.widgetName,
- prefix + 'disable.' + this.widgetName
- ].join( ' ' ),
- function( event ) {
- event.stopPropagation();
- }
- )
- .fingerprintlistview( {
- value: this.options.value,
- entityId: this.options.entityId,
- entityChangersFactory:
this.options.entityChangersFactory
- } );
- },
-
- /**
- * @return {boolean}
- */
- isValid: function() {
- return this.$fingerprintlistview.data( 'fingerprintlistview'
).isValid();
- },
-
- /**
- * @return {boolean}
- */
- isInitialValue: function() {
- return this.$fingerprintlistview.data( 'fingerprintlistview'
).isInitialValue();
- },
-
- startEditing: function() {
- if( this._isInEditMode ) {
- return;
- }
-
- this._isInEditMode = true;
- this.element.addClass( 'wb-edit' );
-
- this.$fingerprintlistview.data( 'fingerprintlistview'
).startEditing();
-
- this._trigger( 'afterstartediting' );
- },
-
- /**
- * @param {boolean} [dropValue]
- */
- stopEditing: function( dropValue ) {
- var self = this;
-
- if( !this._isInEditMode || ( !this.isValid() ||
this.isInitialValue() ) && !dropValue ) {
- return;
- }
-
- dropValue = !!dropValue;
-
- this._trigger( 'stopediting', null, [dropValue] );
-
- this.disable();
-
- this.$fingerprintlistview
- .one(
-
'fingerprintlistviewafterstopediting.fingerprintgroupviewstopediting',
- function( event, dropValue ) {
- self._afterStopEditing( dropValue );
- self.$fingerprintlistview.off(
'.fingerprintgroupviewstopediting' );
- }
- )
- .one(
-
'fingerprintlistviewtoggleerror.fingerprintgroupviewstopediting',
- function( event, dropValue ) {
- self.enable();
- self.$fingerprintlistview.off(
'.fingerprintgroupviewstopediting' );
- }
- );
-
- this.$fingerprintlistview.data( 'fingerprintlistview'
).stopEditing( dropValue );
- },
-
- /**
- * @param {boolean} dropValue
- */
- _afterStopEditing: function( dropValue ) {
- if( !dropValue ) {
- this.options.value = this.value();
- }
- this._isInEditMode = false;
- this.enable();
- this.element.removeClass( 'wb-edit' );
- this._trigger( 'afterstopediting', null, [dropValue] );
- },
-
- cancelEditing: function() {
- this.stopEditing( true );
- },
-
- /**
- * @see jQuery.ui.TemplatedWidget.focus
- */
- focus: function() {
- this.$fingerprintlistview.data( 'fingerprintlistview' ).focus();
- },
-
- /**
- * Applies/Removes error state.
- *
- * @param {Error} [error]
- */
- setError: function( error ) {
- if( error ) {
- this.element.addClass( 'wb-error' );
- this._trigger( 'toggleerror', null, [error] );
- } else {
- this.removeError();
- this._trigger( 'toggleerror' );
- }
- },
-
- removeError: function() {
- this.element.removeClass( 'wb-error' );
- this.$fingerprintlistview.data( 'fingerprintlistview'
).removeError();
- },
-
- /**
- * @param {Object[]} [value]
- * @return {Object[]|*}
- */
- value: function( value ) {
- if( value !== undefined ) {
- return this.option( 'value', value );
- }
-
- return this.$fingerprintlistview.data( 'fingerprintlistview'
).value();
- },
-
- /**
- * @see jQuery.ui.TemplatedWidget._setOption
- */
- _setOption: function( key, value ) {
- if( key === 'value' ) {
- throw new Error( 'Impossible to set value after
initialization' );
- }
-
- var response = PARENT.prototype._setOption.apply( this,
arguments );
-
- if( key === 'disabled' ) {
- this.$fingerprintlistview.data( 'fingerprintlistview'
).option( key, value );
- }
-
- return response;
- }
-} );
-
-$.wikibase.toolbarcontroller.definition( 'edittoolbar', {
- id: 'fingerprintgroupview',
- selector: ':' + $.wikibase.fingerprintgroupview.prototype.namespace
- + '-' + $.wikibase.fingerprintgroupview.prototype.widgetName,
- events: {
- fingerprintgroupviewcreate: function( event, toolbarcontroller
) {
- var $fingerprintgroupview = $( event.target ),
- fingerprintgroupview =
$fingerprintgroupview.data( 'fingerprintgroupview' ),
- $headingContainer = $fingerprintgroupview.find(
-
'.wikibase-fingerprintgroupview-heading-container'
- ),
- $container = $headingContainer.children(
'.wikibase-toolbar-container' );
-
- if( !$container.length ) {
- $container = $( '<div/>' ).appendTo(
$headingContainer );
- }
-
- $fingerprintgroupview.edittoolbar( {
- $container: $container,
- interactionWidget: fingerprintgroupview
- } );
-
- $fingerprintgroupview.on( 'keyup.edittoolbar',
function( event ) {
- if( fingerprintgroupview.option( 'disabled' ) )
{
- return;
- }
- if( event.keyCode === $.ui.keyCode.ESCAPE ) {
- fingerprintgroupview.stopEditing( true
);
- } else if( event.keyCode === $.ui.keyCode.ENTER
) {
- fingerprintgroupview.stopEditing( false
);
- }
- } );
- },
- 'fingerprintgroupviewchange
fingerprintgroupviewafterstartediting': function( event ) {
- var $fingerprintgroupview = $( event.target ),
- fingerprintgroupview =
$fingerprintgroupview.data( 'fingerprintgroupview' ),
- edittoolbar = $fingerprintgroupview.data(
'edittoolbar' ),
- btnSave = edittoolbar.getButton( 'save' ),
- enable = fingerprintgroupview.isValid() &&
!fingerprintgroupview.isInitialValue();
-
- btnSave[enable ? 'enable' : 'disable']();
- },
- fingerprintgroupviewdisable: function( event ) {
- var $fingerprintgroupview = $( event.target ),
- fingerprintgroupview =
$fingerprintgroupview.data( 'fingerprintgroupview' ),
- edittoolbar = $fingerprintgroupview.data(
'edittoolbar' ),
- btnSave = edittoolbar.getButton( 'save' ),
- enable = fingerprintgroupview.isValid() &&
!fingerprintgroupview.isInitialValue();
-
- btnSave[enable ? 'enable' : 'disable']();
- },
- toolbareditgroupedit: function( event, toolbarcontroller ) {
- var $fingerprintgroupview = $( event.target ),
- fingerprintgroupview =
$fingerprintgroupview.data( 'fingerprintgroupview' );
-
- if( !fingerprintgroupview ) {
- return;
- }
-
- fingerprintgroupview.focus();
- }
- }
-} );
-
-
-}( mediaWiki, jQuery ) );
diff --git a/lib/resources/jquery.wikibase/resources.php
b/lib/resources/jquery.wikibase/resources.php
index 485447c..569625b 100644
--- a/lib/resources/jquery.wikibase/resources.php
+++ b/lib/resources/jquery.wikibase/resources.php
@@ -169,7 +169,7 @@
'jquery.ui.TemplatedWidget',
'jquery.wikibase.aliasesview',
'jquery.wikibase.descriptionview',
- 'jquery.wikibase.fingerprintgroupview',
+ 'jquery.wikibase.entitytermsview',
'jquery.wikibase.labelview',
'wikibase.datamodel.MultiTerm',
'wikibase.datamodel.Term',
@@ -182,32 +182,32 @@
),
),
- 'jquery.wikibase.fingerprintgroupview' => $moduleTemplate +
array(
+ 'jquery.wikibase.entitytermsview' => $moduleTemplate + array(
'scripts' => array(
- 'jquery.wikibase.fingerprintgroupview.js',
+ 'jquery.wikibase.entitytermsview.js',
),
'styles' => array(
-
'themes/default/jquery.wikibase.fingerprintgroupview.css',
+
'themes/default/jquery.wikibase.entitytermsview.css',
),
'dependencies' => array(
'jquery.ui.TemplatedWidget',
- 'jquery.wikibase.fingerprintlistview',
+
'jquery.wikibase.entitytermsforlanguagelistview',
),
'messages' => array(
'wikibase-terms',
),
),
- 'jquery.wikibase.fingerprintlistview' => $moduleTemplate +
array(
+ 'jquery.wikibase.entitytermsforlanguagelistview' =>
$moduleTemplate + array(
'scripts' => array(
- 'jquery.wikibase.fingerprintlistview.js',
+
'jquery.wikibase.entitytermsforlanguagelistview.js',
),
'styles' => array(
-
'themes/default/jquery.wikibase.fingerprintlistview.css',
+
'themes/default/jquery.wikibase.entitytermsforlanguagelistview.css',
),
'dependencies' => array(
'jquery.ui.TemplatedWidget',
- 'jquery.wikibase.fingerprintview',
+ 'jquery.wikibase.entitytermsforlanguage',
'wikibase.getLanguageNameByCode',
),
'messages' => array(
@@ -215,12 +215,12 @@
),
),
- 'jquery.wikibase.fingerprintview' => $moduleTemplate + array(
+ 'jquery.wikibase.entitytermsforlanguage' => $moduleTemplate +
array(
'scripts' => array(
- 'jquery.wikibase.fingerprintview.js',
+ 'jquery.wikibase.entitytermsforlanguage.js',
),
'styles' => array(
-
'themes/default/jquery.wikibase.fingerprintview.css',
+
'themes/default/jquery.wikibase.entitytermsforlanguage.css',
),
'dependencies' => array(
'jquery.ui.TemplatedWidget',
diff --git
a/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.entitytermsforlanguage.css
b/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.entitytermsforlanguage.css
new file mode 100644
index 0000000..dd1952a
--- /dev/null
+++
b/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.entitytermsforlanguage.css
@@ -0,0 +1,106 @@
+/**
+ * @licence GNU GPL v2+
+ * @author H. Snater < [email protected] >
+ */
+.wikibase-entitytermsforlanguage-language {
+ width: 25%;
+ word-wrap: break-word;
+ padding-left: 10px;
+ border-left: 1px solid #C9C9C9;
+}
+
+.wikibase-entitytermsforlanguage-label,
+.wikibase-entitytermsforlanguage-description,
+.wikibase-entitytermsforlanguage-aliases {
+ width: 75%;
+ word-wrap: break-word;
+ padding-left: 10px;
+}
+
+.wikibase-entitytermsforlanguage tr td:first-child + td + td {
+ width: 25%;
+}
+
+.wikibase-entitytermsforlanguage td {
+ border-top: 1px solid #C9C9C9;
+}
+
+.wikibase-entitytermsforlanguage td:last-child {
+ padding-left: 10px;
+}
+
+.wikibase-entitytermsforlanguage-label {
+ padding: 10px;
+}
+
+.wikibase-entitytermsforlanguage .wikibase-entitytermsforlanguage-label input,
+.wikibase-entitytermsforlanguage .wikibase-entitytermsforlanguage-description
input {
+ font-family: inherit;
+ width: 100%;
+}
+
+.wikibase-entitytermsforlanguage .wikibase-descriptionview
.wikibase-descriptionview-container {
+ padding-left: 0;
+}
+
+.wikibase-entitytermsforlanguage .wikibase-descriptionview
.wikibase-descriptionview-text {
+ line-height: 1.4;
+ padding-right: 0;
+}
+
+.wikibase-entitytermsforlanguage .wikibase-labelview,
+.wikibase-entitytermsforlanguage .wikibase-descriptionview,
+.wikibase-entitytermsforlanguage .wikibase-aliasesview {
+ display: block;
+ float: none;
+ margin-top: 0;
+ padding: 10px;
+ width: auto;
+}
+
+.wikibase-entitytermsforlanguage .wikibase-aliasesview
.wikibase-aliasesview-container {
+ display: inline-block !important;
+ padding-left: 0;
+ padding-right: 0;
+ width: 100%;
+}
+
+.wikibase-entitytermsforlanguage.wb-edit .wikibase-aliasesview-list {
+ font-size: 84%;
+}
+
+.wikibase-entitytermsforlanguage.wb-edit .wikibase-aliasesview-list * {
+ font-size: 100%;
+}
+
+.wikibase-entitytermsforlanguage.wb-edit .wikibase-labelview,
+.wikibase-entitytermsforlanguage.wb-edit .wikibase-descriptionview,
+.wikibase-entitytermsforlanguage.wb-edit .wikibase-aliasesview {
+ padding: 9px 8px 9px 7px;
+}
+
+.wikibase-entitytermsforlanguage .wb-error {
+ background-color: #FFDFC9;
+}
+
+/* the right column of the site links table (...-toolbarparent) should be
treated as "action" column */
+.wikibase-entitytermsforlanguage .wb-editsection {
+ width: 18em;
+ position: static; /* clear absolute positioning */
+ float: none; /* overwrite edit section's float: right */
+ padding: 0;
+ margin-left: 0; /* reset edit section's margin which is set in the
toolbar group instead;
+ applying margin to the edit section cell should not
have any effect at all */
+}
+
+.wikibase-entitytermsforlanguage .wb-editsection .wikibase-toolbar {
+ width: 18em; /* additionally assign width to toolbar to enforce width
in no-JS version */
+}
+
+.wikibase-entitytermsforlanguage .wb-editsection .wikibase-toolbar
.wikibase-toolbar {
+ margin-left: 1px; /* even out table cell's right border */
+}
+
+.wikibase-entitytermsforlanguage .wb-editsection .wikibase-toolbar
.wikibase-toolbar {
+ margin-left: 0; /* do not apply margin to nested toolbar groups */
+}
diff --git
a/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.entitytermsforlanguagelistview.css
b/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.entitytermsforlanguagelistview.css
new file mode 100644
index 0000000..d4d84cb
--- /dev/null
+++
b/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.entitytermsforlanguagelistview.css
@@ -0,0 +1,23 @@
+/**
+ * @licence GNU GPL v2+
+ * @author H. Snater < [email protected] >
+ */
+.wikibase-entitytermsforlanguagelistview {
+ border-bottom: 1px solid #C9C9C9;
+ border-right: 1px solid #C9C9C9;
+ border-spacing: 0;
+ clear: both;
+ width: 100%;
+}
+
+.wikibase-entitytermsforlanguagelistview tr td {
+ background: #F8F8F8;
+}
+
+.wikibase-entitytermsforlanguagelistview tbody:nth-child(even) td {
+ background: #F0F0F0;
+}
+
+.wikibase-entitytermsforlanguagelistview .wb-edit tr td {
+ background: #D6F3FF;
+}
diff --git
a/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.entitytermsview.css
b/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.entitytermsview.css
new file mode 100644
index 0000000..30e7168
--- /dev/null
+++
b/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.entitytermsview.css
@@ -0,0 +1,22 @@
+/**
+ * @licence GNU GPL v2+
+ * @author H. Snater < [email protected] >
+ */
+.wikibase-entitytermsview {
+ float: left;
+ width: 100%;
+}
+
+.wikibase-entitytermsview h2 {
+ width: auto;
+}
+
+.wikibase-entitytermsview .wikibase-toolbar-container
.wikibase-toolbar-container {
+ position: relative;
+}
+
+.wikibase-entitytermsview .wikibase-entitytermsview-heading-container >
.wikibase-toolbar-container {
+ float: right;
+ margin-top: 1.9em;
+ position: static;
+}
diff --git
a/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.fingerprintgroupview.css
b/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.fingerprintgroupview.css
deleted file mode 100644
index ff46399..0000000
---
a/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.fingerprintgroupview.css
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- * @licence GNU GPL v2+
- * @author H. Snater < [email protected] >
- */
-.wikibase-fingerprintgroupview {
- float: left;
- width: 100%;
-}
-
-.wikibase-fingerprintgroupview h2 {
- width: auto;
-}
-
-.wikibase-fingerprintgroupview .wikibase-toolbar-container
.wikibase-toolbar-container {
- position: relative;
-}
-
-.wikibase-fingerprintgroupview
.wikibase-fingerprintgroupview-heading-container > .wikibase-toolbar-container {
- float: right;
- margin-top: 1.9em;
- position: static;
-}
diff --git
a/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.fingerprintlistview.css
b/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.fingerprintlistview.css
deleted file mode 100644
index 6689867..0000000
---
a/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.fingerprintlistview.css
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * @licence GNU GPL v2+
- * @author H. Snater < [email protected] >
- */
-.wikibase-fingerprintlistview {
- border-bottom: 1px solid #C9C9C9;
- border-right: 1px solid #C9C9C9;
- border-spacing: 0;
- clear: both;
- width: 100%;
-}
-
-.wikibase-fingerprintlistview tr td {
- background: #F8F8F8;
-}
-
-.wikibase-fingerprintlistview tbody:nth-child(even) td {
- background: #F0F0F0;
-}
-
-.wikibase-fingerprintlistview .wb-edit tr td {
- background: #D6F3FF;
-}
diff --git
a/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.fingerprintview.css
b/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.fingerprintview.css
deleted file mode 100644
index 5462cde..0000000
---
a/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.fingerprintview.css
+++ /dev/null
@@ -1,106 +0,0 @@
-/**
- * @licence GNU GPL v2+
- * @author H. Snater < [email protected] >
- */
-.wikibase-fingerprintview-language {
- width: 25%;
- word-wrap: break-word;
- padding-left: 10px;
- border-left: 1px solid #C9C9C9;
-}
-
-.wikibase-fingerprintview-label,
-.wikibase-fingerprintview-description,
-.wikibase-fingerprintview-aliases {
- width: 75%;
- word-wrap: break-word;
- padding-left: 10px;
-}
-
-.wikibase-fingerprintview tr td:first-child + td + td {
- width: 25%;
-}
-
-.wikibase-fingerprintview td {
- border-top: 1px solid #C9C9C9;
-}
-
-.wikibase-fingerprintview td:last-child {
- padding-left: 10px;
-}
-
-.wikibase-fingerprintview-label {
- padding: 10px;
-}
-
-.wikibase-fingerprintview .wikibase-fingerprintview-label input,
-.wikibase-fingerprintview .wikibase-fingerprintview-description input {
- font-family: inherit;
- width: 100%;
-}
-
-.wikibase-fingerprintview .wikibase-descriptionview
.wikibase-descriptionview-container {
- padding-left: 0;
-}
-
-.wikibase-fingerprintview .wikibase-descriptionview
.wikibase-descriptionview-text {
- line-height: 1.4;
- padding-right: 0;
-}
-
-.wikibase-fingerprintview .wikibase-labelview,
-.wikibase-fingerprintview .wikibase-descriptionview,
-.wikibase-fingerprintview .wikibase-aliasesview {
- display: block;
- float: none;
- margin-top: 0;
- padding: 10px;
- width: auto;
-}
-
-.wikibase-fingerprintview .wikibase-aliasesview
.wikibase-aliasesview-container {
- display: inline-block !important;
- padding-left: 0;
- padding-right: 0;
- width: 100%;
-}
-
-.wikibase-fingerprintview.wb-edit .wikibase-aliasesview-list {
- font-size: 84%;
-}
-
-.wikibase-fingerprintview.wb-edit .wikibase-aliasesview-list * {
- font-size: 100%;
-}
-
-.wikibase-fingerprintview.wb-edit .wikibase-labelview,
-.wikibase-fingerprintview.wb-edit .wikibase-descriptionview,
-.wikibase-fingerprintview.wb-edit .wikibase-aliasesview {
- padding: 9px 8px 9px 7px;
-}
-
-.wikibase-fingerprintview .wb-error {
- background-color: #FFDFC9;
-}
-
-/* the right column of the site links table (...-toolbarparent) should be
treated as "action" column */
-.wikibase-fingerprintview .wb-editsection {
- width: 18em;
- position: static; /* clear absolute positioning */
- float: none; /* overwrite edit section's float: right */
- padding: 0;
- margin-left: 0; /* reset edit section's margin which is set in the
toolbar group instead;
- applying margin to the edit section cell should not
have any effect at all */
-}
-
-.wikibase-fingerprintview .wb-editsection .wikibase-toolbar {
- width: 18em; /* additionally assign width to toolbar to enforce width
in no-JS version */
-}
-
-.wikibase-fingerprintview .wb-editsection .wikibase-toolbar .wikibase-toolbar {
- margin-left: 1px; /* even out table cell's right border */
-}
-
-.wikibase-fingerprintview .wb-editsection .wikibase-toolbar .wikibase-toolbar {
- margin-left: 0; /* do not apply margin to nested toolbar groups */
-}
diff --git
a/lib/tests/qunit/jquery.wikibase/jquery.wikibase.entitytermsforlanguage.tests.js
b/lib/tests/qunit/jquery.wikibase/jquery.wikibase.entitytermsforlanguage.tests.js
new file mode 100644
index 0000000..56315b1
--- /dev/null
+++
b/lib/tests/qunit/jquery.wikibase/jquery.wikibase.entitytermsforlanguage.tests.js
@@ -0,0 +1,344 @@
+/**
+ * @licence GNU GPL v2+
+ * @author H. Snater < [email protected] >
+ */
+( function( $, wb, QUnit ) {
+'use strict';
+
+/**
+ * @param {Object} [options]
+ * @param {jQuery} [$node]
+ * @return {jQuery}
+ */
+var createEntitytermsforlanguage = function( options, $node ) {
+ options = $.extend( {
+ entityId: 'i am an EntityId',
+ entityChangersFactory: {
+ getAliasesChanger: function() { return 'i am an
AliasesChanger'; },
+ getDescriptionsChanger: function() {
+ return {
+ setDescription: function() { return
$.Deferred().resolve(); }
+ };
+ },
+ getLabelsChanger: function() {
+ return {
+ setLabel: function() { return
$.Deferred().resolve(); }
+ };
+ }
+ },
+ value: {
+ language: 'en',
+ label: new wb.datamodel.Term( 'en', 'test label' ),
+ description: new wb.datamodel.Term( 'en', 'test
description' ),
+ aliases: new wb.datamodel.MultiTerm( 'en', ['alias1',
'alias2'] )
+ }
+ }, options || {} );
+
+ $node = $node || $( '<tbody/>' ).appendTo( $( '<table/>' ) );
+
+ var $entitytermsforlanguage = $node
+ .addClass( 'test_entitytermsforlanguage' )
+ .entitytermsforlanguage( options );
+
+ var entitytermsforlanguage = $entitytermsforlanguage.data(
'entitytermsforlanguage' );
+
+ entitytermsforlanguage.$labelview.data( 'labelview' )._save
+ = entitytermsforlanguage.$descriptionview.data(
'descriptionview' )._save
+ = entitytermsforlanguage.$aliasesview.data( 'aliasesview'
)._save
+ = function() {
+ return $.Deferred().resolve( {
+ entity: {
+ lastrevid: 'i am a revision id'
+ }
+ } ).promise();
+ };
+
+ return $entitytermsforlanguage;
+};
+
+QUnit.module( 'jquery.wikibase.entitytermsforlanguage',
QUnit.newMwEnvironment( {
+ teardown: function() {
+ $( '.test_entitytermsforlanguage' ).each( function() {
+ var $entitytermsforlanguage = $( this ),
+ entitytermsforlanguage =
$entitytermsforlanguage.data( 'entitytermsforlanguage' );
+
+ if( entitytermsforlanguage ) {
+ entitytermsforlanguage.destroy();
+ }
+
+ $entitytermsforlanguage.remove();
+ } );
+ }
+} ) );
+
+QUnit.test( 'Create & destroy', function( assert ) {
+ assert.throws(
+ function() {
+ createEntitytermsforlanguage( { value: null } );
+ },
+ 'Throwing error when trying to initialize widget without a
value.'
+ );
+
+ var $entitytermsforlanguage = createEntitytermsforlanguage(),
+ entitytermsforlanguage = $entitytermsforlanguage.data(
'entitytermsforlanguage' );
+
+ assert.ok(
+ entitytermsforlanguage !== undefined,
+ 'Created widget.'
+ );
+
+ entitytermsforlanguage.destroy();
+
+ assert.ok(
+ $entitytermsforlanguage.data( 'entitytermsforlanguage' ) ===
undefined,
+ 'Destroyed widget.'
+ );
+} );
+
+QUnit.test( 'startEditing() & stopEditing()', 6, function( assert ) {
+ var $entitytermsforlanguage = createEntitytermsforlanguage(),
+ entitytermsforlanguage = $entitytermsforlanguage.data(
'entitytermsforlanguage' );
+
+ $entitytermsforlanguage
+ .on( 'entitytermsforlanguageafterstartediting', function( event ) {
+ assert.ok(
+ true,
+ 'Started edit mode.'
+ );
+ } )
+ .on( 'entitytermsforlanguageafterstopediting', function( event,
dropValue ) {
+ assert.ok(
+ true,
+ 'Stopped edit mode.'
+ );
+ } );
+
+ /**
+ * @param {Function} func
+ * @param {boolean} expectingEvent
+ * @return {jQuery.Promise}
+ */
+ function testEditModeChange( func, expectingEvent ) {
+ var deferred = $.Deferred();
+
+ if( !expectingEvent ) {
+ func();
+ return deferred.resolve().promise();
+ }
+
+ $entitytermsforlanguage
+ .one(
+
'entitytermsforlanguageafterstartediting.entitytermsforlanguagetest',
+ function( event ) {
+ $entitytermsforlanguage.off(
'.entitytermsforlanguagetest' );
+ deferred.resolve();
+ }
+ )
+ .one(
+
'entitytermsforlanguageafterstopediting.entitytermsforlanguagetest',
+ function( event, dropValue ) {
+ $entitytermsforlanguage.off(
'.entitytermsforlanguagetest' );
+ deferred.resolve();
+ }
+ );
+
+ func();
+
+ return deferred.promise();
+ }
+
+ var $queue = $( {} );
+
+ /**
+ * @param {jQuery} $queue
+ * @param {Function} func
+ * @param {boolean} [expectingEvent]
+ */
+ function addToQueue( $queue, func, expectingEvent ) {
+ if( expectingEvent === undefined ) {
+ expectingEvent = true;
+ }
+ $queue.queue( 'tests', function( next ) {
+ QUnit.stop();
+ testEditModeChange( func, expectingEvent ).always(
function() {
+ QUnit.start();
+ next();
+ } );
+ } );
+ }
+
+ addToQueue( $queue, function() {
+ entitytermsforlanguage.startEditing();
+ } );
+
+ addToQueue( $queue, function() {
+ entitytermsforlanguage.startEditing();
+ }, false );
+
+ addToQueue( $queue, function() {
+ entitytermsforlanguage.stopEditing( true );
+ } );
+
+ addToQueue( $queue, function() {
+ entitytermsforlanguage.stopEditing( true );
+ }, false );
+
+ addToQueue( $queue, function() {
+ entitytermsforlanguage.stopEditing();
+ }, false );
+
+ addToQueue( $queue, function() {
+ entitytermsforlanguage.startEditing();
+ } );
+
+ addToQueue( $queue, function() {
+ entitytermsforlanguage.$label.find( 'input' ).val( '' );
+ entitytermsforlanguage.stopEditing();
+ } );
+
+ addToQueue( $queue, function() {
+ entitytermsforlanguage.startEditing();
+ } );
+
+ addToQueue( $queue, function() {
+ entitytermsforlanguage.$description.find( 'input' ).val(
'changed description' );
+ entitytermsforlanguage.stopEditing();
+ } );
+
+ $queue.dequeue( 'tests' );
+} );
+
+QUnit.test( 'isInitialValue()', function( assert ) {
+ var $entitytermsforlanguage = createEntitytermsforlanguage(),
+ entitytermsforlanguage = $entitytermsforlanguage.data(
'entitytermsforlanguage' );
+
+ entitytermsforlanguage.startEditing();
+
+ assert.ok(
+ entitytermsforlanguage.isInitialValue(),
+ 'Verified isInitialValue() returning true.'
+ );
+
+ entitytermsforlanguage.$label.find( 'input' ).val( 'changed' );
+
+ assert.ok(
+ !entitytermsforlanguage.isInitialValue(),
+ 'Verified isInitialValue() returning false after changing
value.'
+ );
+
+ entitytermsforlanguage.$label.find( 'input' ).val( 'test label' );
+
+ assert.ok(
+ entitytermsforlanguage.isInitialValue(),
+ 'Verified isInitialValue() returning true after resetting to
initial value.'
+ );
+} );
+
+QUnit.test( 'setError()', function( assert ) {
+ var $entitytermsforlanguage = createEntitytermsforlanguage(),
+ entitytermsforlanguage = $entitytermsforlanguage.data(
'entitytermsforlanguage' );
+
+ $entitytermsforlanguage
+ .on( 'entitytermsforlanguagetoggleerror', function( event, error ) {
+ assert.ok(
+ true,
+ 'Triggered "toggleerror" event.'
+ );
+ } );
+
+ entitytermsforlanguage.setError();
+} );
+
+QUnit.test( 'value()', function( assert ) {
+ var $entitytermsforlanguage = createEntitytermsforlanguage(),
+ entitytermsforlanguage = $entitytermsforlanguage.data(
'entitytermsforlanguage' ),
+ label = new wb.datamodel.Term( 'en', 'changed label' ),
+ description = new wb.datamodel.Term( 'en', 'test description' ),
+ aliases = new wb.datamodel.MultiTerm( 'en', ['alias1',
'alias2'] );
+
+ assert.throws(
+ function() {
+ entitytermsforlanguage.value( null );
+ },
+ 'Trying to set no value fails.'
+ );
+
+ entitytermsforlanguage.value( {
+ language: 'en',
+ label: label,
+ description: description,
+ aliases: aliases
+ } );
+
+ assert.ok(
+ entitytermsforlanguage.value().label.equals( label ),
+ 'Set new label.'
+ );
+
+ assert.ok(
+ entitytermsforlanguage.value().description.equals( description
),
+ 'Did not change description.'
+ );
+
+ label = new wb.datamodel.Term( 'en', 'test label' );
+ description = new wb.datamodel.Term( 'en', '' );
+
+ entitytermsforlanguage.value( {
+ language: 'en',
+ label: label,
+ description: description,
+ aliases: aliases
+ } );
+
+ assert.ok(
+ entitytermsforlanguage.value().label.equals( label ),
+ 'Reset label.'
+ );
+
+ assert.ok(
+ entitytermsforlanguage.value().description.equals( description
),
+ 'Removed description.'
+ );
+
+ aliases = new wb.datamodel.MultiTerm( 'en', ['alias1', 'alias2',
'alias3'] );
+
+ entitytermsforlanguage.value( {
+ language: 'en',
+ label: label,
+ description: description,
+ aliases: aliases
+ } );
+
+ assert.ok(
+ entitytermsforlanguage.value().aliases.equals( aliases ),
+ 'Added alias.'
+ );
+
+ aliases = new wb.datamodel.MultiTerm( 'en', [] );
+
+ entitytermsforlanguage.value( {
+ language: 'en',
+ label: label,
+ description: description,
+ aliases: aliases
+ } );
+
+ assert.ok(
+ entitytermsforlanguage.value().aliases.equals( aliases ),
+ 'Removed aliases.'
+ );
+
+ assert.throws(
+ function() {
+ entitytermsforlanguage.value( {
+ language: 'de',
+ label: label,
+ description: description,
+ aliases: aliases
+ } );
+ },
+ 'Trying to change language fails.'
+ );
+} );
+
+}( jQuery, wikibase, QUnit ) );
diff --git
a/lib/tests/qunit/jquery.wikibase/jquery.wikibase.entitytermsforlanguagelistview.tests.js
b/lib/tests/qunit/jquery.wikibase/jquery.wikibase.entitytermsforlanguagelistview.tests.js
new file mode 100644
index 0000000..cf32842
--- /dev/null
+++
b/lib/tests/qunit/jquery.wikibase/jquery.wikibase.entitytermsforlanguagelistview.tests.js
@@ -0,0 +1,157 @@
+/**
+ * @licence GNU GPL v2+
+ * @author H. Snater < [email protected] >
+ */
+( function( $, wb, QUnit ) {
+'use strict';
+
+/**
+ * @param {Object} [options]
+ * @return {jQuery}
+ */
+var createEntitytermsforlanguagelistview = function( options ) {
+ options = $.extend( {
+ entityId: 'i am an EntityId',
+ entityChangersFactory: {
+ getAliasesChanger: function() { return 'i am an
AliasesChanger'; },
+ getDescriptionsChanger: function() { return 'i am a
DescriptionsChanger'; },
+ getLabelsChanger: function() { return 'i am a
LabelsChanger'; }
+ },
+ value: [
+ {
+ language: 'de',
+ label: new wb.datamodel.Term( 'de', 'de-label'
),
+ description: new wb.datamodel.Term( 'de',
'de-description' ),
+ aliases: new wb.datamodel.MultiTerm( 'de', [] )
+ }, {
+ language: 'en',
+ label: new wb.datamodel.Term( 'en', 'en-label'
),
+ description: new wb.datamodel.Term( 'en',
'en-description' ),
+ aliases: new wb.datamodel.MultiTerm( 'en', [] )
+ }
+ ]
+ }, options || {} );
+
+ return $( '<table/>' )
+ .appendTo( 'body' )
+ .addClass( 'test_entitytermsforlanguagelistview' )
+ .entitytermsforlanguagelistview( options );
+};
+
+QUnit.module( 'jquery.wikibase.entitytermsforlanguagelistview',
QUnit.newMwEnvironment( {
+ teardown: function() {
+ $( '.test_entitytermsforlanguagelistview' ).each( function() {
+ var $entitytermsforlanguagelistview = $( this ),
+ entitytermsforlanguagelistview
+ = $entitytermsforlanguagelistview.data(
'entitytermsforlanguagelistview' );
+
+ if( entitytermsforlanguagelistview ) {
+ entitytermsforlanguagelistview.destroy();
+ }
+
+ $entitytermsforlanguagelistview.remove();
+ } );
+ }
+} ) );
+
+QUnit.test( 'Create & destroy', function( assert ) {
+ assert.throws(
+ function() {
+ createEntitytermsforlanguagelistview( { value: null } );
+ },
+ 'Throwing error when trying to initialize widget without a
value.'
+ );
+
+ var $entitytermsforlanguagelistview =
createEntitytermsforlanguagelistview(),
+ entitytermsforlanguagelistview
+ = $entitytermsforlanguagelistview.data(
'entitytermsforlanguagelistview' );
+
+ assert.ok(
+ entitytermsforlanguagelistview !== undefined,
+ 'Created widget.'
+ );
+
+ entitytermsforlanguagelistview.destroy();
+
+ assert.ok(
+ $entitytermsforlanguagelistview.data(
'entitytermsforlanguagelistview' ) === undefined,
+ 'Destroyed widget.'
+ );
+} );
+
+QUnit.test( 'isInitialValue()', function( assert ) {
+ var $entitytermsforlanguagelistview =
createEntitytermsforlanguagelistview(),
+ entitytermsforlanguagelistview
+ = $entitytermsforlanguagelistview.data(
'entitytermsforlanguagelistview' );
+
+ entitytermsforlanguagelistview.startEditing();
+
+ assert.ok(
+ entitytermsforlanguagelistview.isInitialValue(),
+ 'Verified isInitialValue() returning true.'
+ );
+
+ var $item = $entitytermsforlanguagelistview.data( 'listview' ).addItem(
{
+ language: 'fa',
+ label: new wb.datamodel.Term( 'fa', 'fa-label' ),
+ description: new wb.datamodel.Term( 'fa', 'fa-description' ),
+ aliases: new wb.datamodel.MultiTerm( 'fa', [] )
+ } );
+
+ assert.ok(
+ !entitytermsforlanguagelistview.isInitialValue(),
+ 'Verified isInitialValue() returning false after changing
value.'
+ );
+
+ $entitytermsforlanguagelistview.data( 'listview' ).removeItem( $item );
+
+ assert.ok(
+ entitytermsforlanguagelistview.isInitialValue(),
+ 'Verified isInitialValue() returning true after resetting to
initial value.'
+ );
+} );
+
+// TODO: Add test which is kind of pointless without having a method to save a
whole fingerprint
+// which could be overwritten by the test mechanism. Instead, the "save"
functions of labelview,
+// descriptionview and aliasesview for each single entitytermsforlanguage
would need to be
+// overwritten (see entitytermsforlanguage tests).
+// QUnit.test( 'startEditing() & stopEditing()', function( assert ) {} );
+
+QUnit.test( 'setError()', function( assert ) {
+ var $entitytermsforlanguagelistview =
createEntitytermsforlanguagelistview(),
+ entitytermsforlanguagelistview
+ = $entitytermsforlanguagelistview.data(
'entitytermsforlanguagelistview' );
+
+ $entitytermsforlanguagelistview
+ .on( 'entitytermsforlanguagelistviewtoggleerror', function( event,
error ) {
+ assert.ok(
+ true,
+ 'Triggered "toggleerror" event.'
+ );
+ } );
+
+ entitytermsforlanguagelistview.setError();
+} );
+
+QUnit.test( 'value()', function( assert ) {
+ var $entitytermsforlanguagelistview =
createEntitytermsforlanguagelistview(),
+ entitytermsforlanguagelistview
+ = $entitytermsforlanguagelistview.data(
'entitytermsforlanguagelistview' );
+
+ // TODO: Enhance test as soon as SiteLinkList is implemented in
DataModelJavaScript and used
+ // as value object.
+ assert.equal(
+ entitytermsforlanguagelistview.value().length,
+ 2,
+ 'Retrieved value.'
+ );
+
+ assert.throws(
+ function() {
+ entitytermsforlanguagelistview.value( [] );
+ },
+ 'Throwing error when trying to set a new value.'
+ );
+} );
+
+}( jQuery, wikibase, QUnit ) );
diff --git
a/lib/tests/qunit/jquery.wikibase/jquery.wikibase.entitytermsview.tests.js
b/lib/tests/qunit/jquery.wikibase/jquery.wikibase.entitytermsview.tests.js
new file mode 100644
index 0000000..59d86b3
--- /dev/null
+++ b/lib/tests/qunit/jquery.wikibase/jquery.wikibase.entitytermsview.tests.js
@@ -0,0 +1,114 @@
+/**
+ * @licence GNU GPL v2+
+ * @author H. Snater < [email protected] >
+ */
+( function( $, wb, QUnit ) {
+'use strict';
+
+/**
+ * @param {Object} [options]
+ * @return {jQuery}
+ */
+var createEntitytermsview = function( options ) {
+ options = $.extend( {
+ value: [
+ {
+ language: 'de',
+ label: new wb.datamodel.Term( 'de', 'de-label'
),
+ description: new wb.datamodel.Term( 'de',
'de-description' ),
+ aliases: new wb.datamodel.MultiTerm( 'de', [] )
+ }, {
+ language: 'en',
+ label: new wb.datamodel.Term( 'en', 'en-label'
),
+ description: new wb.datamodel.Term( 'en',
'en-description' ),
+ aliases: new wb.datamodel.MultiTerm( 'en', [] )
+ }
+ ],
+ entityId: 'i am an EntityId',
+ entityChangersFactory: {
+ getAliasesChanger: function() { return 'i am an
AliasesChanger'; },
+ getDescriptionsChanger: function() { return 'i am a
DescriptionsChanger'; },
+ getLabelsChanger: function() { return 'i am a
LabelsChanger'; }
+ }
+ }, options || {} );
+
+ return $( '<div/>' )
+ .appendTo( 'body' )
+ .addClass( 'test_entitytermsview' )
+ .entitytermsview( options );
+};
+
+QUnit.module( 'jquery.wikibase.entitytermsview', QUnit.newMwEnvironment( {
+ teardown: function() {
+ $( '.test_entitytermsview' ).each( function() {
+ var $entitytermsview = $( this ),
+ entitytermsview = $entitytermsview.data(
'entitytermsview' );
+
+ if( entitytermsview ) {
+ entitytermsview.destroy();
+ }
+
+ $entitytermsview.remove();
+ } );
+ }
+} ) );
+
+QUnit.test( 'Create & destroy', function( assert ) {
+ assert.throws(
+ function() {
+ createEntitytermsview( { value: null } );
+ },
+ 'Throwing error when trying to initialize widget without a
value.'
+ );
+
+ var $entitytermsview = createEntitytermsview(),
+ entitytermsview = $entitytermsview.data( 'entitytermsview' );
+
+ assert.ok(
+ entitytermsview !== undefined,
+ 'Created widget.'
+ );
+
+ entitytermsview.destroy();
+
+ assert.ok(
+ $entitytermsview.data( 'entitytermsview' ) === undefined,
+ 'Destroyed widget.'
+ );
+} );
+
+QUnit.test( 'setError()', function( assert ) {
+ var $entitytermsview = createEntitytermsview(),
+ entitytermsview = $entitytermsview.data( 'entitytermsview' );
+
+ $entitytermsview
+ .on( 'entitytermsviewtoggleerror', function( event, error ) {
+ assert.ok(
+ true,
+ 'Triggered "toggleerror" event.'
+ );
+ } );
+
+ entitytermsview.setError();
+} );
+
+QUnit.test( 'value()', function( assert ) {
+ var $entitytermsview = createEntitytermsview(),
+ entitytermsview = $entitytermsview.data( 'entitytermsview' );
+
+ // TODO: Enhance test as soon as SiteLinkList is implemented in
DataModelJavaScript
+ assert.equal(
+ entitytermsview.value().length,
+ 2,
+ 'Retrieved value.'
+ );
+
+ assert.throws(
+ function() {
+ entitytermsview.value( [] );
+ },
+ 'Throwing error when trying to set a new value.'
+ );
+} );
+
+}( jQuery, wikibase, QUnit ) );
diff --git
a/lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintgroupview.tests.js
b/lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintgroupview.tests.js
deleted file mode 100644
index c43f67e..0000000
---
a/lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintgroupview.tests.js
+++ /dev/null
@@ -1,114 +0,0 @@
-/**
- * @licence GNU GPL v2+
- * @author H. Snater < [email protected] >
- */
-( function( $, wb, QUnit ) {
-'use strict';
-
-/**
- * @param {Object} [options]
- * @return {jQuery}
- */
-var createFingerprintgroupview = function( options ) {
- options = $.extend( {
- value: [
- {
- language: 'de',
- label: new wb.datamodel.Term( 'de', 'de-label'
),
- description: new wb.datamodel.Term( 'de',
'de-description' ),
- aliases: new wb.datamodel.MultiTerm( 'de', [] )
- }, {
- language: 'en',
- label: new wb.datamodel.Term( 'en', 'en-label'
),
- description: new wb.datamodel.Term( 'en',
'en-description' ),
- aliases: new wb.datamodel.MultiTerm( 'en', [] )
- }
- ],
- entityId: 'i am an EntityId',
- entityChangersFactory: {
- getAliasesChanger: function() { return 'i am an
AliasesChanger'; },
- getDescriptionsChanger: function() { return 'i am a
DescriptionsChanger'; },
- getLabelsChanger: function() { return 'i am a
LabelsChanger'; }
- }
- }, options || {} );
-
- return $( '<div/>' )
- .appendTo( 'body' )
- .addClass( 'test_fingerprintgroupview' )
- .fingerprintgroupview( options );
-};
-
-QUnit.module( 'jquery.wikibase.fingerprintgroupview', QUnit.newMwEnvironment( {
- teardown: function() {
- $( '.test_fingerprintgroupview' ).each( function() {
- var $fingerprintgroupview = $( this ),
- fingerprintgroupview =
$fingerprintgroupview.data( 'fingerprintgroupview' );
-
- if( fingerprintgroupview ) {
- fingerprintgroupview.destroy();
- }
-
- $fingerprintgroupview.remove();
- } );
- }
-} ) );
-
-QUnit.test( 'Create & destroy', function( assert ) {
- assert.throws(
- function() {
- createFingerprintgroupview( { value: null } );
- },
- 'Throwing error when trying to initialize widget without a
value.'
- );
-
- var $fingerprintgroupview = createFingerprintgroupview(),
- fingerprintgroupview = $fingerprintgroupview.data(
'fingerprintgroupview' );
-
- assert.ok(
- fingerprintgroupview !== undefined,
- 'Created widget.'
- );
-
- fingerprintgroupview.destroy();
-
- assert.ok(
- $fingerprintgroupview.data( 'fingerprintgroupview' ) ===
undefined,
- 'Destroyed widget.'
- );
-} );
-
-QUnit.test( 'setError()', function( assert ) {
- var $fingerprintgroupview = createFingerprintgroupview(),
- fingerprintgroupview = $fingerprintgroupview.data(
'fingerprintgroupview' );
-
- $fingerprintgroupview
- .on( 'fingerprintgroupviewtoggleerror', function( event, error ) {
- assert.ok(
- true,
- 'Triggered "toggleerror" event.'
- );
- } );
-
- fingerprintgroupview.setError();
-} );
-
-QUnit.test( 'value()', function( assert ) {
- var $fingerprintgroupview = createFingerprintgroupview(),
- fingerprintgroupview = $fingerprintgroupview.data(
'fingerprintgroupview' );
-
- // TODO: Enhance test as soon as SiteLinkList is implemented in
DataModelJavaScript
- assert.equal(
- fingerprintgroupview.value().length,
- 2,
- 'Retrieved value.'
- );
-
- assert.throws(
- function() {
- fingerprintgroupview.value( [] );
- },
- 'Throwing error when trying to set a new value.'
- );
-} );
-
-}( jQuery, wikibase, QUnit ) );
diff --git
a/lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintlistview.tests.js
b/lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintlistview.tests.js
deleted file mode 100644
index b286060..0000000
---
a/lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintlistview.tests.js
+++ /dev/null
@@ -1,152 +0,0 @@
-/**
- * @licence GNU GPL v2+
- * @author H. Snater < [email protected] >
- */
-( function( $, wb, QUnit ) {
-'use strict';
-
-/**
- * @param {Object} [options]
- * @return {jQuery}
- */
-var createFingerprintlistview = function( options ) {
- options = $.extend( {
- entityId: 'i am an EntityId',
- entityChangersFactory: {
- getAliasesChanger: function() { return 'i am an
AliasesChanger'; },
- getDescriptionsChanger: function() { return 'i am a
DescriptionsChanger'; },
- getLabelsChanger: function() { return 'i am a
LabelsChanger'; }
- },
- value: [
- {
- language: 'de',
- label: new wb.datamodel.Term( 'de', 'de-label'
),
- description: new wb.datamodel.Term( 'de',
'de-description' ),
- aliases: new wb.datamodel.MultiTerm( 'de', [] )
- }, {
- language: 'en',
- label: new wb.datamodel.Term( 'en', 'en-label'
),
- description: new wb.datamodel.Term( 'en',
'en-description' ),
- aliases: new wb.datamodel.MultiTerm( 'en', [] )
- }
- ]
- }, options || {} );
-
- return $( '<table/>' )
- .appendTo( 'body' )
- .addClass( 'test_fingerprintlistview' )
- .fingerprintlistview( options );
-};
-
-QUnit.module( 'jquery.wikibase.fingerprintlistview', QUnit.newMwEnvironment( {
- teardown: function() {
- $( '.test_fingerprintlistview' ).each( function() {
- var $fingerprintlistview = $( this ),
- fingerprintlistview =
$fingerprintlistview.data( 'fingerprintlistview' );
-
- if( fingerprintlistview ) {
- fingerprintlistview.destroy();
- }
-
- $fingerprintlistview.remove();
- } );
- }
-} ) );
-
-QUnit.test( 'Create & destroy', function( assert ) {
- assert.throws(
- function() {
- createFingerprintlistview( { value: null } );
- },
- 'Throwing error when trying to initialize widget without a
value.'
- );
-
- var $fingerprintlistview = createFingerprintlistview(),
- fingerprintlistview = $fingerprintlistview.data(
'fingerprintlistview' );
-
- assert.ok(
- fingerprintlistview !== undefined,
- 'Created widget.'
- );
-
- fingerprintlistview.destroy();
-
- assert.ok(
- $fingerprintlistview.data( 'fingerprintlistview' ) ===
undefined,
- 'Destroyed widget.'
- );
-} );
-
-QUnit.test( 'isInitialValue()', function( assert ) {
- var $fingerprintlistview = createFingerprintlistview(),
- fingerprintlistview = $fingerprintlistview.data(
'fingerprintlistview' );
-
- fingerprintlistview.startEditing();
-
- assert.ok(
- fingerprintlistview.isInitialValue(),
- 'Verified isInitialValue() returning true.'
- );
-
- var $item = $fingerprintlistview.data( 'listview' ).addItem( {
- language: 'fa',
- label: new wb.datamodel.Term( 'fa', 'fa-label' ),
- description: new wb.datamodel.Term( 'fa', 'fa-description' ),
- aliases: new wb.datamodel.MultiTerm( 'fa', [] )
- } );
-
- assert.ok(
- !fingerprintlistview.isInitialValue(),
- 'Verified isInitialValue() returning false after changing
value.'
- );
-
- $fingerprintlistview.data( 'listview' ).removeItem( $item );
-
- assert.ok(
- fingerprintlistview.isInitialValue(),
- 'Verified isInitialValue() returning true after resetting to
initial value.'
- );
-} );
-
-// TODO: Add test which is kind of pointless without having a method to save a
whole fingerprint
-// which could be overwritten by the test mechanism. Instead, the "save"
functions of labelview,
-// descriptionview and aliasesview for each single fingerprintview would need
to be overwritten
-// (see fingerprintview tests).
-// QUnit.test( 'startEditing() & stopEditing()', function( assert ) {} );
-
-QUnit.test( 'setError()', function( assert ) {
- var $fingerprintlistview = createFingerprintlistview(),
- fingerprintlistview = $fingerprintlistview.data(
'fingerprintlistview' );
-
- $fingerprintlistview
- .on( 'fingerprintlistviewtoggleerror', function( event, error ) {
- assert.ok(
- true,
- 'Triggered "toggleerror" event.'
- );
- } );
-
- fingerprintlistview.setError();
-} );
-
-QUnit.test( 'value()', function( assert ) {
- var $fingerprintlistview = createFingerprintlistview(),
- fingerprintlistview = $fingerprintlistview.data(
'fingerprintlistview' );
-
- // TODO: Enhance test as soon as SiteLinkList is implemented in
DataModelJavaScript and used
- // as value object.
- assert.equal(
- fingerprintlistview.value().length,
- 2,
- 'Retrieved value.'
- );
-
- assert.throws(
- function() {
- fingerprintlistview.value( [] );
- },
- 'Throwing error when trying to set a new value.'
- );
-} );
-
-}( jQuery, wikibase, QUnit ) );
diff --git
a/lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintview.tests.js
b/lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintview.tests.js
deleted file mode 100644
index f23d8ba..0000000
--- a/lib/tests/qunit/jquery.wikibase/jquery.wikibase.fingerprintview.tests.js
+++ /dev/null
@@ -1,338 +0,0 @@
-/**
- * @licence GNU GPL v2+
- * @author H. Snater < [email protected] >
- */
-( function( $, wb, QUnit ) {
-'use strict';
-
-/**
- * @param {Object} [options]
- * @param {jQuery} [$node]
- * @return {jQuery}
- */
-var createFingerprintview = function( options, $node ) {
- options = $.extend( {
- entityId: 'i am an EntityId',
- entityChangersFactory: {
- getAliasesChanger: function() { return 'i am an
AliasesChanger'; },
- getDescriptionsChanger: function() {
- return {
- setDescription: function() { return
$.Deferred().resolve(); }
- };
- },
- getLabelsChanger: function() {
- return {
- setLabel: function() { return
$.Deferred().resolve(); }
- };
- }
- },
- value: {
- language: 'en',
- label: new wb.datamodel.Term( 'en', 'test label' ),
- description: new wb.datamodel.Term( 'en', 'test
description' ),
- aliases: new wb.datamodel.MultiTerm( 'en', ['alias1',
'alias2'] )
- }
- }, options || {} );
-
- $node = $node || $( '<tbody/>' ).appendTo( $( '<table/>' ) );
-
- var $fingerprintview = $node
- .addClass( 'test_fingerprintview' )
- .fingerprintview( options );
-
- var fingerprintview = $fingerprintview.data( 'fingerprintview' );
-
- fingerprintview.$labelview.data( 'labelview' )._save
- = fingerprintview.$descriptionview.data( 'descriptionview'
)._save
- = fingerprintview.$aliasesview.data( 'aliasesview' )._save
- = function() {
- return $.Deferred().resolve( {
- entity: {
- lastrevid: 'i am a revision id'
- }
- } ).promise();
- };
-
- return $fingerprintview;
-};
-
-QUnit.module( 'jquery.wikibase.fingerprintview', QUnit.newMwEnvironment( {
- teardown: function() {
- $( '.test_fingerprintview' ).each( function() {
- var $fingerprintview = $( this ),
- fingerprintview = $fingerprintview.data(
'fingerprintview' );
-
- if( fingerprintview ) {
- fingerprintview.destroy();
- }
-
- $fingerprintview.remove();
- } );
- }
-} ) );
-
-QUnit.test( 'Create & destroy', function( assert ) {
- assert.throws(
- function() {
- createFingerprintview( { value: null } );
- },
- 'Throwing error when trying to initialize widget without a
value.'
- );
-
- var $fingerprintview = createFingerprintview(),
- fingerprintview = $fingerprintview.data( 'fingerprintview' );
-
- assert.ok(
- fingerprintview !== undefined,
- 'Created widget.'
- );
-
- fingerprintview.destroy();
-
- assert.ok(
- $fingerprintview.data( 'fingerprintview' ) === undefined,
- 'Destroyed widget.'
- );
-} );
-
-QUnit.test( 'startEditing() & stopEditing()', 6, function( assert ) {
- var $fingerprintview = createFingerprintview(),
- fingerprintview = $fingerprintview.data( 'fingerprintview' );
-
- $fingerprintview
- .on( 'fingerprintviewafterstartediting', function( event ) {
- assert.ok(
- true,
- 'Started edit mode.'
- );
- } )
- .on( 'fingerprintviewafterstopediting', function( event, dropValue ) {
- assert.ok(
- true,
- 'Stopped edit mode.'
- );
- } );
-
- /**
- * @param {Function} func
- * @param {boolean} expectingEvent
- * @return {jQuery.Promise}
- */
- function testEditModeChange( func, expectingEvent ) {
- var deferred = $.Deferred();
-
- if( !expectingEvent ) {
- func();
- return deferred.resolve().promise();
- }
-
- $fingerprintview
- .one( 'fingerprintviewafterstartediting.fingerprintviewtest',
function( event ) {
- $fingerprintview.off( '.fingerprintviewtest' );
- deferred.resolve();
- } )
- .one( 'fingerprintviewafterstopediting.fingerprintviewtest',
function( event, dropValue ) {
- $fingerprintview.off( '.fingerprintviewtest' );
- deferred.resolve();
- } );
-
- func();
-
- return deferred.promise();
- }
-
- var $queue = $( {} );
-
- /**
- * @param {jQuery} $queue
- * @param {Function} func
- * @param {boolean} [expectingEvent]
- */
- function addToQueue( $queue, func, expectingEvent ) {
- if( expectingEvent === undefined ) {
- expectingEvent = true;
- }
- $queue.queue( 'tests', function( next ) {
- QUnit.stop();
- testEditModeChange( func, expectingEvent ).always(
function() {
- QUnit.start();
- next();
- } );
- } );
- }
-
- addToQueue( $queue, function() {
- fingerprintview.startEditing();
- } );
-
- addToQueue( $queue, function() {
- fingerprintview.startEditing();
- }, false );
-
- addToQueue( $queue, function() {
- fingerprintview.stopEditing( true );
- } );
-
- addToQueue( $queue, function() {
- fingerprintview.stopEditing( true );
- }, false );
-
- addToQueue( $queue, function() {
- fingerprintview.stopEditing();
- }, false );
-
- addToQueue( $queue, function() {
- fingerprintview.startEditing();
- } );
-
- addToQueue( $queue, function() {
- fingerprintview.$label.find( 'input' ).val( '' );
- fingerprintview.stopEditing();
- } );
-
- addToQueue( $queue, function() {
- fingerprintview.startEditing();
- } );
-
- addToQueue( $queue, function() {
- fingerprintview.$description.find( 'input' ).val( 'changed
description' );
- fingerprintview.stopEditing();
- } );
-
- $queue.dequeue( 'tests' );
-} );
-
-QUnit.test( 'isInitialValue()', function( assert ) {
- var $fingerprintview = createFingerprintview(),
- fingerprintview = $fingerprintview.data( 'fingerprintview' );
-
- fingerprintview.startEditing();
-
- assert.ok(
- fingerprintview.isInitialValue(),
- 'Verified isInitialValue() returning true.'
- );
-
- fingerprintview.$label.find( 'input' ).val( 'changed' );
-
- assert.ok(
- !fingerprintview.isInitialValue(),
- 'Verified isInitialValue() returning false after changing
value.'
- );
-
- fingerprintview.$label.find( 'input' ).val( 'test label' );
-
- assert.ok(
- fingerprintview.isInitialValue(),
- 'Verified isInitialValue() returning true after resetting to
initial value.'
- );
-} );
-
-QUnit.test( 'setError()', function( assert ) {
- var $fingerprintview = createFingerprintview(),
- fingerprintview = $fingerprintview.data( 'fingerprintview' );
-
- $fingerprintview
- .on( 'fingerprintviewtoggleerror', function( event, error ) {
- assert.ok(
- true,
- 'Triggered "toggleerror" event.'
- );
- } );
-
- fingerprintview.setError();
-} );
-
-QUnit.test( 'value()', function( assert ) {
- var $fingerprintview = createFingerprintview(),
- fingerprintview = $fingerprintview.data( 'fingerprintview' ),
- label = new wb.datamodel.Term( 'en', 'changed label' ),
- description = new wb.datamodel.Term( 'en', 'test description' ),
- aliases = new wb.datamodel.MultiTerm( 'en', ['alias1',
'alias2'] );
-
- assert.throws(
- function() {
- fingerprintview.value( null );
- },
- 'Trying to set no value fails.'
- );
-
- fingerprintview.value( {
- language: 'en',
- label: label,
- description: description,
- aliases: aliases
- } );
-
- assert.ok(
- fingerprintview.value().label.equals( label ),
- 'Set new label.'
- );
-
- assert.ok(
- fingerprintview.value().description.equals( description ),
- 'Did not change description.'
- );
-
- label = new wb.datamodel.Term( 'en', 'test label' );
- description = new wb.datamodel.Term( 'en', '' );
-
- fingerprintview.value( {
- language: 'en',
- label: label,
- description: description,
- aliases: aliases
- } );
-
- assert.ok(
- fingerprintview.value().label.equals( label ),
- 'Reset label.'
- );
-
- assert.ok(
- fingerprintview.value().description.equals( description ),
- 'Removed description.'
- );
-
- aliases = new wb.datamodel.MultiTerm( 'en', ['alias1', 'alias2',
'alias3'] );
-
- fingerprintview.value( {
- language: 'en',
- label: label,
- description: description,
- aliases: aliases
- } );
-
- assert.ok(
- fingerprintview.value().aliases.equals( aliases ),
- 'Added alias.'
- );
-
- aliases = new wb.datamodel.MultiTerm( 'en', [] );
-
- fingerprintview.value( {
- language: 'en',
- label: label,
- description: description,
- aliases: aliases
- } );
-
- assert.ok(
- fingerprintview.value().aliases.equals( aliases ),
- 'Removed aliases.'
- );
-
- assert.throws(
- function() {
- fingerprintview.value( {
- language: 'de',
- label: label,
- description: description,
- aliases: aliases
- } );
- },
- 'Trying to change language fails.'
- );
-} );
-
-}( jQuery, wikibase, QUnit ) );
diff --git a/lib/tests/qunit/jquery.wikibase/resources.php
b/lib/tests/qunit/jquery.wikibase/resources.php
index 38e9bc9..3e5a8ee 100644
--- a/lib/tests/qunit/jquery.wikibase/resources.php
+++ b/lib/tests/qunit/jquery.wikibase/resources.php
@@ -104,34 +104,34 @@
),
),
- 'jquery.wikibase.fingerprintgroupview.tests' => $moduleBase +
array(
+ 'jquery.wikibase.entitytermsview.tests' => $moduleBase + array(
'scripts' => array(
-
'jquery.wikibase.fingerprintgroupview.tests.js',
+
'jquery.wikibase.entitytermsview.tests.js',
),
'dependencies' => array(
- 'jquery.wikibase.fingerprintgroupview',
+ 'jquery.wikibase.entitytermsview',
'wikibase.datamodel.MultiTerm',
'wikibase.datamodel.Term',
),
),
- 'jquery.wikibase.fingerprintlistview.tests' => $moduleBase +
array(
+ 'jquery.wikibase.entitytermsforlanguagelistview.tests' =>
$moduleBase + array(
'scripts' => array(
- 'jquery.wikibase.fingerprintlistview.tests.js',
+
'jquery.wikibase.entitytermsforlanguagelistview.tests.js',
),
'dependencies' => array(
- 'jquery.wikibase.fingerprintlistview',
+
'jquery.wikibase.entitytermsforlanguagelistview',
'wikibase.datamodel.MultiTerm',
'wikibase.datamodel.Term',
),
),
- 'jquery.wikibase.fingerprintview.tests' => $moduleBase + array(
+ 'jquery.wikibase.entitytermsforlanguage.tests' => $moduleBase +
array(
'scripts' => array(
- 'jquery.wikibase.fingerprintview.tests.js',
+
'jquery.wikibase.entitytermsforlanguage.tests.js',
),
'dependencies' => array(
- 'jquery.wikibase.fingerprintview',
+ 'jquery.wikibase.entitytermsforlanguage',
),
),
diff --git a/repo/includes/View/TermBoxView.php
b/repo/includes/View/TermBoxView.php
index 5b14996..3631381 100644
--- a/repo/includes/View/TermBoxView.php
+++ b/repo/includes/View/TermBoxView.php
@@ -74,7 +74,7 @@
$hasLabel = $labels->hasTermForLanguage( $languageCode
);
$hasDescription = $descriptions->hasTermForLanguage(
$languageCode );
- $tbody .= wfTemplate( 'wikibase-fingerprintview',
+ $tbody .= wfTemplate( 'wikibase-entitytermsforlanguage',
$languageCode,
$title->getLocalURL( array( 'setlang' =>
$languageCode ) ),
htmlspecialchars( Utils::fetchLanguageName(
$languageCode ) ),
@@ -100,9 +100,9 @@
);
}
- $html = wfTemplate( 'wikibase-fingerprintgroupview',
+ $html = wfTemplate( 'wikibase-entitytermsview',
$this->msg( 'wikibase-terms' )->text(),
- wfTemplate( 'wikibase-fingerprintlistview', $tbody ),
+ wfTemplate( 'wikibase-entitytermsforlanguagelistview',
$tbody ),
$this->sectionEditLinkGenerator->getHtmlForEditSection(
'SpecialPages',
array(),
diff --git a/repo/resources/templates.php b/repo/resources/templates.php
index ce39fdd..a85a0d0 100644
--- a/repo/resources/templates.php
+++ b/repo/resources/templates.php
@@ -202,40 +202,40 @@
<li class="wikibase-aliasesview-list-item" dir="auto">$1</li>
HTML;
- $templates['wikibase-fingerprintgroupview'] =
+ $templates['wikibase-entitytermsview'] =
<<<HTML
-<div class="wikibase-fingerprintgroupview">
- <div class="wikibase-fingerprintgroupview-heading-container">
- <h2 id="wb-terms" class="wb-section-heading
wikibase-fingerprintgroupview-heading">$1</h2>
+<div class="wikibase-entitytermsview">
+ <div class="wikibase-entitytermsview-heading-container">
+ <h2 id="wb-terms" class="wb-section-heading
wikibase-entitytermsview-heading">$1</h2>
<!-- wikibase-toolbar -->$3
</div>
- <!-- wikibase-fingerprintlistview -->$2
+ <!-- wikibase-entitytermsforlanguagelistview -->$2
</div>
HTML;
- $templates['wikibase-fingerprintlistview'] =
+ $templates['wikibase-entitytermsforlanguagelistview'] =
<<<HTML
-<table class="wikibase-fingerprintlistview">
+<table class="wikibase-entitytermsforlanguagelistview">
<colgroup>
- <col class="wikibase-fingerprintlistview-language" />
- <col class="wikibase-fingerprintlistview-label
wikibase-fingerprintlistview-description wikibase-fingerprintlistview-aliases"
/>
+ <col class="wikibase-entitytermsforlanguagelistview-language" />
+ <col class="wikibase-entitytermsforlanguagelistview-label
wikibase-entitytermsforlanguagelistview-description
wikibase-entitytermsforlanguagelistview-aliases" />
</colgroup>
- <!-- [0,*] wikibase-fingerprintview -->$1
+ <!-- [0,*] wikibase-entitytermsforlanguage -->$1
</table>
HTML;
- $templates['wikibase-fingerprintview'] =
+ $templates['wikibase-entitytermsforlanguage'] =
<<<HTML
-<tbody class="wikibase-fingerprintview wikibase-fingerprintview-$1" >
+<tbody class="wikibase-entitytermsforlanguage
wikibase-entitytermsforlanguage-$1" >
<tr>
- <td class="wikibase-fingerprintview-language" rowspan="3"><a
href="$2">$3</a></td>
- <td class="wikibase-fingerprintview-label">$4</td>
+ <td class="wikibase-entitytermsforlanguage-language"
rowspan="3"><a href="$2">$3</a></td>
+ <td class="wikibase-entitytermsforlanguage-label">$4</td>
</tr>
<tr>
- <td class="wikibase-fingerprintview-description">$5</td>
+ <td class="wikibase-entitytermsforlanguage-description">$5</td>
</tr>
<tr>
- <td class="wikibase-fingerprintview-aliases">$6</td>
+ <td class="wikibase-entitytermsforlanguage-aliases">$6</td>
</tr>
</tbody>
HTML;
diff --git a/repo/resources/wikibase.ui.entityViewInit.js
b/repo/resources/wikibase.ui.entityViewInit.js
index 2aa0f75..1f62e45 100644
--- a/repo/resources/wikibase.ui.entityViewInit.js
+++ b/repo/resources/wikibase.ui.entityViewInit.js
@@ -45,7 +45,7 @@
'statementview',
'descriptionview',
'labelview',
- 'fingerprintgroupview',
+ 'entitytermsview',
'referenceview',
'sitelinkgroupview'
],
--
To view, visit https://gerrit.wikimedia.org/r/180438
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I084b6a11f8ddb7930b145e7852b7a5e66daa0a32
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Henning Snater <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits