It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Manipulating CSS in Jira's activity stream via announcement banner

Steve Korzinetzki May 30, 2012

Hello,

we are trying to introduce voting feature for just one project. In this case, I need to find a way to hide every vote functionality by default, but activate for the mentioned project.

I'm running into problems by hiding the vote button in activity stream. I don't want to manipulate Jira's source code to get this work (explained here: http://blog.networkedcollaboration.com/2012/03/19/editing-jira-activity-stream-css).

When I use this code in the announcement banner, I can hide the button by adding an css to the header of every iframe:

AJS.$(document).ready(function() {	
	AJS.$("input#testbutton").click(function () {
		AJS.$("iframe").each(function (index) {
			var frm = this.contentWindow.document;
			var otherhead = frm.getElementsByTagName("head")[0];
			var link = frm.createElement("link");
			link.setAttribute("rel", "stylesheet");
			link.setAttribute("type", "text/css");
			link.setAttribute("href", "vote.css");
			otherhead.appendChild(link);
		});
	});
});

As you can see, this code gets triggered by a click on a button, placed in the announcement banner, too. So after finishing load of page and iframes, I can hide the vote button by firing this click event of the testbutton.

What does not work is executing this code on every iframe's load event:

AJS.$(document).ready(function() {
	AJS.$("iframe").load(function() {
		var frm = this.contentWindow.document;
		var otherhead = frm.getElementsByTagName("head")[0];
		var link = frm.createElement("link");
		link.setAttribute("rel", "stylesheet");
		link.setAttribute("type", "text/css");
		link.setAttribute("href", "vote.css");
		otherhead.appendChild(link);
	});
});

I tested the load event in a single html file, that includes two iframes. There it works quite good! Placing this in Jira's announcement banner nothing happens. I tried to use the load event to raise an alert message, this does not show up, either. So my conclusion is, that the load event is not fired.

Anyone with a suggestion here? :)

Thank you in advance!

1 answer

1 accepted

0 votes
Answer accepted
Steve Korzinetzki Jun 12, 2012

I finished up with the following solution/workaround:

  1. create function that hides the vote button (see above)
  2. call this function after a timeout of x seconds, where x is 0.1, 0.5, 1, 5 seconds

this is not a good one , but a solution, that works.

Suggest an answer

Log in or Sign up to answer
This widget could not be displayed.
This widget could not be displayed.
Community showcase
Published in Jira

Try Jira Cloud for Outlook: Organize your work without leaving your inbox

Hi Atlassian community, My name is Max and I work on the product integration team at Atlassian. I am pleased to announce the early access program for the Jira Cloud add-in for Outlook. This add-in...

1,419 views 3 14
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you