jenkins-bot has submitted this change and it was merged.
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".
Bug: T75655
Change-Id: I084b6a11f8ddb7930b145e7852b7a5e66daa0a32
---
M lib/resources/Resources.php
R
lib/resources/jquery.wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
R lib/resources/jquery.wikibase/jquery.wikibase.entitytermsforlanguageview.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.entitytermsforlanguagelistview.css
A
lib/resources/jquery.wikibase/themes/default/jquery.wikibase.entitytermsforlanguageview.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.entitytermsforlanguagelistview.tests.js
A
lib/tests/qunit/jquery.wikibase/jquery.wikibase.entitytermsforlanguageview.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,234 insertions(+), 1,204 deletions(-)
Approvals:
Adrian Lang: Looks good to me, approved
jenkins-bot: Verified
diff --git a/lib/resources/Resources.php b/lib/resources/Resources.php
index fd3e2ec..8b3739b 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.entitytermsforlanguageview.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.fingerprintlistview.js
b/lib/resources/jquery.wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
similarity index 82%
rename from lib/resources/jquery.wikibase/jquery.wikibase.fingerprintlistview.js
rename to
lib/resources/jquery.wikibase/jquery.wikibase.entitytermsforlanguagelistview.js
index 842162f..4373afc 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.entitytermsforlanguageview).
* @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 entitytermsforlanguageview
widgets
*/
_createListView: function() {
var self = this,
- listItemWidget = $.wikibase.fingerprintview,
+ listItemWidget = $.wikibase.entitytermsforlanguageview,
prefix = listItemWidget.prototype.widgetEventPrefix;
// Fully encapsulate child widgets by suppressing their events:
@@ -174,8 +174,8 @@
currentValue = [];
listview.items().each( function() {
- var fingerprintview = lia.liInstance( $( this ) );
- currentValue.push( fingerprintview.value() );
+ var entitytermsforlanguageview = lia.liInstance( $(
this ) );
+ currentValue.push( entitytermsforlanguageview.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 entitytermsforlanguageview = lia.liInstance( $(
this ) );
+ entitytermsforlanguageview.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.entitytermsforlanguageview}
entitytermsforlanguageview
* @param {boolean} dropValue
*/
- function addStopEditToQueue( $queue, fingerprintview, dropValue
) {
+ function addStopEditToQueue( $queue,
entitytermsforlanguageview, dropValue ) {
$queue.queue( 'stopediting', function( next ) {
- fingerprintview.element
- .one(
'fingerprintviewafterstopediting.fingerprintlistviewstopediting',
+ entitytermsforlanguageview.element
+ .one(
'entitytermsforlanguageviewafterstopediting.' + eventNamespace,
function( event ) {
- fingerprintview.element.off(
'.fingerprintlistviewstopediting' );
+
entitytermsforlanguageview.element.off( '.' + eventNamespace );
setTimeout( next, 0 );
}
)
- .one(
'fingerprintviewtoggleerror.fingerprintlistviewstopediting',
+ .one( 'entitytermsforlanguageviewtoggleerror.'
+ eventNamespace,
function( event ) {
- fingerprintview.element.off(
'.fingerprintlistviewstopediting' );
+
entitytermsforlanguageview.element.off( '.' + eventNamespace );
$queue.clearQueue();
self._resetEditMode();
}
);
- fingerprintview.stopEditing( dropValue );
+ entitytermsforlanguageview.stopEditing(
dropValue );
} );
}
listview.items().each( function() {
- var fingerprintview = lia.liInstance( $( this ) );
+ var entitytermsforlanguageview = lia.liInstance( $(
this ) );
addStopEditToQueue(
$queue,
- fingerprintview,
- dropValue || fingerprintview.isInitialValue()
+ entitytermsforlanguageview,
+ dropValue ||
entitytermsforlanguageview.isInitialValue()
);
} );
@@ -364,8 +365,8 @@
value = [];
listview.items().each( function() {
- var fingerprintview = lia.liInstance( $( this ) );
- value.push( fingerprintview.value() );
+ var entitytermsforlanguageview = lia.liInstance( $(
this ) );
+ value.push( entitytermsforlanguageview.value() );
} );
return value;
diff --git a/lib/resources/jquery.wikibase/jquery.wikibase.fingerprintview.js
b/lib/resources/jquery.wikibase/jquery.wikibase.entitytermsforlanguageview.js
similarity index 93%
rename from lib/resources/jquery.wikibase/jquery.wikibase.fingerprintview.js
rename to
lib/resources/jquery.wikibase/jquery.wikibase.entitytermsforlanguageview.js
index 889bb40..a3e48ec 100644
--- a/lib/resources/jquery.wikibase/jquery.wikibase.fingerprintview.js
+++
b/lib/resources/jquery.wikibase/jquery.wikibase.entitytermsforlanguageview.js
@@ -47,9 +47,9 @@
* - {jQuery.Event}
* - {Error|null}
*/
-$.widget( 'wikibase.fingerprintview', PARENT, {
+$.widget( 'wikibase.entitytermsforlanguageview', PARENT, {
options: {
- template: 'wikibase-fingerprintview',
+ template: 'wikibase-entitytermsforlanguageview',
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-entitytermsforlanguageview-language',
+ $label: '.wikibase-entitytermsforlanguageview-label',
+ $description :
'.wikibase-entitytermsforlanguageview-description',
+ $aliases :
'.wikibase-entitytermsforlanguageview-aliases'
},
value: null,
helpMessage: mw.msg(
'wikibase-fingerprintview-input-help-message' ),
@@ -277,16 +277,18 @@
$queue.queue( 'stopediting', function( next ) {
widget.element
.one(
- widget.widgetEventPrefix +
'afterstopediting.fingerprintviewstopediting',
+ widget.widgetEventPrefix
+ +
'afterstopediting.entitytermsforlanguageviewstopediting',
function( event ) {
- widget.element.off(
'.fingerprintviewstopediting' );
+ widget.element.off(
'.entitytermsforlanguageviewstopediting' );
setTimeout( next, 0 );
}
)
.one(
- widget.widgetEventPrefix +
'toggleerror.fingerprintviewstopediting',
+ widget.widgetEventPrefix
+ +
'toggleerror.entitytermsforlanguageviewstopediting',
function( event ) {
- widget.element.off(
'.fingerprintviewstopediting' );
+ widget.element.off(
'.entitytermsforlanguageviewstopediting' );
$queue.clearQueue();
self._resetEditMode();
}
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..1d5e929 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-entitytermsforlanguageview' ).each( function() {
$.each( $( this ).attr( 'class' ).split( ' ' ),
function() {
- if( this.indexOf(
'wikibase-fingerprintview-' ) === 0 ) {
+ if( this.indexOf(
'wikibase-entitytermsforlanguageview-' ) === 0 ) {
self.options.languages.push(
- this.split(
'wikibase-fingerprintview-' )[1]
+ this.split(
'wikibase-entitytermsforlanguageview-' )[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..3b569ab 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.entitytermsforlanguageview',
'wikibase.getLanguageNameByCode',
),
'messages' => array(
@@ -215,12 +215,12 @@
),
),
- 'jquery.wikibase.fingerprintview' => $moduleTemplate + array(
+ 'jquery.wikibase.entitytermsforlanguageview' => $moduleTemplate
+ array(
'scripts' => array(
- 'jquery.wikibase.fingerprintview.js',
+ 'jquery.wikibase.entitytermsforlanguageview.js',
),
'styles' => array(
-
'themes/default/jquery.wikibase.fingerprintview.css',
+
'themes/default/jquery.wikibase.entitytermsforlanguageview.css',
),
'dependencies' => array(
'jquery.ui.TemplatedWidget',
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.entitytermsforlanguageview.css
b/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.entitytermsforlanguageview.css
new file mode 100644
index 0000000..ffce513
--- /dev/null
+++
b/lib/resources/jquery.wikibase/themes/default/jquery.wikibase.entitytermsforlanguageview.css
@@ -0,0 +1,106 @@
+/**
+ * @licence GNU GPL v2+
+ * @author H. Snater < [email protected] >
+ */
+.wikibase-entitytermsforlanguageview-language {
+ width: 25%;
+ word-wrap: break-word;
+ padding-left: 10px;
+ border-left: 1px solid #C9C9C9;
+}
+
+.wikibase-entitytermsforlanguageview-label,
+.wikibase-entitytermsforlanguageview-description,
+.wikibase-entitytermsforlanguageview-aliases {
+ width: 75%;
+ word-wrap: break-word;
+ padding-left: 10px;
+}
+
+.wikibase-entitytermsforlanguageview tr td:first-child + td + td {
+ width: 25%;
+}
+
+.wikibase-entitytermsforlanguageview td {
+ border-top: 1px solid #C9C9C9;
+}
+
+.wikibase-entitytermsforlanguageview td:last-child {
+ padding-left: 10px;
+}
+
+.wikibase-entitytermsforlanguageview-label {
+ padding: 10px;
+}
+
+.wikibase-entitytermsforlanguageview
.wikibase-entitytermsforlanguageview-label input,
+.wikibase-entitytermsforlanguageview
.wikibase-entitytermsforlanguageview-description input {
+ font-family: inherit;
+ width: 100%;
+}
+
+.wikibase-entitytermsforlanguageview .wikibase-descriptionview
.wikibase-descriptionview-container {
+ padding-left: 0;
+}
+
+.wikibase-entitytermsforlanguageview .wikibase-descriptionview
.wikibase-descriptionview-text {
+ line-height: 1.4;
+ padding-right: 0;
+}
+
+.wikibase-entitytermsforlanguageview .wikibase-labelview,
+.wikibase-entitytermsforlanguageview .wikibase-descriptionview,
+.wikibase-entitytermsforlanguageview .wikibase-aliasesview {
+ display: block;
+ float: none;
+ margin-top: 0;
+ padding: 10px;
+ width: auto;
+}
+
+.wikibase-entitytermsforlanguageview .wikibase-aliasesview
.wikibase-aliasesview-container {
+ display: inline-block !important;
+ padding-left: 0;
+ padding-right: 0;
+ width: 100%;
+}
+
+.wikibase-entitytermsforlanguageview.wb-edit .wikibase-aliasesview-list {
+ font-size: 84%;
+}
+
+.wikibase-entitytermsforlanguageview.wb-edit .wikibase-aliasesview-list * {
+ font-size: 100%;
+}
+
+.wikibase-entitytermsforlanguageview.wb-edit .wikibase-labelview,
+.wikibase-entitytermsforlanguageview.wb-edit .wikibase-descriptionview,
+.wikibase-entitytermsforlanguageview.wb-edit .wikibase-aliasesview {
+ padding: 9px 8px 9px 7px;
+}
+
+.wikibase-entitytermsforlanguageview .wb-error {
+ background-color: #FFDFC9;
+}
+
+/* the right column of the site links table (...-toolbarparent) should be
treated as "action" column */
+.wikibase-entitytermsforlanguageview .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-entitytermsforlanguageview .wb-editsection .wikibase-toolbar {
+ width: 18em; /* additionally assign width to toolbar to enforce width
in no-JS version */
+}
+
+.wikibase-entitytermsforlanguageview .wb-editsection .wikibase-toolbar
.wikibase-toolbar {
+ margin-left: 1px; /* even out table cell's right border */
+}
+
+.wikibase-entitytermsforlanguageview .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.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.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.entitytermsforlanguageview.tests.js
b/lib/tests/qunit/jquery.wikibase/jquery.wikibase.entitytermsforlanguageview.tests.js
new file mode 100644
index 0000000..f54aaa1
--- /dev/null
+++
b/lib/tests/qunit/jquery.wikibase/jquery.wikibase.entitytermsforlanguageview.tests.js
@@ -0,0 +1,351 @@
+/**
+ * @licence GNU GPL v2+
+ * @author H. Snater < [email protected] >
+ */
+( function( $, wb, QUnit ) {
+'use strict';
+
+/**
+ * @param {Object} [options]
+ * @param {jQuery} [$node]
+ * @return {jQuery}
+ */
+var createEntitytermsforlanguageview = 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 $entitytermsforlanguageview = $node
+ .addClass( 'test_entitytermsforlanguageview' )
+ .entitytermsforlanguageview( options );
+
+ var entitytermsforlanguageview
+ = $entitytermsforlanguageview.data(
'entitytermsforlanguageview' );
+
+ entitytermsforlanguageview.$labelview.data( 'labelview' )._save
+ = entitytermsforlanguageview.$descriptionview.data(
'descriptionview' )._save
+ = entitytermsforlanguageview.$aliasesview.data( 'aliasesview'
)._save
+ = function() {
+ return $.Deferred().resolve( {
+ entity: {
+ lastrevid: 'i am a revision id'
+ }
+ } ).promise();
+ };
+
+ return $entitytermsforlanguageview;
+};
+
+QUnit.module( 'jquery.wikibase.entitytermsforlanguageview',
QUnit.newMwEnvironment( {
+ teardown: function() {
+ $( '.test_entitytermsforlanguageview' ).each( function() {
+ var $entitytermsforlanguageview = $( this ),
+ entitytermsforlanguageview
+ = $entitytermsforlanguageview.data(
'entitytermsforlanguageview' );
+
+ if( entitytermsforlanguageview ) {
+ entitytermsforlanguageview.destroy();
+ }
+
+ $entitytermsforlanguageview.remove();
+ } );
+ }
+} ) );
+
+QUnit.test( 'Create & destroy', function( assert ) {
+ assert.throws(
+ function() {
+ createEntitytermsforlanguageview( { value: null } );
+ },
+ 'Throwing error when trying to initialize widget without a
value.'
+ );
+
+ var $entitytermsforlanguageview = createEntitytermsforlanguageview(),
+ entitytermsforlanguageview
+ = $entitytermsforlanguageview.data(
'entitytermsforlanguageview' );
+
+ assert.ok(
+ entitytermsforlanguageview !== undefined,
+ 'Created widget.'
+ );
+
+ entitytermsforlanguageview.destroy();
+
+ assert.ok(
+ $entitytermsforlanguageview.data( 'entitytermsforlanguageview'
) === undefined,
+ 'Destroyed widget.'
+ );
+} );
+
+QUnit.test( 'startEditing() & stopEditing()', 6, function( assert ) {
+ var $entitytermsforlanguageview = createEntitytermsforlanguageview(),
+ entitytermsforlanguageview
+ = $entitytermsforlanguageview.data(
'entitytermsforlanguageview' );
+
+ $entitytermsforlanguageview
+ .on( 'entitytermsforlanguageviewafterstartediting', function( event ) {
+ assert.ok(
+ true,
+ 'Started edit mode.'
+ );
+ } )
+ .on( 'entitytermsforlanguageviewafterstopediting', 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();
+ }
+
+ $entitytermsforlanguageview
+ .one(
+
'entitytermsforlanguageviewafterstartediting.entitytermsforlanguageviewtest',
+ function( event ) {
+ $entitytermsforlanguageview.off(
'.entitytermsforlanguageviewtest' );
+ deferred.resolve();
+ }
+ )
+ .one(
+
'entitytermsforlanguageviewafterstopediting.entitytermsforlanguageviewtest',
+ function( event, dropValue ) {
+ $entitytermsforlanguageview.off(
'.entitytermsforlanguageviewtest' );
+ 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() {
+ entitytermsforlanguageview.startEditing();
+ } );
+
+ addToQueue( $queue, function() {
+ entitytermsforlanguageview.startEditing();
+ }, false );
+
+ addToQueue( $queue, function() {
+ entitytermsforlanguageview.stopEditing( true );
+ } );
+
+ addToQueue( $queue, function() {
+ entitytermsforlanguageview.stopEditing( true );
+ }, false );
+
+ addToQueue( $queue, function() {
+ entitytermsforlanguageview.stopEditing();
+ }, false );
+
+ addToQueue( $queue, function() {
+ entitytermsforlanguageview.startEditing();
+ } );
+
+ addToQueue( $queue, function() {
+ entitytermsforlanguageview.$label.find( 'input' ).val( '' );
+ entitytermsforlanguageview.stopEditing();
+ } );
+
+ addToQueue( $queue, function() {
+ entitytermsforlanguageview.startEditing();
+ } );
+
+ addToQueue( $queue, function() {
+ entitytermsforlanguageview.$description.find( 'input' ).val(
'changed description' );
+ entitytermsforlanguageview.stopEditing();
+ } );
+
+ $queue.dequeue( 'tests' );
+} );
+
+QUnit.test( 'isInitialValue()', function( assert ) {
+ var $entitytermsforlanguageview = createEntitytermsforlanguageview(),
+ entitytermsforlanguageview
+ = $entitytermsforlanguageview.data(
'entitytermsforlanguageview' );
+
+ entitytermsforlanguageview.startEditing();
+
+ assert.ok(
+ entitytermsforlanguageview.isInitialValue(),
+ 'Verified isInitialValue() returning true.'
+ );
+
+ entitytermsforlanguageview.$label.find( 'input' ).val( 'changed' );
+
+ assert.ok(
+ !entitytermsforlanguageview.isInitialValue(),
+ 'Verified isInitialValue() returning false after changing
value.'
+ );
+
+ entitytermsforlanguageview.$label.find( 'input' ).val( 'test label' );
+
+ assert.ok(
+ entitytermsforlanguageview.isInitialValue(),
+ 'Verified isInitialValue() returning true after resetting to
initial value.'
+ );
+} );
+
+QUnit.test( 'setError()', function( assert ) {
+ var $entitytermsforlanguageview = createEntitytermsforlanguageview(),
+ entitytermsforlanguageview
+ = $entitytermsforlanguageview.data(
'entitytermsforlanguageview' );
+
+ $entitytermsforlanguageview
+ .on( 'entitytermsforlanguageviewtoggleerror', function( event, error ) {
+ assert.ok(
+ true,
+ 'Triggered "toggleerror" event.'
+ );
+ } );
+
+ entitytermsforlanguageview.setError();
+} );
+
+QUnit.test( 'value()', function( assert ) {
+ var $entitytermsforlanguageview = createEntitytermsforlanguageview(),
+ entitytermsforlanguageview
+ = $entitytermsforlanguageview.data(
'entitytermsforlanguageview' ),
+ 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() {
+ entitytermsforlanguageview.value( null );
+ },
+ 'Trying to set no value fails.'
+ );
+
+ entitytermsforlanguageview.value( {
+ language: 'en',
+ label: label,
+ description: description,
+ aliases: aliases
+ } );
+
+ assert.ok(
+ entitytermsforlanguageview.value().label.equals( label ),
+ 'Set new label.'
+ );
+
+ assert.ok(
+ entitytermsforlanguageview.value().description.equals(
description ),
+ 'Did not change description.'
+ );
+
+ label = new wb.datamodel.Term( 'en', 'test label' );
+ description = new wb.datamodel.Term( 'en', '' );
+
+ entitytermsforlanguageview.value( {
+ language: 'en',
+ label: label,
+ description: description,
+ aliases: aliases
+ } );
+
+ assert.ok(
+ entitytermsforlanguageview.value().label.equals( label ),
+ 'Reset label.'
+ );
+
+ assert.ok(
+ entitytermsforlanguageview.value().description.equals(
description ),
+ 'Removed description.'
+ );
+
+ aliases = new wb.datamodel.MultiTerm( 'en', ['alias1', 'alias2',
'alias3'] );
+
+ entitytermsforlanguageview.value( {
+ language: 'en',
+ label: label,
+ description: description,
+ aliases: aliases
+ } );
+
+ assert.ok(
+ entitytermsforlanguageview.value().aliases.equals( aliases ),
+ 'Added alias.'
+ );
+
+ aliases = new wb.datamodel.MultiTerm( 'en', [] );
+
+ entitytermsforlanguageview.value( {
+ language: 'en',
+ label: label,
+ description: description,
+ aliases: aliases
+ } );
+
+ assert.ok(
+ entitytermsforlanguageview.value().aliases.equals( aliases ),
+ 'Removed aliases.'
+ );
+
+ assert.throws(
+ function() {
+ entitytermsforlanguageview.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.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..ed5613a 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.entitytermsforlanguageview.tests' =>
$moduleBase + array(
'scripts' => array(
- 'jquery.wikibase.fingerprintview.tests.js',
+
'jquery.wikibase.entitytermsforlanguageview.tests.js',
),
'dependencies' => array(
- 'jquery.wikibase.fingerprintview',
+ 'jquery.wikibase.entitytermsforlanguageview',
),
),
diff --git a/repo/includes/View/TermBoxView.php
b/repo/includes/View/TermBoxView.php
index 5b14996..61800f5 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-entitytermsforlanguageview',
$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..bae4383 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-entitytermsforlanguageview -->$1
</table>
HTML;
- $templates['wikibase-fingerprintview'] =
+ $templates['wikibase-entitytermsforlanguageview'] =
<<<HTML
-<tbody class="wikibase-fingerprintview wikibase-fingerprintview-$1" >
+<tbody class="wikibase-entitytermsforlanguageview
wikibase-entitytermsforlanguageview-$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-entitytermsforlanguageview-language"
rowspan="3"><a href="$2">$3</a></td>
+ <td class="wikibase-entitytermsforlanguageview-label">$4</td>
</tr>
<tr>
- <td class="wikibase-fingerprintview-description">$5</td>
+ <td
class="wikibase-entitytermsforlanguageview-description">$5</td>
</tr>
<tr>
- <td class="wikibase-fingerprintview-aliases">$6</td>
+ <td class="wikibase-entitytermsforlanguageview-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: merged
Gerrit-Change-Id: I084b6a11f8ddb7930b145e7852b7a5e66daa0a32
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Henning Snater <[email protected]>
Gerrit-Reviewer: Adrian Lang <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits