{"id":146,"date":"2010-07-23T22:20:15","date_gmt":"2010-07-24T04:20:15","guid":{"rendered":"http:\/\/www.crccheck.com\/blog\/?p=146"},"modified":"2015-10-11T22:29:06","modified_gmt":"2015-10-12T04:29:06","slug":"codebasehq-tickets-for-firefox","status":"publish","type":"post","link":"https:\/\/www.crccheck.com\/blog\/codebasehq-tickets-for-firefox\/","title":{"rendered":"CodebaseHQ Tickets+ for FireFox"},"content":{"rendered":"<p>What&#8217;s this? Another release already? Well yes. I&#8217;ve been working on this project, and we use Codebase for project management. And the whole time, I kept thinking, &#8220;Why can&#8217;t I sort these tickets?!&#8221;. Apparently, I&#8217;m not the only one, because I overheard some other people say the same thing so I decided to make a <a href=\"http:\/\/userscripts.org\/scripts\/show\/82151\" target=\"_blank\">Greasemonkey script<\/a>.<\/p>\n<p>While there is a mechanism to sort, it requires modifying your search query and a page refresh. My script not only does all that live, but it also turns the search box into a live-search, which makes finding a particular ticket fast. To accompany all this, I also de-paginate the results so all the tickets are in one page. This could potentially cause problems, because some projects might have thousands of tickets; but that&#8217;s a problem for another day.<\/p>\n<p>While I have been on a jQuery spree recently, I made sure not to use it for this Greasemonkey script. Even though there is a lot of DOM manipulation, I rely on Xpath and JavaScript 1.6 Arrays. The script is simple enough where it&#8217;s easy enough to convert to jQuery if needed.<\/p>\n<p>If you use FireFox, Greasemonkey, and CodebaseHQ, Give <a href=\"http:\/\/userscripts.org\/scripts\/show\/82151\" target=\"_blank\">CodebaseHQ Tickets+<\/a> a shot.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What&#8217;s this? Another release already? Well yes. I&#8217;ve been working on this project, and we use Codebase for project management. And the whole time, I kept thinking, &#8220;Why can&#8217;t I sort these tickets?!&#8221;. Apparently, I&#8217;m not the only one, because I overheard some other people say the same thing so I decided to make a&hellip;<\/p>\n <a href=\"https:\/\/www.crccheck.com\/blog\/codebasehq-tickets-for-firefox\/\" title=\"CodebaseHQ Tickets+ for FireFox\" class=\"entry-more-link\"><span>Read More<\/span> <span class=\"screen-reader-text\">CodebaseHQ Tickets+ for FireFox<\/span><\/a>","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"Layout":"","footnotes":""},"categories":[4,20],"tags":[27,12,80,28],"class_list":["entry","author-showmewhatyougot","post-146","post","type-post","status-publish","format-standard","category-technical","category-portfolio","tag-greasemonkey","tag-js","tag-portfolio","tag-xpath"],"_links":{"self":[{"href":"https:\/\/www.crccheck.com\/blog\/wp-json\/wp\/v2\/posts\/146","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.crccheck.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.crccheck.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.crccheck.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.crccheck.com\/blog\/wp-json\/wp\/v2\/comments?post=146"}],"version-history":[{"count":3,"href":"https:\/\/www.crccheck.com\/blog\/wp-json\/wp\/v2\/posts\/146\/revisions"}],"predecessor-version":[{"id":767,"href":"https:\/\/www.crccheck.com\/blog\/wp-json\/wp\/v2\/posts\/146\/revisions\/767"}],"wp:attachment":[{"href":"https:\/\/www.crccheck.com\/blog\/wp-json\/wp\/v2\/media?parent=146"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.crccheck.com\/blog\/wp-json\/wp\/v2\/categories?post=146"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.crccheck.com\/blog\/wp-json\/wp\/v2\/tags?post=146"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}