{"action":"created","issue":{"url":"https://api.github.com/repos/darklow/django-suit/issues/475","repository_url":"https://api.github.com/repos/darklow/django-suit","labels_url":"https://api.github.com/repos/darklow/django-suit/issues/475/labels{/name}","comments_url":"https://api.github.com/repos/darklow/django-suit/issues/475/comments","events_url":"https://api.github.com/repos/darklow/django-suit/issues/475/events","html_url":"https://github.com/darklow/django-suit/issues/475","id":130059324,"number":475,"title":"Django Suit version 2.0","user":{"login":"darklow","id":445304,"avatar_url":"https://avatars.githubusercontent.com/u/445304?v=3","gravatar_id":"","url":"https://api.github.com/users/darklow","html_url":"https://github.com/darklow","followers_url":"https://api.github.com/users/darklow/followers","following_url":"https://api.github.com/users/darklow/following{/other_user}","gists_url":"https://api.github.com/users/darklow/gists{/gist_id}","starred_url":"https://api.github.com/users/darklow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/darklow/subscriptions","organizations_url":"https://api.github.com/users/darklow/orgs","repos_url":"https://api.github.com/users/darklow/repos","events_url":"https://api.github.com/users/darklow/events{/privacy}","received_events_url":"https://api.github.com/users/darklow/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/darklow/django-suit/labels/v2","name":"v2","color":"3B404D"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":19,"created_at":"2016-01-31T00:56:44Z","updated_at":"2016-03-03T21:04:58Z","closed_at":null,"body":"### Brace yourselves, this is going to be a long post!\r\n\r\nI have bad news and good news.\r\nThe bad news is - Bootstrap 3 branch will be discontinued.\r\nThe good news is what is coming instead! \r\n\r\n### Some history\r\n\r\nSome time after i launched the very first Django Suit (DS) version I realised biggest challenge is to keep up with Django admin changes. And `bs3` branch version proved that even more. I haven’t finished it yet as Django admin started changing quite a lot. New templates, new features, new styles etc. Third party apps are also changing and evolving a lot, therefore same problem existed with 3rd party apps too. I knew i needed to solve this issue before continuing.\r\n\r\n### Flexbox\r\n\r\nRecently I did a lot of thinking and experimenting and because browsers have evolved significantly I found an answer to my problems - Flexbox. I’ve been working on Django Suit fresh rewrite for few weeks and haven’t overridden a single Django admin template and in the end of the post you can see real screenshot of what i achieved by CSS only.\r\n\r\nSo this is a short story how Django Suit v2.0 rewrite started.\r\n\r\nI will try to avoid any Django admin templates override as long as possible and if needed i will use JS DOM manipulations instead of overriding templates, which gives a few huge benefits:\r\nWhen Django admin templates changes, some minor visual bugs may appear, but it will not break anything.\r\n\r\nWithout overriding admin templates, we have much wider 3rd party app support. Any app that haven’t modified templates too much and use Django admin markup should work perfectly.\r\nThis gives us much wider Django version support range, however I think Django Suit will stay with 2-3 recent version support.\r\n\r\n### What’s new in Django Suit v2\r\n\r\n* Based on [Bootstrap 4.0](http://v4-alpha.getbootstrap.com) (currently v4-alpha):\r\n * Moved from Less to Sass.\r\n * Flexbox usage and support.\r\n * Responsive sizing using `rem` units. To increase whole admin sizing (font-sizes, margins), all you have to do is change font-size for body tag.\r\n* Django 1.9+\r\n* Menu rewrite to `MenuItem` classes\r\n* FontAwesome icons\r\n* [Demo app](http://v2.djangosuit.com/admin/) is [part of Django Suit](https://github.com/darklow/django-suit/tree/v2/demo) repository now\r\n* Toggle-able list top actions if any row is selected\r\n* Menu:\r\n * Horizontal navigation\r\n * Aligned right menu\r\n * Rewrite whole menu builder to MenuItem classes\r\n\r\nSo here is the current state of v2.0 rewrite.\r\nNo templates overridden except `base_site.html`:\r\n\r\n![image](https://cloud.githubusercontent.com/assets/445304/12699480/3eee898e-c7c5-11e5-931c-ba1b0cabdecb.png)\r\n\r\nTodo:\r\n- [x] CSS: Base layout\r\n- [x] CSS: List base layout\r\n- [x] [Menu builder rewrite](https://github.com/darklow/django-suit/blob/v2/demo/demo/apps.py)\r\n- [x] [Custom admin view](http://v2.djangosuit.com/admin/custom/) example\r\n- [ ] CSS: List states\r\n- [ ] CSS: Popups\r\n- [x] CSS: Forms\r\n - [x] CSS: Forms base\r\n - [x] CSS: Regular and collapsible fieldsets\r\n - [x] Form sizing handling (label and field column proportions)\r\n - [x] Two column change form with submit row on right\r\n - [x] Submit buttons debounce - avoid clicking submit twice\r\n - [x] Form inlines\r\n  - [x] Tabular Inlines\r\n  - [x] Stacked Inlines\r\n - [x] CSS: Submit row\r\n  - [x] CSS: Floating/fixed Submit row\r\n - [x] CSS: Delete confirmation\r\n- [ ] CSS: Alerts & messages\r\n- [ ] Suit Widgets\r\n - [x] AutosizedTextarea \r\n - [ ] EnclosedInput\r\n - [ ] LinkedSelect\r\n - [ ] Date/Time widget alternatives\r\n- [ ] Native Widgets\r\n - [x] CSS: Date & Date time picker\r\n - [ ] CSS: Side to Side chooser\r\n - [ ] CSS: Many to Many select\r\n - [ ] CSS: Many to Many checkboxes\r\n- [ ] CSS: Footer\r\n- [ ] CSS: Responsiveness\r\n- [ ] CSS: Login\r\n- [ ] CSS: Left side menu\r\n- [ ] Horizontal list filters\r\n- [ ] Tabs\r\n- [ ] Warning on leaving if unconfirmed changes\r\n- [x] Sortables\r\n - [x] For tabular inline\r\n - [x] For Stacked inline\r\n - [x] For admin change list\r\n\r\nThere are still a lot to do therefore this branch is not yet ready even for development. \r\nNothing much to test yet except menu and lists, but if you really want to try then use:\r\n```\r\npip install https://github.com/darklow/django-suit/tarball/v2\r\n```\r\n\r\nWork in progress links:\r\nv2 demo: http://v2.djangosuit.com/admin/\r\nv2 branch: https://github.com/darklow/django-suit/tree/v2\r\nv2 docs: http://django-suit.readthedocs.org/en/v2/\r\n\r\nFeel free to share your thoughts."},"comment":{"url":"https://api.github.com/repos/darklow/django-suit/issues/comments/191962252","html_url":"https://github.com/darklow/django-suit/issues/475#issuecomment-191962252","issue_url":"https://api.github.com/repos/darklow/django-suit/issues/475","id":191962252,"user":{"login":"darklow","id":445304,"avatar_url":"https://avatars.githubusercontent.com/u/445304?v=3","gravatar_id":"","url":"https://api.github.com/users/darklow","html_url":"https://github.com/darklow","followers_url":"https://api.github.com/users/darklow/followers","following_url":"https://api.github.com/users/darklow/following{/other_user}","gists_url":"https://api.github.com/users/darklow/gists{/gist_id}","starred_url":"https://api.github.com/users/darklow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/darklow/subscriptions","organizations_url":"https://api.github.com/users/darklow/orgs","repos_url":"https://api.github.com/users/darklow/repos","events_url":"https://api.github.com/users/darklow/events{/privacy}","received_events_url":"https://api.github.com/users/darklow/received_events","type":"User","site_admin":false},"created_at":"2016-03-03T21:04:58Z","updated_at":"2016-03-03T21:04:58Z","body":"Anyone using v2.0 alpha in development already or is it just me? :)"}}