{"action":"created","comment":{"url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/pulls/comments/89659571","pull_request_review_id":10204533,"id":89659571,"diff_hunk":"@@ -0,0 +1,479 @@\n+<link rel=\"import\" href=\"../polymer/polymer.html\">\n+<link rel=\"import\" href=\"../iron-scroll-threshold/iron-scroll-threshold.html\">\n+<link rel=\"import\" href=\"../d2l-ajax/d2l-ajax.html\">\n+<link rel=\"import\" href=\"../d2l-colors/d2l-colors.html\">\n+<link rel=\"import\" href=\"../d2l-icons/d2l-icons.html\">\n+<link rel=\"import\" href=\"../d2l-menu/d2l-menu.html\">\n+<link rel=\"import\" href=\"../d2l-menu/d2l-menu-item-selectable-behavior.html\">\n+<link rel=\"import\" href=\"../d2l-menu/d2l-menu-item-selectable-styles.html\">\n+<link rel=\"import\" href=\"../d2l-search-widget/d2l-search-widget.html\">\n+<link rel=\"import\" href=\"../d2l-siren-parser/d2l-siren-parser.html\">\n+<link rel=\"import\" href=\"localize-behavior.html\">\n+\n+<dom-module id=\"d2l-list-item-filter\">\n+\t<template>\n+\t\t<style include=\"d2l-menu-item-selectable-styles\">\n+\t\t\t:host {\n+\t\t\t\tpadding: 0.5rem 1rem;\n+\t\t\t}\n+\n+\t\t\t:host > span {\n+\t\t\t\tfont-size: 0.8rem;\n+\t\t\t}\n+\n+\t\t\t:host d2l-icon {\n+\t\t\t\t--d2l-icon-height: 1rem;\n+\t\t\t\t--d2l-icon-width: 1rem;\n+\t\t\t\tvisibility: visible;\n+\t\t\t\tmargin-right: 0.5rem;\n+\t\t\t}\n+\t\t</style>\n+\t\t<d2l-ajax\n+\t\t\tauto\n+\t\t\turl=\"[[_organizationUrl]]\"\n+\t\t\theaders='{ \"Accept\": \"application/vnd.siren+json\" }'\n+\t\t\ton-iron-ajax-response=\"_onOrganizationResponse\">\n+\t\t</d2l-ajax>\n+\t\t<d2l-icon icon=\"d2l-tier2:check-box-unchecked\" aria-hidden=\"true\"></d2l-icon>\n+\t\t<span>[[text]]</span>\n+\t</template>\n+\t<script>\n+\t\t'use strict';\n+\t\tPolymer({\n+\t\t\tis: 'd2l-list-item-filter',\n+\t\t\tproperties: {\n+\t\t\t\tenrollmentEntity: {\n+\t\t\t\t\ttype: Object,\n+\t\t\t\t\tvalue: function() { return {}; },\n+\t\t\t\t\tobserver: '_onEnrollmentEntityChanged'\n+\t\t\t\t},\n+\t\t\t\tselected: {\n+\t\t\t\t\ttype: Boolean,\n+\t\t\t\t\tvalue: false,\n+\t\t\t\t\tobserver: '__onSelectedChanged',\n+\t\t\t\t\treflectToAttribute: true\n+\t\t\t\t},\n+\t\t\t\t_departments: {\n+\t\t\t\t\ttype: Array,\n+\t\t\t\t\tvalue: function() {\n+\t\t\t\t\t\treturn [];\n+\t\t\t\t\t}\n+\t\t\t\t},\n+\t\t\t\t_organizationUrl: String,\n+\t\t\t\t_semesters: {\n+\t\t\t\t\ttype: Array,\n+\t\t\t\t\tvalue: function() {\n+\t\t\t\t\t\treturn [];\n+\t\t\t\t\t}\n+\t\t\t\t}\n+\t\t\t},\n+\t\t\tbehaviors: [\n+\t\t\t\twindow.D2L.PolymerBehaviors.MenuItemSelectableBehavior\n+\t\t\t],\n+\t\t\tlisteners: {\n+\t\t\t\t'd2l-menu-item-select': '_onSelect'\n+\t\t\t},\n+\t\t\t_onEnrollmentEntityChanged: function(entity) {\n+\t\t\t\tthis.set('_organizationUrl', entity.getLinkByRel(/\\/organization$/).href);\n+\t\t\t},\n+\t\t\t_onOrganizationResponse: function(response) {\n+\t\t\t\tif (response.detail.status === 200 ) {\n+\t\t\t\t\tif (!this._parser) {\n+\t\t\t\t\t\tthis._parser = document.createElement('d2l-siren-parser');\n+\t\t\t\t\t}\n+\n+\t\t\t\t\tvar entity = this._parser.parse(response.detail.xhr.response);\n+\n+\t\t\t\t\tthis.set('text', entity.properties.name);\n+\t\t\t\t\tthis.set('value', entity.getLinkByRel('self').href);\n+\t\t\t\t}\n+\t\t\t},\n+\t\t\t_onSelect: function(e) {\n+\t\t\t\tthis.set('selected', !this.selected);\n+\t\t\t\tthis.__onSelect(e);\n+\t\t\t},\n+\t\t\t__onSelectedChanged: function(e) {\n+\t\t\t\t// The selected state can be changed by click/tap or by _checkSelected below - need to update the icon when this happens\n+\t\t\t\tthis.$$('d2l-icon').setAttribute('icon', this.selected ? 'd2l-tier2:check-box' : 'd2l-tier2:check-box-unchecked');\n+\t\t\t\tthis._onSelectedChanged(e);\n+\t\t\t},\n+\t\t\t_parser: null\n+\t\t});\n+\t</script>\n+</dom-module>\n+\n+<dom-module is=\"d2l-filter-menu-content\">\n+\t<template>\n+\t\t<style>\n+\t\t\t:host {\n+\t\t\t\tdisplay: block;\n+\t\t\t}\n+\t\t\t.invisible {\n+\t\t\t\tvisibility: hidden;\n+\t\t\t}\n+\t\t\t.hidden {\n+\t\t\t\tdisplay: none !important;\n+\t\t\t}\n+\t\t\tbutton:hover,\n+\t\t\tbutton:focus,\n+\t\t\t.focus {\n+\t\t\t\ttext-decoration: underline;\n+\t\t\t\tcolor: var(--d2l-color-celestine);\n+\t\t\t}\n+\t\t\t.clear-button {\n+\t\t\t\t@apply(--d2l-body-small-text);\n+\t\t\t\t/* overrides to d2l-body-small-text */\n+\t\t\t\tcolor: var(--d2l-color-celestine);\n+\t\t\t\t/* end overrides */\n+\t\t\t\tbackground: none;\n+\t\t\t\tborder: none;\n+\t\t\t\tcursor: pointer;\n+\t\t\t\tmargin: 0;\n+\t\t\t\tpadding: 0;\n+\t\t\t}\n+\t\t\t.dropdown-content-header {\n+\t\t\t\tdisplay: flex;\n+\t\t\t\talign-items: center;\n+\t\t\t\tjustify-content: space-between;\n+\t\t\t\tborder-bottom: 1px solid var(--d2l-color-gypsum);\n+\t\t\t\twidth: 100%;\n+\t\t\t\tpadding: 20px;\n+\t\t\t}\n+\t\t\t.dropdown-content-header-text {\n+\t\t\t\tfont-weight: bold;\n+\t\t\t}\n+\t\t\t.dropdown-content-gradient {\n+\t\t\t\tbackground: linear-gradient(to top, white, var(--d2l-color-regolith));\n+\t\t\t}\n+\t\t\t.dropdown-content-tabs {\n+\t\t\t\tdisplay: flex;\n+\t\t\t\talign-items: center;\n+\t\t\t\tjustify-content: space-between;\n+\t\t\t}\n+\t\t\t.dropdown-content-tab {\n+\t\t\t\tflex: 1;\n+\t\t\t}\n+\t\t\t.dropdown-content-tab-button {\n+\t\t\t\t@apply(--d2l-body-small-text);\n+\t\t\t\tcolor: var(--d2l-color-ferrite);\n+\t\t\t\tbackground: none;\n+\t\t\t\tborder: none;\n+\t\t\t\tpadding: 10px;\n+\t\t\t\tcursor: pointer;\n+\t\t\t\tdisplay: inherit;\n+\t\t\t}\n+\t\t\t.dropdown-content-tab-highlight {\n+\t\t\t\tbackground-color: var(--d2l-color-celestine);\n+\t\t\t\tborder-bottom-left-radius: 4px;\n+\t\t\t\tborder-bottom-right-radius: 4px;\n+\t\t\t\theight: 4px;\n+\t\t\t\twidth: 80%;\n+\t\t\t\tmargin: auto;\n+\t\t\t}\n+\t\t\td2l-search-widget {\n+\t\t\t\t--d2l-search-widget-height: 45px;\n+\t\t\t\tmargin: 10px 20px;\n+\t\t\t}\n+\t\t</style>\n+\n+\t\t<d2l-ajax\n+\t\t\tid=\"moreDepartmentsRequest\"\n+\t\t\turl=\"[[_moreDepartmentsUrl]]\"\n+\t\t\theaders='{ \"Accept\": \"application/vnd.siren+json\" }'\n+\t\t\ton-iron-ajax-response=\"_onMoreDepartmentsResponse\">\n+\t\t</d2l-ajax>\n+\n+\t\t<d2l-ajax\n+\t\t\tid=\"moreSemestersRequest\"\n+\t\t\turl=\"[[_moreSemestersUrl]]\"\n+\t\t\theaders='{ \"Accept\": \"application/vnd.siren+json\" }'\n+\t\t\ton-iron-ajax-response=\"_onMoreSemestersResponse\">\n+\t\t</d2l-ajax>\n+\n+\t\t<div class=\"dropdown-content-header\">\n+\t\t\t<span class=\"dropdown-content-header-text\">{{localize('filtering.filterBy')}}</span>\n+\t\t\t<template is=\"dom-if\" if=\"[[_showClearButton]]\">\n+\t\t\t\t<button class=\"clear-button\" on-tap=\"_clearFilters\">{{localize('filtering.clear')}}</button>\n+\t\t\t</template>\n+\t\t</div>\n+\t\t<div class=\"dropdown-content-tabs dropdown-content-gradient\" role=\"tablist\">\n+\t\t\t<div class=\"dropdown-content-tab\" role=\"tab\" aria-controls=\"semesterList\">\n+\t\t\t\t<div class=\"dropdown-content-tab-highlight\" id=\"semesterListHighlight\"></div>\n+\t\t\t\t<button\n+\t\t\t\t\tid=\"semesterListButton\"\n+\t\t\t\t\tclass=\"dropdown-content-tab-button\"\n+\t\t\t\t\ton-tap=\"_selectSemesterList\"\n+\t\t\t\t\taria-pressed=\"true\">\n+\t\t\t\t\t{{localize('filtering.semester')}}\n+\t\t\t\t</button>\n+\t\t\t</div>\n+\t\t\t<div class=\"dropdown-content-tab\" role=\"tab\" aria-controls=\"departmentList\">\n+\t\t\t\t<div class=\"dropdown-content-tab-highlight\" id=\"departmentListHighlight\"></div>\n+\t\t\t\t<button\n+\t\t\t\t\tid=\"departmentListButton\"\n+\t\t\t\t\tclass=\"dropdown-content-tab-button\"\n+\t\t\t\t\ton-tap=\"_selectDepartmentList\"\n+\t\t\t\t\taria-pressed=\"false\">\n+\t\t\t\t\t{{localize('filtering.department')}}\n+\t\t\t\t</button>\n+\t\t\t</div>\n+\t\t</div>\n+\t\t<div id=\"semesterList\" aria-labelledby=\"semesterListButton\" role=\"tabpanel\">\n+\t\t\t<d2l-search-widget\n+\t\t\t\tid=\"semesterSearchWidget\"\n+\t\t\t\tplaceholder-text=\"{{localize('filtering.searchSemesters')}}\"\n+\t\t\t\tsearch-action=\"[[_searchSemestersAction]]\"\n+\t\t\t\tsearch-field-name=\"search\"\n+\t\t\t\tcache-responses></d2l-search-widget>\n+\t\t\t<d2l-menu label=\"{{localize('filtering.semester')}}\">\n+\t\t\t\t<template is=\"dom-repeat\" items=\"[[_semesters]]\">\n+\t\t\t\t\t<d2l-list-item-filter\n+\t\t\t\t\t\tenrollment-entity=\"[[item]]\"\n+\t\t\t\t\t\tselected=\"[[_checkSelected(item)]]\">\n+\t\t\t\t\t</d2l-list-item-filter>\n+\t\t\t\t</template>\n+\t\t\t</d2l-menu>\n+\t\t</div>\n+\t\t<div id=\"departmentList\" aria-labelledby=\"departmentListButton\" role=\"tabpanel\">\n+\t\t\t<d2l-search-widget\n+\t\t\t\tid=\"departmentSearchWidget\"\n+\t\t\t\tplaceholder-text=\"{{localize('filtering.searchDepartments')}}\"\n+\t\t\t\tsearch-action=\"[[_searchDepartmentsAction]]\"\n+\t\t\t\tsearch-field-name=\"search\"\n+\t\t\t\tcache-responses></d2l-search-widget>\n+\t\t\t<d2l-menu label=\"{{localize('filtering.department')}}\">\n+\t\t\t\t<template is=\"dom-repeat\" items=\"[[_departments]]\">\n+\t\t\t\t\t<d2l-list-item-filter\n+\t\t\t\t\t\tenrollment-entity=\"[[item]]\"\n+\t\t\t\t\t\tselected=\"[[_checkSelected(item)]]\">\n+\t\t\t\t\t</d2l-list-item-filter>\n+\t\t\t\t</template>\n+\t\t\t</d2l-menu>\n+\t\t</div>\n+\t\t<iron-scroll-threshold\n+\t\t\tid=\"scrollThreshold\"\n+\t\t\ton-lower-threshold=\"_loadMore\">\n+\t\t</iron-scroll-threshold>\n+\t</template>\n+\n+\t<script>\n+\t\t'use strict';\n+\n+\t\tPolymer({\n+\t\t\tis: 'd2l-filter-menu-content',\n+\t\t\tproperties: {\n+\t\t\t\tdepartments: {\n+\t\t\t\t\ttype: Array,\n+\t\t\t\t\tvalue: function() { return []; }\n+\t\t\t\t},\n+\t\t\t\tfilterText: String,\n+\t\t\t\tmyEnrollmentsEntity: {\n+\t\t\t\t\ttype: Object,\n+\t\t\t\t\tvalue: function() { return {}; },\n+\t\t\t\t\tobserver: '_myEnrollmentsEntityChanged'\n+\t\t\t\t},\n+\t\t\t\tsemesters: {\n+\t\t\t\t\ttype: Array,\n+\t\t\t\t\tvalue: function() { return []; }\n+\t\t\t\t},\n+\t\t\t\t_currentFilters: {\n+\t\t\t\t\ttype: Array,\n+\t\t\t\t\tvalue: function() { return []; }\n+\t\t\t\t},\n+\t\t\t\t_hasMoreDepartments: {\n+\t\t\t\t\ttype: Boolean,\n+\t\t\t\t\tvalue: false\n+\t\t\t\t},\n+\t\t\t\t_hasMoreSemesters: {\n+\t\t\t\t\ttype: Boolean,\n+\t\t\t\t\tvalue: false\n+\t\t\t\t},\n+\t\t\t\t_moreDepartmentsUrl: {\n+\t\t\t\t\ttype: String,\n+\t\t\t\t\tvalue: ''\n+\t\t\t\t},\n+\t\t\t\t_moreSemestersUrl: {\n+\t\t\t\t\ttype: String,\n+\t\t\t\t\tvalue: ''\n+\t\t\t\t},\n+\t\t\t\t_numSemesterFilters: {\n+\t\t\t\t\ttype: Number,\n+\t\t\t\t\tvalue: 0,\n+\t\t\t\t\tobserver: '_numFiltersChanged'\n+\t\t\t\t},\n+\t\t\t\t_numDepartmentFilters: {\n+\t\t\t\t\ttype: Number,\n+\t\t\t\t\tvalue: 0,\n+\t\t\t\t\tobserver: '_numFiltersChanged'\n+\t\t\t\t},\n+\t\t\t\t_searchSemestersAction: Object,\n+\t\t\t\t_searchDepartmentsAction: Object,\n+\t\t\t\t_showClearButton: {\n+\t\t\t\t\ttype: Boolean,\n+\t\t\t\t\tvalue: false\n+\t\t\t\t}\n+\t\t\t},\n+\t\t\tbehaviors: [\n+\t\t\t\twindow.D2L.MyCourses.LocalizeBehavior\n+\t\t\t],\n+\t\t\tready: function() {\n+\t\t\t\tthis._parser = document.createElement('d2l-siren-parser');\n+\t\t\t\tthis.filterText = this.localize('filtering.filter');\n+\t\t\t},\n+\t\t\tattached: function() {\n+\t\t\t\tthis.listen(this.$.departmentSearchWidget, 'd2l-search-widget-results-changed', '_onDepartmentSearchResults');\n+\t\t\t\tthis.listen(this.$.semesterSearchWidget, 'd2l-search-widget-results-changed', '_onSemesterSearchResults');\n+\t\t\t\tthis.listen(this.$.departmentList, 'd2l-menu-item-change', '_updateDepartmentFilter');\n+\t\t\t\tthis.listen(this.$.semesterList, 'd2l-menu-item-change', '_updateSemesterFilter');\n+\n+\t\t\t\t//TODO this.$.scrollThreshold.scrollTarget = this.$.filterDropdownContent.querySelector('.d2l-dropdown-content-container');\n+\t\t\t},\n+\t\t\tdetached: function() {\n+\t\t\t\tthis.unlisten(this.$.departmentSearchWidget, 'd2l-search-widget-results-changed', '_onDepartmentSearchResults');\n+\t\t\t\tthis.unlisten(this.$.semesterSearchWidget, 'd2l-search-widget-results-changed', '_onSemesterSearchResults');\n+\t\t\t\tthis.unlisten(this.$.departmentList, 'd2l-menu-item-change', '_updateDepartmentFilter');\n+\t\t\t\tthis.unlisten(this.$.semesterList, 'd2l-menu-item-change', '_updateSemesterFilter');\n+\t\t\t},\n+\t\t\tload: function() {\n+\t\t\t\tthis.$.departmentSearchWidget.search();\n+\t\t\t\tthis.$.semesterSearchWidget.search();\n+\t\t\t\tthis._selectSemesterList();\n+\t\t\t},\n+\t\t\t_parser: null,\n+\t\t\t_checkSelected: function(entity) {\n+\t\t\t\t// Checks if the given entity should be \"selected\" - used when semester/department search results change mostly\n+\t\t\t\tvar id = entity.getLinkByRel(/\\/organization$/).href;\n+\t\t\t\treturn this._currentFilters.indexOf(id) > -1;\n+\t\t\t},\n+\t\t\t_clearFilters: function() {\n+\t\t\t\tthis.$.departmentList.querySelectorAll('d2l-list-item-filter[selected=\"true\"]').forEach(function(item) {\n+\t\t\t\t\titem.selected = false;\n+\t\t\t\t});\n+\t\t\t\tthis.$.semesterList.querySelectorAll('d2l-list-item-filter[selected=\"true\"]').forEach(function(item) {\n+\t\t\t\t\titem.selected = false;\n+\t\t\t\t});\n+\n+\t\t\t\tthis._showClearButton = false;\n+\t\t\t\t// Clear button is removed via dom-if, so need to manually set focus to next element\n+\t\t\t\tthis.$.semesterListButton.focus();\n+\n+\t\t\t\tthis.set('_currentFilters', []);\n+\t\t\t\tthis.set('filterText', this.localize('filtering.filter'));\n+\t\t\t\tthis.set('_numSemesterFilters', 0);\n+\t\t\t\tthis.set('_numDepartmentFilters', 0);\n+\t\t\t},\n+\t\t\t_loadMore: function() {\n+\t\t\t\t// Generate the request based off of which tab is selected, and whether there are more to load or not\n+\t\t\t\tif (this.$.semesterList.classList.contains('hidden')) {\n+\t\t\t\t\tif (this._hasMoreDepartments) {\n+\t\t\t\t\t\tthis.$.moreDepartmentsRequest.generateRequest();\n+\t\t\t\t\t}\n+\t\t\t\t} else {\n+\t\t\t\t\tif (this._hasMoreSemesters) {\n+\t\t\t\t\t\tthis.$.moreSemestersRequest.generateRequest();\n+\t\t\t\t\t}\n+\t\t\t\t}\n+\t\t\t\tthis.$.scrollThreshold.clearTriggers();\n+\t\t\t},\n+\t\t\t_myEnrollmentsEntityChanged: function(entity) {\n+\t\t\t\t// Set up search URLs and search Actions for filter dropdown\n+\t\t\t\tif (entity) {\n+\t\t\t\t\tif (!this._parser) {\n+\t\t\t\t\t\tthis.set('_parser', document.createElement('d2l-siren-parser'));\n+\t\t\t\t\t}\n+\t\t\t\t\tvar myEnrollmentsEntity = this._parser.parse(entity);\n+\n+\t\t\t\t\tthis.set('_searchDepartmentsAction', myEnrollmentsEntity.getActionByName('add-department-filter'));\n+\t\t\t\t\tthis.set('_searchSemestersAction', myEnrollmentsEntity.getActionByName('add-semester-filter'));\n+\t\t\t\t}\n+\t\t\t},\n+\t\t\t_numFiltersChanged: function() {\n+\t\t\t\tthis._showClearButton = this._currentFilters.length > 0;\n+\n+\t\t\t\tthis.$.semesterListButton.textContent = this._numSemesterFilters > 0\n+\t\t\t\t\t? this.localize('filtering.semesterMultiple', 'num', this._numSemesterFilters)\n+\t\t\t\t\t: this.localize('filtering.semester');\n+\t\t\t\tthis.$.departmentListButton.textContent = this._numDepartmentFilters > 0\n+\t\t\t\t\t? this.localize('filtering.departmentMultiple', 'num', this._numDepartmentFilters)\n+\t\t\t\t\t: this.localize('filtering.department');\n+\n+\t\t\t\tif (this._currentFilters.length === 0) {\n+\t\t\t\t\tthis.filterText = this.localize('filtering.filter');\n+\t\t\t\t} else if (this._currentFilters.length === 1) {\n+\t\t\t\t\tthis.filterText = this.localize('filtering.filterSingle');\n+\t\t\t\t} else {\n+\t\t\t\t\tthis.filterText = this.localize('filtering.filterMultiple', 'num', this._currentFilters.length);\n+\t\t\t\t}\n+\n+\t\t\t\tthis.fire('d2l-filter-menu-content-filters-changed', {","path":"d2l-filter-menu-content.html","position":408,"original_position":408,"commit_id":"98613369cdd27b1edbb82f56eb2b948af9918e7a","original_commit_id":"98613369cdd27b1edbb82f56eb2b948af9918e7a","user":{"login":"ryantmer","id":6231623,"avatar_url":"https://avatars.githubusercontent.com/u/6231623?v=3","gravatar_id":"","url":"https://api.github.com/users/ryantmer","html_url":"https://github.com/ryantmer","followers_url":"https://api.github.com/users/ryantmer/followers","following_url":"https://api.github.com/users/ryantmer/following{/other_user}","gists_url":"https://api.github.com/users/ryantmer/gists{/gist_id}","starred_url":"https://api.github.com/users/ryantmer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryantmer/subscriptions","organizations_url":"https://api.github.com/users/ryantmer/orgs","repos_url":"https://api.github.com/users/ryantmer/repos","events_url":"https://api.github.com/users/ryantmer/events{/privacy}","received_events_url":"https://api.github.com/users/ryantmer/received_events","type":"User","site_admin":false},"body":"Changed the workflow within this component as well (to something I think is easier):\r\n\r\nClicking a filter item now just updates `_numSemesters` or `_numDepartments`, both of which trigger this observer. In this observer, we show/hide the Clear button, set the semester/department tab button text(s), then fire the event with `filterText` (\"the menu opener text should be this\" text) and `_currentFilters` (which becomes `_parentOrganizations` for the search in `d2l-all-courses`).","created_at":"2016-11-25T22:12:16Z","updated_at":"2016-11-25T22:12:16Z","html_url":"https://github.com/Brightspace/d2l-my-courses-ui/pull/216#discussion_r89659571","pull_request_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/pulls/216","_links":{"self":{"href":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/pulls/comments/89659571"},"html":{"href":"https://github.com/Brightspace/d2l-my-courses-ui/pull/216#discussion_r89659571"},"pull_request":{"href":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/pulls/216"}}},"pull_request":{"url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/pulls/216","id":95349819,"html_url":"https://github.com/Brightspace/d2l-my-courses-ui/pull/216","diff_url":"https://github.com/Brightspace/d2l-my-courses-ui/pull/216.diff","patch_url":"https://github.com/Brightspace/d2l-my-courses-ui/pull/216.patch","issue_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/issues/216","number":216,"state":"open","locked":false,"title":"Break out filter content","user":{"login":"ryantmer","id":6231623,"avatar_url":"https://avatars.githubusercontent.com/u/6231623?v=3","gravatar_id":"","url":"https://api.github.com/users/ryantmer","html_url":"https://github.com/ryantmer","followers_url":"https://api.github.com/users/ryantmer/followers","following_url":"https://api.github.com/users/ryantmer/following{/other_user}","gists_url":"https://api.github.com/users/ryantmer/gists{/gist_id}","starred_url":"https://api.github.com/users/ryantmer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryantmer/subscriptions","organizations_url":"https://api.github.com/users/ryantmer/orgs","repos_url":"https://api.github.com/users/ryantmer/repos","events_url":"https://api.github.com/users/ryantmer/events{/privacy}","received_events_url":"https://api.github.com/users/ryantmer/received_events","type":"User","site_admin":false},"body":"This is based on #207, so that will have to be merged and the base for this will have to be updated.\r\n\r\nAs I've been adding stuff to filtering, I keep thinking \"I should make that it's own component\". Well, now I have. I wish I had done it sooner. I am sorry 😭 \r\n\r\nThis is _mostly_ just removing the `d2l-filter-list-item` out, but there are some other changes too, done due to (really small) problems found in redoing the `d2l-all-courses` tests.\r\n\r\nTo do:\r\n\r\n- [ ] Merge #207 \r\n- [ ] Write tests for new broken-out component\r\n- [ ] Get milk","created_at":"2016-11-25T21:53:26Z","updated_at":"2016-11-25T22:12:16Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2f45c4dc4bce5b8768bce85c5d316bfcb4b65ee6","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/pulls/216/commits","review_comments_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/pulls/216/comments","review_comment_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/issues/216/comments","statuses_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/statuses/98613369cdd27b1edbb82f56eb2b948af9918e7a","head":{"label":"Brightspace:break-out-filter-content","ref":"break-out-filter-content","sha":"98613369cdd27b1edbb82f56eb2b948af9918e7a","user":{"login":"Brightspace","id":5429170,"avatar_url":"https://avatars.githubusercontent.com/u/5429170?v=3","gravatar_id":"","url":"https://api.github.com/users/Brightspace","html_url":"https://github.com/Brightspace","followers_url":"https://api.github.com/users/Brightspace/followers","following_url":"https://api.github.com/users/Brightspace/following{/other_user}","gists_url":"https://api.github.com/users/Brightspace/gists{/gist_id}","starred_url":"https://api.github.com/users/Brightspace/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Brightspace/subscriptions","organizations_url":"https://api.github.com/users/Brightspace/orgs","repos_url":"https://api.github.com/users/Brightspace/repos","events_url":"https://api.github.com/users/Brightspace/events{/privacy}","received_events_url":"https://api.github.com/users/Brightspace/received_events","type":"Organization","site_admin":false},"repo":{"id":54492398,"name":"d2l-my-courses-ui","full_name":"Brightspace/d2l-my-courses-ui","owner":{"login":"Brightspace","id":5429170,"avatar_url":"https://avatars.githubusercontent.com/u/5429170?v=3","gravatar_id":"","url":"https://api.github.com/users/Brightspace","html_url":"https://github.com/Brightspace","followers_url":"https://api.github.com/users/Brightspace/followers","following_url":"https://api.github.com/users/Brightspace/following{/other_user}","gists_url":"https://api.github.com/users/Brightspace/gists{/gist_id}","starred_url":"https://api.github.com/users/Brightspace/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Brightspace/subscriptions","organizations_url":"https://api.github.com/users/Brightspace/orgs","repos_url":"https://api.github.com/users/Brightspace/repos","events_url":"https://api.github.com/users/Brightspace/events{/privacy}","received_events_url":"https://api.github.com/users/Brightspace/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Brightspace/d2l-my-courses-ui","description":null,"fork":false,"url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui","forks_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/forks","keys_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/teams","hooks_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/hooks","issue_events_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/issues/events{/number}","events_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/events","assignees_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/assignees{/user}","branches_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/branches{/branch}","tags_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/tags","blobs_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/git/refs{/sha}","trees_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/statuses/{sha}","languages_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/languages","stargazers_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/stargazers","contributors_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/contributors","subscribers_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/subscribers","subscription_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/subscription","commits_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/commits{/sha}","git_commits_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/git/commits{/sha}","comments_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/comments{/number}","issue_comment_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/issues/comments{/number}","contents_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/contents/{+path}","compare_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/merges","archive_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/downloads","issues_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/issues{/number}","pulls_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/pulls{/number}","milestones_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/milestones{/number}","notifications_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/labels{/name}","releases_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/releases{/id}","deployments_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/deployments","created_at":"2016-03-22T16:48:09Z","updated_at":"2016-10-24T17:33:57Z","pushed_at":"2016-11-25T21:53:26Z","git_url":"git://github.com/Brightspace/d2l-my-courses-ui.git","ssh_url":"git@github.com:Brightspace/d2l-my-courses-ui.git","clone_url":"https://github.com/Brightspace/d2l-my-courses-ui.git","svn_url":"https://github.com/Brightspace/d2l-my-courses-ui","homepage":null,"size":740,"stargazers_count":1,"watchers_count":1,"language":"HTML","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":11,"forks":2,"open_issues":11,"watchers":1,"default_branch":"master"}},"base":{"label":"Brightspace:US78349-improve-filter-fetching","ref":"US78349-improve-filter-fetching","sha":"2de0f741a5ac81069a1342f004bd8b55b7eb99a1","user":{"login":"Brightspace","id":5429170,"avatar_url":"https://avatars.githubusercontent.com/u/5429170?v=3","gravatar_id":"","url":"https://api.github.com/users/Brightspace","html_url":"https://github.com/Brightspace","followers_url":"https://api.github.com/users/Brightspace/followers","following_url":"https://api.github.com/users/Brightspace/following{/other_user}","gists_url":"https://api.github.com/users/Brightspace/gists{/gist_id}","starred_url":"https://api.github.com/users/Brightspace/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Brightspace/subscriptions","organizations_url":"https://api.github.com/users/Brightspace/orgs","repos_url":"https://api.github.com/users/Brightspace/repos","events_url":"https://api.github.com/users/Brightspace/events{/privacy}","received_events_url":"https://api.github.com/users/Brightspace/received_events","type":"Organization","site_admin":false},"repo":{"id":54492398,"name":"d2l-my-courses-ui","full_name":"Brightspace/d2l-my-courses-ui","owner":{"login":"Brightspace","id":5429170,"avatar_url":"https://avatars.githubusercontent.com/u/5429170?v=3","gravatar_id":"","url":"https://api.github.com/users/Brightspace","html_url":"https://github.com/Brightspace","followers_url":"https://api.github.com/users/Brightspace/followers","following_url":"https://api.github.com/users/Brightspace/following{/other_user}","gists_url":"https://api.github.com/users/Brightspace/gists{/gist_id}","starred_url":"https://api.github.com/users/Brightspace/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Brightspace/subscriptions","organizations_url":"https://api.github.com/users/Brightspace/orgs","repos_url":"https://api.github.com/users/Brightspace/repos","events_url":"https://api.github.com/users/Brightspace/events{/privacy}","received_events_url":"https://api.github.com/users/Brightspace/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Brightspace/d2l-my-courses-ui","description":null,"fork":false,"url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui","forks_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/forks","keys_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/teams","hooks_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/hooks","issue_events_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/issues/events{/number}","events_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/events","assignees_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/assignees{/user}","branches_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/branches{/branch}","tags_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/tags","blobs_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/git/refs{/sha}","trees_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/statuses/{sha}","languages_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/languages","stargazers_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/stargazers","contributors_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/contributors","subscribers_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/subscribers","subscription_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/subscription","commits_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/commits{/sha}","git_commits_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/git/commits{/sha}","comments_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/comments{/number}","issue_comment_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/issues/comments{/number}","contents_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/contents/{+path}","compare_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/merges","archive_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/downloads","issues_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/issues{/number}","pulls_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/pulls{/number}","milestones_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/milestones{/number}","notifications_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/labels{/name}","releases_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/releases{/id}","deployments_url":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/deployments","created_at":"2016-03-22T16:48:09Z","updated_at":"2016-10-24T17:33:57Z","pushed_at":"2016-11-25T21:53:26Z","git_url":"git://github.com/Brightspace/d2l-my-courses-ui.git","ssh_url":"git@github.com:Brightspace/d2l-my-courses-ui.git","clone_url":"https://github.com/Brightspace/d2l-my-courses-ui.git","svn_url":"https://github.com/Brightspace/d2l-my-courses-ui","homepage":null,"size":740,"stargazers_count":1,"watchers_count":1,"language":"HTML","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":11,"forks":2,"open_issues":11,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/pulls/216"},"html":{"href":"https://github.com/Brightspace/d2l-my-courses-ui/pull/216"},"issue":{"href":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/issues/216"},"comments":{"href":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/issues/216/comments"},"review_comments":{"href":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/pulls/216/comments"},"review_comment":{"href":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/pulls/216/commits"},"statuses":{"href":"https://api.github.com/repos/Brightspace/d2l-my-courses-ui/statuses/98613369cdd27b1edbb82f56eb2b948af9918e7a"}}}}
{"actor":{"display_login":"ryantmer"}}