{"action":"created","comment":{"url":"https://api.github.com/repos/TargetProcess/tauCharts/pulls/comments/42863023","id":42863023,"diff_hunk":"@@ -0,0 +1,237 @@\n+(function (factory) {\n+    if (typeof define === 'function' && define.amd) {\n+        define(['tauCharts'], function (tauPlugins) {\n+            return factory(tauPlugins);\n+        });\n+    } else if (typeof module === 'object' && module.exports) {\n+        var tauPlugins = require('tauCharts');\n+        module.exports = factory(tauPlugins);\n+    } else {\n+        factory(this.tauCharts);\n+    }\n+})(function (tauCharts) {\n+\n+    var _ = tauCharts.api._;\n+\n+    function QuickFilter(xSettings) {\n+\n+        var log10 = function (x) {\n+            return Math.log(x) / Math.LN10;\n+        };\n+\n+        var createIsRowMatchInterceptor = function (dim, valMin, valMax) {\n+            return function (row) {\n+                var d = row[dim];\n+                return (d < valMin || d > valMax);\n+            };\n+        };\n+\n+        return {\n+\n+            init: function (chart) {\n+\n+                this._chart = chart;\n+                this._currentFilters = {};\n+                this._data = {};\n+                this._bounds = {};\n+                this._filter = {};\n+                this._container = {};\n+                this._layout = this._chart.getLayout().layout;\n+\n+                var self = this;\n+                var spec = this._chart.getSpec();\n+                var sources = spec.sources['/'];\n+\n+                this._fields = ((_.isArray(xSettings) && xSettings.length > 0) ?\n+                    (xSettings) :\n+                    (_(sources.dims).keys()));\n+\n+                var chartData = self._chart.getData();\n+\n+                self._fields\n+                    .filter(function (dim) {\n+                        var isMeasure = (sources.dims[dim].type === 'measure');\n+                        if (!isMeasure) {\n+                            console.log('The [' + dim + '] isn\\'t measure so Quick Filter plugin skipped it');\n+                        }\n+\n+                        return isMeasure;\n+                    })\n+                    .forEach(function (dim) {\n+                        self._data[dim] = _(chartData).pluck(dim);\n+                        self._bounds[dim] = d3.extent(self._data[dim]);\n+                        self._filter[dim] = self._bounds[dim];\n+\n+                        self._container[dim] = self._chart.insertToRightSidebar(self._containerTemplate);\n+                        self._container[dim].insertAdjacentHTML('beforeend', self._template({name: dim}));\n+\n+                        self._drawFilter(dim);\n+                    });\n+            },\n+\n+            _containerTemplate: '<div class=\"graphical-report__filter\"></div>',\n+            _template: _.template('<div class=\"graphical-report__legend__title\"><%=name%></div>'),\n+\n+            _drawFilter: function (dim) {\n+\n+                var data = this._data[dim];\n+                var bounds = this._bounds[dim];\n+\n+                var filter = this._filter[dim];\n+                var isDate = (_.isDate(bounds[0]) || _.isDate(bounds[1]));\n+\n+                var self = this;\n+\n+                var margin = {top: 0, right: 24, bottom: 21, left: 12};\n+                var padding = 4;\n+                var width = 180 - margin.left - margin.right;\n+                var height = 41 - margin.top - margin.bottom - 2 * padding;\n+\n+                var x = d3.scale.linear()\n+                    .domain(bounds)\n+                    .range([0, width]);\n+\n+                var brush = d3.svg.brush()\n+                    .x(x)\n+                    .extent(filter)\n+                    .on('brushstart', function () {\n+                        self._layout.style['overflow-y'] = 'hidden';\n+                        brushing();\n+                    })\n+                    .on('brush', brushing)\n+                    .on('brushend', function () {\n+                        self._layout.style['overflow-y'] = '';\n+                        brushing();\n+                    });\n+\n+                var svg = d3.select(this._container[dim]).append('svg')\n+                    .attr('width', width + margin.left + margin.right)\n+                    .attr('height', height + margin.top + margin.bottom + 4)\n+                    .append('g')\n+                    .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n+\n+                var rect = svg.append('g').selectAll('rect')\n+                    .data(data)\n+                    .enter().append('rect')\n+                    .attr('transform', function (d) {return 'translate(' + x(d) + ',' + (margin.top + padding) + ')'; })\n+                    .attr('height', height)\n+                    .attr('width', 1);\n+\n+                var brushg = svg.append('g')\n+                    .attr('class', 'brush')\n+                    .call(brush);\n+\n+                brushg.selectAll('.resize').append('line')\n+                    .attr('transform', 'translate(0, 0)')\n+                    .attr('x1', 0)\n+                    .attr('x2', 0)\n+                    .attr('y1', 0)\n+                    .attr('y2', height + 2 * padding);\n+\n+                brushg.selectAll('.resize').append('text')\n+                    .attr('x', 0)\n+                    .attr('y', 2 * (height + padding));\n+\n+                brushg.selectAll('rect')\n+                    .attr('height', height + 2 * padding);\n+\n+                var dateText = svg.append('text')\n+                    .attr('x', width / 2)\n+                    .attr('y', 2 * (height + padding))\n+                    .attr('class', 'date-label');\n+\n+                var count = log10(self._filter[dim][1] - self._filter[dim][0]);\n+                var xF = Math.round(3 - count);\n+                var base = Math.pow(10, xF);\n+\n+                function getFormatters(formatters) {\n+\n+                    var index = _(formatters)\n+                        .findIndex(function (token) {\n+                            var f = d3.time.format(token);\n+                            return (f(new Date(bounds[0])) !== f(new Date(bounds[1])));\n+                        });\n+\n+                    index = ((index < 0) ? (formatters.length) : (index));\n+\n+                    return {\n+                        comm: formatters.slice(0, index),\n+                        diff: formatters.slice(index)\n+                    };\n+                }\n+\n+                var compOrder = ['’%y', '&thinsp;%b', '%d', '%H', ':%M', ':%S'];\n+                if (isDate) {\n+                    var formatters = getFormatters(compOrder);\n+                    if (formatters.comm.length < 3) {\n+                        formatters.diff.splice(-3);\n+                        formatters.diff.reverse();\n+                        formatters.comm.reverse();\n+                        // Hide time at all if there're different days\n+                    } else {\n+                        if (formatters.comm.length < 5) {\n+                            formatters.diff.pop();\n+                        }\n+                        // Hide seconds if it's not the same minute\n+\n+                        formatters.diff = formatters.comm.splice(3, formatters.comm.length - 3).concat(formatters.diff);\n+                        formatters.comm.reverse();\n+                        // Move time to diff part if it's the same day\n+                    }\n+                }\n+\n+                brushing();\n+\n+                function brushing() {\n+                    var filter = self._filter[dim] = brush.extent();\n+                    var filterMin = isDate ? (new Date(filter[0])).getTime() : filter[0];\n+                    var filterMax = isDate ? (new Date(filter[1])).getTime() : filter[1];\n+\n+                    var s = (Math.round(parseFloat(filterMin) * base) / base);\n+                    var e = (Math.round(parseFloat(filterMax) * base) / base);\n+\n+                    var sTxt = brushg.selectAll('.w text');\n+                    var eTxt = brushg.selectAll('.e text');\n+\n+                    if (isDate) {\n+                        var comm = d3.time.format(formatters.comm.join(''));\n+                        var diff = d3.time.format(formatters.diff.join(''));\n+\n+                        dateText.html(diff(new Date(s)) + '&thinsp;..&thinsp;' + diff(new Date(e)) +\n+                            ' <tspan class=\"common\">' + comm(new Date(e)) + '</tspan>');\n+                    } else {\n+                        sTxt.text(s);\n+                        eTxt.text(e);\n+                    }\n+\n+                    self._applyFilter(dim);\n+                }\n+            },\n+\n+            _applyFilter: function (dim) {\n+                var state = this._currentFilters;\n+\n+                var valMin = this._filter[dim][0];\n+                var valMax = this._filter[dim][1];\n+                var isRowMatch = createIsRowMatchInterceptor(dim, valMin, valMax);\n+\n+                var filterId = state[dim];\n+                delete state[dim];\n+                this._chart.removeFilter(filterId);\n+\n+                state[dim] = this._chart.addFilter({\n+                    tag: 'quick-filter',\n+                    predicate: function (row) {\n+                        return !isRowMatch(row);\n+                    }\n+                });\n+\n+                this._chart.refresh();","path":"plugins/quick-filter.js","position":229,"original_position":229,"commit_id":"0dbc8fafb1a8594fd4e92238c04673d89407489a","original_commit_id":"00502af54d4167ebd3e67d0827606e1716063825","user":{"login":"vladminsky","id":1128316,"avatar_url":"https://avatars.githubusercontent.com/u/1128316?v=3","gravatar_id":"","url":"https://api.github.com/users/vladminsky","html_url":"https://github.com/vladminsky","followers_url":"https://api.github.com/users/vladminsky/followers","following_url":"https://api.github.com/users/vladminsky/following{/other_user}","gists_url":"https://api.github.com/users/vladminsky/gists{/gist_id}","starred_url":"https://api.github.com/users/vladminsky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vladminsky/subscriptions","organizations_url":"https://api.github.com/users/vladminsky/orgs","repos_url":"https://api.github.com/users/vladminsky/repos","events_url":"https://api.github.com/users/vladminsky/events{/privacy}","received_events_url":"https://api.github.com/users/vladminsky/received_events","type":"User","site_admin":false},"body":"Let's introduce a better solution in a separate PR","created_at":"2015-10-23T13:15:37Z","updated_at":"2015-10-23T13:15:37Z","html_url":"https://github.com/TargetProcess/tauCharts/pull/97#discussion_r42863023","pull_request_url":"https://api.github.com/repos/TargetProcess/tauCharts/pulls/97","_links":{"self":{"href":"https://api.github.com/repos/TargetProcess/tauCharts/pulls/comments/42863023"},"html":{"href":"https://github.com/TargetProcess/tauCharts/pull/97#discussion_r42863023"},"pull_request":{"href":"https://api.github.com/repos/TargetProcess/tauCharts/pulls/97"}}},"pull_request":{"url":"https://api.github.com/repos/TargetProcess/tauCharts/pulls/97","id":47896851,"html_url":"https://github.com/TargetProcess/tauCharts/pull/97","diff_url":"https://github.com/TargetProcess/tauCharts/pull/97.diff","patch_url":"https://github.com/TargetProcess/tauCharts/pull/97.patch","issue_url":"https://api.github.com/repos/TargetProcess/tauCharts/issues/97","number":97,"state":"open","locked":false,"title":"Filter plugin","user":{"login":"vladminsky","id":1128316,"avatar_url":"https://avatars.githubusercontent.com/u/1128316?v=3","gravatar_id":"","url":"https://api.github.com/users/vladminsky","html_url":"https://github.com/vladminsky","followers_url":"https://api.github.com/users/vladminsky/followers","following_url":"https://api.github.com/users/vladminsky/following{/other_user}","gists_url":"https://api.github.com/users/vladminsky/gists{/gist_id}","starred_url":"https://api.github.com/users/vladminsky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vladminsky/subscriptions","organizations_url":"https://api.github.com/users/vladminsky/orgs","repos_url":"https://api.github.com/users/vladminsky/repos","events_url":"https://api.github.com/users/vladminsky/events{/privacy}","received_events_url":"https://api.github.com/users/vladminsky/received_events","type":"User","site_admin":false},"body":"","created_at":"2015-10-16T11:00:29Z","updated_at":"2015-10-23T13:15:37Z","closed_at":null,"merged_at":null,"merge_commit_sha":"7815eec9d650513b20d649c52557ba235d7285fd","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/TargetProcess/tauCharts/pulls/97/commits","review_comments_url":"https://api.github.com/repos/TargetProcess/tauCharts/pulls/97/comments","review_comment_url":"https://api.github.com/repos/TargetProcess/tauCharts/pulls/comments{/number}","comments_url":"https://api.github.com/repos/TargetProcess/tauCharts/issues/97/comments","statuses_url":"https://api.github.com/repos/TargetProcess/tauCharts/statuses/0dbc8fafb1a8594fd4e92238c04673d89407489a","head":{"label":"TargetProcess:test-plugin","ref":"test-plugin","sha":"0dbc8fafb1a8594fd4e92238c04673d89407489a","user":{"login":"TargetProcess","id":649085,"avatar_url":"https://avatars.githubusercontent.com/u/649085?v=3","gravatar_id":"","url":"https://api.github.com/users/TargetProcess","html_url":"https://github.com/TargetProcess","followers_url":"https://api.github.com/users/TargetProcess/followers","following_url":"https://api.github.com/users/TargetProcess/following{/other_user}","gists_url":"https://api.github.com/users/TargetProcess/gists{/gist_id}","starred_url":"https://api.github.com/users/TargetProcess/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TargetProcess/subscriptions","organizations_url":"https://api.github.com/users/TargetProcess/orgs","repos_url":"https://api.github.com/users/TargetProcess/repos","events_url":"https://api.github.com/users/TargetProcess/events{/privacy}","received_events_url":"https://api.github.com/users/TargetProcess/received_events","type":"Organization","site_admin":false},"repo":{"id":15994863,"name":"tauCharts","full_name":"TargetProcess/tauCharts","owner":{"login":"TargetProcess","id":649085,"avatar_url":"https://avatars.githubusercontent.com/u/649085?v=3","gravatar_id":"","url":"https://api.github.com/users/TargetProcess","html_url":"https://github.com/TargetProcess","followers_url":"https://api.github.com/users/TargetProcess/followers","following_url":"https://api.github.com/users/TargetProcess/following{/other_user}","gists_url":"https://api.github.com/users/TargetProcess/gists{/gist_id}","starred_url":"https://api.github.com/users/TargetProcess/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TargetProcess/subscriptions","organizations_url":"https://api.github.com/users/TargetProcess/orgs","repos_url":"https://api.github.com/users/TargetProcess/repos","events_url":"https://api.github.com/users/TargetProcess/events{/privacy}","received_events_url":"https://api.github.com/users/TargetProcess/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/TargetProcess/tauCharts","description":"D3 based data-focused charting library. Designed with passion. Flexible.","fork":false,"url":"https://api.github.com/repos/TargetProcess/tauCharts","forks_url":"https://api.github.com/repos/TargetProcess/tauCharts/forks","keys_url":"https://api.github.com/repos/TargetProcess/tauCharts/keys{/key_id}","collaborators_url":"https://api.github.com/repos/TargetProcess/tauCharts/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/TargetProcess/tauCharts/teams","hooks_url":"https://api.github.com/repos/TargetProcess/tauCharts/hooks","issue_events_url":"https://api.github.com/repos/TargetProcess/tauCharts/issues/events{/number}","events_url":"https://api.github.com/repos/TargetProcess/tauCharts/events","assignees_url":"https://api.github.com/repos/TargetProcess/tauCharts/assignees{/user}","branches_url":"https://api.github.com/repos/TargetProcess/tauCharts/branches{/branch}","tags_url":"https://api.github.com/repos/TargetProcess/tauCharts/tags","blobs_url":"https://api.github.com/repos/TargetProcess/tauCharts/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/TargetProcess/tauCharts/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/TargetProcess/tauCharts/git/refs{/sha}","trees_url":"https://api.github.com/repos/TargetProcess/tauCharts/git/trees{/sha}","statuses_url":"https://api.github.com/repos/TargetProcess/tauCharts/statuses/{sha}","languages_url":"https://api.github.com/repos/TargetProcess/tauCharts/languages","stargazers_url":"https://api.github.com/repos/TargetProcess/tauCharts/stargazers","contributors_url":"https://api.github.com/repos/TargetProcess/tauCharts/contributors","subscribers_url":"https://api.github.com/repos/TargetProcess/tauCharts/subscribers","subscription_url":"https://api.github.com/repos/TargetProcess/tauCharts/subscription","commits_url":"https://api.github.com/repos/TargetProcess/tauCharts/commits{/sha}","git_commits_url":"https://api.github.com/repos/TargetProcess/tauCharts/git/commits{/sha}","comments_url":"https://api.github.com/repos/TargetProcess/tauCharts/comments{/number}","issue_comment_url":"https://api.github.com/repos/TargetProcess/tauCharts/issues/comments{/number}","contents_url":"https://api.github.com/repos/TargetProcess/tauCharts/contents/{+path}","compare_url":"https://api.github.com/repos/TargetProcess/tauCharts/compare/{base}...{head}","merges_url":"https://api.github.com/repos/TargetProcess/tauCharts/merges","archive_url":"https://api.github.com/repos/TargetProcess/tauCharts/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/TargetProcess/tauCharts/downloads","issues_url":"https://api.github.com/repos/TargetProcess/tauCharts/issues{/number}","pulls_url":"https://api.github.com/repos/TargetProcess/tauCharts/pulls{/number}","milestones_url":"https://api.github.com/repos/TargetProcess/tauCharts/milestones{/number}","notifications_url":"https://api.github.com/repos/TargetProcess/tauCharts/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/TargetProcess/tauCharts/labels{/name}","releases_url":"https://api.github.com/repos/TargetProcess/tauCharts/releases{/id}","created_at":"2014-01-17T09:03:30Z","updated_at":"2015-10-21T12:16:48Z","pushed_at":"2015-10-23T13:13:25Z","git_url":"git://github.com/TargetProcess/tauCharts.git","ssh_url":"git@github.com:TargetProcess/tauCharts.git","clone_url":"https://github.com/TargetProcess/tauCharts.git","svn_url":"https://github.com/TargetProcess/tauCharts","homepage":"http://www.taucharts.com","size":9611,"stargazers_count":1052,"watchers_count":1052,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":54,"mirror_url":null,"open_issues_count":15,"forks":54,"open_issues":15,"watchers":1052,"default_branch":"master"}},"base":{"label":"TargetProcess:master","ref":"master","sha":"698d4c491824bb31769a5f1752e6b76d6bd9bb2b","user":{"login":"TargetProcess","id":649085,"avatar_url":"https://avatars.githubusercontent.com/u/649085?v=3","gravatar_id":"","url":"https://api.github.com/users/TargetProcess","html_url":"https://github.com/TargetProcess","followers_url":"https://api.github.com/users/TargetProcess/followers","following_url":"https://api.github.com/users/TargetProcess/following{/other_user}","gists_url":"https://api.github.com/users/TargetProcess/gists{/gist_id}","starred_url":"https://api.github.com/users/TargetProcess/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TargetProcess/subscriptions","organizations_url":"https://api.github.com/users/TargetProcess/orgs","repos_url":"https://api.github.com/users/TargetProcess/repos","events_url":"https://api.github.com/users/TargetProcess/events{/privacy}","received_events_url":"https://api.github.com/users/TargetProcess/received_events","type":"Organization","site_admin":false},"repo":{"id":15994863,"name":"tauCharts","full_name":"TargetProcess/tauCharts","owner":{"login":"TargetProcess","id":649085,"avatar_url":"https://avatars.githubusercontent.com/u/649085?v=3","gravatar_id":"","url":"https://api.github.com/users/TargetProcess","html_url":"https://github.com/TargetProcess","followers_url":"https://api.github.com/users/TargetProcess/followers","following_url":"https://api.github.com/users/TargetProcess/following{/other_user}","gists_url":"https://api.github.com/users/TargetProcess/gists{/gist_id}","starred_url":"https://api.github.com/users/TargetProcess/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TargetProcess/subscriptions","organizations_url":"https://api.github.com/users/TargetProcess/orgs","repos_url":"https://api.github.com/users/TargetProcess/repos","events_url":"https://api.github.com/users/TargetProcess/events{/privacy}","received_events_url":"https://api.github.com/users/TargetProcess/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/TargetProcess/tauCharts","description":"D3 based data-focused charting library. Designed with passion. Flexible.","fork":false,"url":"https://api.github.com/repos/TargetProcess/tauCharts","forks_url":"https://api.github.com/repos/TargetProcess/tauCharts/forks","keys_url":"https://api.github.com/repos/TargetProcess/tauCharts/keys{/key_id}","collaborators_url":"https://api.github.com/repos/TargetProcess/tauCharts/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/TargetProcess/tauCharts/teams","hooks_url":"https://api.github.com/repos/TargetProcess/tauCharts/hooks","issue_events_url":"https://api.github.com/repos/TargetProcess/tauCharts/issues/events{/number}","events_url":"https://api.github.com/repos/TargetProcess/tauCharts/events","assignees_url":"https://api.github.com/repos/TargetProcess/tauCharts/assignees{/user}","branches_url":"https://api.github.com/repos/TargetProcess/tauCharts/branches{/branch}","tags_url":"https://api.github.com/repos/TargetProcess/tauCharts/tags","blobs_url":"https://api.github.com/repos/TargetProcess/tauCharts/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/TargetProcess/tauCharts/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/TargetProcess/tauCharts/git/refs{/sha}","trees_url":"https://api.github.com/repos/TargetProcess/tauCharts/git/trees{/sha}","statuses_url":"https://api.github.com/repos/TargetProcess/tauCharts/statuses/{sha}","languages_url":"https://api.github.com/repos/TargetProcess/tauCharts/languages","stargazers_url":"https://api.github.com/repos/TargetProcess/tauCharts/stargazers","contributors_url":"https://api.github.com/repos/TargetProcess/tauCharts/contributors","subscribers_url":"https://api.github.com/repos/TargetProcess/tauCharts/subscribers","subscription_url":"https://api.github.com/repos/TargetProcess/tauCharts/subscription","commits_url":"https://api.github.com/repos/TargetProcess/tauCharts/commits{/sha}","git_commits_url":"https://api.github.com/repos/TargetProcess/tauCharts/git/commits{/sha}","comments_url":"https://api.github.com/repos/TargetProcess/tauCharts/comments{/number}","issue_comment_url":"https://api.github.com/repos/TargetProcess/tauCharts/issues/comments{/number}","contents_url":"https://api.github.com/repos/TargetProcess/tauCharts/contents/{+path}","compare_url":"https://api.github.com/repos/TargetProcess/tauCharts/compare/{base}...{head}","merges_url":"https://api.github.com/repos/TargetProcess/tauCharts/merges","archive_url":"https://api.github.com/repos/TargetProcess/tauCharts/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/TargetProcess/tauCharts/downloads","issues_url":"https://api.github.com/repos/TargetProcess/tauCharts/issues{/number}","pulls_url":"https://api.github.com/repos/TargetProcess/tauCharts/pulls{/number}","milestones_url":"https://api.github.com/repos/TargetProcess/tauCharts/milestones{/number}","notifications_url":"https://api.github.com/repos/TargetProcess/tauCharts/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/TargetProcess/tauCharts/labels{/name}","releases_url":"https://api.github.com/repos/TargetProcess/tauCharts/releases{/id}","created_at":"2014-01-17T09:03:30Z","updated_at":"2015-10-21T12:16:48Z","pushed_at":"2015-10-23T13:13:25Z","git_url":"git://github.com/TargetProcess/tauCharts.git","ssh_url":"git@github.com:TargetProcess/tauCharts.git","clone_url":"https://github.com/TargetProcess/tauCharts.git","svn_url":"https://github.com/TargetProcess/tauCharts","homepage":"http://www.taucharts.com","size":9611,"stargazers_count":1052,"watchers_count":1052,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":54,"mirror_url":null,"open_issues_count":15,"forks":54,"open_issues":15,"watchers":1052,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/TargetProcess/tauCharts/pulls/97"},"html":{"href":"https://github.com/TargetProcess/tauCharts/pull/97"},"issue":{"href":"https://api.github.com/repos/TargetProcess/tauCharts/issues/97"},"comments":{"href":"https://api.github.com/repos/TargetProcess/tauCharts/issues/97/comments"},"review_comments":{"href":"https://api.github.com/repos/TargetProcess/tauCharts/pulls/97/comments"},"review_comment":{"href":"https://api.github.com/repos/TargetProcess/tauCharts/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/TargetProcess/tauCharts/pulls/97/commits"},"statuses":{"href":"https://api.github.com/repos/TargetProcess/tauCharts/statuses/0dbc8fafb1a8594fd4e92238c04673d89407489a"}}}}