Skip to content
This repository has been archived by the owner on Jun 26, 2020. It is now read-only.

t/141: Unlink button in the balloon should be visible when a link is partially selected #142

Merged
merged 1 commit into from
Jul 21, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions src/link.js
Original file line number Diff line number Diff line change
Expand Up @@ -241,22 +241,23 @@ export default class Link extends Plugin {
*/
_showPanel( focusInput ) {
const editor = this.editor;
const command = editor.commands.get( 'link' );
const linkCommand = editor.commands.get( 'link' );
const unlinkCommand = editor.commands.get( 'unlink' );
const editing = editor.editing;
const showViewDocument = editing.view;
const showIsCollapsed = showViewDocument.selection.isCollapsed;
const showSelectedLink = this._getSelectedLinkElement();

// https://github.com/ckeditor/ckeditor5-link/issues/53
this.formView.unlinkButtonView.isVisible = !!showSelectedLink;
this.formView.unlinkButtonView.isVisible = unlinkCommand.isEnabled;

// Make sure that each time the panel shows up, the URL field remains in sync with the value of
// the command. If the user typed in the input, then canceled the balloon (`urlInputView#value` stays
// unaltered) and re-opened it without changing the value of the link command (e.g. because they
// clicked the same link), they would see the old value instead of the actual value of the command.
// https://github.com/ckeditor/ckeditor5-link/issues/78
// https://github.com/ckeditor/ckeditor5-link/issues/123
this.formView.urlInputView.inputView.element.value = command.value || '';
this.formView.urlInputView.inputView.element.value = linkCommand.value || '';

this.listenTo( showViewDocument, 'render', () => {
const renderSelectedLink = this._getSelectedLinkElement();
Expand Down
5 changes: 5 additions & 0 deletions tests/link.js
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,11 @@ describe( 'Link', () => {

linkFeature._showPanel();
expect( formView.unlinkButtonView.isVisible ).to.be.true;

setModelData( editor.document, '<paragraph><$text linkHref="url">[fo]o</$text></paragraph>' );

linkFeature._showPanel();
expect( formView.unlinkButtonView.isVisible ).to.be.true;
} );

// https://github.com/ckeditor/ckeditor5-link/issues/78
Expand Down