{"html_url": "https://github.com/simonw/datasette/issues/690#issuecomment-719195346", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/690", "id": 719195346, "node_id": "MDEyOklzc3VlQ29tbWVudDcxOTE5NTM0Ng==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-10-30T05:20:42Z", "updated_at": "2020-10-30T05:20:42Z", "author_association": "OWNER", "body": "I've now added two new plugin hooks: [menu_links()](https://docs.datasette.io/en/latest/plugin_hooks.html#menu-links-datasette-actor) and [table_actions()](https://docs.datasette.io/en/latest/plugin_hooks.html#table-actions-datasette-actor-database-table).\r\n\r\nI'm going to close this issue. Further work (on column actions and and database actions) can happen in separate tickets, but I won't include them in Datasette 0.51 since they're much less interesting than table and instance actions.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 573755726, "label": "Mechanism for plugins to add action menu items for various things"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/690#issuecomment-709497595", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/690", "id": 709497595, "node_id": "MDEyOklzc3VlQ29tbWVudDcwOTQ5NzU5NQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-10-15T18:04:35Z", "updated_at": "2020-10-15T18:12:15Z", "author_association": "OWNER", "body": "For the table actions: attaching it to a cog icon next to the table name could make sense.\r\n\r\n\"data__faa-wildlife-strikes__26_rows_where_where_AIRPORT____OIL_RIG__sorted_by_rowid_and_Fix_table_name_in_spatialite_example_command_by_jsfenfen_\u00b7_Pull_Request__1022_\u00b7_simonw_datasette\"\r\n\r\nThis is the column action icon at twice the size, color `#666`.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 573755726, "label": "Mechanism for plugins to add action menu items for various things"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/690#issuecomment-709500715", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/690", "id": 709500715, "node_id": "MDEyOklzc3VlQ29tbWVudDcwOTUwMDcxNQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-10-15T18:10:32Z", "updated_at": "2020-10-15T18:10:32Z", "author_association": "OWNER", "body": "Row action menus are a question mark for me. Adding them to the table page itself could get really noisy - though maybe they're a vertical ... menu at the end of the row? They could also go on the `row.html` template, though that page is rarely used at the moment.\r\n\r\nI'm going to skip row actions for the moment and concentrate on the other four, which I know I have use-cases for.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 573755726, "label": "Mechanism for plugins to add action menu items for various things"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/690#issuecomment-709499944", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/690", "id": 709499944, "node_id": "MDEyOklzc3VlQ29tbWVudDcwOTQ5OTk0NA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-10-15T18:09:06Z", "updated_at": "2020-10-15T18:09:06Z", "author_association": "OWNER", "body": "I'm going to dedicate this issue to thinking about action menus. #981 added column action menus, others to build could be:\r\n\r\n- Table action menus (for things like configure FTS, edit schema)\r\n- Database action menus (import CSV file into this table)\r\n- Instance action menus (manage users, import CSV into this instance)\r\n- Column action menus (already there, plugins could include extract this column)\r\n- Row action menus?\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 573755726, "label": "Mechanism for plugins to add action menu items for various things"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/690#issuecomment-709498425", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/690", "id": 709498425, "node_id": "MDEyOklzc3VlQ29tbWVudDcwOTQ5ODQyNQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-10-15T18:06:08Z", "updated_at": "2020-10-15T18:06:08Z", "author_association": "OWNER", "body": "And for instance-level actions (linking to `datasette-import-csv` for example) an actions menu anchored against a burger-bar menu icon in the navigation bar.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 573755726, "label": "Mechanism for plugins to add action menu items for various things"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/690#issuecomment-706845950", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/690", "id": 706845950, "node_id": "MDEyOklzc3VlQ29tbWVudDcwNjg0NTk1MA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-10-12T04:07:28Z", "updated_at": "2020-10-12T04:07:28Z", "author_association": "OWNER", "body": "Next step is to design where these will go and what they will look like - in particular the navigation links that lead to plugins such as `datasette-upload-csvs` and `datasette-configure-fts` and `datasette-edit-schema`.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 573755726, "label": "Mechanism for plugins to add action menu items for various things"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/690#issuecomment-644987083", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/690", "id": 644987083, "node_id": "MDEyOklzc3VlQ29tbWVudDY0NDk4NzA4Mw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-16T20:11:35Z", "updated_at": "2020-06-16T20:11:35Z", "author_association": "OWNER", "body": "Twitter conversation about drop-down menu solutions that are accessible, fast loading and use minimal JavaScript: https://twitter.com/simonw/status/1272974294545395712\r\n\r\nI _really_ like the approach taken by GitHub Primer, which builds on top of HTML `` `
` tags: https://primer.style/css/components/dropdown", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 573755726, "label": "Mechanism for plugins to add action menu items for various things"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/690#issuecomment-596296955", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/690", "id": 596296955, "node_id": "MDEyOklzc3VlQ29tbWVudDU5NjI5Njk1NQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-03-09T01:49:19Z", "updated_at": "2020-03-09T01:49:19Z", "author_association": "OWNER", "body": "Once I've defined what these are they can be implemented using the existing `pluggy` mechanism.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 573755726, "label": "Mechanism for plugins to add action menu items for various things"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/690#issuecomment-596296745", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/690", "id": 596296745, "node_id": "MDEyOklzc3VlQ29tbWVudDU5NjI5Njc0NQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-03-09T01:48:04Z", "updated_at": "2020-03-09T01:48:53Z", "author_association": "OWNER", "body": "Maybe there are a few things here:\r\n* A mechanism for adding **actions** - essentially menu items - to tables and rows and queries and the index page\r\n* A way of defining blocks on the page where a plugin can add an entire block of custom HTML - above and below the table, or at the top of the index page for example.\r\n\r\nAnything fancier than this can be achieved using JavaScript - provided there are documented blocks with IDs that JavaScript code can then manipulate in sensible ways.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 573755726, "label": "Mechanism for plugins to add action menu items for various things"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/690#issuecomment-596275489", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/690", "id": 596275489, "node_id": "MDEyOklzc3VlQ29tbWVudDU5NjI3NTQ4OQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-03-09T00:55:29Z", "updated_at": "2020-03-09T00:55:29Z", "author_association": "OWNER", "body": "I just hacked around this again in `datasette-search-all`, which abuses the `description_source_license` block to add a search for to the top of the `index.html` template: https://github.com/simonw/datasette-search-all/blob/f9b2a9c3328f35021a4744205d862c108f8f08eb/datasette_search_all/templates/index.html", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 573755726, "label": "Mechanism for plugins to add action menu items for various things"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/690#issuecomment-593247614", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/690", "id": 593247614, "node_id": "MDEyOklzc3VlQ29tbWVudDU5MzI0NzYxNA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-03-02T06:49:12Z", "updated_at": "2020-03-02T06:49:12Z", "author_association": "OWNER", "body": "The answer may lie in a plugin hook which returns a list of HTML fragments to be added to the page in a particular place.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 573755726, "label": "Mechanism for plugins to add action menu items for various things"}, "performed_via_github_app": null}