{"action":"created","issue":{"url":"https://api.github.com/repos/LaxarJS/laxar/issues/375","repository_url":"https://api.github.com/repos/LaxarJS/laxar","labels_url":"https://api.github.com/repos/LaxarJS/laxar/issues/375/labels{/name}","comments_url":"https://api.github.com/repos/LaxarJS/laxar/issues/375/comments","events_url":"https://api.github.com/repos/LaxarJS/laxar/issues/375/events","html_url":"https://github.com/LaxarJS/laxar/issues/375","id":182453275,"number":375,"title":"Forward-Port #372 (query parameters) to LaxarJS v2.0","user":{"login":"x1B","id":327904,"avatar_url":"https://avatars.githubusercontent.com/u/327904?v=3","gravatar_id":"","url":"https://api.github.com/users/x1B","html_url":"https://github.com/x1B","followers_url":"https://api.github.com/users/x1B/followers","following_url":"https://api.github.com/users/x1B/following{/other_user}","gists_url":"https://api.github.com/users/x1B/gists{/gist_id}","starred_url":"https://api.github.com/users/x1B/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/x1B/subscriptions","organizations_url":"https://api.github.com/users/x1B/orgs","repos_url":"https://api.github.com/users/x1B/repos","events_url":"https://api.github.com/users/x1B/events{/privacy}","received_events_url":"https://api.github.com/users/x1B/received_events","type":"User","site_admin":false},"labels":[{"id":264947497,"url":"https://api.github.com/repos/LaxarJS/laxar/labels/epic:%20runtime","name":"epic: runtime","color":"fad8c7","default":false},{"id":264950032,"url":"https://api.github.com/repos/LaxarJS/laxar/labels/state:%20in%20progress","name":"state: in progress","color":"d4c5f9","default":false},{"id":264948723,"url":"https://api.github.com/repos/LaxarJS/laxar/labels/type:%20enhancement","name":"type: enhancement","color":"c7def8","default":false}],"state":"closed","locked":false,"assignee":{"login":"x1B","id":327904,"avatar_url":"https://avatars.githubusercontent.com/u/327904?v=3","gravatar_id":"","url":"https://api.github.com/users/x1B","html_url":"https://github.com/x1B","followers_url":"https://api.github.com/users/x1B/followers","following_url":"https://api.github.com/users/x1B/following{/other_user}","gists_url":"https://api.github.com/users/x1B/gists{/gist_id}","starred_url":"https://api.github.com/users/x1B/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/x1B/subscriptions","organizations_url":"https://api.github.com/users/x1B/orgs","repos_url":"https://api.github.com/users/x1B/repos","events_url":"https://api.github.com/users/x1B/events{/privacy}","received_events_url":"https://api.github.com/users/x1B/received_events","type":"User","site_admin":false},"assignees":[{"login":"x1B","id":327904,"avatar_url":"https://avatars.githubusercontent.com/u/327904?v=3","gravatar_id":"","url":"https://api.github.com/users/x1B","html_url":"https://github.com/x1B","followers_url":"https://api.github.com/users/x1B/followers","following_url":"https://api.github.com/users/x1B/following{/other_user}","gists_url":"https://api.github.com/users/x1B/gists{/gist_id}","starred_url":"https://api.github.com/users/x1B/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/x1B/subscriptions","organizations_url":"https://api.github.com/users/x1B/orgs","repos_url":"https://api.github.com/users/x1B/repos","events_url":"https://api.github.com/users/x1B/events{/privacy}","received_events_url":"https://api.github.com/users/x1B/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/LaxarJS/laxar/milestones/3","html_url":"https://github.com/LaxarJS/laxar/milestones/v2.0.0","labels_url":"https://api.github.com/repos/LaxarJS/laxar/milestones/3/labels","id":1202330,"number":3,"title":"v2.0.0","description":"Milestone for the next major release, which may need to introduce some breaking changes due to cool, new features!","creator":{"login":"alex3683","id":768322,"avatar_url":"https://avatars.githubusercontent.com/u/768322?v=3","gravatar_id":"","url":"https://api.github.com/users/alex3683","html_url":"https://github.com/alex3683","followers_url":"https://api.github.com/users/alex3683/followers","following_url":"https://api.github.com/users/alex3683/following{/other_user}","gists_url":"https://api.github.com/users/alex3683/gists{/gist_id}","starred_url":"https://api.github.com/users/alex3683/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alex3683/subscriptions","organizations_url":"https://api.github.com/users/alex3683/orgs","repos_url":"https://api.github.com/users/alex3683/repos","events_url":"https://api.github.com/users/alex3683/events{/privacy}","received_events_url":"https://api.github.com/users/alex3683/received_events","type":"User","site_admin":false},"open_issues":11,"closed_issues":83,"state":"open","created_at":"2015-07-10T11:14:02Z","updated_at":"2016-11-07T10:07:09Z","due_on":"2016-12-14T00:00:00Z","closed_at":null},"comments":2,"created_at":"2016-10-12T07:21:50Z","updated_at":"2016-11-07T10:07:09Z","closed_at":"2016-11-07T10:07:09Z","body":"In LaxarJS #372, we're adding query parameter support to LaxarJS `v1.x`. This issue tracks also adding query to `master` (`v2.x`).\n"},"comment":{"url":"https://api.github.com/repos/LaxarJS/laxar/issues/comments/258794707","html_url":"https://github.com/LaxarJS/laxar/issues/375#issuecomment-258794707","issue_url":"https://api.github.com/repos/LaxarJS/laxar/issues/375","id":258794707,"user":{"login":"x1B","id":327904,"avatar_url":"https://avatars.githubusercontent.com/u/327904?v=3","gravatar_id":"","url":"https://api.github.com/users/x1B","html_url":"https://github.com/x1B","followers_url":"https://api.github.com/users/x1B/followers","following_url":"https://api.github.com/users/x1B/following{/other_user}","gists_url":"https://api.github.com/users/x1B/gists{/gist_id}","starred_url":"https://api.github.com/users/x1B/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/x1B/subscriptions","organizations_url":"https://api.github.com/users/x1B/orgs","repos_url":"https://api.github.com/users/x1B/repos","events_url":"https://api.github.com/users/x1B/events{/privacy}","received_events_url":"https://api.github.com/users/x1B/received_events","type":"User","site_admin":false},"created_at":"2016-11-07T10:07:08Z","updated_at":"2016-11-07T10:07:08Z","body":"Implemented on `master` (`v2.0.0`).\r\n\r\nThe same change was implemented on `master-1.x` (`v1.3.0`) with issue #372\r\n\r\n\r\n### Upgrade Information\r\n\r\n*This change introduces deprecations, see below for details.*\r\n\r\nPlace-parameters may now be represented in URLs as query-parameters in addition to the existing representation as path segments. This allows working with places that use multiple optional place parameters, without producing URLs that contain visible placeholders (e.g. instead of `/some/place/v1/_/v3/_` you can now have `/some/place/v1?param3=v3`).\r\n\r\nTo use query-parameters in URLs, the LaxarJS configuration option *flow.query.enabled* must be set to `true`.\r\n\r\nThe following is true if query-parameters are enabled:\r\n\r\n - when navigating to a URL handled by LaxarJS, query-parameters are automatically translated into `data` items of the resulting `didNavigate` event. An exception is made for query-parameters that use the same name as regular place-parameters (path-segments) of the current place. In this case, place-parameters \"win\".\r\n\r\n - when navigating to a URL handled by LaxarJS, query-parameters *without a value* are also put into the resulting `didNavigate` event, with the value `true`. This allows to specify flags in a compact way.\r\n\r\n - in the flow definition (`flow.json`), *defaults* may be specified for query parameters of each place, using the new place property `queryParameters`. Strings, `false` and `null` are allowed as values. If e.g. `{ x: false, y: \"34\" }` is specified, these are published with any `didNavigate` event, unless overridden. The default `false` is meant to complement the parameter-less query string syntax. A default of `true` is allowed syntactically, but makes no sense. The default `null` is mainly intended to allow documenting known query parameters.\r\n\r\n - when calculating a URL using `axFlowService.constructAbsoluteUrl`, query parameters are generated for any of the optional and/or active place parameters that \r\n   - do not correspond to a regular path-segment-style place parameter, and that\r\n   - are different from their default.\r\n   If a place parameter has the value `true`, a value-less query parameter is generated.\r\n \r\n- when a `navigateRequest` event is processed by the flow service, the new URL is generated as by  `axFlowService.constructAbsoluteUrl`. That is, query parameters are added as needed.\r\n\r\n\r\n#### DEPRECATION INFORMATION\r\n\r\nThe following methods of the `axFlowService` are now deprecated:\r\n\r\n - **constructAnchor** -- this will probably create invalid or useless links if using HTML5 routing. Use `constructAbsoluteUrl` instead, which also works hash-based URLs as well as for HTML5 URLs.\r\n\r\n - **constructPath** -- this will probably create invalid or useless links if using query parameters. Use `constructAbsoluteUrl` instead, which works with and without query parameters.\r\n\r\n - **place** -- was only for internal use. Subscribe to `didNavigate` for relevant information.\r\n\r\n\r\n"}}
{"actor":{"display_login":"x1B"}}