Blame pagure/templates/issue.html

Pierre-Yves Chibon 6e76e1
{% extends "repo_master.html" %}
Pierre-Yves Chibon aa6975
{% from "_formhelper.html"
Pierre-Yves Chibon aa6975
    import render_field, render_bootstrap_field,
Pierre-Yves Chibon aa6975
           show_comment, show_initial_comment %}
Pierre-Yves Chibon 6e76e1
Pierre-Yves Chibon 5d55e6
{% block title %}Issue #{{ issueid }}: {{issue.title | noJS(ignore="img") | safe }} - {{ repo.name }}{% endblock %}
Ryan Lerch f4adb4
{% set tag = "home"%}
Pierre-Yves Chibon 6e76e1
Pierre-Yves Chibon 56682f
{% block header %}
Pierre-Yves Chibon 5b44ea
Pierre-Yves Chibon 5b44ea
  rel="stylesheet" />
Ryan Lerch 1d9c75
Ryan Lerch 1d9c75
  rel="stylesheet" />
Pierre-Yves Chibon 56682f
{% endblock %}
Pierre-Yves Chibon 56682f
Pierre-Yves Chibon 6e76e1
{% block repo %}
Ryan Lerch cde3ef
Pierre-Yves Chibon 8cf351
  
Pierre-Yves Chibon 8cf351
               repo=repo.name, issueid=issueid) }}" method="post"
Pierre-Yves Chibon 8cf351
               onsubmit="return try_async_comment(this)">
Pierre-Yves Chibon 8cf351
  {{ form.csrf_token }}
Ryan Lerch 1d9c75
Pierre-Yves Chibon 8cf351
  
Pierre-Yves Chibon 6c92e5
  

Pierre-Yves Chibon 6c92e5
    #{{ issueid }}
Pierre-Yves Chibon 6c92e5
    {{issue.title | noJS("img") | safe }}
Pierre-Yves Chibon 6c92e5
    {% if issue.private %}
Pierre-Yves Chibon 6c92e5
      
Pierre-Yves Chibon 6c92e5
    {% endif %}
Pierre-Yves Chibon 6c92e5
  
Pierre-Yves Chibon 0b2052
Pierre-Yves Chibon 0b2052
  
Ryan Lerch 1b99f0
    Created
Pierre-Yves Chibon 0b2052
    {{ issue.date_created | humanize}} by {{ issue.user.user }}
Pierre-Yves Chibon 0b2052
  
Pierre-Yves Chibon ea16af
Ryan Lerch 405534
    {{ show_initial_comment(issue, username, repo,issueid, repo_admin, form) }}
Pierre-Yves Chibon c92cdd
Pierre-Yves Chibon a6924a
    <section id="comments"></section>
Pierre-Yves Chibon 6c92e5
      {% if issue.comments %}
Pierre-Yves Chibon 6c92e5
        {% for comment in issue.comments %}
Pierre-Yves Chibon 6c92e5
          {{ show_comment(comment, comment.id, repo, username, issueid, form, repo_admin) }}
Pierre-Yves Chibon 6c92e5
        {% endfor %}
Pierre-Yves Chibon 6c92e5
      {% endif %}
Pierre-Yves Chibon a6924a
    
Pierre-Yves Chibon c92cdd
Ryan Lerch 1d9c75
    
Ryan Lerch 77ddf4
      
Ryan Lerch 77ddf4
Ryan Lerch 77ddf4
        <section class="issue_comment add_comment"></section>
Ryan Lerch 77ddf4
        {% if authenticated and form %}
Ryan Lerch 77ddf4
Ryan Lerch 77ddf4
          <fieldset class="form-group"></fieldset>
Ryan Lerch 77ddf4
            <label for="comment">Add new comment</label>
Pierre-Yves Chibon 0b2052
            <small class="text-muted pull-xs-right"></small>
Pierre-Yves Chibon 0b2052
              
Pierre-Yves Chibon 0b2052
                aria-pressed="false" id="previewinmarkdown">Preview
Pierre-Yves Chibon 0b2052
              
Pierre-Yves Chibon 0b2052
            
Pierre-Yves Chibon 466ae5
            
Pierre-Yves Chibon 67b178
                placeholder="Enter your comment here" tabindex=1>
Ryan Lerch 77ddf4
Ryan Lerch 77ddf4
            
Ryan Lerch 77ddf4
            
Ryan Lerch 77ddf4
          
Ryan Lerch 77ddf4
Ryan Lerch 77ddf4
          Select files OR drag them into the comment field below.
Pierre-Yves Chibon 8cf351
          
Pierre-Yves Chibon 8cf351
            multiple tabindex=3 />
Ryan Lerch 77ddf4
          <fieldset id="progress" style="display: none"></fieldset>
Ryan Lerch 77ddf4
            
Ryan Lerch 77ddf4
              
0%
Ryan Lerch 77ddf4
            
Ryan Lerch 77ddf4
          
Pierre-Yves Chibon a02e40
          
Pierre-Yves Chibon a02e40
             target="_blank">Markdown Syntax
Pierre-Yves Chibon 8cf351
          
Pierre-Yves Chibon 8cf351
            
Pierre-Yves Chibon 8cf351
              value="Update Issue" tabindex=2 />
Pierre-Yves Chibon 8cf351
            
Pierre-Yves Chibon 8cf351
              value="Clear" id="clear_comment" tabindex=4 />
Pierre-Yves Chibon 8cf351
          
Ryan Lerch 1d9c75
        {% else %}
Pierre-Yves Chibon 22115d
          

Pierre-Yves Chibon 22115d
            Login
Pierre-Yves Chibon 22115d
            to comment on this ticket.
Pierre-Yves Chibon 22115d
          

Ryan Lerch 1d9c75
        {% endif %}
Ryan Lerch 77ddf4
        
Ryan Lerch 77ddf4
Ryan Lerch 77ddf4
      
Ryan Lerch 77ddf4
    
Ryan Lerch 77ddf4
  
Pierre-Yves Chibon 8cf351
Ryan Lerch 77ddf4
  
Ryan Lerch 77ddf4
    
Ryan Lerch 77ddf4
      
Ryan Lerch 048028
Ryan Lerch 048028
          <fieldset class="form-group issue-metadata-display"></fieldset>
Ryan Lerch 048028
            <label>Status</label>
Pierre-Yves Chibon a883ed
            

Pierre-Yves Chibon 0f125a
              
Pierre-Yves Chibon 0f125a
                if issue.status|lower == 'invalid' %}label-danger{%
Pierre-Yves Chibon 0f125a
                elif issue.status|lower == 'fixed' %}label-success{%
Pierre-Yves Chibon 0f125a
                elif issue.status|lower == 'insufficient data' %}label-warning{%
Pierre-Yves Chibon 0f125a
                elif issue.status|lower == 'open' %}label-primary{%
Pierre-Yves Chibon 0f125a
                endif %}">{{ issue.status }}
Pierre-Yves Chibon a883ed
            
Ryan Lerch 048028
          
Ryan Lerch 048028
Ryan Lerch 048028
          {% if authenticated and repo_admin %}
Pierre-Yves Chibon 471178
            {{ render_bootstrap_field(form.status,
Pierre-Yves Chibon 471178
              formclass="issue-metadata-form") }}
Ryan Lerch 048028
          {% endif%}
Ryan Lerch 048028
Ryan Lerch 048028
          <fieldset class="form-group issue-metadata-display"></fieldset>
Ryan Lerch 048028
            <label>Tags</label>
Pierre-Yves Chibon a1acb0
              

Ryan Lerch 048028
                {% for tag in issue.tags %}
Pierre-Yves Chibon a1acb0
                  
Pierre-Yves Chibon a1acb0
                    href="{{ url_for('view_issues', username=username,
Pierre-Yves Chibon a1acb0
                            repo=repo.name, tags=tag.tag) }}">
Pierre-Yves Chibon a1acb0
                    {{ tag.tag }}
Pierre-Yves Chibon a1acb0
                  
Ryan Lerch 048028
                {% endfor %}
Ryan Lerch 77ddf4
              
Ryan Lerch 048028
          
Ryan Lerch 1d9c75
Ryan Lerch 048028
          {% if authenticated and repo_admin %}
Ryan Lerch 048028
          <fieldset class="form-group issue-metadata-form"></fieldset>
Ryan Lerch 048028
            <label for="tag">Tags</label>
Pierre-Yves Chibon 8cf351
             
Pierre-Yves Chibon 8cf351
                title="comma separated list of tags"
Pierre-Yves Chibon 8cf351
                value="{{ issue.tags_text | join(',') }}" />
Ryan Lerch 048028
          
Ryan Lerch 048028
          {% endif%}
Ryan Lerch 1d9c75
Ryan Lerch 048028
          <fieldset class="form-group issue-metadata-display"></fieldset>
Ryan Lerch 048028
            <label>Assignee</label>
Pierre-Yves Chibon 8f0e0b
            
Ryan Lerch 048028
              {% if issue.assignee %}
Pierre-Yves Chibon 8cf351
                  
Pierre-Yves Chibon 8cf351
                    'view_issues', username=username, repo=repo.name,
Pierre-Yves Chibon 8cf351
                    assignee=issue.assignee.username) }}">
Pierre-Yves Chibon 8cf351
                    {{ issue.assignee.username }}
Pierre-Yves Chibon 8cf351
                  
Ryan Lerch 048028
              {% else %}
Ryan Lerch 048028
                unassigned
Ryan Lerch 048028
              {% endif %}
Pierre-Yves Chibon b79066
              {% if authenticated and repo_admin
Pierre-Yves Chibon b79066
                and (not issue.assignee or issue.assignee.username != g.fas_user.username) %}
Pierre-Yves Chibon b79066
              
Pierre-Yves Chibon b79066
                title="assign this issue to you">
Pierre-Yves Chibon b79066
                  Take
Pierre-Yves Chibon b79066
              
Ryan Lerch aa23a9
              {% endif %}
Ryan Lerch 048028
            
Ryan Lerch 048028
          
Ryan Lerch 1d9c75
Ryan Lerch 048028
          {% if authenticated and repo_admin %}
Pierre-Yves Chibon 471178
          <fieldset class="form-group issue-metadata-form"></fieldset>
Pierre-Yves Chibon 471178
            <label for="assignee">Assignee</label>
Pierre-Yves Chibon 471178
            
Pierre-Yves Chibon 471178
              placeholder="username"
Pierre-Yves Chibon 471178
              value="{{ issue.assignee.username or '' }}" />
Pierre-Yves Chibon 471178
          
Ryan Lerch 048028
          {% endif%}
Ryan Lerch 77ddf4
Ryan Lerch 048028
          <fieldset class="form-group issue-metadata-display"></fieldset>
Ryan Lerch 048028
            <label>Blocked</label>
Pierre-Yves Chibon 4690e8
            
Ryan Lerch 048028
              {% for ticket in issue.parents %}
Pierre-Yves Chibon 4690e8
                
Pierre-Yves Chibon 4690e8
                  href="{{ url_for('view_issue', username=username,
Ryan Lerch 048028
                            repo=repo.name, issueid=ticket.id)
Pierre-Yves Chibon 4690e8
                  }}" >#{{ ticket.id }}
Ryan Lerch 048028
              {% endfor %}
Ryan Lerch 048028
            
Ryan Lerch 048028
          
Ryan Lerch 048028
Ryan Lerch 048028
          {% if authenticated and repo_admin %}
Ryan Lerch 048028
                <fieldset class="form-group issue-metadata-form"></fieldset>
Ryan Lerch 048028
                  <label for="blocks">Blocked</label>
Pierre-Yves Chibon 8cf351
                  
Pierre-Yves Chibon 8cf351
                    placeholder="issue blocked" name="blocks"
Pierre-Yves Chibon 8cf351
                    value="{{ issue.blocks_text | join(',') }}" />
Ryan Lerch 048028
                
Ryan Lerch 048028
          {% endif%}
Ryan Lerch 048028
Ryan Lerch 048028
Ryan Lerch 048028
          <fieldset class="form-group issue-metadata-display"></fieldset>
Ryan Lerch 048028
            <label>Depends on</label>
Pierre-Yves Chibon 4690e8
            
Ryan Lerch 048028
              {% for ticket in issue.children %}
Pierre-Yves Chibon 4690e8
                
Pierre-Yves Chibon 4690e8
                  href="{{ url_for('view_issue', username=username,
Ryan Lerch 048028
                            repo=repo.name, issueid=ticket.id)
Pierre-Yves Chibon 4690e8
                    }}">#{{ ticket.id }}
Ryan Lerch 048028
              {% endfor %}
Ryan Lerch 048028
            
Ryan Lerch 048028
          
Ryan Lerch 048028
Ryan Lerch 048028
          {% if authenticated and repo_admin %}
Pierre-Yves Chibon 67b178
            <fieldset class="form-group issue-metadata-form"></fieldset>
Pierre-Yves Chibon 67b178
              <label for="depends">Depends on</label>
Pierre-Yves Chibon 8cf351
              
Pierre-Yves Chibon 8cf351
                placeholder="issue depending" name="depends"
Pierre-Yves Chibon 8cf351
                value="{{ issue.depends_text | join(',') }}" />
Pierre-Yves Chibon 67b178
            
Ryan Lerch 048028
          {% endif%}
Ryan Lerch 048028
Pierre-Yves Chibon 471178
          {% if repo.priorities %}
Pierre-Yves Chibon 471178
          <fieldset class="form-group issue-metadata-display"></fieldset>
Pierre-Yves Chibon 471178
            <label>Priority</label>
Pierre-Yves Chibon 471178
            
Pierre-Yves Chibon 471178
              {% if issue.priority %}
Pierre-Yves Chibon 471178
              {{ repo.priorities[issue.priority | string] }}
Pierre-Yves Chibon 471178
              {% endif %}
Pierre-Yves Chibon 471178
            
Pierre-Yves Chibon 471178
          
Pierre-Yves Chibon 471178
          {% if authenticated and repo_admin %}
Pierre-Yves Chibon 471178
            {{ render_bootstrap_field(form.priority,
Pierre-Yves Chibon 471178
              formclass="issue-metadata-form") }}
Pierre-Yves Chibon 471178
          {% endif%}
Pierre-Yves Chibon 471178
Pierre-Yves Chibon 471178
          {% endif %}
Pierre-Yves Chibon 471178
Ryan Lerch 048028
          <input class="btn btn-primary issue-metadata-form" type="submit" value="Update">
Pierre-Yves Chibon 8cf351
            
Pierre-Yves Chibon 8cf351
              cancel
Pierre-Yves Chibon 8cf351
            
Ryan Lerch 048028
          {% if authenticated and repo_admin %}
Pierre-Yves Chibon 8cf351
            
Pierre-Yves Chibon 8cf351
              Edit Metadata
Pierre-Yves Chibon 8cf351
            
Ryan Lerch 048028
          {% endif %}
Pierre-Yves Chibon ea16af
      
Johan Cwiklinski bc00dc
    
Pierre-Yves Chibon a76093
  
Pierre-Yves Chibon 8cf351
Pierre-Yves Chibon 8cf351
  
Ryan Lerch 1d9c75
Pierre-Yves Chibon 6e76e1
Pierre-Yves Chibon 6e76e1
{% endblock %}
Pierre-Yves Chibon a76093
Pierre-Yves Chibon a76093
{% block jscripts %}
Pierre-Yves Chibon a76093
{{ super() }}
Pierre-Yves Chibon a76093
<script type="text/javascript"></script>
Pierre-Yves Chibon be01e5
  var UPLOAD_URL = "{{ url_for('upload_issue', repo=repo.name, issueid=issue.id, username=username) }}";
Pierre-Yves Chibon be01e5
Pierre-Yves Chibon be01e5
Pierre-Yves Chibon 5b44ea
    src="{{ url_for('static', filename='emoji/jquery.textcomplete.min.js') }}">
Pierre-Yves Chibon 5b44ea
Pierre-Yves Chibon 5b44ea
Pierre-Yves Chibon 5b44ea
    src="{{ url_for('static', filename='emoji/emojione.min.js') }}">
Pierre-Yves Chibon 5b44ea
Pierre-Yves Chibon 5b44ea
Pierre-Yves Chibon be01e5
  src="{{ url_for('static', filename='upload.js') }}">
Pierre-Yves Chibon be01e5
Ryan Lerch 3602fa
Ryan Lerch 49bf7f
<script src="{{ url_for('static', filename='selectize.min.js') }}" type="text/javascript"></script>
Pierre-Yves Chibon be01e5
<script type="text/javascript"></script>
Pierre-Yves Chibon 5b44ea
Pierre-Yves Chibon be01e5
{% if authenticated and form %}
Pierre-Yves Chibon be01e5
$(document).ready(function() {
Pierre-Yves Chibon be01e5
  // Set up the drag/drop zone.
Pierre-Yves Chibon c18210
  initDropbox("{{ form.csrf_token.current_token }}", "#comment");
Pierre-Yves Chibon be01e5
Pierre-Yves Chibon be01e5
  // Set up the handler for the file input box.
Pierre-Yves Chibon be01e5
  $("#file-picker").on("change", function() {
Pierre-Yves Chibon be01e5
    doUpload("{{ form.csrf_token.current_token }}", this.files);
Pierre-Yves Chibon be01e5
  });
Pierre-Yves Chibon be01e5
});
Pierre-Yves Chibon be01e5
{% endif %}
Pierre-Yves Chibon a1ab23
function setup_edit_btns() {
Pierre-Yves Chibon a1ab23
  $(".edit_btn").unbind();
Pierre-Yves Chibon 6736ac
  $(".edit_btn").click(function() {
Pierre-Yves Chibon 6736ac
    var commentid = $( this ).attr('data-comment');
Pierre-Yves Chibon 6736ac
    var _url = '{{ request.base_url }}' + '/comment/' + commentid + '/edit';
Pierre-Yves Chibon 6736ac
    $.ajax({
Pierre-Yves Chibon 6736ac
        url: _url + '?js=1',
Pierre-Yves Chibon 6736ac
        type: 'GET',
Pierre-Yves Chibon 6736ac
        dataType: 'html',
Pierre-Yves Chibon 6736ac
        success: function(res) {
Pierre-Yves Chibon 6736ac
            var el = $('#comment-' + commentid);
Ryan Lerch 49bf7f
            var sec = el.parent().find('.issue_comment');
Pierre-Yves Chibon 5fd760
            $(sec).hide();
Ryan Lerch 49bf7f
            el.parent().find('.issue_actions').hide();
Pierre-Yves Chibon 5fd760
            $(sec).after(res);
Pierre-Yves Chibon 5fd760
            cancel_edit_btn();
Pierre-Yves Chibon 6736ac
        },
Pierre-Yves Chibon 6736ac
        error: function() {
Pierre-Yves Chibon 6736ac
            alert('Could not make edit work');
Pierre-Yves Chibon 6736ac
        }
Pierre-Yves Chibon 6736ac
    });
Pierre-Yves Chibon 6736ac
    return false;
Pierre-Yves Chibon 5fd760
  });
Pierre-Yves Chibon a1ab23
};
Pierre-Yves Chibon a1ab23
Pierre-Yves Chibon a1ab23
function cancel_edit_btn() {
Pierre-Yves Chibon a1ab23
  $("#comment_update_cancel").unbind();
Pierre-Yves Chibon a1ab23
  $("#comment_update_cancel").click(
Pierre-Yves Chibon a1ab23
    function() {
Pierre-Yves Chibon a1ab23
      $(this).closest('#comments').find('.issue_comment').show();
Pierre-Yves Chibon a1ab23
      $(this).closest('#comments').find('.issue_actions').show();
Pierre-Yves Chibon a1ab23
      $(this).closest('.edit_comment').remove();
Pierre-Yves Chibon a1ab23
      return false;
Pierre-Yves Chibon a1ab23
    });
Pierre-Yves Chibon a1ab23
};
Pierre-Yves Chibon 5fd760
Pierre-Yves Chibon a1ab23
function setup_reply_btns() {
Pierre-Yves Chibon a1ab23
  $(".reply").unbind();
Pierre-Yves Chibon a1ab23
  $( ".reply" ).click(
Pierre-Yves Chibon a1ab23
    function() {
Pierre-Yves Chibon c1423c
      if ($(this).attr('data-toggle')){
Pierre-Yves Chibon c1423c
        var _section = $(this).closest('.card-block');
Pierre-Yves Chibon c1423c
      } else {
Pierre-Yves Chibon c1423c
        var _section = $(this).closest('.clearfix');
Pierre-Yves Chibon c1423c
      }
Pierre-Yves Chibon a1ab23
      var _comment = _section.find('.comment_body');
Pierre-Yves Chibon a1ab23
      var _text = _comment.text().split("\n");
Pierre-Yves Chibon a1ab23
      var _output = new Array();
Pierre-Yves Chibon c1423c
      for (cnt = 0; cnt < _text.length ; cnt ++) {
Pierre-Yves Chibon 31015d
          _output[cnt] = '> ' + $.trim(_text[cnt]);
Pierre-Yves Chibon a1ab23
      }
Pierre-Yves Chibon a1ab23
      $( "#comment" ).val(_output.join("\n"));
Pierre-Yves Chibon a1ab23
    }
Pierre-Yves Chibon a1ab23
  );
Pierre-Yves Chibon a1ab23
};
Pierre-Yves Chibon a1ab23
Pierre-Yves Chibon a1ab23
$(document).ready(function() {
Pierre-Yves Chibon a1ab23
  var cur_hash = null;
Pierre-Yves Chibon a1ab23
Pierre-Yves Chibon a1ab23
  highlight_comment = function() {
Pierre-Yves Chibon a1ab23
    var _hash = window.location.hash;
Pierre-Yves Chibon a1ab23
    if (_hash != cur_hash) {
Pierre-Yves Chibon a1ab23
      $( cur_hash ).css(
Pierre-Yves Chibon a1ab23
        "background", "linear-gradient(to bottom, #ededed 0%, #fff 100%)"
Pierre-Yves Chibon a1ab23
      );
Pierre-Yves Chibon a1ab23
    };
Pierre-Yves Chibon a1ab23
    cur_hash = _hash;
Pierre-Yves Chibon a1ab23
    if ( _hash ) {
Pierre-Yves Chibon a1ab23
      $( _hash ).css(
Pierre-Yves Chibon a1ab23
        "background", "linear-gradient(to bottom, #eded98 0%, #fff 100%)"
Pierre-Yves Chibon a1ab23
      );
Pierre-Yves Chibon a1ab23
    };
Pierre-Yves Chibon a1ab23
    return false;
Pierre-Yves Chibon 5fd760
  };
Pierre-Yves Chibon 6736ac
Pierre-Yves Chibon 8cf351
  {% if repo_admin %}
Pierre-Yves Chibon 8cf351
  $('#closeticket').click(function(event){
Pierre-Yves Chibon 8cf351
    event.preventDefault();
Pierre-Yves Chibon 31015d
    var closeForm = $('<form>', {</form>
Pierre-Yves Chibon 8cf351
        'method': 'POST',
Pierre-Yves Chibon 8cf351
        'action': '{{
Pierre-Yves Chibon 8cf351
        url_for('.delete_issue',
Pierre-Yves Chibon 8cf351
                 username=username, repo=repo.name, issueid=issueid) }}',
Pierre-Yves Chibon 31015d
    }).append($('<input>', {
Pierre-Yves Chibon 8cf351
        'name': 'csrf_token',
Pierre-Yves Chibon 8cf351
        'value': '{{ form.csrf_token.current_token }}',
Pierre-Yves Chibon 8cf351
        'type': 'hidden'
Pierre-Yves Chibon 8cf351
    })).appendTo('body');
Pierre-Yves Chibon 8cf351
    if (confirm('Are you sure to delete this ticket? \nThis is final and cannot be un-done.')){
Pierre-Yves Chibon 31015d
      closeForm.submit();
Pierre-Yves Chibon 8cf351
    }
Pierre-Yves Chibon 8cf351
    return false;
Pierre-Yves Chibon 8cf351
  });
Pierre-Yves Chibon 8cf351
  {% endif %}
Pierre-Yves Chibon 8cf351
Pierre-Yves Chibon a1ab23
  $(window.onload=highlight_comment());
Pierre-Yves Chibon a1ab23
  $(window).on('hashchange', highlight_comment);
Pierre-Yves Chibon a1ab23
  cancel_edit_btn();
Pierre-Yves Chibon a1ab23
  setup_edit_btns();
Pierre-Yves Chibon a1ab23
  setup_reply_btns();
Pierre-Yves Chibon a1ab23
Pierre-Yves Chibon a76093
});
Pierre-Yves Chibon 1f6128
Pierre-Yves Chibon 1f6128
Pierre-Yves Chibon dcc9c5
{% if config['EVENTSOURCE_SOURCE'] and not issue.private %}
Pierre-Yves Chibon 1f6128
Pierre-Yves Chibon 1f6128
  src="{{ url_for('static', filename='issue_ev.js') }}">
Pierre-Yves Chibon 1f6128
Pierre-Yves Chibon 1f6128
<script type="text/javascript"></script>
Pierre-Yves Chibon 30a0dc
var source = null;
Pierre-Yves Chibon 223960
var sse = true;
Pierre-Yves Chibon 1549ec
if (!!window.EventSource) {
Pierre-Yves Chibon 1f6128
  source = new EventSource('{{ config["EVENTSOURCE_SOURCE"]
Pierre-Yves Chibon 1f6128
    + request.script_root + request.path }}');
Pierre-Yves Chibon 223960
  source.addEventListener('error', function(e) {
Pierre-Yves Chibon 223960
    sse = false;
Pierre-Yves Chibon 223960
  }, false);
Pierre-Yves Chibon 1549ec
}
Pierre-Yves Chibon 132aba
Pierre-Yves Chibon 30a0dc
window.onbeforeunload = function() {
Pierre-Yves Chibon 30a0dc
    source.close()
Pierre-Yves Chibon 30a0dc
};
Pierre-Yves Chibon 30a0dc
Pierre-Yves Chibon 1549ec
source.addEventListener('message', function(e) {
Pierre-Yves Chibon 1549ec
  console.log(e.data);
Pierre-Yves Chibon 1549ec
  var data = $.parseJSON(e.data);
Pierre-Yves Chibon 1f6128
  var _issues_url ='
Pierre-Yves Chibon 1f6128
    url_for('view_issues', username=username, repo=repo.name)}}';
Pierre-Yves Chibon e814b5
  var _api_issues_url ='{{
Pierre-Yves Chibon e814b5
    url_for('api_ns.api_view_issue', username=username,
Pierre-Yves Chibon 923927
            repo=repo.name, issueid='-123456789')}}';
Pierre-Yves Chibon 4690e8
  var _issue_url ='{{
Pierre-Yves Chibon eb6fd3
    url_for('view_issue', username=username,
Pierre-Yves Chibon 4690e8
            repo=repo.name, issueid='-123456789')}}';
Pierre-Yves Chibon e814b5
  process_event(data, "{{ issue.uid }}", _issue_url,
Pierre-Yves Chibon a42bf9
                _issues_url, _api_issues_url,
Pierre-Yves Chibon a42bf9
                "{{ g.fas_user.username }}");
Pierre-Yves Chibon a1ab23
  setup_edit_btns();
Pierre-Yves Chibon a1ab23
  setup_reply_btns();
Pierre-Yves Chibon 1549ec
Pierre-Yves Chibon 1f6128
  }, false);
Pierre-Yves Chibon 476f21
Pierre-Yves Chibon 476f21
{% if authenticated and form %}
Pierre-Yves Chibon 476f21
function try_async_comment(form) {
Pierre-Yves Chibon 8cf351
  console.log(form)
Pierre-Yves Chibon d0d6bc
  $(form).find('input[type="submit"]').attr("disabled", "disabled");
Pierre-Yves Chibon 24c556
  var _data = $(form).serialize();
Pierre-Yves Chibon 24c556
  var btn = $(document.activeElement);
Pierre-Yves Chibon 323a4b
  if (btn[0].name == 'drop_comment'){
Pierre-Yves Chibon 24c556
    _data += '&drop_comment=' + btn[0].value;
Pierre-Yves Chibon 24c556
    return true;
Pierre-Yves Chibon 24c556
  }
Pierre-Yves Chibon 6c92e5
  if (!sse) {
Pierre-Yves Chibon 6c92e5
    $(form).off('submit');
Pierre-Yves Chibon 6c92e5
    form.submit();
Pierre-Yves Chibon 6c92e5
    return false;
Pierre-Yves Chibon 6c92e5
  }
Pierre-Yves Chibon 6c92e5
  var _url = form.action + "?js=1";
Pierre-Yves Chibon 24c556
  $.post( _url, _data )
Pierre-Yves Chibon 476f21
    .done(function(data) {
Pierre-Yves Chibon 476f21
      if(data == 'ok') {
Pierre-Yves Chibon 476f21
        {# The event-source server will automatically refresh the UI #}
Pierre-Yves Chibon 476f21
        $('#comment').val('');
Pierre-Yves Chibon 531aee
        $('#preview').html('');
Pierre-Yves Chibon 531aee
        $('#previewinmarkdown').addClass('inactive');
Pierre-Yves Chibon 531aee
        $('#previewinmarkdown').removeClass('active');
Pierre-Yves Chibon 531aee
        $('#preview').hide();
Pierre-Yves Chibon 531aee
        $('#comment').show();
Pierre-Yves Chibon 4088d1
        $('#comments').find('.comment_body').show();
Pierre-Yves Chibon 4088d1
        $('#comments').find('.edit_comment').remove();
Pierre-Yves Chibon ee3f6d
        $( ".issue-metadata-form" ).hide();
Pierre-Yves Chibon ee3f6d
        $( ".issue-metadata-display" ).show();
Pierre-Yves Chibon 476f21
      } else {
Pierre-Yves Chibon 476f21
        // Make the browser submit the form sync
Pierre-Yves Chibon 476f21
        $(form).off('submit');
Pierre-Yves Chibon 476f21
        form.submit();
Pierre-Yves Chibon 476f21
      }
Pierre-Yves Chibon 476f21
    })
Pierre-Yves Chibon 476f21
    .fail(function() {
Pierre-Yves Chibon 476f21
      // Make the browser submit the form sync
Pierre-Yves Chibon 476f21
      $(form).off('submit');
Pierre-Yves Chibon 476f21
      form.submit();
Pierre-Yves Chibon 476f21
    })
Pierre-Yves Chibon d0d6bc
  $(form).find('input[type="submit"]').removeAttr("disabled");
Pierre-Yves Chibon 476f21
  return false;
Pierre-Yves Chibon 476f21
};
Pierre-Yves Chibon 476f21
{% endif %}
Pierre-Yves Chibon 476f21
Pierre-Yves Chibon a76093
Pierre-Yves Chibon 1f6128
{% endif %}
Pierre-Yves Chibon c1423c
<script type="text/javascript"></script>
Ryan Lerch 1d9c75
$( document ).ready(function() {
Ryan Lerch 3602fa
  var emojiStrategy;
Ryan Lerch 3602fa
  $.getJSON(
Ryan Lerch 3602fa
    '{{ url_for("static", filename="emoji/emoji_strategy.json") }}',
Ryan Lerch 3602fa
    function( data ) {
Ryan Lerch 3602fa
      emojiStrategy =  data;
Ryan Lerch 3602fa
    }
Ryan Lerch 3602fa
  );
Ryan Lerch c5d2cb
Ryan Lerch c5d2cb
  var folder = '{{url_for("static", filename="emoji/png/") }}';
Ryan Lerch c5d2cb
  var json_url = '{{ url_for("static", filename="emoji/emoji_strategy.json") }}';
Ryan Lerch c5d2cb
  emoji_complete(json_url, folder);
Ryan Lerch c5d2cb
Ryan Lerch 49bf7f
  $(".comment_body").each(function(ind, obj) {
Ryan Lerch 49bf7f
    var source = $(obj).html();
Ryan Lerch 49bf7f
    var preview = emojione.toImage(source);
Ryan Lerch 49bf7f
    $(obj).html(preview);
Ryan Lerch 49bf7f
  });
Ryan Lerch 49bf7f
Ryan Lerch 048028
  $( ".editmetadatatoggle" ).click(
Ryan Lerch 048028
    function() {
Ryan Lerch 048028
      $( ".issue-metadata-form" ).toggle();
Ryan Lerch 048028
      $( ".issue-metadata-display" ).toggle();
Ryan Lerch 048028
    }
Ryan Lerch 048028
  );
Ryan Lerch 048028
Ryan Lerch 77ddf4
  $('#assignee').selectize({
Ryan Lerch 77ddf4
      valueField: 'user',
Ryan Lerch 77ddf4
      labelField: 'user',
Ryan Lerch 77ddf4
      searchField: 'user',
Ryan Lerch 77ddf4
      maxItems: 1,
Ryan Lerch 77ddf4
      create: false,
Ryan Lerch 77ddf4
      load: function(query, callback) {
Pierre-Yves Chibon 4690e8
        if (!query.length) return callback();
Pierre-Yves Chibon 4690e8
        $.getJSON(
Pierre-Yves Chibon 4690e8
          "{{ url_for('api_ns.api_users') }}", {
Pierre-Yves Chibon 4690e8
            pattern: query.term
Pierre-Yves Chibon 4690e8
          },
Pierre-Yves Chibon 4690e8
          function( data ) {
Pierre-Yves Chibon 4690e8
            callback( data.users.map(function(x) { return { user: x }; }) );
Pierre-Yves Chibon 4690e8
          }
Pierre-Yves Chibon 4690e8
        );
Ryan Lerch 77ddf4
      }
Ryan Lerch 77ddf4
  });
Ryan Lerch 77ddf4
Pierre-Yves Chibon 6c92e5
  $('#blocks').selectize({
Pierre-Yves Chibon 4690e8
    plugins: ['remove_button'],
Pierre-Yves Chibon 4690e8
    valueField: 'id',
Pierre-Yves Chibon 4690e8
    labelField: 'id',
Pierre-Yves Chibon 4690e8
    searchField: ['id', 'title'],
Pierre-Yves Chibon 4690e8
    preload: 'focus',
Pierre-Yves Chibon 4690e8
    render: {
Pierre-Yves Chibon 4690e8
      option: function(item, escape) {
Pierre-Yves Chibon 4690e8
        return '
'+escape(item.id)+' '+escape(item.title)+'
';
Ryan Lerch 77ddf4
      },
Pierre-Yves Chibon 4690e8
      item: function(item, escape) {
Pierre-Yves Chibon 4690e8
        return '
#'+escape(item.id)+'
';
Pierre-Yves Chibon 4690e8
      },
Pierre-Yves Chibon 4690e8
    },
Pierre-Yves Chibon 4690e8
    create: false,
Pierre-Yves Chibon 4690e8
    load: function(query, callback) {
Pierre-Yves Chibon 4690e8
      $.getJSON(
Pierre-Yves Chibon 4690e8
        "{{ url_for('api_ns.api_view_issues', username=username, repo=repo.name) }}",
Pierre-Yves Chibon 4690e8
        function( data ) {
Pierre-Yves Chibon 4690e8
          //console.log(data.issues);
Pierre-Yves Chibon 4690e8
          callback(data.issues);
Pierre-Yves Chibon 4690e8
        }
Pierre-Yves Chibon 4690e8
      );
Pierre-Yves Chibon 4690e8
    }
Ryan Lerch 77ddf4
  });
Ryan Lerch 77ddf4
Pierre-Yves Chibon 6c92e5
  $('#depends').selectize({
Pierre-Yves Chibon 4690e8
    plugins: ['remove_button'],
Pierre-Yves Chibon 4690e8
    valueField: 'id',
Pierre-Yves Chibon 4690e8
    labelField: 'id',
Pierre-Yves Chibon 4690e8
    searchField: ['id', 'title'],
Pierre-Yves Chibon 4690e8
    preload: 'focus',
Pierre-Yves Chibon 4690e8
    render: {
Pierre-Yves Chibon 4690e8
      option: function(item, escape) {
Pierre-Yves Chibon 4690e8
        return '
'+escape(item.id)+' '+escape(item.title)+'
';
Ryan Lerch 77ddf4
      },
Pierre-Yves Chibon 4690e8
      item: function(item, escape) {
Pierre-Yves Chibon 4690e8
        return '
#'+escape(item.id)+'
';
Pierre-Yves Chibon 4690e8
      },
Pierre-Yves Chibon 4690e8
    },
Pierre-Yves Chibon 4690e8
    create: false,
Pierre-Yves Chibon 4690e8
    load: function(query, callback) {
Pierre-Yves Chibon 4690e8
      $.getJSON(
Pierre-Yves Chibon 4690e8
        "{{ url_for('api_ns.api_view_issues', username=username, repo=repo.name) }}",
Pierre-Yves Chibon 4690e8
        function( data ) {
Pierre-Yves Chibon 4690e8
          //console.log(data.issues);
Pierre-Yves Chibon 4690e8
          callback(data.issues);
Pierre-Yves Chibon 4690e8
        }
Pierre-Yves Chibon 4690e8
      );
Pierre-Yves Chibon 4690e8
    }
Ryan Lerch 77ddf4
  });
Ryan Lerch 77ddf4
Ryan Lerch 77ddf4
  $( "#clear_comment").click(
Ryan Lerch 77ddf4
    function() {
Ryan Lerch 77ddf4
      $( "#comment" ).val("");
Ryan Lerch 77ddf4
    }
Ryan Lerch 77ddf4
  );
Ryan Lerch 77ddf4
Pierre-Yves Chibon 3ed9a8
  var available_tags = [];
Pierre-Yves Chibon 3ed9a8
  {%for tog in tag_list %}
Pierre-Yves Chibon 3ed9a8
    available_tags.push("{{tog.tag}}");
Pierre-Yves Chibon 3ed9a8
  {%endfor%}
Pierre-Yves Chibon 3ed9a8
  var items = available_tags.map(function(x) { return { item: x }; });
Pierre-Yves Chibon 3ed9a8
Pierre-Yves Chibon 3ed9a8
  $('#tag').selectize({
Pierre-Yves Chibon 3ed9a8
    delimiter: ',',
Pierre-Yves Chibon 3ed9a8
    options: items,
Pierre-Yves Chibon 3ed9a8
    persist: false,
Pierre-Yves Chibon 3ed9a8
    create: true,
Ryan Lerch 1d9c75
    labelField: "item",
Pierre-Yves Chibon 3ed9a8
    valueField: "item",
Pierre-Yves Chibon 3ed9a8
  });
Pierre-Yves Chibon 3ed9a8
Ryan Lerch 77ddf4
  $( "#preview" ).hide();
Ryan Lerch 1d9c75
  $( "#previewinmarkdown" ).click(
Ryan Lerch 1d9c75
    function(event, ui) {
Pierre-Yves Chibon ee3f6d
      if ($( "#previewinmarkdown" ).hasClass("inactive")){
Pierre-Yves Chibon ee3f6d
        var _text = $( "#comment" ).val();
Pierre-Yves Chibon 6ea518
        var _url = "{{ url_for('markdown_preview',
Pierre-Yves Chibon 6ea518
                        user=repo.user.user if repo.is_fork,
Pierre-Yves Chibon 6ea518
                        repo=repo.name) | safe}}";
Pierre-Yves Chibon 6ea518
        $.ajax({
Pierre-Yves Chibon 6ea518
          url: _url ,
Pierre-Yves Chibon 6ea518
          type: 'POST',
Pierre-Yves Chibon 6ea518
          data: {
Pierre-Yves Chibon 6ea518
            content: _text,
Pierre-Yves Chibon 6ea518
            csrf_token: "{{ form.csrf_token.current_token }}",
Pierre-Yves Chibon 6ea518
          },
Pierre-Yves Chibon 6ea518
          dataType: 'html',
Pierre-Yves Chibon 6ea518
          success: function(res) {
Pierre-Yves Chibon 6ea518
            var preview = emojione.toImage(res)
Pierre-Yves Chibon 6ea518
            $( "#preview" ).html(preview);
Pierre-Yves Chibon 6ea518
            $( "#previewinmarkdown" ).removeClass("inactive");
Pierre-Yves Chibon 6ea518
            $( "#previewinmarkdown" ).addClass("active");
Pierre-Yves Chibon 6ea518
            $( "#comment" ).hide();
Pierre-Yves Chibon 6ea518
            $( "#preview" ).show();
Pierre-Yves Chibon 6ea518
          },
Pierre-Yves Chibon 6ea518
          error: function() {
Pierre-Yves Chibon 6ea518
            alert('Unable to generate preview!');
Pierre-Yves Chibon 6ea518
          }
Pierre-Yves Chibon 6ea518
        });
Pierre-Yves Chibon 6ea518
        return false;
Pierre-Yves Chibon 6ea518
      } else if ($( "#previewinmarkdown" ).hasClass("active")){
Pierre-Yves Chibon 6ea518
        $( "#previewinmarkdown" ).addClass("inactive");
Pierre-Yves Chibon 6ea518
        $( "#previewinmarkdown" ).removeClass("active");
Pierre-Yves Chibon 6ea518
        $( "#comment" ).show();
Pierre-Yves Chibon 6ea518
        $( "#preview" ).hide();
Pierre-Yves Chibon 6ea518
      }
Ryan Lerch 1d9c75
    }
Ryan Lerch 1d9c75
  );
