{"html_url": "https://github.com/simonw/datasette/issues/86#issuecomment-346694211", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/86", "id": 346694211, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NjY5NDIxMQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-23T20:34:32Z", "updated_at": "2017-11-23T20:34:32Z", "author_association": "OWNER", "body": "And with ef3eacf622e69723d48ab1ad597645770a7361db I'm ready to call this one done.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273703829, "label": "Filter UI on table page"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/86#issuecomment-346691243", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/86", "id": 346691243, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NjY5MTI0Mw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-23T20:07:15Z", "updated_at": "2017-11-23T20:07:15Z", "author_association": "OWNER", "body": "\"fivethirtyeight__bob-ross_elements-by-episode_csv\"\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273703829, "label": "Filter UI on table page"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/86#issuecomment-346530498", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/86", "id": 346530498, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NjUzMDQ5OA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-23T04:35:07Z", "updated_at": "2017-11-23T04:35:07Z", "author_association": "OWNER", "body": "Here's where I am now. Needs a bit of UI tidy up and it will be good to release:\r\n\r\n\"conventional_power_plants_eu__conventional_power_plants_eu\"\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273703829, "label": "Filter UI on table page"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/86#issuecomment-345559864", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/86", "id": 345559864, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NTU1OTg2NA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-19T23:35:48Z", "updated_at": "2017-11-19T23:35:48Z", "author_association": "OWNER", "body": "I need a nicer abstraction around the concept of filters. It needs to be able to:\r\n\r\n- convert querystring parameters into filters\r\n- convert filters into a querystring\r\n- iterate through currently applied filters\r\n- convert selected filters into a human description (e.g. for a title)\r\n- expand filters that involve a foreign key\r\n- add filters\r\n- remove filters\r\n- define different types of filters\r\n\r\nIt should replace my current `build_where_clauses` implementation, in particular this bit:\r\n\r\nhttps://github.com/simonw/datasette/blob/a5881e105a02830d26f07e98177248d5910893da/datasette/utils.py#L38-L56", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273703829, "label": "Filter UI on table page"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/86#issuecomment-345497689", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/86", "id": 345497689, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NTQ5NzY4OQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-19T07:27:40Z", "updated_at": "2017-11-19T07:27:40Z", "author_association": "OWNER", "body": "I'll have to refactor the foreign key annotating code to be usable in other contexts - at the moment it only works for annotating displays of rows, but I need to use it to resolve selected filters as well. ", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273703829, "label": "Filter UI on table page"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/86#issuecomment-345497534", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/86", "id": 345497534, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NTQ5NzUzNA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-19T07:23:33Z", "updated_at": "2017-11-19T07:23:33Z", "author_association": "OWNER", "body": "\"Tablename: 3,567 rows where status = 3 (published) and n > 55\"", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273703829, "label": "Filter UI on table page"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/86#issuecomment-345497453", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/86", "id": 345497453, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NTQ5NzQ1Mw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-19T07:21:22Z", "updated_at": "2017-11-19T07:21:22Z", "author_association": "OWNER", "body": "I'm going to be a bit classier about this and auto generate a title for the page that describes the currently applied filters.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273703829, "label": "Filter UI on table page"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/86#issuecomment-345496540", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/86", "id": 345496540, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NTQ5NjU0MA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-19T06:59:40Z", "updated_at": "2017-11-19T06:59:40Z", "author_association": "OWNER", "body": "OK,I've figured out how to do an initial version of this without JavaScript. I'll provide three form fields labell d \"add filter\":\r\n\r\n* a select box of all of the columns\r\n* a select box of the available operations\r\n* a value box\r\n\r\nSubmit those and the site will redirect you to a correctly populated querystring for that filter.\r\n\r\nIf you have filters applied, those will display as prepopulated form field triples.\r\n\r\nFor foreign key reference filters, I will display the resolved value next to the text box containing the numeric ID. In the future this can get a select2 style treatment.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273703829, "label": "Filter UI on table page"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/86#issuecomment-345494918", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/86", "id": 345494918, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NTQ5NDkxOA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-19T06:14:17Z", "updated_at": "2017-11-19T06:14:17Z", "author_association": "OWNER", "body": "If the selected relationship is a foreign key reference, we should resolve that foreign key and display it on the page.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273703829, "label": "Filter UI on table page"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/86#issuecomment-345494775", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/86", "id": 345494775, "node_id": "MDEyOklzc3VlQ29tbWVudDM0NTQ5NDc3NQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2017-11-19T06:09:43Z", "updated_at": "2017-11-19T06:09:43Z", "author_association": "OWNER", "body": "Now that we have foreign key support (#85) this is even more important, since foreign key support actively encourages linking to filtered table views.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 273703829, "label": "Filter UI on table page"}, "performed_via_github_app": null}