BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
gitlab-ce
Commits
99bdfd18
Commit
99bdfd18
authored
Jun 27, 2017
by
Filipa Lacerda
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'issue-form-multiple-line-markdown' into 'master'
Fixed multi-line markdown in issue edit form Closes #34318 See merge request !12458
parents
c00e5bfa
2c954117
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
73 additions
and
36 deletions
+73
-36
text_utility.js
app/assets/javascripts/lib/utils/text_utility.js
+2
-2
issue-form-multiple-line-markdown.yml
changelogs/unreleased/issue-form-multiple-line-markdown.yml
+4
-0
field_spec.js
.../javascripts/vue_shared/components/markdown/field_spec.js
+67
-34
No files found.
app/assets/javascripts/lib/utils/text_utility.js
View file @
99bdfd18
...
...
@@ -94,8 +94,8 @@ gl.text.insertText = function(textArea, text, tag, blockTag, selected, wrap) {
startChar
=
!
wrap
&&
!
currentLineEmpty
&&
textArea
.
selectionStart
>
0
?
'
\
n'
:
''
;
if
(
selectedSplit
.
length
>
1
&&
(
!
wrap
||
(
blockTag
!=
null
)))
{
if
(
blockTag
!=
null
)
{
if
(
selectedSplit
.
length
>
1
&&
(
!
wrap
||
(
blockTag
!=
null
&&
blockTag
!==
''
)))
{
if
(
blockTag
!=
null
&&
blockTag
!==
''
)
{
insertText
=
this
.
blockTagText
(
text
,
textArea
,
blockTag
,
selected
);
}
else
{
insertText
=
selectedSplit
.
map
(
function
(
val
)
{
...
...
changelogs/unreleased/issue-form-multiple-line-markdown.yml
0 → 100644
View file @
99bdfd18
---
title
:
Fixed multi-line markdown tooltip buttons in issue edit form
merge_request
:
author
:
spec/javascripts/vue_shared/components/markdown/field_spec.js
View file @
99bdfd18
...
...
@@ -4,47 +4,33 @@ import fieldComponent from '~/vue_shared/components/markdown/field.vue';
describe
(
'Markdown field component'
,
()
=>
{
let
vm
;
beforeEach
(()
=>
{
beforeEach
((
done
)
=>
{
vm
=
new
Vue
({
render
(
createElement
)
{
return
createElement
(
fieldComponent
,
{
props
:
{
markdownPreviewUrl
:
'/preview'
,
markdownDocs
:
'/docs'
,
},
data
()
{
return
{
text
:
'testing
\
n123'
,
};
},
[
createElement
(
'textarea'
,
{
slot
:
'textarea'
,
}),
],
);
components
:
{
fieldComponent
,
},
});
});
it
(
'creates a new instance of GL form'
,
(
done
)
=>
{
spyOn
(
gl
,
'GLForm'
);
vm
.
$mount
();
Vue
.
nextTick
(()
=>
{
expect
(
gl
.
GLForm
,
).
toHaveBeenCalled
();
done
();
});
});
describe
(
'mounted'
,
()
=>
{
beforeEach
((
done
)
=>
{
vm
.
$mount
();
template
:
`
<field-component
marodown-preview-url="/preview"
markdown-docs="/docs"
>
<textarea
slot="textarea"
v-model="text">
</textarea>
</field-component>
`
,
}).
$mount
();
Vue
.
nextTick
(
done
);
});
describe
(
'mounted'
,
()
=>
{
it
(
'renders textarea inside backdrop'
,
()
=>
{
expect
(
vm
.
$el
.
querySelector
(
'.zen-backdrop textarea'
),
...
...
@@ -117,5 +103,52 @@ describe('Markdown field component', () => {
});
});
});
describe
(
'markdown buttons'
,
()
=>
{
it
(
'converts single words'
,
(
done
)
=>
{
const
textarea
=
vm
.
$el
.
querySelector
(
'textarea'
);
textarea
.
setSelectionRange
(
0
,
7
);
vm
.
$el
.
querySelector
(
'.js-md'
).
click
();
Vue
.
nextTick
(()
=>
{
expect
(
textarea
.
value
,
).
toContain
(
'**testing**'
);
done
();
});
});
it
(
'converts a line'
,
(
done
)
=>
{
const
textarea
=
vm
.
$el
.
querySelector
(
'textarea'
);
textarea
.
setSelectionRange
(
0
,
0
);
vm
.
$el
.
querySelectorAll
(
'.js-md'
)[
4
].
click
();
Vue
.
nextTick
(()
=>
{
expect
(
textarea
.
value
,
).
toContain
(
'* testing'
);
done
();
});
});
it
(
'converts multiple lines'
,
(
done
)
=>
{
const
textarea
=
vm
.
$el
.
querySelector
(
'textarea'
);
textarea
.
setSelectionRange
(
0
,
50
);
vm
.
$el
.
querySelectorAll
(
'.js-md'
)[
4
].
click
();
Vue
.
nextTick
(()
=>
{
expect
(
textarea
.
value
,
).
toContain
(
'* testing
\
n* 123'
);
done
();
});
});
});
});
});
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment