{"action":"created","issue":{"url":"https://api.github.com/repos/vaadin/flow/issues/3763","repository_url":"https://api.github.com/repos/vaadin/flow","labels_url":"https://api.github.com/repos/vaadin/flow/issues/3763/labels{/name}","comments_url":"https://api.github.com/repos/vaadin/flow/issues/3763/comments","events_url":"https://api.github.com/repos/vaadin/flow/issues/3763/events","html_url":"https://github.com/vaadin/flow/issues/3763","id":308494166,"number":3763,"title":"Custom loading indicator for long server requests","user":{"login":"jouni","id":66382,"avatar_url":"https://avatars3.githubusercontent.com/u/66382?v=4","gravatar_id":"","url":"https://api.github.com/users/jouni","html_url":"https://github.com/jouni","followers_url":"https://api.github.com/users/jouni/followers","following_url":"https://api.github.com/users/jouni/following{/other_user}","gists_url":"https://api.github.com/users/jouni/gists{/gist_id}","starred_url":"https://api.github.com/users/jouni/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jouni/subscriptions","organizations_url":"https://api.github.com/users/jouni/orgs","repos_url":"https://api.github.com/users/jouni/repos","events_url":"https://api.github.com/users/jouni/events{/privacy}","received_events_url":"https://api.github.com/users/jouni/received_events","type":"User","site_admin":false},"labels":[{"id":711733323,"url":"https://api.github.com/repos/vaadin/flow/labels/UX","name":"UX","color":"aa0aaa","default":false},{"id":205765019,"url":"https://api.github.com/repos/vaadin/flow/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/vaadin/flow/milestones/81","html_url":"https://github.com/vaadin/flow/milestone/81","labels_url":"https://api.github.com/repos/vaadin/flow/milestones/81/labels","id":3211494,"number":81,"title":"During 2018 candidates","description":"Enhancements that are candidates for implementing during the 2018.\r\nThere is still NO guarantees that these will get done during 2018, as priorities can change.","creator":{"login":"pleku","id":1478381,"avatar_url":"https://avatars1.githubusercontent.com/u/1478381?v=4","gravatar_id":"","url":"https://api.github.com/users/pleku","html_url":"https://github.com/pleku","followers_url":"https://api.github.com/users/pleku/followers","following_url":"https://api.github.com/users/pleku/following{/other_user}","gists_url":"https://api.github.com/users/pleku/gists{/gist_id}","starred_url":"https://api.github.com/users/pleku/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pleku/subscriptions","organizations_url":"https://api.github.com/users/pleku/orgs","repos_url":"https://api.github.com/users/pleku/repos","events_url":"https://api.github.com/users/pleku/events{/privacy}","received_events_url":"https://api.github.com/users/pleku/received_events","type":"User","site_admin":false},"open_issues":5,"closed_issues":0,"state":"open","created_at":"2018-03-23T07:39:45Z","updated_at":"2018-03-26T10:57:19Z","due_on":null,"closed_at":null},"comments":4,"created_at":"2018-03-26T09:23:51Z","updated_at":"2018-03-28T19:10:45Z","closed_at":null,"author_association":"MEMBER","body":"When a server request takes a long time I want to display a custom loading indicator so that the end user knows that the app is still processing the request.\r\n\r\nI also want the designer in my team to be in full control of how that custom loading indicator behaves.\r\n\r\n### Solution proposal\r\n\r\nApply a state attribute to the `<body>` element when a server request is active, f.e. `<body flow-request-active>` (name needs bikeshedding), without any delays.\r\n - *Question: are there different kinds of request?*\r\n\r\nExtract the current `v-loading-indicator` implementation into a separate deprecated component that can be added back to the app as an opt-in feature, f.e. `myapp.add(new LegacyLoadingIndicator());`. This would allow existing custom theme CSS to still work. The `LoadingIndicatorConfiguration` could be moved inside this component.\r\n\r\nOptionally, design and implement a new opt-in loading indicator component specifically for the Lumo theme.\r\n\r\nWrite a tutorial how to create a custom loading indicator."},"comment":{"url":"https://api.github.com/repos/vaadin/flow/issues/comments/377002147","html_url":"https://github.com/vaadin/flow/issues/3763#issuecomment-377002147","issue_url":"https://api.github.com/repos/vaadin/flow/issues/3763","id":377002147,"user":{"login":"jouni","id":66382,"avatar_url":"https://avatars3.githubusercontent.com/u/66382?v=4","gravatar_id":"","url":"https://api.github.com/users/jouni","html_url":"https://github.com/jouni","followers_url":"https://api.github.com/users/jouni/followers","following_url":"https://api.github.com/users/jouni/following{/other_user}","gists_url":"https://api.github.com/users/jouni/gists{/gist_id}","starred_url":"https://api.github.com/users/jouni/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jouni/subscriptions","organizations_url":"https://api.github.com/users/jouni/orgs","repos_url":"https://api.github.com/users/jouni/repos","events_url":"https://api.github.com/users/jouni/events{/privacy}","received_events_url":"https://api.github.com/users/jouni/received_events","type":"User","site_admin":false},"created_at":"2018-03-28T19:10:45Z","updated_at":"2018-03-28T19:10:45Z","author_association":"MEMBER","body":"Having the attribute on the body element allows the developer to use that information in more custom ways than just one element that Flow adds/removes to/from the DOM. So it feels like a more low level, generic API in that way, not tied to an element specifically that you can only configure with an annotation."}}
{"actor":{"display_login":"jouni"}}