{"action":"created","comment":{"url":"https://api.github.com/repos/Talend/ui/pulls/comments/189193322","pull_request_review_id":121322966,"id":189193322,"diff_hunk":"@@ -0,0 +1,47 @@\n+# App Loader\n+\n+This component is here to make http calls before the first render of the application. During the loading, it show the application's loader.\n+\n+## Where i put it ?\n+\n+On your top level component, you can place it this way :\n+\n+```html\n+<AppLoader>\n+    <div>\n+        <ShortcutManager view=\"shortcuts\" />\n+        <IconsProvider icons={mockIconDefinition} />\n+        <ACKDispatcher />\n+        <Notification />\n+        {props.children}\n+    </div>\n+</AppLoader>\n+```\n+\n+Another way to do it could be to use the inject placeholders to inject all the stuff\n+\n+## How to configure it ?\n+\n+This is a sample of configuration :\n+\n+```json\n+\"AppLoader#default\":{\n+    \"saga\": \"appLoaderSaga\",\n+    \"steps\":[\n+        { \"actionCreators\":[\"user:fetchIdentity\"] },\n+        { \"waitFor\":[\"identity\"] },\n+        { \"actionCreators\":[\"datastore:fetch.types\", \"datastore:fetch:cloudAgents\"]}\n+        { \"waitFor\":[\"datastore-types\", \"cloud-agents\"] },\n+        { \"actionCreators\":[\"datastore:fetchAll\", \"dataset:fetchAll\"] }\n+    ],\n+    \"hasCollections\": [\"identity\", \"datastore-types\", \"datastores\", \"datasets\"]\n+},\n+```\n+\n+### Props\n+\n+* saga : required cause this is how the action creator are dispatched\n+* steps, you can pass objects, this objects can have an attribute ( exclusive ) :\n+  * actionCreators : an array of action creator to dispatch in parallel.","path":"packages/containers/src/AppLoader/AppLoader.md","position":45,"original_position":45,"commit_id":"9554b55fb5a83aeff75b2c2db5f86805f468ffa0","original_commit_id":"9554b55fb5a83aeff75b2c2db5f86805f468ffa0","user":{"login":"jsomsanith","id":10761073,"avatar_url":"https://avatars2.githubusercontent.com/u/10761073?v=4","gravatar_id":"","url":"https://api.github.com/users/jsomsanith","html_url":"https://github.com/jsomsanith","followers_url":"https://api.github.com/users/jsomsanith/followers","following_url":"https://api.github.com/users/jsomsanith/following{/other_user}","gists_url":"https://api.github.com/users/jsomsanith/gists{/gist_id}","starred_url":"https://api.github.com/users/jsomsanith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jsomsanith/subscriptions","organizations_url":"https://api.github.com/users/jsomsanith/orgs","repos_url":"https://api.github.com/users/jsomsanith/repos","events_url":"https://api.github.com/users/jsomsanith/events{/privacy}","received_events_url":"https://api.github.com/users/jsomsanith/received_events","type":"User","site_admin":false},"body":"Typo: action creator`s`","created_at":"2018-05-18T08:14:26Z","updated_at":"2018-05-18T08:35:03Z","html_url":"https://github.com/Talend/ui/pull/1194#discussion_r189193322","pull_request_url":"https://api.github.com/repos/Talend/ui/pulls/1194","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/Talend/ui/pulls/comments/189193322"},"html":{"href":"https://github.com/Talend/ui/pull/1194#discussion_r189193322"},"pull_request":{"href":"https://api.github.com/repos/Talend/ui/pulls/1194"}}},"pull_request":{"url":"https://api.github.com/repos/Talend/ui/pulls/1194","id":176742209,"html_url":"https://github.com/Talend/ui/pull/1194","diff_url":"https://github.com/Talend/ui/pull/1194.diff","patch_url":"https://github.com/Talend/ui/pull/1194.patch","issue_url":"https://api.github.com/repos/Talend/ui/issues/1194","number":1194,"state":"open","locked":false,"title":"feat(containers): add AppLoader container","user":{"login":"romainseb","id":2909671,"avatar_url":"https://avatars1.githubusercontent.com/u/2909671?v=4","gravatar_id":"","url":"https://api.github.com/users/romainseb","html_url":"https://github.com/romainseb","followers_url":"https://api.github.com/users/romainseb/followers","following_url":"https://api.github.com/users/romainseb/following{/other_user}","gists_url":"https://api.github.com/users/romainseb/gists{/gist_id}","starred_url":"https://api.github.com/users/romainseb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/romainseb/subscriptions","organizations_url":"https://api.github.com/users/romainseb/orgs","repos_url":"https://api.github.com/users/romainseb/repos","events_url":"https://api.github.com/users/romainseb/events{/privacy}","received_events_url":"https://api.github.com/users/romainseb/received_events","type":"User","site_admin":false},"body":"**What is the problem this PR is trying to solve?**\r\nTo bootstrap our application, we have some specific code in each app.\r\n**What is the chosen solution to this problem?**\r\nShare an AppLoader container that make http call & wait some collections to be filled in the store to render the app\r\n\r\n**Please check if the PR fulfills these requirements**\r\n\r\n* [x] The PR commit message follows our [guidelines](https://github.com/talend/tools/blob/master/tools-root-github/CONTRIBUTING.md)\r\n* [x] Tests for the changes have been added (for bug fixes / features)\r\n* [x] Docs have been added / updated (for bug fixes / features)\r\n* [ ] Related design / discussions / pages (not in jira), if any, are all linked or available in the PR\r\n\r\n<!-- You can add more checkboxes here -->\r\n\r\n**[ ] This PR introduces a breaking change**\r\n\r\n<!-- if the PR introduces a breaking change, add the description here. So when you merge this PR, add this description into the [breaking change wiki](https://github.com/Talend/ui/wiki/BREAKING-CHANGE) in the next version -->\r\n\r\n<!-- **Original Template** -->\r\n\r\n<!-- https://github.com/Talend/tools/blob/master/tools-root-github/.github/PULL_REQUEST_TEMPLATE.md -->\r\n","created_at":"2018-03-22T10:59:40Z","updated_at":"2018-05-18T08:35:03Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a236afa83e6ea137fc55c64cfa2513fb43246410","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":521021722,"url":"https://api.github.com/repos/Talend/ui/labels/need%20review","name":"need review","color":"fbca04","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/Talend/ui/pulls/1194/commits","review_comments_url":"https://api.github.com/repos/Talend/ui/pulls/1194/comments","review_comment_url":"https://api.github.com/repos/Talend/ui/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Talend/ui/issues/1194/comments","statuses_url":"https://api.github.com/repos/Talend/ui/statuses/9554b55fb5a83aeff75b2c2db5f86805f468ffa0","head":{"label":"Talend:sromain/feat/app-loader-container","ref":"sromain/feat/app-loader-container","sha":"9554b55fb5a83aeff75b2c2db5f86805f468ffa0","user":{"login":"Talend","id":459687,"avatar_url":"https://avatars2.githubusercontent.com/u/459687?v=4","gravatar_id":"","url":"https://api.github.com/users/Talend","html_url":"https://github.com/Talend","followers_url":"https://api.github.com/users/Talend/followers","following_url":"https://api.github.com/users/Talend/following{/other_user}","gists_url":"https://api.github.com/users/Talend/gists{/gist_id}","starred_url":"https://api.github.com/users/Talend/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Talend/subscriptions","organizations_url":"https://api.github.com/users/Talend/orgs","repos_url":"https://api.github.com/users/Talend/repos","events_url":"https://api.github.com/users/Talend/events{/privacy}","received_events_url":"https://api.github.com/users/Talend/received_events","type":"Organization","site_admin":false},"repo":{"id":79343946,"name":"ui","full_name":"Talend/ui","owner":{"login":"Talend","id":459687,"avatar_url":"https://avatars2.githubusercontent.com/u/459687?v=4","gravatar_id":"","url":"https://api.github.com/users/Talend","html_url":"https://github.com/Talend","followers_url":"https://api.github.com/users/Talend/followers","following_url":"https://api.github.com/users/Talend/following{/other_user}","gists_url":"https://api.github.com/users/Talend/gists{/gist_id}","starred_url":"https://api.github.com/users/Talend/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Talend/subscriptions","organizations_url":"https://api.github.com/users/Talend/orgs","repos_url":"https://api.github.com/users/Talend/repos","events_url":"https://api.github.com/users/Talend/events{/privacy}","received_events_url":"https://api.github.com/users/Talend/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Talend/ui","description":"Talend's unified web UI repository.","fork":false,"url":"https://api.github.com/repos/Talend/ui","forks_url":"https://api.github.com/repos/Talend/ui/forks","keys_url":"https://api.github.com/repos/Talend/ui/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Talend/ui/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Talend/ui/teams","hooks_url":"https://api.github.com/repos/Talend/ui/hooks","issue_events_url":"https://api.github.com/repos/Talend/ui/issues/events{/number}","events_url":"https://api.github.com/repos/Talend/ui/events","assignees_url":"https://api.github.com/repos/Talend/ui/assignees{/user}","branches_url":"https://api.github.com/repos/Talend/ui/branches{/branch}","tags_url":"https://api.github.com/repos/Talend/ui/tags","blobs_url":"https://api.github.com/repos/Talend/ui/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Talend/ui/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Talend/ui/git/refs{/sha}","trees_url":"https://api.github.com/repos/Talend/ui/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Talend/ui/statuses/{sha}","languages_url":"https://api.github.com/repos/Talend/ui/languages","stargazers_url":"https://api.github.com/repos/Talend/ui/stargazers","contributors_url":"https://api.github.com/repos/Talend/ui/contributors","subscribers_url":"https://api.github.com/repos/Talend/ui/subscribers","subscription_url":"https://api.github.com/repos/Talend/ui/subscription","commits_url":"https://api.github.com/repos/Talend/ui/commits{/sha}","git_commits_url":"https://api.github.com/repos/Talend/ui/git/commits{/sha}","comments_url":"https://api.github.com/repos/Talend/ui/comments{/number}","issue_comment_url":"https://api.github.com/repos/Talend/ui/issues/comments{/number}","contents_url":"https://api.github.com/repos/Talend/ui/contents/{+path}","compare_url":"https://api.github.com/repos/Talend/ui/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Talend/ui/merges","archive_url":"https://api.github.com/repos/Talend/ui/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Talend/ui/downloads","issues_url":"https://api.github.com/repos/Talend/ui/issues{/number}","pulls_url":"https://api.github.com/repos/Talend/ui/pulls{/number}","milestones_url":"https://api.github.com/repos/Talend/ui/milestones{/number}","notifications_url":"https://api.github.com/repos/Talend/ui/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Talend/ui/labels{/name}","releases_url":"https://api.github.com/repos/Talend/ui/releases{/id}","deployments_url":"https://api.github.com/repos/Talend/ui/deployments","created_at":"2017-01-18T13:45:58Z","updated_at":"2018-05-18T07:07:44Z","pushed_at":"2018-05-18T08:19:27Z","git_url":"git://github.com/Talend/ui.git","ssh_url":"git@github.com:Talend/ui.git","clone_url":"https://github.com/Talend/ui.git","svn_url":"https://github.com/Talend/ui","homepage":"http://talend.surge.sh","size":26735,"stargazers_count":52,"watchers_count":52,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":18,"mirror_url":null,"archived":false,"open_issues_count":50,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":18,"open_issues":50,"watchers":52,"default_branch":"master"}},"base":{"label":"Talend:master","ref":"master","sha":"94270f7c75638296a532687d33b8fd1595f55bd3","user":{"login":"Talend","id":459687,"avatar_url":"https://avatars2.githubusercontent.com/u/459687?v=4","gravatar_id":"","url":"https://api.github.com/users/Talend","html_url":"https://github.com/Talend","followers_url":"https://api.github.com/users/Talend/followers","following_url":"https://api.github.com/users/Talend/following{/other_user}","gists_url":"https://api.github.com/users/Talend/gists{/gist_id}","starred_url":"https://api.github.com/users/Talend/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Talend/subscriptions","organizations_url":"https://api.github.com/users/Talend/orgs","repos_url":"https://api.github.com/users/Talend/repos","events_url":"https://api.github.com/users/Talend/events{/privacy}","received_events_url":"https://api.github.com/users/Talend/received_events","type":"Organization","site_admin":false},"repo":{"id":79343946,"name":"ui","full_name":"Talend/ui","owner":{"login":"Talend","id":459687,"avatar_url":"https://avatars2.githubusercontent.com/u/459687?v=4","gravatar_id":"","url":"https://api.github.com/users/Talend","html_url":"https://github.com/Talend","followers_url":"https://api.github.com/users/Talend/followers","following_url":"https://api.github.com/users/Talend/following{/other_user}","gists_url":"https://api.github.com/users/Talend/gists{/gist_id}","starred_url":"https://api.github.com/users/Talend/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Talend/subscriptions","organizations_url":"https://api.github.com/users/Talend/orgs","repos_url":"https://api.github.com/users/Talend/repos","events_url":"https://api.github.com/users/Talend/events{/privacy}","received_events_url":"https://api.github.com/users/Talend/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Talend/ui","description":"Talend's unified web UI repository.","fork":false,"url":"https://api.github.com/repos/Talend/ui","forks_url":"https://api.github.com/repos/Talend/ui/forks","keys_url":"https://api.github.com/repos/Talend/ui/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Talend/ui/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Talend/ui/teams","hooks_url":"https://api.github.com/repos/Talend/ui/hooks","issue_events_url":"https://api.github.com/repos/Talend/ui/issues/events{/number}","events_url":"https://api.github.com/repos/Talend/ui/events","assignees_url":"https://api.github.com/repos/Talend/ui/assignees{/user}","branches_url":"https://api.github.com/repos/Talend/ui/branches{/branch}","tags_url":"https://api.github.com/repos/Talend/ui/tags","blobs_url":"https://api.github.com/repos/Talend/ui/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Talend/ui/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Talend/ui/git/refs{/sha}","trees_url":"https://api.github.com/repos/Talend/ui/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Talend/ui/statuses/{sha}","languages_url":"https://api.github.com/repos/Talend/ui/languages","stargazers_url":"https://api.github.com/repos/Talend/ui/stargazers","contributors_url":"https://api.github.com/repos/Talend/ui/contributors","subscribers_url":"https://api.github.com/repos/Talend/ui/subscribers","subscription_url":"https://api.github.com/repos/Talend/ui/subscription","commits_url":"https://api.github.com/repos/Talend/ui/commits{/sha}","git_commits_url":"https://api.github.com/repos/Talend/ui/git/commits{/sha}","comments_url":"https://api.github.com/repos/Talend/ui/comments{/number}","issue_comment_url":"https://api.github.com/repos/Talend/ui/issues/comments{/number}","contents_url":"https://api.github.com/repos/Talend/ui/contents/{+path}","compare_url":"https://api.github.com/repos/Talend/ui/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Talend/ui/merges","archive_url":"https://api.github.com/repos/Talend/ui/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Talend/ui/downloads","issues_url":"https://api.github.com/repos/Talend/ui/issues{/number}","pulls_url":"https://api.github.com/repos/Talend/ui/pulls{/number}","milestones_url":"https://api.github.com/repos/Talend/ui/milestones{/number}","notifications_url":"https://api.github.com/repos/Talend/ui/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Talend/ui/labels{/name}","releases_url":"https://api.github.com/repos/Talend/ui/releases{/id}","deployments_url":"https://api.github.com/repos/Talend/ui/deployments","created_at":"2017-01-18T13:45:58Z","updated_at":"2018-05-18T07:07:44Z","pushed_at":"2018-05-18T08:19:27Z","git_url":"git://github.com/Talend/ui.git","ssh_url":"git@github.com:Talend/ui.git","clone_url":"https://github.com/Talend/ui.git","svn_url":"https://github.com/Talend/ui","homepage":"http://talend.surge.sh","size":26735,"stargazers_count":52,"watchers_count":52,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":18,"mirror_url":null,"archived":false,"open_issues_count":50,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":18,"open_issues":50,"watchers":52,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Talend/ui/pulls/1194"},"html":{"href":"https://github.com/Talend/ui/pull/1194"},"issue":{"href":"https://api.github.com/repos/Talend/ui/issues/1194"},"comments":{"href":"https://api.github.com/repos/Talend/ui/issues/1194/comments"},"review_comments":{"href":"https://api.github.com/repos/Talend/ui/pulls/1194/comments"},"review_comment":{"href":"https://api.github.com/repos/Talend/ui/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Talend/ui/pulls/1194/commits"},"statuses":{"href":"https://api.github.com/repos/Talend/ui/statuses/9554b55fb5a83aeff75b2c2db5f86805f468ffa0"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"jsomsanith"}}