Mooeypoo has uploaded a new change for review.
https://gerrit.wikimedia.org/r/245579
Change subject: Use the new editor when editing topic summary in a new window
......................................................................
Use the new editor when editing topic summary in a new window
The new editor should replace the old editor whenever we edit in
nojs mode with js enabled -- namely, when editing in a new window.
However, in the case of topic summary in a new window, there is
no flow-board defined, but the replacement should still happen.
Bug: T114448
Change-Id: I1f34dbacb5b76bd23e20dc32cd553d30452ac66b
---
M modules/flow-initialize.js
1 file changed, 39 insertions(+), 13 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Flow
refs/changes/79/245579/1
diff --git a/modules/flow-initialize.js b/modules/flow-initialize.js
index 4cda684..c119c78 100644
--- a/modules/flow-initialize.js
+++ b/modules/flow-initialize.js
@@ -36,6 +36,15 @@
// we shouldn't proceed. This is true mainly to history pages
// that have the component but not the board DOM element.
if ( $board.length === 0 ) {
+ // Editing summary in a separate window. That has no
+ // flow-board, but we should still replace it
+ startEditTopicSummary(
+ false,
+ $( '.flow-topic-summary-container' ),
+ $component.data( 'flow-id' )
+ );
+
+ // Mark as finished loading
finishLoading();
return;
}
@@ -458,12 +467,17 @@
event.preventDefault();
} );
- function startEditTopicSummary( topicId, action ) {
- var $topic = $board.find( '#flow-topic-' + topicId ),
- $summaryContainer = $topic.find(
'.flow-topic-summary-container' ),
+ function startEditTopicSummary( isFullBoard, $summaryContainer,
topicId, action ) {
+ var editTopicSummaryWidget,
+ $topic = isFullBoard ? $board.find(
'#flow-topic-' + topicId ) : $(),
$topicSummary = $summaryContainer.find(
'.flow-topic-summary' ),
- editTopicSummaryWidget,
- options = {};
+ options = {},
+ pageName = mw.config.get( 'wgPageName' ),
+ title = mw.Title.newFromText( pageName );
+
+ if ( !$summaryContainer.length ) {
+ return;
+ }
if ( action === 'lock' || action === 'unlock' ) {
options = {
@@ -477,16 +491,26 @@
editTopicSummaryWidget.destroy();
editTopicSummaryWidget.$element.remove();
- // HACK get the old system to rerender
the topic
- return
flowBoard.flowBoardComponentRefreshTopic(
- $topic,
- workflow
- );
+ if ( isFullBoard ) {
+ // HACK get the old system to
rerender the topic
+ return
flowBoard.flowBoardComponentRefreshTopic(
+ $topic,
+ workflow
+ );
+ } else {
+ // HACK: redirect to topic view
+ window.location.href =
title.getUrl();
+ }
} )
.on( 'cancel', function () {
editTopicSummaryWidget.destroy();
editTopicSummaryWidget.$element.remove();
- $summaryContainer.append( $topicSummary
);
+ if ( isFullBoard ) {
+ $summaryContainer.append(
$topicSummary );
+ } else {
+ // HACK: redirect to topic view
+ window.location.href =
title.getUrl();
+ }
} );
$topicSummary.remove();
@@ -495,8 +519,9 @@
$board.on( 'click', '.flow-ui-summarize-topic-link', function (
event ) {
var $topic = $( this ).closest( '.flow-topic' ),
+ $container = $topic.find(
'.flow-topic-summary-container' ),
topicId = $topic.data( 'flow-id' );
- startEditTopicSummary( topicId );
+ startEditTopicSummary( true, $container, topicId );
event.preventDefault();
} );
@@ -504,6 +529,7 @@
var promise,
action = $( this ).data( 'role' ),
$topic = $( this ).closest( '.flow-topic' ),
+ $container = $topic.find(
'.flow-topic-summary-container' ),
topicId = $topic.data( 'flow-id' ),
api = new mw.flow.dm.APIHandler();
@@ -527,7 +553,7 @@
skipSummarize = action ===
'unlock' && !summaryContent;
if ( !skipSummarize ) {
- startEditTopicSummary( topicId,
action );
+ startEditTopicSummary( true,
$container, topicId, action );
}
} );
--
To view, visit https://gerrit.wikimedia.org/r/245579
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I1f34dbacb5b76bd23e20dc32cd553d30452ac66b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Flow
Gerrit-Branch: master
Gerrit-Owner: Mooeypoo <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits