diff --git a/pagure/static/issue_ev.js b/pagure/static/issue_ev.js new file mode 100644 index 0000000..756d7b0 --- /dev/null +++ b/pagure/static/issue_ev.js @@ -0,0 +1,179 @@ +clean_entry= function(text, element) { + var _out = [] + var _data = $.trim(text).split(','); + var y=0; + for (var j=0; i<_data.length; i++){ + if ($.trim(_data[j]) == element) { + continue; + } + _out[y] = $.trim(_data[j]); + y+=1; + } + return _out; +} + +add_tags = function(data, _issues_url) { + console.log('adding ' + data.added_tags); + var field = $('#taglist'); + var field2 = $('#tag'); + var _data = field.html(); + var _curval = field2.val(); + + for (i=0; i' + tag + ''; + + if (_curval) { + _curval += ','; + } + _curval += tag; + } + + field.html(_data); + field2.val(_curval); +} + +remove_tags = function(data, _issues_url) { + console.log('removing ' + data.removed_tags); + var field = $('#taglist'); + var field2 = $('#tag'); + var _data = field.html(); + var _data2 = field2.val(); + for (var i=0; i' + tag + ''; + _data = clean_entry(_data, _turl).join(); + _data2 = clean_entry(_data2, tag).join(); + } + field.html(_data); + field2.val(_data2); +} + +assigne_issue = function(data, _issues_url) { + console.log('assigning ' + data.assigned); + var field = $('#assigneduser'); + var _url = _issues_url + '?assignee=' + data.assigned.name + '">' + data.assigned.name + ''; + field.html(_url); + field = $('#assignee'); + field.val(data.assigned.name); +} + +unassigne_issue = function(data) { + console.log('un-assigning '); + var field = $('#assigneduser'); + field.html(' '); + field = $('#assignee'); + field.val(''); +} + +add_deps = function(data, issue_uid, _issue_url) { + console.log('adding ' + data.added_dependency); + if (data.issue_uid == issue_uid){ + if (data.type == "children"){ + var field = $('#blockers'); + var field2 = $('#blocks'); + } else { + var field = $('#dependencies'); + var field2 = $('#depends'); + } + } + var dep = data.added_dependency; + var _data = $.trim(field.html()); + var _url = _issue_url.replace('/-1', '/' + dep) + dep + ''; + _data += ',' + _url; + field.html(_data); + var _curval = field2.val(); + if (_curval && _curval != ',') { + _curval += ','; + } + field2.val(_curval + dep); +} + +remove_deps = function(data, issue_uid, _issue_url) { + console.log('Removing ' + data.removed_dependency); + if (data.issue_uid == issue_uid){ + if (data.type == "children"){ + var field = $('#dependencies'); + var field2 = $('#depends'); + } else { + var field = $('#blockers'); + var field2 = $('#blocks'); + } + } + var dep = data.removed_dependency; + // Set links + var _data = $.trim(field.html()).split(','); + var _url = _issue_url.replace('/-1', '/' + dep) + dep + ''; + field.html(clean_entry(field.html(), _url).join()); + // Set the value in the input field + field2.val(clean_entry(field2.val(), dep).join()); +} + +add_comment = function(data) { + console.log('Adding comment ' + data.comment_added); + var field = $('#comments'); + var _data = '
\ +
\ + \ + \ + ' + data.comment_user + '\ + - seconds ago \ + \ + \ +
\ +
\ +

' + data.comment_added + '

\ +
\ +
'; + field.html(field.html() + _data); +} + +update_issue = function(data) { + console.log('Adjusting issue ' + data.fields); + for (i=0; i' + data.issue.content + '

'); + } + } +} + +process_event = function(data, issue_uid, _issue_url, _issues_url){ + console.log(data); + if (data.added_tags){ + add_tags(data, _issues_url); + } + else if (data.removed_tags){ + remove_tags(data, _issues_url); + } + else if (data.assigned){ + assigne_issue(data, _issues_url); + } + else if (data.unassigned){ + unassigne_issue(data); + } + else if (data.added_dependency){ + add_deps(data, issue_uid, _issue_url); + } + else if (data.removed_dependency){ + remove_deps(data, issue_uid, _issue_url); + } + else if (data.comment_added){ + add_comment(data); + } + else if (data.fields){ + update_issue(data); + } +} diff --git a/pagure/templates/issue.html b/pagure/templates/issue.html index 5b1588b..9a94959 100644 --- a/pagure/templates/issue.html +++ b/pagure/templates/issue.html @@ -328,175 +328,35 @@ $(function() { }); }); + + {% if config['EVENTSOURCE_SOURCE'] %} + + + +{% endif %} {% endblock %}