unsakini 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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)) {