mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-26 04:56:16 +10:00
Also License dropdown has been ported to use our GL dropdown instead of Select2. Fixes tests to make it work with current implementation
42 lines
1.3 KiB
CoffeeScript
42 lines
1.3 KiB
CoffeeScript
class @EditBlob
|
|
constructor: (assets_path, ace_mode = null) ->
|
|
ace.config.set "modePath", "#{assets_path}/ace"
|
|
ace.config.loadModule "ace/ext/searchbox"
|
|
@editor = ace.edit("editor")
|
|
@editor.focus()
|
|
@editor.getSession().setMode "ace/mode/#{ace_mode}" if ace_mode
|
|
|
|
# Before a form submission, move the content from the Ace editor into the
|
|
# submitted textarea
|
|
$('form').submit =>
|
|
$("#file-content").val(@editor.getValue())
|
|
|
|
@initModePanesAndLinks()
|
|
|
|
new BlobLicenseSelectors { @editor }
|
|
new BlobGitignoreSelectors { @editor }
|
|
|
|
initModePanesAndLinks: ->
|
|
@$editModePanes = $(".js-edit-mode-pane")
|
|
@$editModeLinks = $(".js-edit-mode a")
|
|
@$editModeLinks.click @editModeLinkClickHandler
|
|
|
|
editModeLinkClickHandler: (event) =>
|
|
event.preventDefault()
|
|
currentLink = $(event.target)
|
|
paneId = currentLink.attr("href")
|
|
currentPane = @$editModePanes.filter(paneId)
|
|
@$editModeLinks.parent().removeClass "active hover"
|
|
currentLink.parent().addClass "active hover"
|
|
@$editModePanes.hide()
|
|
currentPane.fadeIn 200
|
|
if paneId is "#preview"
|
|
$.post currentLink.data("preview-url"),
|
|
content: @editor.getValue()
|
|
, (response) ->
|
|
currentPane.empty().append response
|
|
currentPane.syntaxHighlight()
|
|
|
|
else
|
|
@editor.focus()
|