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.
- checksums.yaml +4 -4
- data/Rakefile +1 -5
- data/app/controllers/api/boards_controller.rb +8 -2
- data/app/controllers/api/comments_controller.rb +1 -1
- data/app/controllers/api/posts_controller.rb +1 -1
- data/app/controllers/api/share_board_controller.rb +7 -7
- data/app/controllers/api/users_controller.rb +1 -1
- data/app/controllers/concerns/board_owner_controller_concern.rb +2 -2
- data/app/controllers/concerns/comment_owner_controller_concern.rb +2 -2
- data/app/controllers/concerns/logged_in_controller_concern.rb +1 -1
- data/app/controllers/concerns/post_owner_controller_concern.rb +2 -2
- data/app/controllers/web_base_controller.rb +4 -0
- data/app/models/user_board.rb +11 -0
- data/app/serializers/user_board_serializer.rb +2 -1
- data/app/views/web_base/index.html +16 -0
- data/config/routes.rb +3 -0
- data/db/migrate/20161124102633_add_is_shared_to_boards.rb +5 -0
- data/lib/tasks/unsakini_tasks.rake +28 -30
- data/lib/unsakini/engine.rb +7 -8
- data/lib/unsakini/version.rb +1 -1
- data/spec/{requests/render_app_index_spec.rb → controllers/web_base_controller_spec.rb} +7 -0
- data/spec/dummy/app/assets/config/manifest.js +2 -0
- data/spec/dummy/app/assets/javascripts/cable.js +13 -0
- data/spec/dummy/app/controllers/application_controller.rb +2 -1
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/config/application.rb +0 -7
- data/spec/dummy/config/environments/development.rb +7 -0
- data/spec/dummy/config/environments/production.rb +8 -0
- data/spec/dummy/config/initializers/assets.rb +11 -0
- data/spec/dummy/config/initializers/cookies_serializer.rb +5 -0
- data/spec/dummy/config/initializers/new_framework_defaults.rb +6 -0
- data/spec/dummy/config/initializers/session_store.rb +3 -0
- data/spec/dummy/config/routes.rb +1 -1
- data/spec/dummy/config/secrets.yml +2 -2
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/20161124184342_add_is_shared_to_boards.unsakini_engine.rb +6 -0
- data/spec/dummy/public/404.html +67 -0
- data/spec/dummy/public/422.html +67 -0
- data/spec/dummy/public/500.html +66 -0
- data/spec/dummy/public/app/index.html +0 -14
- data/spec/dummy/public/app/inline.map +1 -1
- data/spec/dummy/public/app/main.bundle.js +110 -64
- data/spec/dummy/public/app/main.map +1 -1
- data/spec/dummy/public/app/styles.map +1 -1
- data/spec/dummy/tmp/unsakini-ng2/LICENSE +21 -0
- data/spec/dummy/tmp/unsakini-ng2/README.md +1 -0
- data/{angular → spec/dummy/tmp/unsakini-ng2}/angular-cli.json +1 -1
- data/spec/dummy/tmp/unsakini-ng2/src/app/registration/registration.component.css +0 -0
- data/spec/models/user_board_spec.rb +2 -0
- data/spec/requests/api/boards/api_boards_crud_spec.rb +174 -0
- data/spec/requests/api/boards/api_boards_pagination_spec.rb +51 -0
- data/spec/requests/api/{api_boards_spec.rb → boards/api_private_board_spec.rb} +1 -98
- data/spec/requests/api/boards/api_shared_board_spec.rb +66 -0
- data/spec/support/scenario_helper.rb +66 -34
- data/spec/support/serialize_helper.rb +4 -0
- metadata +154 -127
- data/angular/README.md +0 -31
- data/config/initializers/unsakini.rb +0 -4
- data/spec/dummy/angular/README.md +0 -31
- data/spec/dummy/angular/angular-cli.json +0 -59
- data/spec/dummy/angular/karma.conf.js +0 -45
- data/spec/dummy/angular/package.json +0 -49
- data/spec/dummy/angular/protractor.conf.js +0 -32
- data/spec/dummy/angular/src/app/app.component.html +0 -4
- data/spec/dummy/angular/src/app/app.component.spec.ts +0 -47
- data/spec/dummy/angular/src/app/app.component.ts +0 -10
- data/spec/dummy/angular/src/app/app.module.ts +0 -29
- data/spec/dummy/angular/src/app/app.routes.module.ts +0 -29
- data/spec/dummy/angular/src/app/index.ts +0 -2
- data/spec/dummy/angular/src/app/registration/registration.component.html +0 -14
- data/spec/dummy/angular/src/app/registration/registration.component.spec.ts +0 -157
- data/spec/dummy/angular/src/app/registration/registration.component.ts +0 -42
- data/spec/dummy/angular/src/environments/environment.prod.ts +0 -3
- data/spec/dummy/angular/src/environments/environment.ts +0 -8
- data/spec/dummy/angular/src/favicon.ico +0 -0
- data/spec/dummy/angular/src/index.html +0 -14
- data/spec/dummy/angular/src/main.ts +0 -12
- data/spec/dummy/angular/src/polyfills.ts +0 -19
- data/spec/dummy/angular/src/styles.css +0 -1
- data/spec/dummy/angular/src/test.ts +0 -31
- data/spec/dummy/angular/src/tsconfig.json +0 -18
- data/spec/dummy/angular/src/typings.d.ts +0 -2
- data/spec/dummy/angular/tslint.json +0 -114
- data/spec/dummy/angular/typings.json +0 -4
- data/spec/dummy/config/crypto.yml +0 -7
- data/spec/dummy/config/initializers/cors.rb +0 -16
- data/spec/dummy/db/schema.rb +0 -56
- data/spec/dummy/db/test.sqlite3 +0 -0
- /data/spec/dummy/db/migrate/{20161123150822_create_boards.unsakini_engine.rb → 20161124184336_create_boards.unsakini_engine.rb} +0 -0
- /data/spec/dummy/db/migrate/{20161123150823_create_user_boards.unsakini_engine.rb → 20161124184337_create_user_boards.unsakini_engine.rb} +0 -0
- /data/spec/dummy/db/migrate/{20161123150824_create_posts.unsakini_engine.rb → 20161124184338_create_posts.unsakini_engine.rb} +0 -0
- /data/spec/dummy/db/migrate/{20161123150825_create_comments.unsakini_engine.rb → 20161124184339_create_comments.unsakini_engine.rb} +0 -0
- /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
- /data/spec/dummy/db/migrate/{20161123150827_create_users.unsakini_engine.rb → 20161124184341_create_users.unsakini_engine.rb} +0 -0
- /data/{angular/src/app/app.component.css → spec/dummy/public/apple-touch-icon-precomposed.png} +0 -0
- /data/{angular/src/app/registration/registration.component.css → spec/dummy/public/apple-touch-icon.png} +0 -0
- /data/spec/dummy/{angular/src/app/app.component.css → public/favicon.ico} +0 -0
- /data/spec/dummy/{angular → tmp/unsakini-ng2}/e2e/app.e2e-spec.ts +0 -0
- /data/spec/dummy/{angular → tmp/unsakini-ng2}/e2e/app.po.ts +0 -0
- /data/spec/dummy/{angular → tmp/unsakini-ng2}/e2e/signup.e2e-spec.ts +0 -0
- /data/spec/dummy/{angular → tmp/unsakini-ng2}/e2e/signup.po.ts +0 -0
- /data/spec/dummy/{angular → tmp/unsakini-ng2}/e2e/tsconfig.json +0 -0
- /data/{angular → spec/dummy/tmp/unsakini-ng2}/karma.conf.js +0 -0
- /data/{angular → spec/dummy/tmp/unsakini-ng2}/package.json +0 -0
- /data/{angular → spec/dummy/tmp/unsakini-ng2}/protractor.conf.js +0 -0
- /data/spec/dummy/{angular/src/app/registration/registration.component.css → tmp/unsakini-ng2/src/app/app.component.css} +0 -0
- /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/app/app.component.html +0 -0
- /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/app/app.component.spec.ts +0 -0
- /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/app/app.component.ts +0 -0
- /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/app/app.module.ts +0 -0
- /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/app/app.routes.module.ts +0 -0
- /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/app/index.ts +0 -0
- /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/app/registration/registration.component.html +0 -0
- /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/app/registration/registration.component.spec.ts +0 -0
- /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/app/registration/registration.component.ts +0 -0
- /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/environments/environment.prod.ts +0 -0
- /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/environments/environment.ts +0 -0
- /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/favicon.ico +0 -0
- /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/index.html +0 -0
- /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/main.ts +0 -0
- /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/polyfills.ts +0 -0
- /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/styles.css +0 -0
- /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/test.ts +0 -0
- /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/tsconfig.json +0 -0
- /data/{angular → spec/dummy/tmp/unsakini-ng2}/src/typings.d.ts +0 -0
- /data/{angular → spec/dummy/tmp/unsakini-ng2}/tslint.json +0 -0
- /data/{angular → spec/dummy/tmp/unsakini-ng2}/typings.json +0 -0
- /data/spec/requests/api/{api_share_board_spec.rb → boards/api_sharing_board_spec.rb} +0 -0
- /data/spec/requests/api/{board/post/api_board_post_comments_spec.rb → comments/api_comments_spec.rb} +0 -0
- /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
|
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(
|
56856
|
-
this.
|
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(
|
56864
|
-
return new __WEBPACK_IMPORTED_MODULE_0_rxjs_Observable__["Observable"](function (obs) { return obs.error(new AbsoluteRedirect(
|
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(
|
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 (
|
56903
|
+
ApplyRedirects.prototype.match = function (tree) {
|
56902
56904
|
var _this = this;
|
56903
|
-
var expanded$ = this.expandSegmentGroup(this.injector, this.config,
|
56904
|
-
var mapped$ = __WEBPACK_IMPORTED_MODULE_6_rxjs_operator_map__["map"].call(expanded$, function (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,
|
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
|
56992
|
+
var _this = this;
|
56993
|
+
var newTree = this.applyRedirectCommands([], route.redirectTo, {});
|
56989
56994
|
if (route.redirectTo.startsWith('/')) {
|
56990
|
-
return absoluteRedirect(
|
56995
|
+
return absoluteRedirect(newTree);
|
56991
56996
|
}
|
56992
56997
|
else {
|
56993
|
-
|
56994
|
-
|
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
|
57009
|
+
var newTree = this.applyRedirectCommands(consumedSegments, route.redirectTo, positionalParamSegments);
|
57002
57010
|
if (route.redirectTo.startsWith('/')) {
|
57003
|
-
return absoluteRedirect(
|
57011
|
+
return absoluteRedirect(newTree);
|
57004
57012
|
}
|
57005
57013
|
else {
|
57006
|
-
return this.
|
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)) {
|