-
Notifications
You must be signed in to change notification settings - Fork 0
/
user-js-css-v8-201213.json
1 lines (1 loc) · 22.1 KB
/
user-js-css-v8-201213.json
1
{"libs":[{"name":"jQuery 3","src":"@extension@jquery.min.js"}],"settings":{"badgeCounter":false,"editorConfig":{"enableBasicAutocompletion":false,"enableLiveAutocompletion":true,"enableSnippets":true,"fontSize":15,"highlightActiveLine":false,"keyboardHandler":false,"showPrintMargin":false,"tabSize":4,"theme":"ace/theme/tomorrow","useSoftTabs":false,"useWorker":true,"wrap":true},"supportBtn":false,"themesFolder":["chrome","clouds","dawn","dreamweaver","eclipse","github","monokai","solarized_dark","solarized_light","textmate","tomorrow","tomorrow_night","twilight"],"version":8},"sites":[{"compiledCss":".storyEstimation {display: inline-block!important; background-color: rgb(222, 235, 255)!important; border-color: rgb(222, 235, 255)!important; color: rgb(7, 71, 166)!important; font-size: 11px!important; line-height: 1.45!important; border-radius: 3px!important; text-transform: uppercase!important; font-weight: 700!important; margin: 0px!important; padding: 2px 5px 3px!important; text-align: center!important;}.customMiniBtn {border: 1px solid transparent!important; border-radius: 3px!important; display: inline-block!important; line-height: 1!important; margin: 0px 5px 0px 0px!important; padding: 7px 10px!important; font-weight: 400!important; color: rgb(0, 82, 204)!important; cursor: pointer!important;}.customMiniBtn:hover {border-color: rgb(193, 199, 208)!important;}.ghx-issue .ghx-issue-content {min-height: 44px!important;}.ghx-issue-fields .ghx-summary .ghx-inner {line-height: 1.6em!important;}.ghx-column:nth-child(1) .ghx-issue-subtask, .ghx-column:nth-last-child(1) .ghx-issue-subtask {width: 39%!important; float: left!important;}.ghx-header-compact .ghx-column:nth-child(1) .ghx-issue-subtask, .ghx-header-compact .ghx-column:nth-last-child(1) .ghx-issue-subtask {width: 42%!important;}.ghx-issue {padding: 7px!important;}.ghx-issue-subtask {margin: 3px!important;}.ghx-issue-fields .ghx-key, .ghx-type, .ghx-flags, .ghx-end {display: none!important;}.ghx-column:nth-child(1) .ghx-days, .ghx-column:nth-last-child(1) .ghx-days {display: none!important;}.ghx-mode-planning .ghx-key, .ghx-mode-planning .ghx-type, .ghx-mode-planning .ghx-flags, .ghx-mode-planning .ghx-end {display: block!important;}.ghx-mode-planning .ghx-end {display: flex!important;}.ghx-issue .ghx-avatar {right: 5px!important; top: 5px!important;}.ghx-issue.ghx-has-avatar .ghx-issue-fields, .ghx-issue.ghx-has-corner .ghx-issue-fields {padding-right: 0px!important;}.ghx-issue-fields .ghx-summary {padding-right: 40px!important;}.ghx-issue .ghx-card-footer {margin: 0px!important;}.ghx-contrast-high #ghx-detail-view, .ghx-contrast-high #ghx-operations {display: none!important;}.ghx-contrast-high .ghx-swimlane-header .ghx-heading {margin: 2px 0px!important;}.ghx-contrast-high #gh #ghx-work #ghx-pool-column .ghx-swimlane .ghx-swimlane-header {top: 0px!important;}.ghx-contrast-high .ghx-issue .ghx-issue-content {min-height: 34px!important;}.ghx-contrast-high .ghx-column-title {font-size: 15px!important;}.ghx-contrast-high .ghx-column-headers .ghx-colum {padding: 0px!important;}.ghx-contrast-high #gh #ghx-work #ghx-pool-column #ghx-column-headers .ghx-column {padding: 0px!important;}.ghx-contrast-high .ghx-issue-subtask {padding: 2px 5px!important;}.ghx-contrast-high .ghx-column:nth-last-child(1) .ghx-issue-content {min-height: 22px!important;}.ghx-contrast-high .ghx-column:nth-last-child(1) .ghx-issue-fields .ghx-summary .ghx-inner {line-height: 1em!important;}.ghx-issue .ghx-avatar {right: 1px!important; top: 1px!important;}.ghx-contrast-high .ghx-column:nth-last-child(1) .ghx-issue .ghx-avatar {!important;}.ghx-contrast-high .ghx-flagged {background-color: rgb(255, 233, 168)!important;}.ghx-contrast-high .ghx-column:nth-child(1) .ghx-issue-subtask, .ghx-contrast-high .ghx-column:nth-last-child(1) .ghx-issue-subtask {width: 28%!important; font-size: 11px!important;}.ghx-contrast-high .ghx-issue-fields .ghx-summary .ghx-inner {max-height: 3em!important;}.showMoreSubtasks {cursor: pointer!important;}.ghx-zone-overlay-table div {width: 32%!important;}.ghx-zone-overlay-table div:nth-child(1), .ghx-zone-overlay-table div:nth-last-child(1) {width: 64%!important;}","css":"/*\nAdapt the Active Sprints-board so more issues fit on\n\nCreates 2-1-1-2 columns instead of 1-1-1-1 and reduces the height of a card\n\nShow even more condensed version of Active Sprints board with in High Contract-view (press Z multiple times)\n\n@author Oebe, Stefan, Leroy, Rinki, Vlad, Javad\n*/\n\n\n.storyEstimation {\n\tdisplay: inline-block;\n\tbackground-color: #deebff;\n border-color: #deebff;\n color: #0747a6;\n font-size: 11px;\n line-height: 1.45;\n border-radius: 3px;\n text-transform: uppercase;\n font-weight: 700;\n margin: 0;\n padding: 2px 5px 3px;\n text-align: center;\n}\n\n.customMiniBtn {\n border: 1px solid transparent;\n -webkit-border-radius: 3px 3px 3px 3px;\n border-radius: 3px 3px 3px 3px;\n display: inline-block;\n line-height: 1;\n margin: 0 5px 0 0;\n padding: 7px 10px;\n font-weight: 400;\n color: #0052cc;\n cursor: pointer;\n}\n.customMiniBtn:hover {\n border-color: #c1c7d0;\n\n}\n\n/* less height for card */\n.ghx-issue .ghx-issue-content {\n min-height: 44px;\n}\n.ghx-issue-fields .ghx-summary .ghx-inner {\n line-height: 1.6em;\n}\n\n.ghx-column:nth-child(1) .ghx-issue-subtask,\n.ghx-column:nth-last-child(1) .ghx-issue-subtask {\n\twidth: 39%;\n\tfloat: left;\n}\n\n/* compact view (Z-key) */\n.ghx-header-compact .ghx-column:nth-child(1) .ghx-issue-subtask,\n.ghx-header-compact .ghx-column:nth-last-child(1) .ghx-issue-subtask {\n\twidth: 42%;\n}\n\n.ghx-issue {\n padding: 7px;\n}\n\n\n.ghx-issue-subtask {\n\tmargin: 3px;\n}\n\n.ghx-issue-fields .ghx-key,\n.ghx-type,\n.ghx-flags,\n.ghx-end\n{\n display:none;\n}\n\n.ghx-column:nth-child(1) .ghx-days,\n.ghx-column:nth-last-child(1) .ghx-days\n{\n display:none;\n}\n\n.ghx-mode-planning .ghx-key,\n.ghx-mode-planning .ghx-type,\n.ghx-mode-planning .ghx-flags,\n.ghx-mode-planning .ghx-end\n{\n display:block;\n}\n\n.ghx-mode-planning .ghx-end {\n\tdisplay:flex;\n}\n\n.ghx-issue .ghx-avatar {\n right: 5px;\n top: 5px;\n}\n\n.ghx-issue.ghx-has-avatar .ghx-issue-fields, .ghx-issue.ghx-has-corner .ghx-issue-fields {\n padding-right: 0;\n}\n\n.ghx-issue-fields .ghx-summary {\n padding-right: 40px;\n}\n\n.ghx-issue .ghx-card-footer {\n margin: 0;\n}\n\n\n/* === high contraxt view === */\n\n/* Block sidebar from opening when in high contraxt view */\n.ghx-contrast-high #ghx-detail-view,\n.ghx-contrast-high #ghx-operations {\n\tdisplay:none;\n}\n\n.ghx-contrast-high .ghx-swimlane-header .ghx-heading {\n\tmargin: 2px 0;\n}\n.ghx-contrast-high #gh #ghx-work #ghx-pool-column .ghx-swimlane .ghx-swimlane-header {\n top: 0;\n}\n\n.ghx-contrast-high .ghx-issue .ghx-issue-content {\n min-height: 34px;\n}\n\n.ghx-contrast-high .ghx-column-title {\n\tfont-size: 15px;\n}\n.ghx-contrast-high .ghx-column-headers .ghx-colum {\n\tpadding: 0;\n}\n.ghx-contrast-high #gh #ghx-work #ghx-pool-column #ghx-column-headers .ghx-column {\n padding: 0;\n}\n\n.ghx-contrast-high .ghx-issue-subtask{\n\tpadding: 2px 5px;\n}\n\n.ghx-contrast-high .ghx-column:nth-last-child(1) .ghx-issue-content\n{\n min-height: 22px;\n}\n.ghx-contrast-high .ghx-column:nth-last-child(1) .ghx-issue-fields .ghx-summary .ghx-inner {\n line-height: 1.0em;\n}\n\n.ghx-issue .ghx-avatar {\n right: 1px;\n top: 1px;\n}\n\n.ghx-contrast-high .ghx-column:nth-last-child(1) .ghx-issue .ghx-avatar {\n /*xdisplay:none;*/\n}\n\n.ghx-contrast-high .ghx-flagged {\n\tbackground-color: #ffe9a8;\n}\n\n.ghx-contrast-high .ghx-column:nth-child(1) .ghx-issue-subtask,\n.ghx-contrast-high .ghx-column:nth-last-child(1) .ghx-issue-subtask{\n\twidth: 28%;\n\tfont-size: 11px;\n}\n\n.ghx-contrast-high .ghx-issue-fields .ghx-summary .ghx-inner {\n max-height: 3em;\n}\n\n.showMoreSubtasks {\n cursor: pointer;\n}\n\n/* 2-1-1-2 columns ghx-zone-overlay-table -> you see when dragging a task */\n.ghx-zone-overlay-table div {\n width: 32%;\n}\n\n.ghx-zone-overlay-table div:nth-child(1), .ghx-zone-overlay-table div:nth-last-child(1){\n width: 64%;\n}","id":"jira.*/RapidBoard.jspa","js":"//\n// Create a copy-pastable list of issuetitle + links. Easy for in Slack, Powerpoint\n// Create a copy-pastable list of HTML-tablerows for testscenarios which can be used in Confluence or any othe HTML page.\n//\n// click on Backlog-header to open a new tab with the name + link of each issues\n// @author Oebe, Stefan, Leroy, Rinki, Vlad, Javad\n//\n\n// =========== configuration : start ===============\n\n// Show the amount of Story Point on the Active Sprints board aka scrumboard\nvar bShowStoryPointsOnScrumboard = true;\n\n// Adjust the sizes of the columns on the Active Sprints board aka scrumboard\nvar bAdjustColumnSizesOnScrumboard = true;\n\n\n// Show HTML for Test Scenarios when clicking on Show copyable list\nvar bShowTestScenarios = true;\n\n// Add rows for browsertest in the Test Scenarios (set to false for backend-teams)\nvar bAddBrowserchecksInTestScenarios = false;\n\n// set columnheaders in the Test Scenarios\nvar colHeader1 = 'Test user(s) /<br/>Test data';\nvar colHeader2 = 'Scenario/ steps to execute';\nvar colHeader3 = 'Expected result';\nvar colHeader4 = 'Actual result';\nvar colHeader5 = 'Remarks';\n\n// Fill in jiraServerId for Confluence macros to JIRA stories\n// You can get this ID by looking into the source of a confluence page while you added a JIRA marcro in that page, or ask your admin: https://confluence.atlassian.com/adminjiraserver/finding-your-server-id-938847652.html\nvar jiraServerId = '';\n\n// =========== configuration : end ===============\n\nvar timer;\nfunction appendLink() {\n\t$('.ghx-mode-planning .js-quickfilter-selector').append('| <span class=\"customMiniBtn showCopyableListButton\">Show copyable list</span>');\n\n\tif (bAdjustColumnSizesOnScrumboard) {\n\t\t// specific column width for 4 or 5 columns scrumboard\n\t\tvar iAmountOfColumns = $( \"#ghx-column-header-group .ghx-column\").length;\n\t\tif (iAmountOfColumns == 5 ) {\n\t\t\t// no changes (yet)\n\t\t} else {\n\t\t\t// wide - small - small - wide (more space in columns that often have a lot of stories)\n\t\t\tvar gridtemplatecolumns = \"33% 16% 16% 33%\";\n\t\t\t$( \".ghx-rapid-views #gh #ghx-work #ghx-pool-column .ghx-columns, .ghx-rapid-views #gh #ghx-work #ghx-pool-column #ghx-column-headers, .ghx-rapid-views #gh #ghx-work #ghx-pool-column .ghx-zone-overlay-table\" ).css(\"grid-template-columns\", gridtemplatecolumns);\n\t\t}\n\t}\n\n\t// loop all stories and add SPs to titles\n\tif (bShowStoryPointsOnScrumboard) {\n\t\t$( \".ghx-swimlane\" ).each(function( index, val ) {\n\t\t\tvar storyId = $( this ).find(\".ghx-parent-key\").text();\n\n\t\t\tif (!storyId) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// get SPs\n\t\t\tvar storySP;\n\t\t\tvar storyTitle = $( this ).find('.ghx-swimlane-header .ghx-summary');\n\t\t\tvar urlParams = new URLSearchParams(window.location.search);\n\t\t\tvar rapidViewId = urlParams.get('rapidView');\n\t\t\t\n\t\t\t// get story information\n\t\t\t$.getJSON( \"../rest/greenhopper/1.0/xboard/issue/details.json?rapidViewId=\" + rapidViewId + \"&issueIdOrKey=\" + storyId, function( data ) {\n\t\t\t\t// get SPs\n\t\t\t\tif (data) storySP = data.tabs.defaultTabs[0].fields[2].value;\n\n\t\t\t\t// add SPs to title\n\t\t\t\tif (typeof storySP == \"undefined\") {\n\t\t\t\t\tstoryTitle.html(storyTitle.html() + ' <span class=\"storyEstimation\">unestimated</span>');\n\t\t\t\t} else {\n\t\t\t\t\tstoryTitle.html(storyTitle.html() + ' <span class=\"storyEstimation\">' + storySP + ' SP</span>');\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t// add Collapse Done button\n\t$('.ghx-column:nth-last-child(1) .ghx-column-title').append(' <span class=\"customMiniBtn collapseDoneBtn\">Collapse Done only</span>');\n\n\t// when clicked on \"Collapse Done\" button\n\t$('.collapseDoneBtn').on('click', function () {\n\n\t\t// loop all stories\n\t\t$( \".ghx-swimlane\" ).each(function( index, val ) {\n\n\t\t\t// collapse all\n\t\t\t$( this ).removeClass('ghx-closed');\n\n\t\t\tvar\tstory = $( this )\n\t\t\t// find story status\n\t\t\tvar storyStatus = story.find(\".jira-issue-status-lozenge\").text();\n\n\t\t\t// open In Progress / To do ones\n\t\t\tif (storyStatus == 'Done') {\n\t\t\t\t$( this ).addClass('ghx-closed');\n\t\t\t}\n\t\t});\n\t});\n\n\t// when clicked on \"Show copyable list\"-button\n\t$('.showCopyableListButton').on('click', function () {\n\n\t\tvar jsonDescription = {};\n\t\tvar counter = 0;\n\t\t// loop all selected stories\n\t\t$( \".js-issue-list .ghx-selected\" ).each(function( index) {\n\n\t\t\tvar listlength = $( \".js-issue-list .ghx-selected\" ).length;\n\t\t\tvar storyId = $( this ).find('.ghx-key a').text();\n\t\t\tvar urlParams = new URLSearchParams(window.location.search);\n\t\t\tvar rapidViewId = urlParams.get('rapidView');\n\t\t\t\n\t\t\t// get story information\n\t\t\t$.getJSON( \"../rest/greenhopper/1.0/xboard/issue/details.json?rapidViewId=\" + rapidViewId + \"&issueIdOrKey=\" + storyId, function( data ) {\n\n\t\t\t\t// get Description\n\t\t\t\tif (data) jsonDescription[storyId] = data.tabs.defaultTabs[2].sections[0].html;\n\t\t\t\tcounter++;\n\n\t\t\t\t// only render text if all async processes are done\n\t\t\t\tif (counter == listlength) {\n\t\t\t\t\tRenderText (jsonDescription);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\n\t});\n\n}\n\nfunction htmlEntities(str) {\n return String(str).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/\"/g, '"');\n}\n\nfunction RenderText (description) {\n\t\tvar copyTextAndLink = '';\n\t\tvar copyTextPresentation = '';\n\t\tvar copyTextTitles = '';\n\t\tvar copyTextTestScenarioTable = '';\n\t\tvar copyTextLarge = '';\n\t\tvar copyTextSlack = '';\n\n\t\t$( \".js-issue-list .ghx-selected\" ).each(function( index ) {\n\n\t\t\tvar storyTitle = $( this ).find('.ghx-summary').text();\n\t\t\tvar escapedStoryTitle = storyTitle.replace(/&/g, \"&amp;\").replace(/</g, \"<\").replace(/>/g, \">\");\n\t\t\t//console.log(escapedStoryTitle);\n\t\t\tvar storyId = $( this ).find('.ghx-key a').text();\n\t\t\tvar storyLink = window.location.origin + $( this ).find('.ghx-key a').attr('href');\n\t\t\tvar storyType = $( this ).find('.ghx-type').attr('title');\n\t\t\tvar storyPoints = $( this ).find('.ghx-estimate').text();\n\n\n\t\t\t// for POs copy-paste into Slack\n\t\t\t copyTextAndLink += storyTitle;\n\t\t\t copyTextAndLink += \"<br>\";\n\t\t\t copyTextAndLink += storyLink;\n\t\t\t copyTextAndLink += \"<br>\";\n\n\t\t\t // for POs copy-paste into Slack\n\t\t\t copyTextSlack += '<a href=\"' + storyLink + '\">';\n\t\t\t copyTextSlack += storyId + '</a> - ' + storyTitle + \" (\" + storyPoints + \")\";\n\t\t\t copyTextSlack += \"</a>\";\n\t\t\t copyTextSlack += \"<br>\";\n\n\t\t\t// for SMs (for Powerpoint presentation)\n\t\t\t copyTextPresentation += '<b>'+storyTitle + '</b>';\n\t\t\t copyTextPresentation += \"<br>\";\n\t\t\t copyTextPresentation += storyId + ' (' + storyPoints + ' SP) - ' ;\n\t\t\t copyTextPresentation += \"<br>\";\n\n\t\t\t// for SMs (for printed stories - JIRA has an option for this as well)\n\t\t\t copyTextLarge += '<h2>'+storyTitle + '</h2>';\n\t\t\t copyTextLarge += '<h3>' + storyId + ' ' + storyPoints + ' SP</h3>' ;\n\t\t\t copyTextLarge += \"<br><hr><br>\";\n\n\t\t\t// for POs copy-paste clean list\n\t\t\t copyTextTitles += storyTitle;\n\t\t\t copyTextTitles += \"<br>\";\n\n\t\t\t// for Testers (for Confluence page)\n\n\n\t\t\t\tcopyTextTestScenarioTable += '<h2>'+storyId+' - '+escapedStoryTitle+'</h2>\\\n\t<table><tr>\\\n <td class=\"highlight-blue\" colspan=\"5\" data-highlight-colour=\"blue\">\\\n <div class=\"content-wrapper\">\\\n <p> \\\n <ac:structured-macro ac:macro-id=\"e8ecdcdd-735c-46d6-9457-8fb9a71f4600\" ac:name=\"jira\" ac:schema-version=\"1\">\\\n <ac:parameter ac:name=\"server\">JIRA</ac:parameter>\\\n <ac:parameter ac:name=\"serverId\">'+jiraServerId+'</ac:parameter>\\\n <ac:parameter ac:name=\"key\">'+storyId+'</ac:parameter>\\\n </ac:structured-macro>\\\n </p>\\\n </div>\\\n </td>\\\n </tr>\\\n <tr>\\\n <th colspan=\"1\">'+colHeader1+'</th>\\\n <th colspan=\"1\">'+colHeader2+'</th>\\\n <th colspan=\"1\">'+colHeader3+'</th>\\\n <th colspan=\"1\">'+colHeader4+' \\\n <ac:structured-macro ac:macro-id=\"9f354d68-9d24-463c-a6da-89e18d4b7b3a\" ac:name=\"status\" ac:schema-version=\"1\"> \\\n <ac:parameter ac:name=\"title\">Not completed</ac:parameter>\\\n </ac:structured-macro>\\\n </th>\\\n <th colspan=\"1\">'+colHeader5+'</th>\\\n </tr>\\\n <tr>\\\n <td colspan=\"1\"><br/></td>\\\n <td colspan=\"1\">'+description[storyId]+'</td>\\\n <td colspan=\"1\"><br/></td>\\\n <td colspan=\"1\"><br/></td>\\\n <td colspan=\"1\"><br/></td>\\\n </tr>\\\n <tr>\\\n <td colspan=\"1\"><br/></td>\\\n <td colspan=\"1\"><br/></td>\\\n <td colspan=\"1\"><br/></td>\\\n <td colspan=\"1\"><br/></td>\\\n <td colspan=\"1\"><br/></td>\\\n </tr>';\n\n\tif (bAddBrowserchecksInTestScenarios) {\n \tcopyTextTestScenarioTable += '<tr>\\\n <td colspan=\"1\"><br/></td>\\\n <td colspan=\"1\"> \\\n Check all the above scenarios in below browsers for a desktop:<br/>\\\n\t\t- IE11 (not supported, but tested for awareness)<br/>\\\n\t\t- Edge<br/>\\\n\t\t- Firefox<br/>\\\n\t\t- Mac Safari<br/>\\\n </td>\\\n <td colspan=\"1\">All test scenarios must look good in these browsers, devices.</td>\\\n <td colspan=\"1\"><br/></td>\\\n <td colspan=\"1\"><br/></td>\\\n </tr>\\\n <tr>\\\n <td colspan=\"1\"><br/></td>\\\n <td colspan=\"1\">\\\n Check all the above scenarios in below browsers for a Android mobile devices:<br/> \\\n\t\t- iPad Air 2/ iPad 2017, Safari, landscape<br/> \\\n\t\t- iPad Air 2/ iPad 2017, Safari, portrait \\\n </td>\\\n <td colspan=\"1\">All test scenarios must look good in these browsers, devices.</td> \\\n <td colspan=\"1\"><br/></td>\\\n <td colspan=\"1\"><br/></td>\\\n </tr>\\\n <tr>\\\n <td colspan=\"1\"><br/></td>\\\n <td colspan=\"1\"> \\\n\t\tCheck all the above scenarios in below browsers for a iOS mobile devices:<br/>\\\n\t\t- iPhone 8, Safari, iOS11, portrait <br/>\\\n\t\t- iPhone 8, Safari, iOS11, landscape\\\n </td>\\\n\t <td colspan=\"1\">All test scenarios must look good in these browsers, devices.</td>\\\n <td colspan=\"1\"><br/></td>\\\n <td colspan=\"1\"><br/></td>\\\n </tr>\\\n <tr>\\\n <td colspan=\"1\"><br/></td>\\\n <td colspan=\"1\">\\\n Check the 3 languages:<br/>\\\n\t\t- English<br/>\\\n\t\t- Dutch<br/>\\\n\t\t- French\\\n </td>\\\n <td colspan=\"1\">Languages must be correct on the web page.</td>\\\n <td colspan=\"1\"><br/></td>\\\n <td colspan=\"1\"><br/></td>\\\n </tr>\\\n <tr>\\\n <td colspan=\"1\"><br/></td>\\\n <td colspan=\"1\">Check in PDF</td>\\\n <td colspan=\"1\">\\\n Changes must be correct and in sync with PDF in all languages \\\n </td>\\\n <td colspan=\"1\"><br/></td>\\\n <td colspan=\"1\"><br/></td>\\\n </tr>';\n\t}\n\n \tcopyTextTestScenarioTable += '</table>' + 'newtablerow';\n\n\n\t\t});\t// each : end\n\n\t\t\tcopyTextTestScenarioTable = escapeHtml(copyTextTestScenarioTable)\n\n\t\t// make the source a bit readable\n\t\tcopyTextTestScenarioTable = copyTextTestScenarioTable.replace(/newtablerow/g, \"<br/>\");\n\n\t\tvar copyTextAll = copyTextAndLink + '<br><hr><br>' + copyTextSlack + '<br><hr><br>' + copyTextPresentation + '<br><hr><br>' + copyTextTitles;\n\t\t\n\t\t// show output in separate tab(s)\n\t\tif (bShowTestScenarios) {\n\t\t\t// separate tab for easier copy-pasting\n\t\t\twindow.open('about:blank').document.body.innerHTML = copyTextTestScenarioTable;\n\t\t}\n\t\twindow.open('about:blank').document.body.innerHTML = copyTextAll;\n}\n\nfunction escapeHtml(text) {\n var map = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n\n return text.replace(/[&<>\"']/g, function(m) { return map[m]; });\n}\n\n\n(function () {\n\n\t// wait 2 secs for the navbar / header to popup\n\tsetTimeout(function() {\n\t\t$('.aui-nav-item').on('click', function () {\n\t\t\t// click on Backlog view button\n\t\t\t//if ($.contains(this, $('.agile-icon-plan').get(0))) {\n\t\t\t\tsetTimeout(function () {\n\t\t\t\t\tappendLink();\n\t\t\t\t}, 1200);\n\t\t//\t}\n\t\t});\n\n\t\t// change of Quick filter or Release/Epic\n\t\t$(document).on('click', '.js-quickfilter-button, .ghx-classification-item', function (e) {\n\t\t\tclearTimeout(timer);\n\t\t\ttimer = setTimeout(function() {\n\t\t\t\tappendLink();\n\t\t\t}, 2000)\n\t\t})\n\t\t// change of search-filter (at left side of Quick filters)\n\t\t$(document).on('blur', '#ghx-backlog-search-input', function (e) {\n\t\t\tclearTimeout(timer);\n\t\t\ttimer = setTimeout(function() {\n\t\t\t\tappendLink();\n\t\t\t}, 2000)\n\t\t})\n\n\t\t// Make all ticket links open in a new tab\n\t\t$(document).on('click', 'a.js-detailview, a.js-key-link',\n\t\t\tfunction(e) {\n\t\t\t\tvar href = $(this).attr('href');\n\t\t\t\tif (href) {\n\t\t\t\t\twindow.open(href, '_blank');\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\t// Hide finished subtasks above threshold amount\n\t\tvar doneSubtasksLimit = 2;\n\t\t$('.ghx-columns').find('.ghx-column:last').each(function (index) {\n\t\t\tvar issues = $(this).find('.ghx-issue');\n\t\t\tvar doneCount = issues.length;\n\t\t\tif(doneCount > doneSubtasksLimit) {\n\t\t\t\tvar showButton = issues.eq(doneSubtasksLimit).clone();\n\t\t\t\tshowButton.addClass('showMoreSubtasks');\n\t\t\t\tshowButton.html('Show more (+' + (doneCount - doneSubtasksLimit) + ')');\n\t\t\t\t$(this).append(showButton);\n\t\t\t\tshowButton.on('click', function(){\n\t\t\t\t\t$(this).hide().parent().find('.hiddenSubtask').show();\n\t\t\t\t})\n\n\t\t\t\tissues.each(function(index){\n\t\t\t\t\tif(index >= doneSubtasksLimit) $(this).addClass('hiddenSubtask').hide();\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\n\t\tappendLink();\n\t}, 2000); // wait for ajax-list to be loaded.. if link fails to show: increase amount here\n})();","libs":["jQuery 3"],"name":"","options":{"altCSS":false,"altJS":true,"autoImportant":true,"on":true}}]}