{"action":"created","issue":{"url":"https://api.github.com/repos/orchestratora/orchestrator/issues/8","repository_url":"https://api.github.com/repos/orchestratora/orchestrator","labels_url":"https://api.github.com/repos/orchestratora/orchestrator/issues/8/labels{/name}","comments_url":"https://api.github.com/repos/orchestratora/orchestrator/issues/8/comments","events_url":"https://api.github.com/repos/orchestratora/orchestrator/issues/8/events","html_url":"https://github.com/orchestratora/orchestrator/issues/8","id":377068208,"node_id":"MDU6SXNzdWUzNzcwNjgyMDg=","number":8,"title":"Layout Module open discussion","user":{"login":"baruchvlz","id":14321495,"node_id":"MDQ6VXNlcjE0MzIxNDk1","avatar_url":"https://avatars1.githubusercontent.com/u/14321495?v=4","gravatar_id":"","url":"https://api.github.com/users/baruchvlz","html_url":"https://github.com/baruchvlz","followers_url":"https://api.github.com/users/baruchvlz/followers","following_url":"https://api.github.com/users/baruchvlz/following{/other_user}","gists_url":"https://api.github.com/users/baruchvlz/gists{/gist_id}","starred_url":"https://api.github.com/users/baruchvlz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/baruchvlz/subscriptions","organizations_url":"https://api.github.com/users/baruchvlz/orgs","repos_url":"https://api.github.com/users/baruchvlz/repos","events_url":"https://api.github.com/users/baruchvlz/events{/privacy}","received_events_url":"https://api.github.com/users/baruchvlz/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-11-03T16:07:11Z","updated_at":"2018-11-03T16:47:53Z","closed_at":null,"author_association":"NONE","body":"In order to provide a user configurable layout of `RenderItem[]` we should provide a `LayoutModule` that exports wrappers. One wrapper should be a linear flex wrapper `FlatLayoutComponent` and the other should a grid wrapper `GridLayoutComponent`.\r\n\r\nI suggest that in order to complete this as fast a possible, we integrate these wrapper using `@angular/flex-layout` and exposing basic configurations  for each wrapper.\r\n\r\n\r\n_\r\n\r\n**FlatLayoutComponent**\r\n\r\nThe flat layout should wrap `n` amount of `OrchestratorConfigItem` instances and emit an event when all the instances have been rendered. It should also have a default configuration for certain properties required for `@angular/flex-layout`.\r\n\r\nConsider this as a default config (note that these configurations can be overwritten with `Input`s)\r\n\r\n```typescript\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class OrchestratorFlatLayoutConfig {\r\n  direction = 'row';\r\n  wrap = 'wrap';\r\n  align = 'space-between center';\r\n  columns = 3;\r\n}\r\n```\r\n\r\nApart from the configuration `Input`s, the component should also take in items to be rendered `items: ReadonlyArray<OrchestratorConfigItem<any>>;`, should have an event emitter for when the items are rendered and an even emitter for everytime a new item is added into the view.\r\n\r\n_\r\n\r\n**GridLayoutComponent**\r\n\r\n_TBD_"},"comment":{"url":"https://api.github.com/repos/orchestratora/orchestrator/issues/comments/435602775","html_url":"https://github.com/orchestratora/orchestrator/issues/8#issuecomment-435602775","issue_url":"https://api.github.com/repos/orchestratora/orchestrator/issues/8","id":435602775,"node_id":"MDEyOklzc3VlQ29tbWVudDQzNTYwMjc3NQ==","user":{"login":"baruchvlz","id":14321495,"node_id":"MDQ6VXNlcjE0MzIxNDk1","avatar_url":"https://avatars1.githubusercontent.com/u/14321495?v=4","gravatar_id":"","url":"https://api.github.com/users/baruchvlz","html_url":"https://github.com/baruchvlz","followers_url":"https://api.github.com/users/baruchvlz/followers","following_url":"https://api.github.com/users/baruchvlz/following{/other_user}","gists_url":"https://api.github.com/users/baruchvlz/gists{/gist_id}","starred_url":"https://api.github.com/users/baruchvlz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/baruchvlz/subscriptions","organizations_url":"https://api.github.com/users/baruchvlz/orgs","repos_url":"https://api.github.com/users/baruchvlz/repos","events_url":"https://api.github.com/users/baruchvlz/events{/privacy}","received_events_url":"https://api.github.com/users/baruchvlz/received_events","type":"User","site_admin":false},"created_at":"2018-11-03T16:47:53Z","updated_at":"2018-11-03T16:47:53Z","author_association":"NONE","body":"Yea, I like `LayoutFlatComponent` better, it provides the package name first then the type of component.\r\n\r\nAs for the flex layout dependency, I figured we could provide all the responsiveness that comes along with the library, but I'm not opposed to moving this to a separate package to be done later. Maybe after we integrate drag and drop customisation. Basic flex CSS with minimum configuration should be enough for now."}}
{"actor":{"display_login":"baruchvlz"}}