unsakini 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +1 -5
  3. data/app/controllers/api/boards_controller.rb +8 -2
  4. data/app/controllers/api/comments_controller.rb +1 -1
  5. data/app/controllers/api/posts_controller.rb +1 -1
  6. data/app/controllers/api/share_board_controller.rb +7 -7
  7. data/app/controllers/api/users_controller.rb +1 -1
  8. data/app/controllers/concerns/board_owner_controller_concern.rb +2 -2
  9. data/app/controllers/concerns/comment_owner_controller_concern.rb +2 -2
  10. data/app/controllers/concerns/logged_in_controller_concern.rb +1 -1
  11. data/app/controllers/concerns/post_owner_controller_concern.rb +2 -2
  12. data/app/controllers/web_base_controller.rb +4 -0
  13. data/app/models/user_board.rb +11 -0
  14. data/app/serializers/user_board_serializer.rb +2 -1
  15. data/app/views/web_base/index.html +16 -0
  16. data/config/routes.rb +3 -0
  17. data/db/migrate/20161124102633_add_is_shared_to_boards.rb +5 -0
  18. data/lib/tasks/unsakini_tasks.rake +28 -30
  19. data/lib/unsakini/engine.rb +7 -8
  20. data/lib/unsakini/version.rb +1 -1
  21. data/spec/{requests/render_app_index_spec.rb → controllers/web_base_controller_spec.rb} +7 -0
  22. data/spec/dummy/app/assets/config/manifest.js +2 -0
  23. data/spec/dummy/app/assets/javascripts/cable.js +13 -0
  24. data/spec/dummy/app/controllers/application_controller.rb +2 -1
  25. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  26. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  27. data/spec/dummy/config/application.rb +0 -7
  28. data/spec/dummy/config/environments/development.rb +7 -0
  29. data/spec/dummy/config/environments/production.rb +8 -0
  30. data/spec/dummy/config/initializers/assets.rb +11 -0
  31. data/spec/dummy/config/initializers/cookies_serializer.rb +5 -0
  32. data/spec/dummy/config/initializers/new_framework_defaults.rb +6 -0
  33. data/spec/dummy/config/initializers/session_store.rb +3 -0
  34. data/spec/dummy/config/routes.rb +1 -1
  35. data/spec/dummy/config/secrets.yml +2 -2
  36. data/spec/dummy/db/development.sqlite3 +0 -0
  37. data/spec/dummy/db/migrate/20161124184342_add_is_shared_to_boards.unsakini_engine.rb +6 -0
  38. data/spec/dummy/public/404.html +67 -0
  39. data/spec/dummy/public/422.html +67 -0
  40. data/spec/dummy/public/500.html +66 -0
  41. data/spec/dummy/public/app/index.html +0 -14
  42. data/spec/dummy/public/app/inline.map +1 -1
  43. data/spec/dummy/public/app/main.bundle.js +110 -64
  44. data/spec/dummy/public/app/main.map +1 -1
  45. data/spec/dummy/public/app/styles.map +1 -1
  46. data/spec/dummy/tmp/unsakini-ng2/LICENSE +21 -0
  47. data/spec/dummy/tmp/unsakini-ng2/README.md +1 -0
  48. data/{angular → spec/dummy/tmp/unsakini-ng2}/angular-cli.json +1 -1
  49. data/spec/dummy/tmp/unsakini-ng2/src/app/registration/registration.component.css +0 -0
  50. data/spec/models/user_board_spec.rb +2 -0
  51. data/spec/requests/api/boards/api_boards_crud_spec.rb +174 -0
  52. data/spec/requests/api/boards/api_boards_pagination_spec.rb +51 -0
  53. data/spec/requests/api/{api_boards_spec.rb → boards/api_private_board_spec.rb} +1 -98
  54. data/spec/requests/api/boards/api_shared_board_spec.rb +66 -0
  55. data/spec/support/scenario_helper.rb +66 -34
  56. data/spec/support/serialize_helper.rb +4 -0
  57. metadata +154 -127
  58. data/angular/README.md +0 -31
  59. data/config/initializers/unsakini.rb +0 -4
  60. data/spec/dummy/angular/README.md +0 -31
  61. data/spec/dummy/angular/angular-cli.json +0 -59
  62. data/spec/dummy/angular/karma.conf.js +0 -45
  63. data/spec/dummy/angular/package.json +0 -49
  64. data/spec/dummy/angular/protractor.conf.js +0 -32
  65. data/spec/dummy/angular/src/app/app.component.html +0 -4
  66. data/spec/dummy/angular/src/app/app.component.spec.ts +0 -47
  67. data/spec/dummy/angular/src/app/app.component.ts +0 -10
  68. data/spec/dummy/angular/src/app/app.module.ts +0 -29
  69. data/spec/dummy/angular/src/app/app.routes.module.ts +0 -29
  70. data/spec/dummy/angular/src/app/index.ts +0 -2
  71. data/spec/dummy/angular/src/app/registration/registration.component.html +0 -14
  72. data/spec/dummy/angular/src/app/registration/registration.component.spec.ts +0 -157
  73. data/spec/dummy/angular/src/app/registration/registration.component.ts +0 -42
  74. data/spec/dummy/angular/src/environments/environment.prod.ts +0 -3
  75. data/spec/dummy/angular/src/environments/environment.ts +0 -8
  76. data/spec/dummy/angular/src/favicon.ico +0 -0
  77. data/spec/dummy/angular/src/index.html +0 -14
  78. data/spec/dummy/angular/src/main.ts +0 -12
  79. data/spec/dummy/angular/src/polyfills.ts +0 -19
  80. data/spec/dummy/angular/src/styles.css +0 -1
  81. data/spec/dummy/angular/src/test.ts +0 -31
  82. data/spec/dummy/angular/src/tsconfig.json +0 -18
  83. data/spec/dummy/angular/src/typings.d.ts +0 -2
  84. data/spec/dummy/angular/tslint.json +0 -114
  85. data/spec/dummy/angular/typings.json +0 -4
  86. data/spec/dummy/config/crypto.yml +0 -7
  87. data/spec/dummy/config/initializers/cors.rb +0 -16
  88. data/spec/dummy/db/schema.rb +0 -56
  89. data/spec/dummy/db/test.sqlite3 +0 -0
  90. /data/spec/dummy/db/migrate/{20161123150822_create_boards.unsakini_engine.rb → 20161124184336_create_boards.unsakini_engine.rb} +0 -0
  91. /data/spec/dummy/db/migrate/{20161123150823_create_user_boards.unsakini_engine.rb → 20161124184337_create_user_boards.unsakini_engine.rb} +0 -0
  92. /data/spec/dummy/db/migrate/{20161123150824_create_posts.unsakini_engine.rb → 20161124184338_create_posts.unsakini_engine.rb} +0 -0
  93. /data/spec/dummy/db/migrate/{20161123150825_create_comments.unsakini_engine.rb → 20161124184339_create_comments.unsakini_engine.rb} +0 -0
  94. /data/spec/dummy/db/migrate/{20161123150826_add_encrypted_password_to_user_board.unsakini_engine.rb → 20161124184340_add_encrypted_password_to_user_board.unsakini_engine.rb} +0 -0
  95. /data/spec/dummy/db/migrate/{20161123150827_create_users.unsakini_engine.rb → 20161124184341_create_users.unsakini_engine.rb} +0 -0
  96. /data/{angular/src/app/app.component.css → spec/dummy/public/apple-touch-icon-precomposed.png} +0 -0
  97. /data/{angular/src/app/registration/registration.component.css → spec/dummy/public/apple-touch-icon.png} +0 -0
  98. /data/spec/dummy/{angular/src/app/app.component.css → public/favicon.ico} +0 -0
  99. /data/spec/dummy/{angular → tmp/unsakini-ng2}/e2e/app.e2e-spec.ts +0 -0
  100. /data/spec/dummy/{angular → tmp/unsakini-ng2}/e2e/app.po.ts +0 -0
  101. /data/spec/dummy/{angular → tmp/unsakini-ng2}/e2e/signup.e2e-spec.ts +0 -0
  102. /data/spec/dummy/{angular → tmp/unsakini-ng2}/e2e/signup.po.ts +0 -0
  103. /data/spec/dummy/{angular → tmp/unsakini-ng2}/e2e/tsconfig.json +0 -0
  104. /data/{angular → spec/dummy/tmp/unsakini-ng2}/karma.conf.js +0 -0
  105. /data/{angular → spec/dummy/tmp/unsakini-ng2}/package.json +0 -0
  106. /data/{angular → spec/dummy/tmp/unsakini-ng2}/protractor.conf.js +0 -0
  107. /data/spec/dummy/{angular/src/app/registration/registration.component.css → tmp/unsakini-ng2/src/app/app.component.css} +0 -0
  108. /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/app/app.component.html +0 -0
  109. /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/app/app.component.spec.ts +0 -0
  110. /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/app/app.component.ts +0 -0
  111. /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/app/app.module.ts +0 -0
  112. /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/app/app.routes.module.ts +0 -0
  113. /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/app/index.ts +0 -0
  114. /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/app/registration/registration.component.html +0 -0
  115. /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/app/registration/registration.component.spec.ts +0 -0
  116. /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/app/registration/registration.component.ts +0 -0
  117. /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/environments/environment.prod.ts +0 -0
  118. /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/environments/environment.ts +0 -0
  119. /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/favicon.ico +0 -0
  120. /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/index.html +0 -0
  121. /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/main.ts +0 -0
  122. /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/polyfills.ts +0 -0
  123. /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/styles.css +0 -0
  124. /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/test.ts +0 -0
  125. /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/tsconfig.json +0 -0
  126. /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/typings.d.ts +0 -0
  127. /data/{angular → spec/dummy/tmp/unsakini-ng2}/tslint.json +0 -0
  128. /data/{angular → spec/dummy/tmp/unsakini-ng2}/typings.json +0 -0
  129. /data/spec/requests/api/{api_share_board_spec.rb → boards/api_sharing_board_spec.rb} +0 -0
  130. /data/spec/requests/api/{board/post/api_board_post_comments_spec.rb → comments/api_comments_spec.rb} +0 -0
  131. /data/spec/requests/api/{board/api_board_posts_spec.rb → posts/api_posts_spec.rb} +0 -0
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/404.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>The page you were looking for doesn't exist.</h1>
62
+ <p>You may have mistyped the address or the page may have moved.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
65
+ </div>
66
+ </body>
67
+ </html>
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/422.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>The change you wanted was rejected.</h1>
62
+ <p>Maybe you tried to change something you didn't have access to.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
65
+ </div>
66
+ </body>
67
+ </html>
@@ -0,0 +1,66 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/500.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>We're sorry, but something went wrong.</h1>
62
+ </div>
63
+ <p>If you are the application owner check the logs for more information.</p>
64
+ </div>
65
+ </body>
66
+ </html>
@@ -1,14 +0,0 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <title>Angular</title>
6
- <base href="/app/">
7
-
8
- <meta name="viewport" content="width=device-width, initial-scale=1">
9
- <link rel="icon" type="image/x-icon" href="favicon.ico">
10
- </head>
11
- <body>
12
- <app-root>Loading...</app-root>
13
- <script type="text/javascript" src="inline.bundle.js"></script><script type="text/javascript" src="styles.bundle.js"></script><script type="text/javascript" src="main.bundle.js"></script></body>
14
- </html>
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap 12981dfb6f37927b65f0"],"names":[],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAQ,oBAAoB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAY,2BAA2B;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA,YAAI;AACJ;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA,kDAA0C,oBAAoB,WAAW","file":"inline.bundle.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId])\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length)\n \t\t\tresolves.shift()();\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t2: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tif(installedChunks[chunkId] === 0)\n \t\t\treturn Promise.resolve();\n\n \t\t// an Promise means \"currently loading\".\n \t\tif(installedChunks[chunkId]) {\n \t\t\treturn installedChunks[chunkId][2];\n \t\t}\n \t\t// start chunk loading\n \t\tvar head = document.getElementsByTagName('head')[0];\n \t\tvar script = document.createElement('script');\n \t\tscript.type = 'text/javascript';\n \t\tscript.charset = 'utf-8';\n \t\tscript.async = true;\n \t\tscript.timeout = 120000;\n\n \t\tscript.src = __webpack_require__.p + \"\" + chunkId + \".chunk.js\";\n \t\tvar timeout = setTimeout(onScriptComplete, 120000);\n \t\tscript.onerror = script.onload = onScriptComplete;\n \t\tfunction onScriptComplete() {\n \t\t\t// avoid mem leaks in IE.\n \t\t\tscript.onerror = script.onload = null;\n \t\t\tclearTimeout(timeout);\n \t\t\tvar chunk = installedChunks[chunkId];\n \t\t\tif(chunk !== 0) {\n \t\t\t\tif(chunk) chunk[1](new Error('Loading chunk ' + chunkId + ' failed.'));\n \t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t}\n \t\t};\n \t\thead.appendChild(script);\n\n \t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\tinstalledChunks[chunkId] = [resolve, reject];\n \t\t});\n \t\treturn installedChunks[chunkId][2] = promise;\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmory imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmory exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tObject.defineProperty(exports, name, {\n \t\t\tconfigurable: false,\n \t\t\tenumerable: true,\n \t\t\tget: getter\n \t\t});\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 12981dfb6f37927b65f0"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap 78af5771ffff9598a5f5"],"names":[],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAQ,oBAAoB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAY,2BAA2B;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA,YAAI;AACJ;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA,kDAA0C,oBAAoB,WAAW","file":"inline.bundle.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId])\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length)\n \t\t\tresolves.shift()();\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t2: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tif(installedChunks[chunkId] === 0)\n \t\t\treturn Promise.resolve();\n\n \t\t// an Promise means \"currently loading\".\n \t\tif(installedChunks[chunkId]) {\n \t\t\treturn installedChunks[chunkId][2];\n \t\t}\n \t\t// start chunk loading\n \t\tvar head = document.getElementsByTagName('head')[0];\n \t\tvar script = document.createElement('script');\n \t\tscript.type = 'text/javascript';\n \t\tscript.charset = 'utf-8';\n \t\tscript.async = true;\n \t\tscript.timeout = 120000;\n\n \t\tscript.src = __webpack_require__.p + \"\" + chunkId + \".chunk.js\";\n \t\tvar timeout = setTimeout(onScriptComplete, 120000);\n \t\tscript.onerror = script.onload = onScriptComplete;\n \t\tfunction onScriptComplete() {\n \t\t\t// avoid mem leaks in IE.\n \t\t\tscript.onerror = script.onload = null;\n \t\t\tclearTimeout(timeout);\n \t\t\tvar chunk = installedChunks[chunkId];\n \t\t\tif(chunk !== 0) {\n \t\t\t\tif(chunk) chunk[1](new Error('Loading chunk ' + chunkId + ' failed.'));\n \t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t}\n \t\t};\n \t\thead.appendChild(script);\n\n \t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\tinstalledChunks[chunkId] = [resolve, reject];\n \t\t});\n \t\treturn installedChunks[chunkId][2] = promise;\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmory imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmory exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tObject.defineProperty(exports, name, {\n \t\t\tconfigurable: false,\n \t\t\tenumerable: true,\n \t\t\tget: getter\n \t\t});\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 78af5771ffff9598a5f5"],"sourceRoot":""}
@@ -13033,7 +13033,7 @@ var Router = (function () {
13033
13033
  // this operation do not result in any side effects
13034
13034
  var urlAndSnapshot$;
13035
13035
  if (!precreatedState) {
13036
- var redirectsApplied$ = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_11__apply_redirects__["a" /* applyRedirects */])(_this.injector, _this.configLoader, url, _this.config);
13036
+ var redirectsApplied$ = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_11__apply_redirects__["a" /* applyRedirects */])(_this.injector, _this.configLoader, _this.urlSerializer, url, _this.config);
13037
13037
  urlAndSnapshot$ = __WEBPACK_IMPORTED_MODULE_9_rxjs_operator_mergeMap__["mergeMap"].call(redirectsApplied$, function (appliedUrl) {
13038
13038
  return __WEBPACK_IMPORTED_MODULE_8_rxjs_operator_map__["map"].call(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_15__recognize__["a" /* recognize */])(_this.rootComponentType, _this.config, appliedUrl, _this.serializeUrl(appliedUrl)), function (snapshot) {
13039
13039
  _this.routerEvents.next(new RoutesRecognized(id, _this.serializeUrl(url), _this.serializeUrl(appliedUrl), snapshot));
@@ -31016,7 +31016,7 @@ var NumberFormatter = (function () {
31016
31016
  }());
31017
31017
  var DATE_FORMATS_SPLIT = /((?:[^yMLdHhmsazZEwGjJ']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|J+|j+|m+|s+|a|z|Z|G+|w+))(.*)/;
31018
31018
  var PATTERN_ALIASES = {
31019
- yMMMdjms: datePartGetterFactory(combine([
31019
+ 'yMMMdjms': datePartGetterFactory(combine([
31020
31020
  digitCondition('year', 1),
31021
31021
  nameCondition('month', 3),
31022
31022
  digitCondition('day', 1),
@@ -31024,19 +31024,19 @@ var PATTERN_ALIASES = {
31024
31024
  digitCondition('minute', 1),
31025
31025
  digitCondition('second', 1),
31026
31026
  ])),
31027
- yMdjm: datePartGetterFactory(combine([
31027
+ 'yMdjm': datePartGetterFactory(combine([
31028
31028
  digitCondition('year', 1), digitCondition('month', 1), digitCondition('day', 1),
31029
31029
  digitCondition('hour', 1), digitCondition('minute', 1)
31030
31030
  ])),
31031
- yMMMMEEEEd: datePartGetterFactory(combine([
31031
+ 'yMMMMEEEEd': datePartGetterFactory(combine([
31032
31032
  digitCondition('year', 1), nameCondition('month', 4), nameCondition('weekday', 4),
31033
31033
  digitCondition('day', 1)
31034
31034
  ])),
31035
- yMMMMd: datePartGetterFactory(combine([digitCondition('year', 1), nameCondition('month', 4), digitCondition('day', 1)])),
31036
- yMMMd: datePartGetterFactory(combine([digitCondition('year', 1), nameCondition('month', 3), digitCondition('day', 1)])),
31037
- yMd: datePartGetterFactory(combine([digitCondition('year', 1), digitCondition('month', 1), digitCondition('day', 1)])),
31038
- jms: datePartGetterFactory(combine([digitCondition('hour', 1), digitCondition('second', 1), digitCondition('minute', 1)])),
31039
- jm: datePartGetterFactory(combine([digitCondition('hour', 1), digitCondition('minute', 1)]))
31035
+ 'yMMMMd': datePartGetterFactory(combine([digitCondition('year', 1), nameCondition('month', 4), digitCondition('day', 1)])),
31036
+ 'yMMMd': datePartGetterFactory(combine([digitCondition('year', 1), nameCondition('month', 3), digitCondition('day', 1)])),
31037
+ 'yMd': datePartGetterFactory(combine([digitCondition('year', 1), digitCondition('month', 1), digitCondition('day', 1)])),
31038
+ 'jms': datePartGetterFactory(combine([digitCondition('hour', 1), digitCondition('second', 1), digitCondition('minute', 1)])),
31039
+ 'jm': datePartGetterFactory(combine([digitCondition('hour', 1), digitCondition('minute', 1)]))
31040
31040
  };
31041
31041
  var DATE_FORMATS = {
31042
31042
  yyyy: datePartGetterFactory(digitCondition('year', 4)),
@@ -56852,27 +56852,31 @@ var NoMatch = (function () {
56852
56852
  return NoMatch;
56853
56853
  }());
56854
56854
  var AbsoluteRedirect = (function () {
56855
- function AbsoluteRedirect(segments) {
56856
- this.segments = segments;
56855
+ function AbsoluteRedirect(urlTree) {
56856
+ this.urlTree = urlTree;
56857
56857
  }
56858
56858
  return AbsoluteRedirect;
56859
56859
  }());
56860
56860
  function noMatch(segmentGroup) {
56861
56861
  return new __WEBPACK_IMPORTED_MODULE_0_rxjs_Observable__["Observable"](function (obs) { return obs.error(new NoMatch(segmentGroup)); });
56862
56862
  }
56863
- function absoluteRedirect(segments) {
56864
- return new __WEBPACK_IMPORTED_MODULE_0_rxjs_Observable__["Observable"](function (obs) { return obs.error(new AbsoluteRedirect(segments)); });
56863
+ function absoluteRedirect(newTree) {
56864
+ return new __WEBPACK_IMPORTED_MODULE_0_rxjs_Observable__["Observable"](function (obs) { return obs.error(new AbsoluteRedirect(newTree)); });
56865
+ }
56866
+ function namedOutletsRedirect(redirectTo) {
56867
+ return new __WEBPACK_IMPORTED_MODULE_0_rxjs_Observable__["Observable"](function (obs) { return obs.error(new Error("Only absolute redirects can have named outlets. redirectTo: '" + redirectTo + "'")); });
56865
56868
  }
56866
56869
  function canLoadFails(route) {
56867
56870
  return new __WEBPACK_IMPORTED_MODULE_0_rxjs_Observable__["Observable"](function (obs) { return obs.error(new __WEBPACK_IMPORTED_MODULE_10__shared__["b" /* NavigationCancelingError */]("Cannot load children because the guard of the route \"path: '" + route.path + "'\" returned false")); });
56868
56871
  }
56869
- function applyRedirects(injector, configLoader, urlTree, config) {
56870
- return new ApplyRedirects(injector, configLoader, urlTree, config).apply();
56872
+ function applyRedirects(injector, configLoader, urlSerializer, urlTree, config) {
56873
+ return new ApplyRedirects(injector, configLoader, urlSerializer, urlTree, config).apply();
56871
56874
  }
56872
56875
  var ApplyRedirects = (function () {
56873
- function ApplyRedirects(injector, configLoader, urlTree, config) {
56876
+ function ApplyRedirects(injector, configLoader, urlSerializer, urlTree, config) {
56874
56877
  this.injector = injector;
56875
56878
  this.configLoader = configLoader;
56879
+ this.urlSerializer = urlSerializer;
56876
56880
  this.urlTree = urlTree;
56877
56881
  this.config = config;
56878
56882
  this.allowRedirects = true;
@@ -56880,14 +56884,13 @@ var ApplyRedirects = (function () {
56880
56884
  ApplyRedirects.prototype.apply = function () {
56881
56885
  var _this = this;
56882
56886
  var expanded$ = this.expandSegmentGroup(this.injector, this.config, this.urlTree.root, __WEBPACK_IMPORTED_MODULE_10__shared__["a" /* PRIMARY_OUTLET */]);
56883
- var urlTrees$ = __WEBPACK_IMPORTED_MODULE_6_rxjs_operator_map__["map"].call(expanded$, function (rootSegmentGroup) { return _this.createUrlTree(rootSegmentGroup); });
56887
+ var urlTrees$ = __WEBPACK_IMPORTED_MODULE_6_rxjs_operator_map__["map"].call(expanded$, function (rootSegmentGroup) { return _this.createUrlTree(rootSegmentGroup, _this.urlTree.queryParams, _this.urlTree.fragment); });
56884
56888
  return __WEBPACK_IMPORTED_MODULE_3_rxjs_operator_catch__["_catch"].call(urlTrees$, function (e) {
56885
56889
  if (e instanceof AbsoluteRedirect) {
56886
56890
  // after an absolute redirect we do not apply any more redirects!
56887
56891
  _this.allowRedirects = false;
56888
- var group = new __WEBPACK_IMPORTED_MODULE_11__url_tree__["a" /* UrlSegmentGroup */]([], (_a = {}, _a[__WEBPACK_IMPORTED_MODULE_10__shared__["a" /* PRIMARY_OUTLET */]] = new __WEBPACK_IMPORTED_MODULE_11__url_tree__["a" /* UrlSegmentGroup */](e.segments, {}), _a));
56889
56892
  // we need to run matching, so we can fetch all lazy-loaded modules
56890
- return _this.match(group);
56893
+ return _this.match(e.urlTree);
56891
56894
  }
56892
56895
  else if (e instanceof NoMatch) {
56893
56896
  throw _this.noMatchError(e);
@@ -56895,13 +56898,14 @@ var ApplyRedirects = (function () {
56895
56898
  else {
56896
56899
  throw e;
56897
56900
  }
56898
- var _a;
56899
56901
  });
56900
56902
  };
56901
- ApplyRedirects.prototype.match = function (segmentGroup) {
56903
+ ApplyRedirects.prototype.match = function (tree) {
56902
56904
  var _this = this;
56903
- var expanded$ = this.expandSegmentGroup(this.injector, this.config, segmentGroup, __WEBPACK_IMPORTED_MODULE_10__shared__["a" /* PRIMARY_OUTLET */]);
56904
- var mapped$ = __WEBPACK_IMPORTED_MODULE_6_rxjs_operator_map__["map"].call(expanded$, function (rootSegmentGroup) { return _this.createUrlTree(rootSegmentGroup); });
56905
+ var expanded$ = this.expandSegmentGroup(this.injector, this.config, tree.root, __WEBPACK_IMPORTED_MODULE_10__shared__["a" /* PRIMARY_OUTLET */]);
56906
+ var mapped$ = __WEBPACK_IMPORTED_MODULE_6_rxjs_operator_map__["map"].call(expanded$, function (rootSegmentGroup) {
56907
+ return _this.createUrlTree(rootSegmentGroup, tree.queryParams, tree.fragment);
56908
+ });
56905
56909
  return __WEBPACK_IMPORTED_MODULE_3_rxjs_operator_catch__["_catch"].call(mapped$, function (e) {
56906
56910
  if (e instanceof NoMatch) {
56907
56911
  throw _this.noMatchError(e);
@@ -56914,11 +56918,11 @@ var ApplyRedirects = (function () {
56914
56918
  ApplyRedirects.prototype.noMatchError = function (e) {
56915
56919
  return new Error("Cannot match any routes. URL Segment: '" + e.segmentGroup + "'");
56916
56920
  };
56917
- ApplyRedirects.prototype.createUrlTree = function (rootCandidate) {
56921
+ ApplyRedirects.prototype.createUrlTree = function (rootCandidate, queryParams, fragment) {
56918
56922
  var root = rootCandidate.segments.length > 0 ?
56919
56923
  new __WEBPACK_IMPORTED_MODULE_11__url_tree__["a" /* UrlSegmentGroup */]([], (_a = {}, _a[__WEBPACK_IMPORTED_MODULE_10__shared__["a" /* PRIMARY_OUTLET */]] = rootCandidate, _a)) :
56920
56924
  rootCandidate;
56921
- return new __WEBPACK_IMPORTED_MODULE_11__url_tree__["b" /* UrlTree */](root, this.urlTree.queryParams, this.urlTree.fragment);
56925
+ return new __WEBPACK_IMPORTED_MODULE_11__url_tree__["b" /* UrlTree */](root, queryParams, fragment);
56922
56926
  var _a;
56923
56927
  };
56924
56928
  ApplyRedirects.prototype.expandSegmentGroup = function (injector, routes, segmentGroup, outlet) {
@@ -56985,25 +56989,31 @@ var ApplyRedirects = (function () {
56985
56989
  }
56986
56990
  };
56987
56991
  ApplyRedirects.prototype.expandWildCardWithParamsAgainstRouteUsingRedirect = function (injector, routes, route, outlet) {
56988
- var newSegments = applyRedirectCommands([], route.redirectTo, {});
56992
+ var _this = this;
56993
+ var newTree = this.applyRedirectCommands([], route.redirectTo, {});
56989
56994
  if (route.redirectTo.startsWith('/')) {
56990
- return absoluteRedirect(newSegments);
56995
+ return absoluteRedirect(newTree);
56991
56996
  }
56992
56997
  else {
56993
- var group = new __WEBPACK_IMPORTED_MODULE_11__url_tree__["a" /* UrlSegmentGroup */](newSegments, {});
56994
- return this.expandSegment(injector, group, routes, newSegments, outlet, false);
56998
+ return __WEBPACK_IMPORTED_MODULE_7_rxjs_operator_mergeMap__["mergeMap"].call(this.lineralizeSegments(route, newTree), function (newSegments) {
56999
+ var group = new __WEBPACK_IMPORTED_MODULE_11__url_tree__["a" /* UrlSegmentGroup */](newSegments, {});
57000
+ return _this.expandSegment(injector, group, routes, newSegments, outlet, false);
57001
+ });
56995
57002
  }
56996
57003
  };
56997
57004
  ApplyRedirects.prototype.expandRegularSegmentAgainstRouteUsingRedirect = function (injector, segmentGroup, routes, route, segments, outlet) {
57005
+ var _this = this;
56998
57006
  var _a = match(segmentGroup, route, segments), matched = _a.matched, consumedSegments = _a.consumedSegments, lastChild = _a.lastChild, positionalParamSegments = _a.positionalParamSegments;
56999
57007
  if (!matched)
57000
57008
  return noMatch(segmentGroup);
57001
- var newSegments = applyRedirectCommands(consumedSegments, route.redirectTo, positionalParamSegments);
57009
+ var newTree = this.applyRedirectCommands(consumedSegments, route.redirectTo, positionalParamSegments);
57002
57010
  if (route.redirectTo.startsWith('/')) {
57003
- return absoluteRedirect(newSegments);
57011
+ return absoluteRedirect(newTree);
57004
57012
  }
57005
57013
  else {
57006
- return this.expandSegment(injector, segmentGroup, routes, newSegments.concat(segments.slice(lastChild)), outlet, false);
57014
+ return __WEBPACK_IMPORTED_MODULE_7_rxjs_operator_mergeMap__["mergeMap"].call(this.lineralizeSegments(route, newTree), function (newSegments) {
57015
+ return _this.expandSegment(injector, segmentGroup, routes, newSegments.concat(segments.slice(lastChild)), outlet, false);
57016
+ });
57007
57017
  }
57008
57018
  };
57009
57019
  ApplyRedirects.prototype.matchSegmentAgainstRoute = function (injector, rawSegmentGroup, route, segments) {
@@ -57070,6 +57080,74 @@ var ApplyRedirects = (function () {
57070
57080
  return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_of__["of"])(new __WEBPACK_IMPORTED_MODULE_9__router_config_loader__["a" /* LoadedRouterConfig */]([], injector, null, null));
57071
57081
  }
57072
57082
  };
57083
+ ApplyRedirects.prototype.lineralizeSegments = function (route, urlTree) {
57084
+ var res = [];
57085
+ var c = urlTree.root;
57086
+ while (true) {
57087
+ res = res.concat(c.segments);
57088
+ if (c.numberOfChildren === 0) {
57089
+ return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2_rxjs_observable_of__["of"])(res);
57090
+ }
57091
+ else if (c.numberOfChildren > 1 || !c.children[__WEBPACK_IMPORTED_MODULE_10__shared__["a" /* PRIMARY_OUTLET */]]) {
57092
+ return namedOutletsRedirect(route.redirectTo);
57093
+ }
57094
+ else {
57095
+ c = c.children[__WEBPACK_IMPORTED_MODULE_10__shared__["a" /* PRIMARY_OUTLET */]];
57096
+ }
57097
+ }
57098
+ };
57099
+ ApplyRedirects.prototype.applyRedirectCommands = function (segments, redirectTo, posParams) {
57100
+ var t = this.urlSerializer.parse(redirectTo);
57101
+ return this.applyRedirectCreatreUrlTree(redirectTo, this.urlSerializer.parse(redirectTo), segments, posParams);
57102
+ };
57103
+ ApplyRedirects.prototype.applyRedirectCreatreUrlTree = function (redirectTo, urlTree, segments, posParams) {
57104
+ var newRoot = this.createSegmentGroup(redirectTo, urlTree.root, segments, posParams);
57105
+ return new __WEBPACK_IMPORTED_MODULE_11__url_tree__["b" /* UrlTree */](newRoot, this.createQueryParams(urlTree.queryParams, this.urlTree.queryParams), urlTree.fragment);
57106
+ };
57107
+ ApplyRedirects.prototype.createQueryParams = function (redirectToParams, actualParams) {
57108
+ var res = {};
57109
+ __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_12__utils_collection__["d" /* forEach */])(redirectToParams, function (v, k) {
57110
+ if (v.startsWith(':')) {
57111
+ res[k] = actualParams[v.substring(1)];
57112
+ }
57113
+ else {
57114
+ res[k] = v;
57115
+ }
57116
+ });
57117
+ return res;
57118
+ };
57119
+ ApplyRedirects.prototype.createSegmentGroup = function (redirectTo, group, segments, posParams) {
57120
+ var _this = this;
57121
+ var updatedSegments = this.createSegments(redirectTo, group.segments, segments, posParams);
57122
+ var children = {};
57123
+ __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_12__utils_collection__["d" /* forEach */])(group.children, function (child, name) {
57124
+ children[name] = _this.createSegmentGroup(redirectTo, child, segments, posParams);
57125
+ });
57126
+ return new __WEBPACK_IMPORTED_MODULE_11__url_tree__["a" /* UrlSegmentGroup */](updatedSegments, children);
57127
+ };
57128
+ ApplyRedirects.prototype.createSegments = function (redirectTo, redirectToSegments, actualSegments, posParams) {
57129
+ var _this = this;
57130
+ return redirectToSegments.map(function (s) { return s.path.startsWith(':') ? _this.findPosParam(redirectTo, s, posParams) :
57131
+ _this.findOrReturn(s, actualSegments); });
57132
+ };
57133
+ ApplyRedirects.prototype.findPosParam = function (redirectTo, redirectToUrlSegment, posParams) {
57134
+ var pos = posParams[redirectToUrlSegment.path.substring(1)];
57135
+ if (!pos)
57136
+ throw new Error("Cannot redirect to '" + redirectTo + "'. Cannot find '" + redirectToUrlSegment.path + "'.");
57137
+ return pos;
57138
+ };
57139
+ ApplyRedirects.prototype.findOrReturn = function (redirectToUrlSegment, actualSegments) {
57140
+ var idx = 0;
57141
+ for (var _i = 0, actualSegments_1 = actualSegments; _i < actualSegments_1.length; _i++) {
57142
+ var s = actualSegments_1[_i];
57143
+ if (s.path === redirectToUrlSegment.path) {
57144
+ actualSegments.splice(idx);
57145
+ return s;
57146
+ }
57147
+ idx++;
57148
+ }
57149
+ return redirectToUrlSegment;
57150
+ };
57073
57151
  return ApplyRedirects;
57074
57152
  }());
57075
57153
  function runGuards(injector, route) {
@@ -57108,38 +57186,6 @@ function match(segmentGroup, route, segments) {
57108
57186
  positionalParamSegments: res.posParams
57109
57187
  };
57110
57188
  }
57111
- function applyRedirectCommands(segments, redirectTo, posParams) {
57112
- var r = redirectTo.startsWith('/') ? redirectTo.substring(1) : redirectTo;
57113
- if (r === '') {
57114
- return [];
57115
- }
57116
- else {
57117
- return createSegments(redirectTo, r.split('/'), segments, posParams);
57118
- }
57119
- }
57120
- function createSegments(redirectTo, parts, segments, posParams) {
57121
- return parts.map(function (p) { return p.startsWith(':') ? findPosParam(p, posParams, redirectTo) :
57122
- findOrCreateSegment(p, segments); });
57123
- }
57124
- function findPosParam(part, posParams, redirectTo) {
57125
- var paramName = part.substring(1);
57126
- var pos = posParams[paramName];
57127
- if (!pos)
57128
- throw new Error("Cannot redirect to '" + redirectTo + "'. Cannot find '" + part + "'.");
57129
- return pos;
57130
- }
57131
- function findOrCreateSegment(part, segments) {
57132
- var idx = 0;
57133
- for (var _i = 0, segments_1 = segments; _i < segments_1.length; _i++) {
57134
- var s = segments_1[_i];
57135
- if (s.path === part) {
57136
- segments.splice(idx);
57137
- return s;
57138
- }
57139
- idx++;
57140
- }
57141
- return new __WEBPACK_IMPORTED_MODULE_11__url_tree__["c" /* UrlSegment */](part, {});
57142
- }
57143
57189
  function split(segmentGroup, consumedSegments, slicedSegments, config) {
57144
57190
  if (slicedSegments.length > 0 &&
57145
57191
  containsEmptyPathRedirectsWithNamedOutlets(segmentGroup, slicedSegments, config)) {