{"id":19634236,"url":"https://github.com/nandoflorestan/mithril-widgets","last_synced_at":"2026-05-15T06:08:46.875Z","repository":{"id":90246672,"uuid":"117419815","full_name":"nandoflorestan/mithril-widgets","owner":"nandoflorestan","description":"Widgets for Mithril, using Bootstrap 4 and ECMAScript 6","archived":false,"fork":false,"pushed_at":"2020-08-26T14:28:07.000Z","size":106,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-09T16:07:37.137Z","etag":null,"topics":["bootstrap","bootstrap4","javascript","mit-license","mithril","mithriljs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nandoflorestan.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-01-14T10:10:16.000Z","updated_at":"2022-03-03T11:23:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"69b608d4-da9c-4a42-bbf7-38bb79647ac5","html_url":"https://github.com/nandoflorestan/mithril-widgets","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nandoflorestan%2Fmithril-widgets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nandoflorestan%2Fmithril-widgets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nandoflorestan%2Fmithril-widgets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nandoflorestan%2Fmithril-widgets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nandoflorestan","download_url":"https://codeload.github.com/nandoflorestan/mithril-widgets/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240936767,"owners_count":19881380,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bootstrap","bootstrap4","javascript","mit-license","mithril","mithriljs"],"created_at":"2024-11-11T12:19:59.093Z","updated_at":"2026-05-15T06:08:41.812Z","avatar_url":"https://github.com/nandoflorestan.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"===============\nmithril-widgets\n===============\n\nThese are widgets for mithril_ applications, using Bootstrap 4.\n\n.. _mithril: https://mithril.js.org/\n.. _Bootstrap: https://getbootstrap.com/docs/4.0/getting-started/introduction/\n\nmithril_ is an excellent, minimal Javascript single page application\nframework that is giving everybody else a lesson in `YAGNI \u003chttp://wiki.c2.com/?YouArentGonnaNeedIt\u003e`_.\n\nWe are using the parts of ECMAScript 6 (ECMAScript 2015) that are\ndirectly supported by the major browsers. Our widgets are classes.\n\nPull requests are extremely welcome! And advice is also appreciated.\n\n\nCurrent versions of dependencies\n================================\n\n- Bootstrap_ 4.0\n- mithril_ 1.1.6\n\n\nBrief description of the contents\n=================================\n\n- **TinyEvent** is a simple implementation of the Observer pattern.\n- **Notification** is a class that represents a single message to be\n  displayed to the user. Each instance may contain a title,\n  a main content in either HTML or plain text, and a level such as\n  \"success\", \"info\", \"warning\", \"danger\" etc.\n- **Notifier** is a widget that allows you to enqueue Notifications and then\n  **toasts** them on screen, one at a time. Appearance of the Notification\n  should be animated in order to call the user's attention to it.\n  The time each message stays on screen is computed automatically so\n  you don't have to worry about it. The user can rewind the history and see\n  each notification again. When inactive, this widget is supposed to be\n  a gray, nondescript box containing only the word \"Notifications\",\n  plus the history button, statically place in a corner of the screen --\n  usually the top right. A final feature is, this idle \"Notifications\" text\n  can be replaced with small status messages of the kind that should\n  **not** call the user's attention, e. g. \"Fetching data from server\".\n- **request** is a function that wraps m.request(). It transparently\n  communicates with Notifier to set a status message while a request is\n  in progress.\n- **SearchBox** creates a search input with a \"clear\" button to the right.\n  You can just add it to your page and then set on it an *onchange()*\n  function to do stuff whenever the user presses Enter on the search box.\n- **Select** creates a dropdown and support its typical features.\n- **SimpleTable** displays a table.\n- **SortedTable** displays a table which allows the user to click on each\n  header to sort the rows by that column, ascending or descending.\n- **UL** makes it easy to render an unordered list.\n- **NavMenu** creates an actual Bootstrap_ navigation menu from data representing a menu structure.\n- **FormField** creates a Bootstrap_ form field, optionally with a label.\n- **PhoneField** creates a \"tel\" input for phone numbers.\n- **ContentEditable** creates in-place editable tags, but it is kind of\n  just a stub right now. Of course, improving it is just a\n  Simple Matter Of Programming...\n\n\nTO DO\n=====\n\n- Use ES6 exports as soon as Firefox 60 appears in May 2018\n- Add creation date to Notification and display it, very small\n- Add more widgets\n- https://docs.npmjs.com/getting-started/creating-node-modules\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnandoflorestan%2Fmithril-widgets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnandoflorestan%2Fmithril-widgets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnandoflorestan%2Fmithril-widgets/lists"}