Ryan Lerch 1d9c75
Pierre-Yves Chibon b79066
  {% if authenticated and repo_admin %}
Pierre-Yves Chibon b79066
    $("#take-btn").click(function(){
Pierre-Yves Chibon b79066
      var _url = "{{ url_for(
Pierre-Yves Chibon b79066
        'api_ns.api_assign_issue', repo=repo.name, username=username, issueid=issueid
Pierre-Yves Chibon b79066
        ) }}";
Pierre-Yves Chibon b79066
      var _data = {assignee: "{{ g.fas_user.username }}"};
Pierre-Yves Chibon b79066
      $.post( _url, _data ).done(
Pierre-Yves Chibon b79066
        function(data) {
Pierre-Yves Chibon b79066
          var _user_url = '\n
Pierre-Yves Chibon b79066
            + '?assignee={{ g.fas_user.username }}">'
Pierre-Yves Chibon b79066
            + '{{ g.fas_user.username }}';
Pierre-Yves Chibon b79066
          $('#assignee_plain').html(_user_url);
Pierre-Yves Chibon b79066
          $('#assignee').val("{{ g.fas_user.username }}");
Pierre-Yves Chibon b79066
        }
Pierre-Yves Chibon b79066
      )
Pierre-Yves Chibon b79066
      return false;
Pierre-Yves Chibon b79066
    });
Pierre-Yves Chibon b79066
  {% endif %}
Pierre-Yves Chibon b79066
Ryan Lerch 1d9c75
});
Ryan Lerch 1d9c75
Pierre-Yves Chibon a76093
{% endblock %}