Skip to content

Commit

Permalink
Merge pull request #237 from wbstack/fr/keep-prefix
Browse files Browse the repository at this point in the history
fix: cleaning prefixes removes all instances instead of retaining wanted ones
  • Loading branch information
m90 committed Jan 30, 2024
2 parents ca78c10 + 230cb74 commit 3df8a5d
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 33 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# WBStack queryservice-ui

## 1.5

Remove custom cleaning of prefixes on Query Formatting (https://phabricator.wikimedia.org/T347023)

## 1.4

Feburary 2022 updates from upstream.
Expand Down
34 changes: 1 addition & 33 deletions wikibase/queryService/ui/queryHelper/QueryHelper.js
Original file line number Diff line number Diff line change
Expand Up @@ -97,44 +97,12 @@ wikibase.queryService.ui.queryHelper.QueryHelper = ( function( $, wikibase, _ )
*/
SELF.prototype.getQuery = function() {
try {
var q = this._query.getQueryString();
q = this._cleanQueryPrefixes( q ).trim();
return q.trim();
return this._query.getQueryString().trim();
} catch ( e ) {
return null;
}
};

/**
* Workaround for https://phabricator.wikimedia.org/T133316
*
* @private
*/
SELF.prototype._cleanQueryPrefixes = function( query ) {
var prefixRegex = /PREFIX ([a-z]+): <(.*)>/gi,
m,
prefixes = {},
cleanQuery = query.replace( prefixRegex, '' ).replace( /\n+/g, '\n' );

while ( ( m = prefixRegex.exec( query ) ) ) {
var prefix = m[1];
var uri = m[2].replace( /[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&' );

var newQuery = cleanQuery.replace( new RegExp( '<' + uri + '([^/>#]+?)>', 'gi' ),
prefix + ':$1' );

if ( cleanQuery !== newQuery ) {
cleanQuery = newQuery;
if ( !wikibase.queryService.RdfNamespaces.STANDARD_PREFIXES[prefix] ) {
prefixes[m[0]] = true;
}
}
}

cleanQuery = Object.keys( prefixes ).join( '\n' ) + '\n\n' + cleanQuery.trim();
return cleanQuery;
};

/**
* Draw visual editor to given element
*
Expand Down

0 comments on commit 3df8a5d

Please sign in to comment.