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 = '';
+ 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 %}
' + data.comment_added + '
\ +