summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/blob/blob_license_selector.js.coffee
blob: e17eaa75dc11274c455593bd77e0887de39165d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class @BlobLicenseSelector
  licenseRegex: /^(.+\/)?(licen[sc]e|copying)($|\.)/i

  constructor: (editor) ->
    @$licenseSelector = $('.js-license-selector')
    $fileNameInput = $('#file_name')

    initialFileNameValue = if $fileNameInput.length
      $fileNameInput.val()
    else if $('.editor-file-name').length
      $('.editor-file-name').text().trim()

    @toggleLicenseSelector(initialFileNameValue)

    if $fileNameInput
      $fileNameInput.on 'keyup blur', (e) =>
        @toggleLicenseSelector($(e.target).val())

    $('select.license-select').on 'change', (e) ->
      data =
        project: $(this).data('project')
        fullname: $(this).data('fullname')
      Api.licenseText $(this).val(), data, (license) ->
        editor.setValue(license.content, -1)

  toggleLicenseSelector: (fileName) =>
    if @licenseRegex.test(fileName)
      @$licenseSelector.show()
    else
      @$licenseSelector.hide()