"\u201d\u2019]/i,b=/^mailto:/i,d=e.$$minErr("linky"),g=e.isString;return function(f,h,k){function m(a){a&&p.push(A(a))}function q(a,b){var c,d=r(a);p.push("');m(b);p.push("")}if(null==f||""===f)return f;if(!g(f))throw d("notstring",f);for(var r=e.isFunction(k)?k:e.isObject(k)?function(){return k}:function(){return{}},s=f,p=[],t,n;f=s.match(c);)t=f[0],f[2]||f[4]||(t=(f[3]?"http://":"mailto:")+t),n=f.index,m(s.substr(0,n)),q(t,f[0].replace(b,"")),s=s.substring(n+f[0].length);m(s);return a(p.join(""))}}])})(window,window.angular);
15 | //# sourceMappingURL=angular-sanitize.min.js.map
16 |
--------------------------------------------------------------------------------
/src/main/docker/html/register/js/update_new_project.js:
--------------------------------------------------------------------------------
1 | function update_new_project(scale,attr_cfg) {
2 | var gitUrlAttribute;
3 | var gitSshKeyAttribute;
4 |
5 | for (var ii = 0; ii < scale.attributeConfigs.length; ii++) {
6 | if (scale.attributeConfigs[ii].name == 'gitUrl') {
7 | gitUrlAttribute = scale.attributeConfigs[ii];
8 |
9 | } else if (scale.attributeConfigs[ii].name == 'gitSshKey') {
10 | gitSshKeyAttribute = scale.attributeConfigs[ii];
11 | }
12 |
13 |
14 | }
15 |
16 |
17 | var targetToCheck = scale.newUser.attributes[attr_cfg.name];
18 |
19 |
20 |
21 |
22 | $.getJSON('/newproject/target-metadata/' + targetToCheck.value,
23 | function(result) {
24 | targetMetadata = result;
25 | gitUrlAttribute.show = targetMetadata.isGit;
26 | gitSshKeyAttribute.show = targetMetadata.isGit;
27 | var scope = angular.element($("#outer")).scope();
28 | scope.$apply();
29 | }
30 | );
31 | }
--------------------------------------------------------------------------------
/src/main/docker/html/register/less/animated.less:
--------------------------------------------------------------------------------
1 | // Animated Icons
2 | // --------------------------
3 |
4 | .@{fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | .@{fa-css-prefix}-pulse {
10 | -webkit-animation: fa-spin 1s infinite steps(8);
11 | animation: fa-spin 1s infinite steps(8);
12 | }
13 |
14 | @-webkit-keyframes fa-spin {
15 | 0% {
16 | -webkit-transform: rotate(0deg);
17 | transform: rotate(0deg);
18 | }
19 | 100% {
20 | -webkit-transform: rotate(359deg);
21 | transform: rotate(359deg);
22 | }
23 | }
24 |
25 | @keyframes fa-spin {
26 | 0% {
27 | -webkit-transform: rotate(0deg);
28 | transform: rotate(0deg);
29 | }
30 | 100% {
31 | -webkit-transform: rotate(359deg);
32 | transform: rotate(359deg);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/main/docker/html/register/less/bordered-pulled.less:
--------------------------------------------------------------------------------
1 | // Bordered & Pulled
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-border {
5 | padding: .2em .25em .15em;
6 | border: solid .08em @fa-border-color;
7 | border-radius: .1em;
8 | }
9 |
10 | .@{fa-css-prefix}-pull-left { float: left; }
11 | .@{fa-css-prefix}-pull-right { float: right; }
12 |
13 | .@{fa-css-prefix} {
14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; }
15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; }
16 | }
17 |
18 | /* Deprecated as of 4.4.0 */
19 | .pull-right { float: right; }
20 | .pull-left { float: left; }
21 |
22 | .@{fa-css-prefix} {
23 | &.pull-left { margin-right: .3em; }
24 | &.pull-right { margin-left: .3em; }
25 | }
26 |
--------------------------------------------------------------------------------
/src/main/docker/html/register/less/core.less:
--------------------------------------------------------------------------------
1 | // Base Class Definition
2 | // -------------------------
3 |
4 | .@{fa-css-prefix} {
5 | display: inline-block;
6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/src/main/docker/html/register/less/fixed-width.less:
--------------------------------------------------------------------------------
1 | // Fixed Width Icons
2 | // -------------------------
3 | .@{fa-css-prefix}-fw {
4 | width: (18em / 14);
5 | text-align: center;
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/docker/html/register/less/font-awesome.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome
3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4 | */
5 |
6 | @import "variables.less";
7 | @import "mixins.less";
8 | @import "path.less";
9 | @import "core.less";
10 | @import "larger.less";
11 | @import "fixed-width.less";
12 | @import "list.less";
13 | @import "bordered-pulled.less";
14 | @import "animated.less";
15 | @import "rotated-flipped.less";
16 | @import "stacked.less";
17 | @import "icons.less";
18 |
--------------------------------------------------------------------------------
/src/main/docker/html/register/less/larger.less:
--------------------------------------------------------------------------------
1 | // Icon Sizes
2 | // -------------------------
3 |
4 | /* makes the font 33% larger relative to the icon container */
5 | .@{fa-css-prefix}-lg {
6 | font-size: (4em / 3);
7 | line-height: (3em / 4);
8 | vertical-align: -15%;
9 | }
10 | .@{fa-css-prefix}-2x { font-size: 2em; }
11 | .@{fa-css-prefix}-3x { font-size: 3em; }
12 | .@{fa-css-prefix}-4x { font-size: 4em; }
13 | .@{fa-css-prefix}-5x { font-size: 5em; }
14 |
--------------------------------------------------------------------------------
/src/main/docker/html/register/less/list.less:
--------------------------------------------------------------------------------
1 | // List Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-ul {
5 | padding-left: 0;
6 | margin-left: @fa-li-width;
7 | list-style-type: none;
8 | > li { position: relative; }
9 | }
10 | .@{fa-css-prefix}-li {
11 | position: absolute;
12 | left: -@fa-li-width;
13 | width: @fa-li-width;
14 | top: (2em / 14);
15 | text-align: center;
16 | &.@{fa-css-prefix}-lg {
17 | left: (-@fa-li-width + (4em / 14));
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/main/docker/html/register/less/mixins.less:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------
3 |
4 | .fa-icon() {
5 | display: inline-block;
6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
14 | .fa-icon-rotate(@degrees, @rotation) {
15 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation);
16 | -webkit-transform: rotate(@degrees);
17 | -ms-transform: rotate(@degrees);
18 | transform: rotate(@degrees);
19 | }
20 |
21 | .fa-icon-flip(@horiz, @vert, @rotation) {
22 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1);
23 | -webkit-transform: scale(@horiz, @vert);
24 | -ms-transform: scale(@horiz, @vert);
25 | transform: scale(@horiz, @vert);
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/docker/html/register/less/path.less:
--------------------------------------------------------------------------------
1 | /* FONT PATH
2 | * -------------------------- */
3 |
4 | @font-face {
5 | font-family: 'FontAwesome';
6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}');
7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'),
8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'),
9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'),
10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'),
11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg');
12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
13 | font-weight: normal;
14 | font-style: normal;
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/docker/html/register/less/rotated-flipped.less:
--------------------------------------------------------------------------------
1 | // Rotated & Flipped Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); }
5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); }
6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); }
7 |
8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); }
9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); }
10 |
11 | // Hook for IE8-9
12 | // -------------------------
13 |
14 | :root .@{fa-css-prefix}-rotate-90,
15 | :root .@{fa-css-prefix}-rotate-180,
16 | :root .@{fa-css-prefix}-rotate-270,
17 | :root .@{fa-css-prefix}-flip-horizontal,
18 | :root .@{fa-css-prefix}-flip-vertical {
19 | filter: none;
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/docker/html/register/less/stacked.less:
--------------------------------------------------------------------------------
1 | // Stacked Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-stack {
5 | position: relative;
6 | display: inline-block;
7 | width: 2em;
8 | height: 2em;
9 | line-height: 2em;
10 | vertical-align: middle;
11 | }
12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x {
13 | position: absolute;
14 | left: 0;
15 | width: 100%;
16 | text-align: center;
17 | }
18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; }
19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; }
20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; }
21 |
--------------------------------------------------------------------------------
/src/main/docker/html/register/scss/_animated.scss:
--------------------------------------------------------------------------------
1 | // Spinning Icons
2 | // --------------------------
3 |
4 | .#{$fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | .#{$fa-css-prefix}-pulse {
10 | -webkit-animation: fa-spin 1s infinite steps(8);
11 | animation: fa-spin 1s infinite steps(8);
12 | }
13 |
14 | @-webkit-keyframes fa-spin {
15 | 0% {
16 | -webkit-transform: rotate(0deg);
17 | transform: rotate(0deg);
18 | }
19 | 100% {
20 | -webkit-transform: rotate(359deg);
21 | transform: rotate(359deg);
22 | }
23 | }
24 |
25 | @keyframes fa-spin {
26 | 0% {
27 | -webkit-transform: rotate(0deg);
28 | transform: rotate(0deg);
29 | }
30 | 100% {
31 | -webkit-transform: rotate(359deg);
32 | transform: rotate(359deg);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/main/docker/html/register/scss/_bordered-pulled.scss:
--------------------------------------------------------------------------------
1 | // Bordered & Pulled
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-border {
5 | padding: .2em .25em .15em;
6 | border: solid .08em $fa-border-color;
7 | border-radius: .1em;
8 | }
9 |
10 | .#{$fa-css-prefix}-pull-left { float: left; }
11 | .#{$fa-css-prefix}-pull-right { float: right; }
12 |
13 | .#{$fa-css-prefix} {
14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }
15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }
16 | }
17 |
18 | /* Deprecated as of 4.4.0 */
19 | .pull-right { float: right; }
20 | .pull-left { float: left; }
21 |
22 | .#{$fa-css-prefix} {
23 | &.pull-left { margin-right: .3em; }
24 | &.pull-right { margin-left: .3em; }
25 | }
26 |
--------------------------------------------------------------------------------
/src/main/docker/html/register/scss/_core.scss:
--------------------------------------------------------------------------------
1 | // Base Class Definition
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix} {
5 | display: inline-block;
6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/src/main/docker/html/register/scss/_fixed-width.scss:
--------------------------------------------------------------------------------
1 | // Fixed Width Icons
2 | // -------------------------
3 | .#{$fa-css-prefix}-fw {
4 | width: (18em / 14);
5 | text-align: center;
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/docker/html/register/scss/_larger.scss:
--------------------------------------------------------------------------------
1 | // Icon Sizes
2 | // -------------------------
3 |
4 | /* makes the font 33% larger relative to the icon container */
5 | .#{$fa-css-prefix}-lg {
6 | font-size: (4em / 3);
7 | line-height: (3em / 4);
8 | vertical-align: -15%;
9 | }
10 | .#{$fa-css-prefix}-2x { font-size: 2em; }
11 | .#{$fa-css-prefix}-3x { font-size: 3em; }
12 | .#{$fa-css-prefix}-4x { font-size: 4em; }
13 | .#{$fa-css-prefix}-5x { font-size: 5em; }
14 |
--------------------------------------------------------------------------------
/src/main/docker/html/register/scss/_list.scss:
--------------------------------------------------------------------------------
1 | // List Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-ul {
5 | padding-left: 0;
6 | margin-left: $fa-li-width;
7 | list-style-type: none;
8 | > li { position: relative; }
9 | }
10 | .#{$fa-css-prefix}-li {
11 | position: absolute;
12 | left: -$fa-li-width;
13 | width: $fa-li-width;
14 | top: (2em / 14);
15 | text-align: center;
16 | &.#{$fa-css-prefix}-lg {
17 | left: -$fa-li-width + (4em / 14);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/main/docker/html/register/scss/_mixins.scss:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------
3 |
4 | @mixin fa-icon() {
5 | display: inline-block;
6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
14 | @mixin fa-icon-rotate($degrees, $rotation) {
15 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});
16 | -webkit-transform: rotate($degrees);
17 | -ms-transform: rotate($degrees);
18 | transform: rotate($degrees);
19 | }
20 |
21 | @mixin fa-icon-flip($horiz, $vert, $rotation) {
22 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});
23 | -webkit-transform: scale($horiz, $vert);
24 | -ms-transform: scale($horiz, $vert);
25 | transform: scale($horiz, $vert);
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/docker/html/register/scss/_path.scss:
--------------------------------------------------------------------------------
1 | /* FONT PATH
2 | * -------------------------- */
3 |
4 | @font-face {
5 | font-family: 'FontAwesome';
6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}');
7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'),
8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'),
9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'),
10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'),
11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg');
12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
13 | font-weight: normal;
14 | font-style: normal;
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/docker/html/register/scss/_rotated-flipped.scss:
--------------------------------------------------------------------------------
1 | // Rotated & Flipped Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); }
5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }
6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }
7 |
8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }
9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); }
10 |
11 | // Hook for IE8-9
12 | // -------------------------
13 |
14 | :root .#{$fa-css-prefix}-rotate-90,
15 | :root .#{$fa-css-prefix}-rotate-180,
16 | :root .#{$fa-css-prefix}-rotate-270,
17 | :root .#{$fa-css-prefix}-flip-horizontal,
18 | :root .#{$fa-css-prefix}-flip-vertical {
19 | filter: none;
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/docker/html/register/scss/_stacked.scss:
--------------------------------------------------------------------------------
1 | // Stacked Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-stack {
5 | position: relative;
6 | display: inline-block;
7 | width: 2em;
8 | height: 2em;
9 | line-height: 2em;
10 | vertical-align: middle;
11 | }
12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x {
13 | position: absolute;
14 | left: 0;
15 | width: 100%;
16 | text-align: center;
17 | }
18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; }
19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; }
20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; }
21 |
--------------------------------------------------------------------------------
/src/main/docker/html/register/scss/font-awesome.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome
3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4 | */
5 |
6 | @import "variables";
7 | @import "mixins";
8 | @import "path";
9 | @import "core";
10 | @import "larger";
11 | @import "fixed-width";
12 | @import "list";
13 | @import "bordered-pulled";
14 | @import "animated";
15 | @import "rotated-flipped";
16 | @import "stacked";
17 | @import "icons";
18 |
--------------------------------------------------------------------------------
/src/main/docker/html/register/templates/calendar.html:
--------------------------------------------------------------------------------
1 |
6 |
7 | Sun
8 | Mon
9 | Tue
10 | Wed
11 | Thu
12 | Fri
13 | Sat
14 |
15 |
16 | {{day.number}}
17 |
18 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/css/angular.treeview.css:
--------------------------------------------------------------------------------
1 | div[data-angular-treeview] {
2 | /* prevent user selection */
3 | -moz-user-select: -moz-none;
4 | -khtml-user-select: none;
5 | -webkit-user-select: none;
6 | -ms-user-select: none;
7 | user-select: none;
8 |
9 | /* default */
10 | font-family: Tahoma;
11 | font-size:13px;
12 | color: #555;
13 | text-decoration: none;
14 | }
15 |
16 | div[data-tree-model] ul {
17 | margin: 0;
18 | padding: 0;
19 | list-style: none;
20 | border: none;
21 | overflow: hidden;
22 | }
23 |
24 | div[data-tree-model] li {
25 | position: relative;
26 | padding: 0 0 0 20px;
27 | line-height: 20px;
28 | }
29 |
30 | div[data-tree-model] li .expanded {
31 | padding: 1px 10px;
32 | background-image: url("../img/folder.png");
33 | background-repeat: no-repeat;
34 | }
35 |
36 | div[data-tree-model] li .collapsed {
37 | padding: 1px 10px;
38 | background-image: url("../img/folder-closed.png");
39 | background-repeat: no-repeat;
40 | }
41 |
42 | div[data-tree-model] li .normal {
43 | padding: 1px 10px;
44 | background-image: url("../img/file.png");
45 | background-repeat: no-repeat;
46 | }
47 |
48 | div[data-tree-model] li i, div[data-tree-model] li span {
49 | cursor: pointer;
50 | }
51 |
52 | div[data-tree-model] li .selected {
53 | font-weight: bold;
54 | padding: 1px 5px;
55 | }
56 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/css/calendar.css:
--------------------------------------------------------------------------------
1 | .vertical-centre (@height) {
2 | height:@height;
3 | line-height:@height !important;
4 | display:inline-block;
5 | vertical-align:middle;
6 | }
7 |
8 | .border-box {
9 | box-sizing:border-box;
10 | -moz-box-sizing:border-box;
11 | }
12 |
13 | @border-colour:#CCC;
14 | calendar {
15 | float:left;
16 | display:block;
17 | .border-box;
18 | background:white;
19 | width:300px;
20 | border:solid 1px @border-colour;
21 | margin-bottom:10px;
22 |
23 | @secondary-colour:#2875C7;
24 | @spacing:10px;
25 | @icon-width:40px;
26 | @header-height:40px;
27 |
28 | >div.header {
29 | float:left;
30 | width:100%;
31 | background:@secondary-colour;
32 | height:@header-height;
33 | color:white;
34 |
35 | >* {
36 | .vertical-centre(@header-height);
37 | }
38 |
39 | >i {
40 | float:left;
41 | width:@icon-width;
42 | font-size:1.125em;
43 | font-weight:bold;
44 | position:relative;
45 | .border-box;
46 | padding:0 @spacing;
47 | cursor:pointer;
48 | }
49 |
50 | >i.fa-angle-left {
51 | text-align:left;
52 | }
53 |
54 | >i.fa-angle-right {
55 | text-align:right;
56 | margin-left:@icon-width*-1;
57 | }
58 |
59 | >span {
60 | float:left;
61 | width:100%;
62 | font-weight:bold;
63 | text-transform:uppercase;
64 | .border-box;
65 | padding-left:@icon-width+@spacing;
66 | margin-left:@icon-width*-1;
67 | text-align:center;
68 | padding-right:@icon-width;
69 | color:inherit;
70 | }
71 | }
72 | >div.week {
73 | float:left;
74 | width:100%;
75 | border-top:solid 1px @border-colour;
76 |
77 | &:first-child {
78 | border-top:none;
79 | }
80 |
81 | >span.day {
82 | float:left;
83 | width:100%/7;
84 | .border-box;
85 | border-left:solid 1px @border-colour;
86 | font-size:0.75em;
87 | text-align:center;
88 | .vertical-centre(30px);
89 | background:white;
90 | cursor:pointer;
91 | color:black;
92 |
93 | &:first-child {
94 | border-left:none;
95 | }
96 |
97 | &.today {
98 | background:#E3F2FF;
99 | }
100 |
101 | &.different-month {
102 | color:#C0C0C0;
103 | }
104 |
105 | &.selected {
106 | background:@secondary-colour;
107 | color:white;
108 | }
109 | }
110 |
111 | &.names>span {
112 | color:@secondary-colour;
113 | font-weight:bold;
114 | }
115 | }
116 | }
117 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/css/calendar.less:
--------------------------------------------------------------------------------
1 | body { font-family:Arial; font-size:14px; }
2 | body>span, body>h1 { float:left; width:100%; margin:0; padding:0; margin-bottom:10px; }
3 |
4 | span {
5 | >b { color:black; }
6 | }
7 |
8 | .vertical-centre (@height) { height:@height; line-height:@height !important; display:inline-block; vertical-align:middle; }
9 | .border-box { box-sizing:border-box; -moz-box-sizing:border-box; }
10 |
11 | @border-colour:#CCC;
12 | calendar { float:left; display:block; .border-box; background:white; width:300px; border:solid 1px @border-colour; margin-bottom:10px;
13 | @secondary-colour:#31708f;
14 | @spacing:10px;
15 |
16 | @icon-width:40px;
17 | @header-height:40px;
18 |
19 | >div.header { float:left; width:100%; background:@secondary-colour; height:@header-height; color:white;
20 | >* { .vertical-centre(@header-height); }
21 | >i { float:left; width:@icon-width; font-size:1.125em; font-weight:bold; position:relative; .border-box; padding:0 @spacing; cursor:pointer; }
22 | >i.fa-angle-left { text-align:left; }
23 | >i.fa-angle-right { text-align:right; margin-left:@icon-width*-1; }
24 | >span { float:left; width:100%; font-weight:bold; text-transform:uppercase; .border-box; padding-left:@icon-width+@spacing; margin-left:@icon-width*-1; text-align:center; padding-right:@icon-width; color:inherit; }
25 | }
26 | >div.week { float:left; width:100%; border-top:solid 1px @border-colour;
27 | &:first-child { border-top:none; }
28 | >span.day { float:left; width:100%/7; .border-box; border-left:solid 1px @border-colour; font-size:0.75em; text-align:center; .vertical-centre(30px); background:white; cursor:pointer; color:black;
29 | &:first-child { border-left:none; }
30 | &.today { background:#E3F2FF; }
31 | &.different-month { color:#C0C0C0; }
32 | &.selected { background:@secondary-colour; color:white; }
33 | }
34 | &.names>span { color:@secondary-colour; font-weight:bold; }
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/css/tree-control-attribute.css:
--------------------------------------------------------------------------------
1 | [treecontrol] {
2 | /* prevent user selection */
3 | -moz-user-select: -moz-none;
4 | -khtml-user-select: none;
5 | -webkit-user-select: none;
6 | -ms-user-select: none;
7 | user-select: none;
8 |
9 | /* default */
10 | font-family: Verdana, Helvetica, Arial, sans-serif;
11 | font-size:13px;
12 | color: #555;
13 | text-decoration: none;
14 | }
15 |
16 | [treecontrol] ul {
17 | margin: 0;
18 | padding: 0;
19 | list-style: none;
20 | border: none;
21 | overflow: hidden;
22 | }
23 |
24 | [treecontrol] li {
25 | position: relative;
26 | padding: 0 0 0 20px;
27 | line-height: 20px;
28 | }
29 |
30 | [treecontrol] li.tree-expanded i.tree-leaf-head, [treecontrol] li.tree-collapsed i.tree-leaf-head {display:none;}
31 | [treecontrol] li.tree-expanded i.tree-branch-head, [treecontrol] li.tree-collapsed i.tree-branch-head {display:inline;}
32 | [treecontrol] li.tree-leaf i.tree-branch-head {display:none;}
33 | [treecontrol] li.tree-leaf i.tree-leaf-head {display:inline;}
34 |
35 | [treecontrol] li i {
36 | cursor: pointer;
37 | }
38 |
39 | [treecontrol] li .tree-label {
40 | cursor: pointer;
41 | display: inline;
42 | }
43 |
44 |
45 | [treecontrol].tree-classic li.tree-expanded i.tree-branch-head {
46 | padding: 1px 10px;
47 | background: url("../images/folder.png") no-repeat;
48 | }
49 |
50 | [treecontrol].tree-classic li.tree-collapsed i.tree-branch-head {
51 | padding: 1px 10px;
52 | background: url("../images/folder-closed.png") no-repeat;
53 | }
54 |
55 | [treecontrol].tree-classic li.tree-leaf i.tree-leaf-head {
56 | padding: 1px 10px;
57 | background: url("../images/file.png") no-repeat;
58 | }
59 |
60 | [treecontrol].tree-classic li .tree-selected {
61 | background-color: #aaddff;
62 | font-weight: bold;
63 | }
64 |
65 |
66 | [treecontrol].tree-light li.tree-expanded i.tree-branch-head {
67 | padding: 1px 10px;
68 | background: url("../images/node-opened-2.png") no-repeat;
69 | }
70 |
71 | [treecontrol].tree-light li.tree-collapsed i.tree-branch-head {
72 | padding: 1px 10px;
73 | background: url("../images/node-closed-2.png") no-repeat;
74 | }
75 |
76 | [treecontrol].tree-light li.tree-leaf i.tree-leaf-head {
77 | padding: 1px 10px;
78 | width: 16px; height: 16px;
79 | background: none no-repeat;
80 | }
81 |
82 | [treecontrol].tree-light li .tree-selected {
83 | font-weight: bold;
84 | }
85 |
86 |
87 | [treecontrol].tree-dark li.tree-expanded i.tree-branch-head {
88 | padding: 1px 10px;
89 | background: url("../images/node-opened-light.png") no-repeat;
90 | }
91 |
92 | [treecontrol].tree-dark li.tree-collapsed i.tree-branch-head {
93 | padding: 1px 10px;
94 | background: url("../images/node-closed-light.png") no-repeat;
95 | }
96 |
97 | [treecontrol].tree-dark li.tree-leaf i.tree-leaf-head {
98 | padding: 1px 10px;
99 | width: 16px; height: 16px;
100 | background: none no-repeat;
101 | }
102 |
103 | [treecontrol].tree-dark li .tree-selected {
104 | font-weight: bold;
105 | }
106 |
107 | [treecontrol].tree-dark {
108 | color: #ddd;
109 | }
110 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/css/tree-control.css:
--------------------------------------------------------------------------------
1 | treecontrol {
2 | /* prevent user selection */
3 | -moz-user-select: -moz-none;
4 | -khtml-user-select: none;
5 | -webkit-user-select: none;
6 | -ms-user-select: none;
7 | user-select: none;
8 |
9 | /* default */
10 | font-family: Verdana, Helvetica, Arial, sans-serif;
11 | font-size:13px;
12 | color: #555;
13 | text-decoration: none;
14 | }
15 |
16 | treecontrol ul {
17 | margin: 0;
18 | padding: 0;
19 | list-style: none;
20 | border: none;
21 | overflow: hidden;
22 | }
23 |
24 | treecontrol li {
25 | position: relative;
26 | padding: 0 0 0 20px;
27 | line-height: 20px;
28 | }
29 |
30 | treecontrol li.tree-expanded i.tree-leaf-head, treecontrol li.tree-collapsed i.tree-leaf-head {display:none;}
31 | treecontrol li.tree-expanded i.tree-branch-head, treecontrol li.tree-collapsed i.tree-branch-head {display:inline;}
32 | treecontrol li.tree-leaf i.tree-branch-head {display:none;}
33 | treecontrol li.tree-leaf i.tree-leaf-head {display:inline;}
34 |
35 | treecontrol li i.tree-branch-head {
36 | cursor: pointer;
37 | }
38 |
39 | treecontrol li .tree-label {
40 | cursor: pointer;
41 | display: inline;
42 | }
43 |
44 | treecontrol li .tree-unselectable {
45 | cursor: not-allowed;
46 | }
47 |
48 | treecontrol.tree-classic li.tree-expanded i.tree-branch-head {
49 | padding: 1px 10px;
50 | background: url("../images/folder.png") no-repeat;
51 | }
52 |
53 | treecontrol.tree-classic li.tree-collapsed i.tree-branch-head {
54 | padding: 1px 10px;
55 | background: url("../images/folder-closed.png") no-repeat;
56 | }
57 |
58 | treecontrol.tree-classic li.tree-leaf i.tree-leaf-head {
59 | padding: 1px 10px;
60 | background: url("../images/file.png") no-repeat;
61 | }
62 |
63 | treecontrol.tree-classic li .tree-selected {
64 | /*background-color: #d9edf7;*/
65 | font-weight: bold;
66 | }
67 |
68 | treecontrol.tree-classic li .tree-unselectable {
69 | color: #ddd;
70 | }
71 |
72 | treecontrol.tree-light li.tree-expanded i.tree-branch-head {
73 | padding: 1px 10px;
74 | background: url("../images/node-opened-2.png") no-repeat;
75 | }
76 |
77 | treecontrol.tree-light li.tree-collapsed i.tree-branch-head {
78 | padding: 1px 10px;
79 | background: url("../images/node-closed-2.png") no-repeat;
80 | }
81 |
82 | treecontrol.tree-light li.tree-leaf i.tree-leaf-head {
83 | padding: 1px 10px;
84 | width: 16px; height: 16px;
85 | background: none no-repeat;
86 | }
87 |
88 | treecontrol.tree-light li .tree-selected {
89 | font-weight: bold;
90 | }
91 |
92 | treecontrol.tree-light li .tree-unselectable {
93 | color: #ddd;
94 | }
95 |
96 | treecontrol.tree-dark li.tree-expanded i.tree-branch-head {
97 | padding: 1px 10px;
98 | background: url("../images/node-opened-light.png") no-repeat;
99 | }
100 |
101 | treecontrol.tree-dark li.tree-collapsed i.tree-branch-head {
102 | padding: 1px 10px;
103 | background: url("../images/node-closed-light.png") no-repeat;
104 | }
105 |
106 | treecontrol.tree-dark li.tree-leaf i.tree-leaf-head {
107 | padding: 1px 10px;
108 | width: 16px; height: 16px;
109 | background: none no-repeat;
110 | }
111 |
112 | treecontrol.tree-dark li .tree-selected {
113 | font-weight: bold;
114 | }
115 |
116 | treecontrol.tree-dark li .tree-unselectable {
117 | color: #777;
118 | }
119 |
120 | treecontrol.tree-dark {
121 | color: #ddd;
122 | }
123 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/css/unison.css:
--------------------------------------------------------------------------------
1 | div.row.ng-scope.row-even {
2 | margin-right: -15px;
3 | margin-left: -15px;
4 | background-color:#eee;
5 | }
6 |
7 | div.row.ng-scope.row-odd {
8 | margin-right: -15px;
9 | margin-left: -15px;
10 | background-color:#f9f9f9;
11 | }
12 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/scale/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/src/main/docker/html/scale/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/scale/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/src/main/docker/html/scale/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/scale/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/src/main/docker/html/scale/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/scale/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/src/main/docker/html/scale/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/scale/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/src/main/docker/html/scale/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/scale/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/src/main/docker/html/scale/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/scale/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/src/main/docker/html/scale/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/scale/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/src/main/docker/html/scale/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/scale/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/src/main/docker/html/scale/images/file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/scale/images/file.png
--------------------------------------------------------------------------------
/src/main/docker/html/scale/images/folder-closed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/scale/images/folder-closed.png
--------------------------------------------------------------------------------
/src/main/docker/html/scale/images/folder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/scale/images/folder.png
--------------------------------------------------------------------------------
/src/main/docker/html/scale/images/logo-desktop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/scale/images/logo-desktop.png
--------------------------------------------------------------------------------
/src/main/docker/html/scale/images/logo-mobile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/scale/images/logo-mobile.png
--------------------------------------------------------------------------------
/src/main/docker/html/scale/images/node-closed-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/scale/images/node-closed-2.png
--------------------------------------------------------------------------------
/src/main/docker/html/scale/images/node-closed-light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/scale/images/node-closed-light.png
--------------------------------------------------------------------------------
/src/main/docker/html/scale/images/node-closed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/scale/images/node-closed.png
--------------------------------------------------------------------------------
/src/main/docker/html/scale/images/node-opened-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/scale/images/node-opened-2.png
--------------------------------------------------------------------------------
/src/main/docker/html/scale/images/node-opened-light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/scale/images/node-opened-light.png
--------------------------------------------------------------------------------
/src/main/docker/html/scale/images/node-opened.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/scale/images/node-opened.png
--------------------------------------------------------------------------------
/src/main/docker/html/scale/images/sample.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/scale/images/sample.png
--------------------------------------------------------------------------------
/src/main/docker/html/scale/img/file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/scale/img/file.png
--------------------------------------------------------------------------------
/src/main/docker/html/scale/img/folder-closed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/scale/img/folder-closed.png
--------------------------------------------------------------------------------
/src/main/docker/html/scale/img/folder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/scale/img/folder.png
--------------------------------------------------------------------------------
/src/main/docker/html/scale/js/npm.js:
--------------------------------------------------------------------------------
1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
2 | require('../../js/transition.js')
3 | require('../../js/alert.js')
4 | require('../../js/button.js')
5 | require('../../js/carousel.js')
6 | require('../../js/collapse.js')
7 | require('../../js/dropdown.js')
8 | require('../../js/modal.js')
9 | require('../../js/tooltip.js')
10 | require('../../js/popover.js')
11 | require('../../js/scrollspy.js')
12 | require('../../js/tab.js')
13 | require('../../js/affix.js')
--------------------------------------------------------------------------------
/src/main/docker/html/scale/less/animated.less:
--------------------------------------------------------------------------------
1 | // Animated Icons
2 | // --------------------------
3 |
4 | .@{fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | .@{fa-css-prefix}-pulse {
10 | -webkit-animation: fa-spin 1s infinite steps(8);
11 | animation: fa-spin 1s infinite steps(8);
12 | }
13 |
14 | @-webkit-keyframes fa-spin {
15 | 0% {
16 | -webkit-transform: rotate(0deg);
17 | transform: rotate(0deg);
18 | }
19 | 100% {
20 | -webkit-transform: rotate(359deg);
21 | transform: rotate(359deg);
22 | }
23 | }
24 |
25 | @keyframes fa-spin {
26 | 0% {
27 | -webkit-transform: rotate(0deg);
28 | transform: rotate(0deg);
29 | }
30 | 100% {
31 | -webkit-transform: rotate(359deg);
32 | transform: rotate(359deg);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/less/bordered-pulled.less:
--------------------------------------------------------------------------------
1 | // Bordered & Pulled
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-border {
5 | padding: .2em .25em .15em;
6 | border: solid .08em @fa-border-color;
7 | border-radius: .1em;
8 | }
9 |
10 | .@{fa-css-prefix}-pull-left { float: left; }
11 | .@{fa-css-prefix}-pull-right { float: right; }
12 |
13 | .@{fa-css-prefix} {
14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; }
15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; }
16 | }
17 |
18 | /* Deprecated as of 4.4.0 */
19 | .pull-right { float: right; }
20 | .pull-left { float: left; }
21 |
22 | .@{fa-css-prefix} {
23 | &.pull-left { margin-right: .3em; }
24 | &.pull-right { margin-left: .3em; }
25 | }
26 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/less/core.less:
--------------------------------------------------------------------------------
1 | // Base Class Definition
2 | // -------------------------
3 |
4 | .@{fa-css-prefix} {
5 | display: inline-block;
6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/less/fixed-width.less:
--------------------------------------------------------------------------------
1 | // Fixed Width Icons
2 | // -------------------------
3 | .@{fa-css-prefix}-fw {
4 | width: (18em / 14);
5 | text-align: center;
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/less/font-awesome.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome
3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4 | */
5 |
6 | @import "variables.less";
7 | @import "mixins.less";
8 | @import "path.less";
9 | @import "core.less";
10 | @import "larger.less";
11 | @import "fixed-width.less";
12 | @import "list.less";
13 | @import "bordered-pulled.less";
14 | @import "animated.less";
15 | @import "rotated-flipped.less";
16 | @import "stacked.less";
17 | @import "icons.less";
18 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/less/larger.less:
--------------------------------------------------------------------------------
1 | // Icon Sizes
2 | // -------------------------
3 |
4 | /* makes the font 33% larger relative to the icon container */
5 | .@{fa-css-prefix}-lg {
6 | font-size: (4em / 3);
7 | line-height: (3em / 4);
8 | vertical-align: -15%;
9 | }
10 | .@{fa-css-prefix}-2x { font-size: 2em; }
11 | .@{fa-css-prefix}-3x { font-size: 3em; }
12 | .@{fa-css-prefix}-4x { font-size: 4em; }
13 | .@{fa-css-prefix}-5x { font-size: 5em; }
14 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/less/list.less:
--------------------------------------------------------------------------------
1 | // List Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-ul {
5 | padding-left: 0;
6 | margin-left: @fa-li-width;
7 | list-style-type: none;
8 | > li { position: relative; }
9 | }
10 | .@{fa-css-prefix}-li {
11 | position: absolute;
12 | left: -@fa-li-width;
13 | width: @fa-li-width;
14 | top: (2em / 14);
15 | text-align: center;
16 | &.@{fa-css-prefix}-lg {
17 | left: (-@fa-li-width + (4em / 14));
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/less/mixins.less:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------
3 |
4 | .fa-icon() {
5 | display: inline-block;
6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
14 | .fa-icon-rotate(@degrees, @rotation) {
15 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation);
16 | -webkit-transform: rotate(@degrees);
17 | -ms-transform: rotate(@degrees);
18 | transform: rotate(@degrees);
19 | }
20 |
21 | .fa-icon-flip(@horiz, @vert, @rotation) {
22 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1);
23 | -webkit-transform: scale(@horiz, @vert);
24 | -ms-transform: scale(@horiz, @vert);
25 | transform: scale(@horiz, @vert);
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/less/path.less:
--------------------------------------------------------------------------------
1 | /* FONT PATH
2 | * -------------------------- */
3 |
4 | @font-face {
5 | font-family: 'FontAwesome';
6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}');
7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'),
8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'),
9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'),
10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'),
11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg');
12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
13 | font-weight: normal;
14 | font-style: normal;
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/less/rotated-flipped.less:
--------------------------------------------------------------------------------
1 | // Rotated & Flipped Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); }
5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); }
6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); }
7 |
8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); }
9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); }
10 |
11 | // Hook for IE8-9
12 | // -------------------------
13 |
14 | :root .@{fa-css-prefix}-rotate-90,
15 | :root .@{fa-css-prefix}-rotate-180,
16 | :root .@{fa-css-prefix}-rotate-270,
17 | :root .@{fa-css-prefix}-flip-horizontal,
18 | :root .@{fa-css-prefix}-flip-vertical {
19 | filter: none;
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/less/stacked.less:
--------------------------------------------------------------------------------
1 | // Stacked Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-stack {
5 | position: relative;
6 | display: inline-block;
7 | width: 2em;
8 | height: 2em;
9 | line-height: 2em;
10 | vertical-align: middle;
11 | }
12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x {
13 | position: absolute;
14 | left: 0;
15 | width: 100%;
16 | text-align: center;
17 | }
18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; }
19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; }
20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; }
21 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/scss/_animated.scss:
--------------------------------------------------------------------------------
1 | // Spinning Icons
2 | // --------------------------
3 |
4 | .#{$fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | .#{$fa-css-prefix}-pulse {
10 | -webkit-animation: fa-spin 1s infinite steps(8);
11 | animation: fa-spin 1s infinite steps(8);
12 | }
13 |
14 | @-webkit-keyframes fa-spin {
15 | 0% {
16 | -webkit-transform: rotate(0deg);
17 | transform: rotate(0deg);
18 | }
19 | 100% {
20 | -webkit-transform: rotate(359deg);
21 | transform: rotate(359deg);
22 | }
23 | }
24 |
25 | @keyframes fa-spin {
26 | 0% {
27 | -webkit-transform: rotate(0deg);
28 | transform: rotate(0deg);
29 | }
30 | 100% {
31 | -webkit-transform: rotate(359deg);
32 | transform: rotate(359deg);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/scss/_bordered-pulled.scss:
--------------------------------------------------------------------------------
1 | // Bordered & Pulled
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-border {
5 | padding: .2em .25em .15em;
6 | border: solid .08em $fa-border-color;
7 | border-radius: .1em;
8 | }
9 |
10 | .#{$fa-css-prefix}-pull-left { float: left; }
11 | .#{$fa-css-prefix}-pull-right { float: right; }
12 |
13 | .#{$fa-css-prefix} {
14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }
15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }
16 | }
17 |
18 | /* Deprecated as of 4.4.0 */
19 | .pull-right { float: right; }
20 | .pull-left { float: left; }
21 |
22 | .#{$fa-css-prefix} {
23 | &.pull-left { margin-right: .3em; }
24 | &.pull-right { margin-left: .3em; }
25 | }
26 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/scss/_core.scss:
--------------------------------------------------------------------------------
1 | // Base Class Definition
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix} {
5 | display: inline-block;
6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/scss/_fixed-width.scss:
--------------------------------------------------------------------------------
1 | // Fixed Width Icons
2 | // -------------------------
3 | .#{$fa-css-prefix}-fw {
4 | width: (18em / 14);
5 | text-align: center;
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/scss/_larger.scss:
--------------------------------------------------------------------------------
1 | // Icon Sizes
2 | // -------------------------
3 |
4 | /* makes the font 33% larger relative to the icon container */
5 | .#{$fa-css-prefix}-lg {
6 | font-size: (4em / 3);
7 | line-height: (3em / 4);
8 | vertical-align: -15%;
9 | }
10 | .#{$fa-css-prefix}-2x { font-size: 2em; }
11 | .#{$fa-css-prefix}-3x { font-size: 3em; }
12 | .#{$fa-css-prefix}-4x { font-size: 4em; }
13 | .#{$fa-css-prefix}-5x { font-size: 5em; }
14 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/scss/_list.scss:
--------------------------------------------------------------------------------
1 | // List Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-ul {
5 | padding-left: 0;
6 | margin-left: $fa-li-width;
7 | list-style-type: none;
8 | > li { position: relative; }
9 | }
10 | .#{$fa-css-prefix}-li {
11 | position: absolute;
12 | left: -$fa-li-width;
13 | width: $fa-li-width;
14 | top: (2em / 14);
15 | text-align: center;
16 | &.#{$fa-css-prefix}-lg {
17 | left: -$fa-li-width + (4em / 14);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/scss/_mixins.scss:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------
3 |
4 | @mixin fa-icon() {
5 | display: inline-block;
6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
14 | @mixin fa-icon-rotate($degrees, $rotation) {
15 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});
16 | -webkit-transform: rotate($degrees);
17 | -ms-transform: rotate($degrees);
18 | transform: rotate($degrees);
19 | }
20 |
21 | @mixin fa-icon-flip($horiz, $vert, $rotation) {
22 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});
23 | -webkit-transform: scale($horiz, $vert);
24 | -ms-transform: scale($horiz, $vert);
25 | transform: scale($horiz, $vert);
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/scss/_path.scss:
--------------------------------------------------------------------------------
1 | /* FONT PATH
2 | * -------------------------- */
3 |
4 | @font-face {
5 | font-family: 'FontAwesome';
6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}');
7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'),
8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'),
9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'),
10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'),
11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg');
12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
13 | font-weight: normal;
14 | font-style: normal;
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/scss/_rotated-flipped.scss:
--------------------------------------------------------------------------------
1 | // Rotated & Flipped Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); }
5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }
6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }
7 |
8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }
9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); }
10 |
11 | // Hook for IE8-9
12 | // -------------------------
13 |
14 | :root .#{$fa-css-prefix}-rotate-90,
15 | :root .#{$fa-css-prefix}-rotate-180,
16 | :root .#{$fa-css-prefix}-rotate-270,
17 | :root .#{$fa-css-prefix}-flip-horizontal,
18 | :root .#{$fa-css-prefix}-flip-vertical {
19 | filter: none;
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/scss/_stacked.scss:
--------------------------------------------------------------------------------
1 | // Stacked Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-stack {
5 | position: relative;
6 | display: inline-block;
7 | width: 2em;
8 | height: 2em;
9 | line-height: 2em;
10 | vertical-align: middle;
11 | }
12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x {
13 | position: absolute;
14 | left: 0;
15 | width: 100%;
16 | text-align: center;
17 | }
18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; }
19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; }
20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; }
21 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/scss/font-awesome.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome
3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4 | */
5 |
6 | @import "variables";
7 | @import "mixins";
8 | @import "path";
9 | @import "core";
10 | @import "larger";
11 | @import "fixed-width";
12 | @import "list";
13 | @import "bordered-pulled";
14 | @import "animated";
15 | @import "rotated-flipped";
16 | @import "stacked";
17 | @import "icons";
18 |
--------------------------------------------------------------------------------
/src/main/docker/html/scale/templates/calendar.html:
--------------------------------------------------------------------------------
1 |
6 |
7 | Sun
8 | Mon
9 | Tue
10 | Wed
11 | Thu
12 | Fri
13 | Sat
14 |
15 |
16 | {{day.number}}
17 |
18 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/css/angular.treeview.css:
--------------------------------------------------------------------------------
1 | div[data-angular-treeview] {
2 | /* prevent user selection */
3 | -moz-user-select: -moz-none;
4 | -khtml-user-select: none;
5 | -webkit-user-select: none;
6 | -ms-user-select: none;
7 | user-select: none;
8 |
9 | /* default */
10 | font-family: Tahoma;
11 | font-size:13px;
12 | color: #555;
13 | text-decoration: none;
14 | }
15 |
16 | div[data-tree-model] ul {
17 | margin: 0;
18 | padding: 0;
19 | list-style: none;
20 | border: none;
21 | overflow: hidden;
22 | }
23 |
24 | div[data-tree-model] li {
25 | position: relative;
26 | padding: 0 0 0 20px;
27 | line-height: 20px;
28 | }
29 |
30 | div[data-tree-model] li .expanded {
31 | padding: 1px 10px;
32 | background-image: url("../img/folder.png");
33 | background-repeat: no-repeat;
34 | }
35 |
36 | div[data-tree-model] li .collapsed {
37 | padding: 1px 10px;
38 | background-image: url("../img/folder-closed.png");
39 | background-repeat: no-repeat;
40 | }
41 |
42 | div[data-tree-model] li .normal {
43 | padding: 1px 10px;
44 | background-image: url("../img/file.png");
45 | background-repeat: no-repeat;
46 | }
47 |
48 | div[data-tree-model] li i, div[data-tree-model] li span {
49 | cursor: pointer;
50 | }
51 |
52 | div[data-tree-model] li .selected {
53 | font-weight: bold;
54 | padding: 1px 5px;
55 | }
56 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/css/calendar.css:
--------------------------------------------------------------------------------
1 | .vertical-centre (@height) {
2 | height:@height;
3 | line-height:@height !important;
4 | display:inline-block;
5 | vertical-align:middle;
6 | }
7 |
8 | .border-box {
9 | box-sizing:border-box;
10 | -moz-box-sizing:border-box;
11 | }
12 |
13 | @border-colour:#CCC;
14 | calendar {
15 | float:left;
16 | display:block;
17 | .border-box;
18 | background:white;
19 | width:300px;
20 | border:solid 1px @border-colour;
21 | margin-bottom:10px;
22 |
23 | @secondary-colour:#2875C7;
24 | @spacing:10px;
25 | @icon-width:40px;
26 | @header-height:40px;
27 |
28 | >div.header {
29 | float:left;
30 | width:100%;
31 | background:@secondary-colour;
32 | height:@header-height;
33 | color:white;
34 |
35 | >* {
36 | .vertical-centre(@header-height);
37 | }
38 |
39 | >i {
40 | float:left;
41 | width:@icon-width;
42 | font-size:1.125em;
43 | font-weight:bold;
44 | position:relative;
45 | .border-box;
46 | padding:0 @spacing;
47 | cursor:pointer;
48 | }
49 |
50 | >i.fa-angle-left {
51 | text-align:left;
52 | }
53 |
54 | >i.fa-angle-right {
55 | text-align:right;
56 | margin-left:@icon-width*-1;
57 | }
58 |
59 | >span {
60 | float:left;
61 | width:100%;
62 | font-weight:bold;
63 | text-transform:uppercase;
64 | .border-box;
65 | padding-left:@icon-width+@spacing;
66 | margin-left:@icon-width*-1;
67 | text-align:center;
68 | padding-right:@icon-width;
69 | color:inherit;
70 | }
71 | }
72 | >div.week {
73 | float:left;
74 | width:100%;
75 | border-top:solid 1px @border-colour;
76 |
77 | &:first-child {
78 | border-top:none;
79 | }
80 |
81 | >span.day {
82 | float:left;
83 | width:100%/7;
84 | .border-box;
85 | border-left:solid 1px @border-colour;
86 | font-size:0.75em;
87 | text-align:center;
88 | .vertical-centre(30px);
89 | background:white;
90 | cursor:pointer;
91 | color:black;
92 |
93 | &:first-child {
94 | border-left:none;
95 | }
96 |
97 | &.today {
98 | background:#E3F2FF;
99 | }
100 |
101 | &.different-month {
102 | color:#C0C0C0;
103 | }
104 |
105 | &.selected {
106 | background:@secondary-colour;
107 | color:white;
108 | }
109 | }
110 |
111 | &.names>span {
112 | color:@secondary-colour;
113 | font-weight:bold;
114 | }
115 | }
116 | }
117 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/css/calendar.less:
--------------------------------------------------------------------------------
1 | body { font-family:Arial; font-size:14px; }
2 | body>span, body>h1 { float:left; width:100%; margin:0; padding:0; margin-bottom:10px; }
3 |
4 | span {
5 | >b { color:black; }
6 | }
7 |
8 | .vertical-centre (@height) { height:@height; line-height:@height !important; display:inline-block; vertical-align:middle; }
9 | .border-box { box-sizing:border-box; -moz-box-sizing:border-box; }
10 |
11 | @border-colour:#CCC;
12 | calendar { float:left; display:block; .border-box; background:white; width:300px; border:solid 1px @border-colour; margin-bottom:10px;
13 | @secondary-colour:#31708f;
14 | @spacing:10px;
15 |
16 | @icon-width:40px;
17 | @header-height:40px;
18 |
19 | >div.header { float:left; width:100%; background:@secondary-colour; height:@header-height; color:white;
20 | >* { .vertical-centre(@header-height); }
21 | >i { float:left; width:@icon-width; font-size:1.125em; font-weight:bold; position:relative; .border-box; padding:0 @spacing; cursor:pointer; }
22 | >i.fa-angle-left { text-align:left; }
23 | >i.fa-angle-right { text-align:right; margin-left:@icon-width*-1; }
24 | >span { float:left; width:100%; font-weight:bold; text-transform:uppercase; .border-box; padding-left:@icon-width+@spacing; margin-left:@icon-width*-1; text-align:center; padding-right:@icon-width; color:inherit; }
25 | }
26 | >div.week { float:left; width:100%; border-top:solid 1px @border-colour;
27 | &:first-child { border-top:none; }
28 | >span.day { float:left; width:100%/7; .border-box; border-left:solid 1px @border-colour; font-size:0.75em; text-align:center; .vertical-centre(30px); background:white; cursor:pointer; color:black;
29 | &:first-child { border-left:none; }
30 | &.today { background:#E3F2FF; }
31 | &.different-month { color:#C0C0C0; }
32 | &.selected { background:@secondary-colour; color:white; }
33 | }
34 | &.names>span { color:@secondary-colour; font-weight:bold; }
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/css/tree-control-attribute.css:
--------------------------------------------------------------------------------
1 | [treecontrol] {
2 | /* prevent user selection */
3 | -moz-user-select: -moz-none;
4 | -khtml-user-select: none;
5 | -webkit-user-select: none;
6 | -ms-user-select: none;
7 | user-select: none;
8 |
9 | /* default */
10 | font-family: Verdana, Helvetica, Arial, sans-serif;
11 | font-size:13px;
12 | color: #555;
13 | text-decoration: none;
14 | }
15 |
16 | [treecontrol] ul {
17 | margin: 0;
18 | padding: 0;
19 | list-style: none;
20 | border: none;
21 | overflow: hidden;
22 | }
23 |
24 | [treecontrol] li {
25 | position: relative;
26 | padding: 0 0 0 20px;
27 | line-height: 20px;
28 | }
29 |
30 | [treecontrol] li.tree-expanded i.tree-leaf-head, [treecontrol] li.tree-collapsed i.tree-leaf-head {display:none;}
31 | [treecontrol] li.tree-expanded i.tree-branch-head, [treecontrol] li.tree-collapsed i.tree-branch-head {display:inline;}
32 | [treecontrol] li.tree-leaf i.tree-branch-head {display:none;}
33 | [treecontrol] li.tree-leaf i.tree-leaf-head {display:inline;}
34 |
35 | [treecontrol] li i {
36 | cursor: pointer;
37 | }
38 |
39 | [treecontrol] li .tree-label {
40 | cursor: pointer;
41 | display: inline;
42 | }
43 |
44 |
45 | [treecontrol].tree-classic li.tree-expanded i.tree-branch-head {
46 | padding: 1px 10px;
47 | background: url("../images/folder.png") no-repeat;
48 | }
49 |
50 | [treecontrol].tree-classic li.tree-collapsed i.tree-branch-head {
51 | padding: 1px 10px;
52 | background: url("../images/folder-closed.png") no-repeat;
53 | }
54 |
55 | [treecontrol].tree-classic li.tree-leaf i.tree-leaf-head {
56 | padding: 1px 10px;
57 | background: url("../images/file.png") no-repeat;
58 | }
59 |
60 | [treecontrol].tree-classic li .tree-selected {
61 | background-color: #aaddff;
62 | font-weight: bold;
63 | }
64 |
65 |
66 | [treecontrol].tree-light li.tree-expanded i.tree-branch-head {
67 | padding: 1px 10px;
68 | background: url("../images/node-opened-2.png") no-repeat;
69 | }
70 |
71 | [treecontrol].tree-light li.tree-collapsed i.tree-branch-head {
72 | padding: 1px 10px;
73 | background: url("../images/node-closed-2.png") no-repeat;
74 | }
75 |
76 | [treecontrol].tree-light li.tree-leaf i.tree-leaf-head {
77 | padding: 1px 10px;
78 | width: 16px; height: 16px;
79 | background: none no-repeat;
80 | }
81 |
82 | [treecontrol].tree-light li .tree-selected {
83 | font-weight: bold;
84 | }
85 |
86 |
87 | [treecontrol].tree-dark li.tree-expanded i.tree-branch-head {
88 | padding: 1px 10px;
89 | background: url("../images/node-opened-light.png") no-repeat;
90 | }
91 |
92 | [treecontrol].tree-dark li.tree-collapsed i.tree-branch-head {
93 | padding: 1px 10px;
94 | background: url("../images/node-closed-light.png") no-repeat;
95 | }
96 |
97 | [treecontrol].tree-dark li.tree-leaf i.tree-leaf-head {
98 | padding: 1px 10px;
99 | width: 16px; height: 16px;
100 | background: none no-repeat;
101 | }
102 |
103 | [treecontrol].tree-dark li .tree-selected {
104 | font-weight: bold;
105 | }
106 |
107 | [treecontrol].tree-dark {
108 | color: #ddd;
109 | }
110 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/css/tree-control.css:
--------------------------------------------------------------------------------
1 | treecontrol {
2 | /* prevent user selection */
3 | -moz-user-select: -moz-none;
4 | -khtml-user-select: none;
5 | -webkit-user-select: none;
6 | -ms-user-select: none;
7 | user-select: none;
8 |
9 | /* default */
10 | font-family: Verdana, Helvetica, Arial, sans-serif;
11 | font-size:13px;
12 | color: #555;
13 | text-decoration: none;
14 | }
15 |
16 | treecontrol ul {
17 | margin: 0;
18 | padding: 0;
19 | list-style: none;
20 | border: none;
21 | overflow: hidden;
22 | }
23 |
24 | treecontrol li {
25 | position: relative;
26 | padding: 0 0 0 20px;
27 | line-height: 20px;
28 | }
29 |
30 | treecontrol li.tree-expanded i.tree-leaf-head, treecontrol li.tree-collapsed i.tree-leaf-head {display:none;}
31 | treecontrol li.tree-expanded i.tree-branch-head, treecontrol li.tree-collapsed i.tree-branch-head {display:inline;}
32 | treecontrol li.tree-leaf i.tree-branch-head {display:none;}
33 | treecontrol li.tree-leaf i.tree-leaf-head {display:inline;}
34 |
35 | treecontrol li i.tree-branch-head {
36 | cursor: pointer;
37 | }
38 |
39 | treecontrol li .tree-label {
40 | cursor: pointer;
41 | display: inline;
42 | }
43 |
44 | treecontrol li .tree-unselectable {
45 | cursor: not-allowed;
46 | }
47 |
48 | treecontrol.tree-classic li.tree-expanded i.tree-branch-head {
49 | padding: 1px 10px;
50 | background: url("../images/folder.png") no-repeat;
51 | }
52 |
53 | treecontrol.tree-classic li.tree-collapsed i.tree-branch-head {
54 | padding: 1px 10px;
55 | background: url("../images/folder-closed.png") no-repeat;
56 | }
57 |
58 | treecontrol.tree-classic li.tree-leaf i.tree-leaf-head {
59 | padding: 1px 10px;
60 | background: url("../images/file.png") no-repeat;
61 | }
62 |
63 | treecontrol.tree-classic li .tree-selected {
64 | /*background-color: #d9edf7;*/
65 | font-weight: bold;
66 | }
67 |
68 | treecontrol.tree-classic li .tree-unselectable {
69 | color: #ddd;
70 | }
71 |
72 | treecontrol.tree-light li.tree-expanded i.tree-branch-head {
73 | padding: 1px 10px;
74 | background: url("../images/node-opened-2.png") no-repeat;
75 | }
76 |
77 | treecontrol.tree-light li.tree-collapsed i.tree-branch-head {
78 | padding: 1px 10px;
79 | background: url("../images/node-closed-2.png") no-repeat;
80 | }
81 |
82 | treecontrol.tree-light li.tree-leaf i.tree-leaf-head {
83 | padding: 1px 10px;
84 | width: 16px; height: 16px;
85 | background: none no-repeat;
86 | }
87 |
88 | treecontrol.tree-light li .tree-selected {
89 | font-weight: bold;
90 | }
91 |
92 | treecontrol.tree-light li .tree-unselectable {
93 | color: #ddd;
94 | }
95 |
96 | treecontrol.tree-dark li.tree-expanded i.tree-branch-head {
97 | padding: 1px 10px;
98 | background: url("../images/node-opened-light.png") no-repeat;
99 | }
100 |
101 | treecontrol.tree-dark li.tree-collapsed i.tree-branch-head {
102 | padding: 1px 10px;
103 | background: url("../images/node-closed-light.png") no-repeat;
104 | }
105 |
106 | treecontrol.tree-dark li.tree-leaf i.tree-leaf-head {
107 | padding: 1px 10px;
108 | width: 16px; height: 16px;
109 | background: none no-repeat;
110 | }
111 |
112 | treecontrol.tree-dark li .tree-selected {
113 | font-weight: bold;
114 | }
115 |
116 | treecontrol.tree-dark li .tree-unselectable {
117 | color: #777;
118 | }
119 |
120 | treecontrol.tree-dark {
121 | color: #ddd;
122 | }
123 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/css/unison.css:
--------------------------------------------------------------------------------
1 | div.row.ng-scope.row-even {
2 | margin-right: -15px;
3 | margin-left: -15px;
4 | background-color:#eee;
5 | }
6 |
7 | div.row.ng-scope.row-odd {
8 | margin-right: -15px;
9 | margin-left: -15px;
10 | background-color:#f9f9f9;
11 | }
12 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/token/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/src/main/docker/html/token/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/token/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/src/main/docker/html/token/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/token/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/src/main/docker/html/token/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/token/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/src/main/docker/html/token/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/token/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/src/main/docker/html/token/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/token/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/src/main/docker/html/token/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/token/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/src/main/docker/html/token/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/token/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/src/main/docker/html/token/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/token/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/src/main/docker/html/token/images/file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/token/images/file.png
--------------------------------------------------------------------------------
/src/main/docker/html/token/images/folder-closed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/token/images/folder-closed.png
--------------------------------------------------------------------------------
/src/main/docker/html/token/images/folder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/token/images/folder.png
--------------------------------------------------------------------------------
/src/main/docker/html/token/images/logo-desktop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/token/images/logo-desktop.png
--------------------------------------------------------------------------------
/src/main/docker/html/token/images/logo-mobile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/token/images/logo-mobile.png
--------------------------------------------------------------------------------
/src/main/docker/html/token/images/node-closed-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/token/images/node-closed-2.png
--------------------------------------------------------------------------------
/src/main/docker/html/token/images/node-closed-light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/token/images/node-closed-light.png
--------------------------------------------------------------------------------
/src/main/docker/html/token/images/node-closed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/token/images/node-closed.png
--------------------------------------------------------------------------------
/src/main/docker/html/token/images/node-opened-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/token/images/node-opened-2.png
--------------------------------------------------------------------------------
/src/main/docker/html/token/images/node-opened-light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/token/images/node-opened-light.png
--------------------------------------------------------------------------------
/src/main/docker/html/token/images/node-opened.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/token/images/node-opened.png
--------------------------------------------------------------------------------
/src/main/docker/html/token/images/sample.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/token/images/sample.png
--------------------------------------------------------------------------------
/src/main/docker/html/token/img/file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/token/img/file.png
--------------------------------------------------------------------------------
/src/main/docker/html/token/img/folder-closed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/token/img/folder-closed.png
--------------------------------------------------------------------------------
/src/main/docker/html/token/img/folder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/token/img/folder.png
--------------------------------------------------------------------------------
/src/main/docker/html/token/js/angular-qrcode.js:
--------------------------------------------------------------------------------
1 | /*
2 | * angular-qrcode v6.2.1
3 | * (c) 2013 Monospaced http://monospaced.com
4 | * License: MIT
5 | */
6 |
7 | angular.module('monospaced.qrcode', [])
8 | .directive('qrcode', ['$window', function($window) {
9 |
10 | var canvas2D = !!$window.CanvasRenderingContext2D,
11 | levels = {
12 | 'L': 'Low',
13 | 'M': 'Medium',
14 | 'Q': 'Quartile',
15 | 'H': 'High'
16 | },
17 | draw = function(context, qr, modules, tile) {
18 | for (var row = 0; row < modules; row++) {
19 | for (var col = 0; col < modules; col++) {
20 | var w = (Math.ceil((col + 1) * tile) - Math.floor(col * tile)),
21 | h = (Math.ceil((row + 1) * tile) - Math.floor(row * tile));
22 |
23 | context.fillStyle = qr.isDark(row, col) ? '#000' : '#fff';
24 | context.fillRect(Math.round(col * tile),
25 | Math.round(row * tile), w, h);
26 | }
27 | }
28 | };
29 |
30 | return {
31 | restrict: 'E',
32 | template: '',
33 | link: function(scope, element, attrs) {
34 | var domElement = element[0],
35 | $canvas = element.find('canvas'),
36 | canvas = $canvas[0],
37 | context = canvas2D ? canvas.getContext('2d') : null,
38 | download = 'download' in attrs,
39 | href = attrs.href,
40 | link = download || href ? document.createElement('a') : '',
41 | trim = /^\s+|\s+$/g,
42 | error,
43 | version,
44 | errorCorrectionLevel,
45 | data,
46 | size,
47 | modules,
48 | tile,
49 | qr,
50 | $img,
51 | setVersion = function(value) {
52 | version = Math.max(1, Math.min(parseInt(value, 10), 40)) || 5;
53 | },
54 | setErrorCorrectionLevel = function(value) {
55 | errorCorrectionLevel = value in levels ? value : 'M';
56 | },
57 | setData = function(value) {
58 | if (!value) {
59 | return;
60 | }
61 |
62 | data = value.replace(trim, '');
63 | qr = qrcode(version, errorCorrectionLevel);
64 | qr.addData(data);
65 |
66 | try {
67 | qr.make();
68 | } catch(e) {
69 | error = e.message;
70 | return;
71 | }
72 |
73 | error = false;
74 | modules = qr.getModuleCount();
75 | },
76 | setSize = function(value) {
77 | size = parseInt(value, 10) || modules * 2;
78 | tile = size / modules;
79 | canvas.width = canvas.height = size;
80 | },
81 | render = function() {
82 | if (!qr) {
83 | return;
84 | }
85 |
86 | if (error) {
87 | if (link) {
88 | link.removeAttribute('download');
89 | link.title = '';
90 | link.href = '#_';
91 | }
92 | if (!canvas2D) {
93 | domElement.innerHTML = '
';
96 | }
97 | scope.$emit('qrcode:error', error);
98 | return;
99 | }
100 |
101 | if (download) {
102 | domElement.download = 'qrcode.png';
103 | domElement.title = 'Download QR code';
104 | }
105 |
106 | if (canvas2D) {
107 | draw(context, qr, modules, tile);
108 |
109 | if (download) {
110 | domElement.href = canvas.toDataURL('image/png');
111 | return;
112 | }
113 | } else {
114 | domElement.innerHTML = qr.createImgTag(tile, 0);
115 | $img = element.find('img');
116 | $img.addClass('qrcode');
117 |
118 | if (download) {
119 | domElement.href = $img[0].src;
120 | return;
121 | }
122 | }
123 |
124 | if (href) {
125 | domElement.href = href;
126 | }
127 | };
128 |
129 | if (link) {
130 | link.className = 'qrcode-link';
131 | $canvas.wrap(link);
132 | domElement = domElement.firstChild;
133 | }
134 |
135 | setVersion(attrs.version);
136 | setErrorCorrectionLevel(attrs.errorCorrectionLevel);
137 | setSize(attrs.size);
138 |
139 | attrs.$observe('version', function(value) {
140 | if (!value) {
141 | return;
142 | }
143 |
144 | setVersion(value);
145 | setData(data);
146 | setSize(size);
147 | render();
148 | });
149 |
150 | attrs.$observe('errorCorrectionLevel', function(value) {
151 | if (!value) {
152 | return;
153 | }
154 |
155 | setErrorCorrectionLevel(value);
156 | setData(data);
157 | setSize(size);
158 | render();
159 | });
160 |
161 | attrs.$observe('data', function(value) {
162 | if (!value) {
163 | return;
164 | }
165 |
166 | setData(value);
167 | setSize(size);
168 | render();
169 | });
170 |
171 | attrs.$observe('size', function(value) {
172 | if (!value) {
173 | return;
174 | }
175 |
176 | setSize(value);
177 | render();
178 | });
179 |
180 | attrs.$observe('href', function(value) {
181 | if (!value) {
182 | return;
183 | }
184 |
185 | href = value;
186 | render();
187 | });
188 | }
189 | };
190 | }]);
191 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/js/ngClickCopy.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | angular.module('ngClickCopy', [])
4 | .service('ngCopy', ['$window', function ($window) {
5 | var body = angular.element($window.document.body);
6 | var textarea = angular.element('');
7 | textarea.css({
8 | position: 'fixed',
9 | opacity: '0'
10 | });
11 |
12 | return function (toCopy) {
13 | textarea.val(toCopy);
14 | body.append(textarea);
15 | textarea[0].select();
16 |
17 | try {
18 | var successful = document.execCommand('copy');
19 | if (!successful) throw successful;
20 | } catch (err) {
21 | window.prompt("Copy to clipboard: Ctrl+C, Enter", toCopy);
22 | }
23 |
24 | textarea.remove();
25 | }
26 | }])
27 | .directive('ngClickCopy', ['ngCopy', function (ngCopy) {
28 | return {
29 | restrict: 'A',
30 | link: function (scope, element, attrs) {
31 | element.bind('click', function (e) {
32 | ngCopy(attrs.ngClickCopy);
33 | });
34 | }
35 | }
36 | }])
--------------------------------------------------------------------------------
/src/main/docker/html/token/js/qrcode_UTF8.js:
--------------------------------------------------------------------------------
1 | //---------------------------------------------------------------------
2 | //
3 | // QR Code Generator for JavaScript UTF8 Support (optional)
4 | //
5 | // Copyright (c) 2011 Kazuhiko Arase
6 | //
7 | // URL: http://www.d-project.com/
8 | //
9 | // Licensed under the MIT license:
10 | // http://www.opensource.org/licenses/mit-license.php
11 | //
12 | // The word 'QR Code' is registered trademark of
13 | // DENSO WAVE INCORPORATED
14 | // http://www.denso-wave.com/qrcode/faqpatent-e.html
15 | //
16 | //---------------------------------------------------------------------
17 |
18 | !function(qrcode) {
19 |
20 | //---------------------------------------------------------------------
21 | // overwrite qrcode.stringToBytes
22 | //---------------------------------------------------------------------
23 |
24 | qrcode.stringToBytes = function(s) {
25 | // http://stackoverflow.com/questions/18729405/how-to-convert-utf8-string-to-byte-array
26 | function toUTF8Array(str) {
27 | var utf8 = [];
28 | for (var i=0; i < str.length; i++) {
29 | var charcode = str.charCodeAt(i);
30 | if (charcode < 0x80) utf8.push(charcode);
31 | else if (charcode < 0x800) {
32 | utf8.push(0xc0 | (charcode >> 6),
33 | 0x80 | (charcode & 0x3f));
34 | }
35 | else if (charcode < 0xd800 || charcode >= 0xe000) {
36 | utf8.push(0xe0 | (charcode >> 12),
37 | 0x80 | ((charcode>>6) & 0x3f),
38 | 0x80 | (charcode & 0x3f));
39 | }
40 | // surrogate pair
41 | else {
42 | i++;
43 | // UTF-16 encodes 0x10000-0x10FFFF by
44 | // subtracting 0x10000 and splitting the
45 | // 20 bits of 0x0-0xFFFFF into two halves
46 | charcode = 0x10000 + (((charcode & 0x3ff)<<10)
47 | | (str.charCodeAt(i) & 0x3ff));
48 | utf8.push(0xf0 | (charcode >>18),
49 | 0x80 | ((charcode>>12) & 0x3f),
50 | 0x80 | ((charcode>>6) & 0x3f),
51 | 0x80 | (charcode & 0x3f));
52 | }
53 | }
54 | return utf8;
55 | }
56 | return toUTF8Array(s);
57 | };
58 |
59 | }(qrcode);
60 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/less/animated.less:
--------------------------------------------------------------------------------
1 | // Animated Icons
2 | // --------------------------
3 |
4 | .@{fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | .@{fa-css-prefix}-pulse {
10 | -webkit-animation: fa-spin 1s infinite steps(8);
11 | animation: fa-spin 1s infinite steps(8);
12 | }
13 |
14 | @-webkit-keyframes fa-spin {
15 | 0% {
16 | -webkit-transform: rotate(0deg);
17 | transform: rotate(0deg);
18 | }
19 | 100% {
20 | -webkit-transform: rotate(359deg);
21 | transform: rotate(359deg);
22 | }
23 | }
24 |
25 | @keyframes fa-spin {
26 | 0% {
27 | -webkit-transform: rotate(0deg);
28 | transform: rotate(0deg);
29 | }
30 | 100% {
31 | -webkit-transform: rotate(359deg);
32 | transform: rotate(359deg);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/less/bordered-pulled.less:
--------------------------------------------------------------------------------
1 | // Bordered & Pulled
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-border {
5 | padding: .2em .25em .15em;
6 | border: solid .08em @fa-border-color;
7 | border-radius: .1em;
8 | }
9 |
10 | .@{fa-css-prefix}-pull-left { float: left; }
11 | .@{fa-css-prefix}-pull-right { float: right; }
12 |
13 | .@{fa-css-prefix} {
14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; }
15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; }
16 | }
17 |
18 | /* Deprecated as of 4.4.0 */
19 | .pull-right { float: right; }
20 | .pull-left { float: left; }
21 |
22 | .@{fa-css-prefix} {
23 | &.pull-left { margin-right: .3em; }
24 | &.pull-right { margin-left: .3em; }
25 | }
26 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/less/core.less:
--------------------------------------------------------------------------------
1 | // Base Class Definition
2 | // -------------------------
3 |
4 | .@{fa-css-prefix} {
5 | display: inline-block;
6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/less/fixed-width.less:
--------------------------------------------------------------------------------
1 | // Fixed Width Icons
2 | // -------------------------
3 | .@{fa-css-prefix}-fw {
4 | width: (18em / 14);
5 | text-align: center;
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/less/font-awesome.less:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome
3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4 | */
5 |
6 | @import "variables.less";
7 | @import "mixins.less";
8 | @import "path.less";
9 | @import "core.less";
10 | @import "larger.less";
11 | @import "fixed-width.less";
12 | @import "list.less";
13 | @import "bordered-pulled.less";
14 | @import "animated.less";
15 | @import "rotated-flipped.less";
16 | @import "stacked.less";
17 | @import "icons.less";
18 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/less/larger.less:
--------------------------------------------------------------------------------
1 | // Icon Sizes
2 | // -------------------------
3 |
4 | /* makes the font 33% larger relative to the icon container */
5 | .@{fa-css-prefix}-lg {
6 | font-size: (4em / 3);
7 | line-height: (3em / 4);
8 | vertical-align: -15%;
9 | }
10 | .@{fa-css-prefix}-2x { font-size: 2em; }
11 | .@{fa-css-prefix}-3x { font-size: 3em; }
12 | .@{fa-css-prefix}-4x { font-size: 4em; }
13 | .@{fa-css-prefix}-5x { font-size: 5em; }
14 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/less/list.less:
--------------------------------------------------------------------------------
1 | // List Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-ul {
5 | padding-left: 0;
6 | margin-left: @fa-li-width;
7 | list-style-type: none;
8 | > li { position: relative; }
9 | }
10 | .@{fa-css-prefix}-li {
11 | position: absolute;
12 | left: -@fa-li-width;
13 | width: @fa-li-width;
14 | top: (2em / 14);
15 | text-align: center;
16 | &.@{fa-css-prefix}-lg {
17 | left: (-@fa-li-width + (4em / 14));
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/less/mixins.less:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------
3 |
4 | .fa-icon() {
5 | display: inline-block;
6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
14 | .fa-icon-rotate(@degrees, @rotation) {
15 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation);
16 | -webkit-transform: rotate(@degrees);
17 | -ms-transform: rotate(@degrees);
18 | transform: rotate(@degrees);
19 | }
20 |
21 | .fa-icon-flip(@horiz, @vert, @rotation) {
22 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1);
23 | -webkit-transform: scale(@horiz, @vert);
24 | -ms-transform: scale(@horiz, @vert);
25 | transform: scale(@horiz, @vert);
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/less/path.less:
--------------------------------------------------------------------------------
1 | /* FONT PATH
2 | * -------------------------- */
3 |
4 | @font-face {
5 | font-family: 'FontAwesome';
6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}');
7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'),
8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'),
9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'),
10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'),
11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg');
12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
13 | font-weight: normal;
14 | font-style: normal;
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/less/rotated-flipped.less:
--------------------------------------------------------------------------------
1 | // Rotated & Flipped Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); }
5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); }
6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); }
7 |
8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); }
9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); }
10 |
11 | // Hook for IE8-9
12 | // -------------------------
13 |
14 | :root .@{fa-css-prefix}-rotate-90,
15 | :root .@{fa-css-prefix}-rotate-180,
16 | :root .@{fa-css-prefix}-rotate-270,
17 | :root .@{fa-css-prefix}-flip-horizontal,
18 | :root .@{fa-css-prefix}-flip-vertical {
19 | filter: none;
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/less/stacked.less:
--------------------------------------------------------------------------------
1 | // Stacked Icons
2 | // -------------------------
3 |
4 | .@{fa-css-prefix}-stack {
5 | position: relative;
6 | display: inline-block;
7 | width: 2em;
8 | height: 2em;
9 | line-height: 2em;
10 | vertical-align: middle;
11 | }
12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x {
13 | position: absolute;
14 | left: 0;
15 | width: 100%;
16 | text-align: center;
17 | }
18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; }
19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; }
20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; }
21 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/scss/_animated.scss:
--------------------------------------------------------------------------------
1 | // Spinning Icons
2 | // --------------------------
3 |
4 | .#{$fa-css-prefix}-spin {
5 | -webkit-animation: fa-spin 2s infinite linear;
6 | animation: fa-spin 2s infinite linear;
7 | }
8 |
9 | .#{$fa-css-prefix}-pulse {
10 | -webkit-animation: fa-spin 1s infinite steps(8);
11 | animation: fa-spin 1s infinite steps(8);
12 | }
13 |
14 | @-webkit-keyframes fa-spin {
15 | 0% {
16 | -webkit-transform: rotate(0deg);
17 | transform: rotate(0deg);
18 | }
19 | 100% {
20 | -webkit-transform: rotate(359deg);
21 | transform: rotate(359deg);
22 | }
23 | }
24 |
25 | @keyframes fa-spin {
26 | 0% {
27 | -webkit-transform: rotate(0deg);
28 | transform: rotate(0deg);
29 | }
30 | 100% {
31 | -webkit-transform: rotate(359deg);
32 | transform: rotate(359deg);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/scss/_bordered-pulled.scss:
--------------------------------------------------------------------------------
1 | // Bordered & Pulled
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-border {
5 | padding: .2em .25em .15em;
6 | border: solid .08em $fa-border-color;
7 | border-radius: .1em;
8 | }
9 |
10 | .#{$fa-css-prefix}-pull-left { float: left; }
11 | .#{$fa-css-prefix}-pull-right { float: right; }
12 |
13 | .#{$fa-css-prefix} {
14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }
15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }
16 | }
17 |
18 | /* Deprecated as of 4.4.0 */
19 | .pull-right { float: right; }
20 | .pull-left { float: left; }
21 |
22 | .#{$fa-css-prefix} {
23 | &.pull-left { margin-right: .3em; }
24 | &.pull-right { margin-left: .3em; }
25 | }
26 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/scss/_core.scss:
--------------------------------------------------------------------------------
1 | // Base Class Definition
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix} {
5 | display: inline-block;
6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/scss/_fixed-width.scss:
--------------------------------------------------------------------------------
1 | // Fixed Width Icons
2 | // -------------------------
3 | .#{$fa-css-prefix}-fw {
4 | width: (18em / 14);
5 | text-align: center;
6 | }
7 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/scss/_larger.scss:
--------------------------------------------------------------------------------
1 | // Icon Sizes
2 | // -------------------------
3 |
4 | /* makes the font 33% larger relative to the icon container */
5 | .#{$fa-css-prefix}-lg {
6 | font-size: (4em / 3);
7 | line-height: (3em / 4);
8 | vertical-align: -15%;
9 | }
10 | .#{$fa-css-prefix}-2x { font-size: 2em; }
11 | .#{$fa-css-prefix}-3x { font-size: 3em; }
12 | .#{$fa-css-prefix}-4x { font-size: 4em; }
13 | .#{$fa-css-prefix}-5x { font-size: 5em; }
14 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/scss/_list.scss:
--------------------------------------------------------------------------------
1 | // List Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-ul {
5 | padding-left: 0;
6 | margin-left: $fa-li-width;
7 | list-style-type: none;
8 | > li { position: relative; }
9 | }
10 | .#{$fa-css-prefix}-li {
11 | position: absolute;
12 | left: -$fa-li-width;
13 | width: $fa-li-width;
14 | top: (2em / 14);
15 | text-align: center;
16 | &.#{$fa-css-prefix}-lg {
17 | left: -$fa-li-width + (4em / 14);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/scss/_mixins.scss:
--------------------------------------------------------------------------------
1 | // Mixins
2 | // --------------------------
3 |
4 | @mixin fa-icon() {
5 | display: inline-block;
6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
7 | font-size: inherit; // can't have font-size inherit on line above, so need to override
8 | text-rendering: auto; // optimizelegibility throws things off #1094
9 | -webkit-font-smoothing: antialiased;
10 | -moz-osx-font-smoothing: grayscale;
11 |
12 | }
13 |
14 | @mixin fa-icon-rotate($degrees, $rotation) {
15 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});
16 | -webkit-transform: rotate($degrees);
17 | -ms-transform: rotate($degrees);
18 | transform: rotate($degrees);
19 | }
20 |
21 | @mixin fa-icon-flip($horiz, $vert, $rotation) {
22 | filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});
23 | -webkit-transform: scale($horiz, $vert);
24 | -ms-transform: scale($horiz, $vert);
25 | transform: scale($horiz, $vert);
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/scss/_path.scss:
--------------------------------------------------------------------------------
1 | /* FONT PATH
2 | * -------------------------- */
3 |
4 | @font-face {
5 | font-family: 'FontAwesome';
6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}');
7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'),
8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'),
9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'),
10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'),
11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg');
12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts
13 | font-weight: normal;
14 | font-style: normal;
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/scss/_rotated-flipped.scss:
--------------------------------------------------------------------------------
1 | // Rotated & Flipped Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); }
5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }
6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }
7 |
8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }
9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); }
10 |
11 | // Hook for IE8-9
12 | // -------------------------
13 |
14 | :root .#{$fa-css-prefix}-rotate-90,
15 | :root .#{$fa-css-prefix}-rotate-180,
16 | :root .#{$fa-css-prefix}-rotate-270,
17 | :root .#{$fa-css-prefix}-flip-horizontal,
18 | :root .#{$fa-css-prefix}-flip-vertical {
19 | filter: none;
20 | }
21 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/scss/_stacked.scss:
--------------------------------------------------------------------------------
1 | // Stacked Icons
2 | // -------------------------
3 |
4 | .#{$fa-css-prefix}-stack {
5 | position: relative;
6 | display: inline-block;
7 | width: 2em;
8 | height: 2em;
9 | line-height: 2em;
10 | vertical-align: middle;
11 | }
12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x {
13 | position: absolute;
14 | left: 0;
15 | width: 100%;
16 | text-align: center;
17 | }
18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; }
19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; }
20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; }
21 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/scss/font-awesome.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome
3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
4 | */
5 |
6 | @import "variables";
7 | @import "mixins";
8 | @import "path";
9 | @import "core";
10 | @import "larger";
11 | @import "fixed-width";
12 | @import "list";
13 | @import "bordered-pulled";
14 | @import "animated";
15 | @import "rotated-flipped";
16 | @import "stacked";
17 | @import "icons";
18 |
--------------------------------------------------------------------------------
/src/main/docker/html/token/templates/calendar.html:
--------------------------------------------------------------------------------
1 |
6 |
7 | Sun
8 | Mon
9 | Tue
10 | Wed
11 | Thu
12 | Fri
13 | Sat
14 |
15 |
16 | {{day.number}}
17 |
18 |
--------------------------------------------------------------------------------
/src/main/docker/nginx.conf:
--------------------------------------------------------------------------------
1 | events {
2 | worker_connections 1024;
3 | }
4 |
5 | daemon off;
6 |
7 | worker_processes 1;
8 | error_log stderr;
9 | pid /tmp/nginx.pid;
10 |
11 | http {
12 | include /etc/nginx/mime.types;
13 | default_type application/octet-stream;
14 |
15 | sendfile on;
16 |
17 | keepalive_timeout 65;
18 |
19 | log_format compression '$remote_addr - $remote_user [$time_local] '
20 | '"$request" $status $body_bytes_sent '
21 | '"$http_referer" "$http_user_agent" "$gzip_ratio"';
22 |
23 | error_log /dev/stdout warn;
24 | access_log /dev/stdout compression;
25 |
26 |
27 |
28 | server {
29 | listen 8080;
30 |
31 |
32 | error_log /dev/stdout warn;
33 | access_log /dev/stdout compression;
34 |
35 |
36 | root /var/www/html;
37 | index index.html;
38 |
39 | client_body_temp_path /tmp/www;
40 | proxy_temp_path /tmp/proxy;
41 | fastcgi_temp_path /tmp/fastcgi;
42 | uwsgi_temp_path /tmp/uwsgi;
43 | scgi_temp_path /tmp/scgi;
44 |
45 | location / {
46 | try_files $uri $uri/ =404;
47 | }
48 |
49 | location /nginx-health {
50 | return 200 "healthy\n";
51 | }
52 | }
53 | }
--------------------------------------------------------------------------------
/src/main/webapp/META-INF/context.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/main/webapp/WEB-INF/applications/checkalive.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | *
5 |
6 |
7 |
8 |
9 |
10 |
11 | /check_alive
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | checkalive
23 | *
24 | /check_alive
25 | session-unison
26 | true
27 | true
28 | 1
29 | -1
30 | None
31 |
32 |
--------------------------------------------------------------------------------
/src/main/webapp/WEB-INF/applications/validationwebhooks.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | #[OU_SVC_NAME]
5 |
6 |
7 |
8 |
9 |
10 | /k8s/webhooks/v1/workflows
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | #[OU_SVC_NAME]
21 |
22 |
23 |
24 |
25 |
26 | /k8s/webhooks/v1/customazs
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 | #[OU_SVC_NAME]
37 |
38 |
39 |
40 |
41 |
42 | /k8s/webhooks/v1/authmechs
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 | #[OU_SVC_NAME]
53 |
54 |
55 |
56 |
57 |
58 | /k8s/webhooks/v1/authchains
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 | #[OU_SVC_NAME]
69 |
70 |
71 |
72 |
73 |
74 | /k8s/webhooks/v1/applications
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 | anon
87 | #[OU_SVC_NAME]
88 | /k8s/webhooks/v1/workflows
89 | session-unison
90 | true
91 | true
92 | 1
93 | -1
94 |
95 |
96 |
--------------------------------------------------------------------------------
/src/main/webapp/WEB-INF/classes/log4j2.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/src/main/webapp/WEB-INF/myvd.conf:
--------------------------------------------------------------------------------
1 | #Global AuthMechConfig
2 | server.globalChain=accesslog
3 |
4 | server.globalChain.accesslog.className=com.tremolosecurity.proxy.myvd.log.AccessLog
5 |
6 | server.nameSpaces=rootdse,myvdroot
7 | server.rootdse.chain=dse
8 | server.rootdse.nameSpace=
9 | server.rootdse.weight=0
10 | server.rootdse.dse.className=net.sourceforge.myvd.inserts.RootDSE
11 | server.rootdse.dse.config.namingContexts=o=Tremolo
12 | server.myvdroot.chain=root
13 | server.myvdroot.nameSpace=o=Tremolo
14 | server.myvdroot.weight=0
15 | server.myvdroot.root.className=net.sourceforge.myvd.inserts.RootObject
--------------------------------------------------------------------------------
/src/main/webapp/WEB-INF/targets/20-k8s.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/main/webapp/WEB-INF/unisonService.props:
--------------------------------------------------------------------------------
1 | # Redirect from http to https
2 | com.tremolosecurity.openunison.forceToSSL=true
3 |
4 | # The port on which Tomcat is configured to listen for http requests
5 | com.tremolosecurity.openunison.openPort=8080
6 |
7 | # The port on which Tomcat is configured to listen for https requests
8 | com.tremolosecurity.openunison.securePort=8443
9 |
10 | # The external port on which OpenUnison should listen for incoming requests
11 | com.tremolosecurity.openunison.externalOpenPort=80
12 |
13 | # The secured/encrypted external port on which OpenUnison should listen for incoming requests
14 | com.tremolosecurity.openunison.externalSecurePort=443
15 |
16 | #Uncomment and set for production deployments
17 | com.tremolosecurity.openunison.activemqdir=/tmp/unison-activemq
18 | com.tremolosecurity.openunison.quartzdir=/tmp/quartz
19 |
--------------------------------------------------------------------------------
/src/main/webapp/WEB-INF/workflows/10-jitdb.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
14 |
15 |
16 |
17 |
18 |
19 | sub
20 | mail
21 | firstName
22 | lastName
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/src/main/webapp/auth/forms/cli-login-finished.jsp:
--------------------------------------------------------------------------------
1 |
16 | <%@ page language="java" contentType="text/html; charset=UTF-8"
17 | pageEncoding="UTF-8"
18 | import="java.util.*,com.tremolosecurity.proxy.auth.*,com.tremolosecurity.proxy.util.*,com.tremolosecurity.config.util.*,com.tremolosecurity.proxy.auth.util.*"%>
19 |
20 |
21 | <%
22 |
23 | RequestHolder reqHolder = ((AuthController) session.getAttribute(ProxyConstants.AUTH_CTL)).getHolder();
24 | String auth = "/auth/forms/";
25 |
26 | if (reqHolder != null) {
27 | ConfigManager cfg = (ConfigManager) request.getAttribute(ProxyConstants.TREMOLO_CFG_OBJ);
28 |
29 | auth = cfg.getAuthFormsPath();
30 | }
31 |
32 | %>
33 |
34 |
35 |
36 |
37 |
38 | OpenUnison Login
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
53 |
54 |
55 |
56 |
57 |
58 |
62 |
65 |
66 |
67 |
68 | You may close this window.
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
--------------------------------------------------------------------------------
/src/main/webapp/auth/forms/saml2_rp_metadata.jsp:
--------------------------------------------------------------------------------
1 | <%@ page language="java" contentType="text/xml; charset=UTF-8"
2 | pageEncoding="UTF-8" import="com.tremolosecurity.server.*,com.tremolosecurity.config.util.*,com.tremolosecurity.config.xml.*,org.opensaml.core.config.*,java.security.*,org.apache.commons.codec.binary.*,org.opensaml.saml.saml2.metadata.impl.*,java.util.*,org.opensaml.saml.saml2.metadata.*,java.security.cert.*,org.opensaml.security.credential.*,org.opensaml.xmlsec.signature.impl.*,org.opensaml.xmlsec.signature.support.*,org.opensaml.xmlsec.signature.*,org.opensaml.xmlsec.signature.impl.*,java.security.cert.*,org.w3c.dom.Element"%><%
3 |
4 |
5 |
6 | String mechanismName = "saml2";
7 | String chainName = "enterprise-idp";
8 |
9 | TremoloType tt = GlobalEntries.getGlobalEntries().getConfigManager().getCfg();
10 |
11 | MechanismType saml2Mech = null;
12 |
13 | for (MechanismType mechType : tt.getAuthMechs().getMechanism()) {
14 | if (mechType.getName().equalsIgnoreCase(mechanismName)) {
15 | saml2Mech = mechType;
16 |
17 | }
18 | }
19 |
20 | AuthChainType act = null;
21 |
22 | System.out.println("searching for '" + chainName + "'");
23 | for (AuthChainType lact : tt.getAuthChains().getChain()) {
24 | System.out.println(lact.getName());
25 | if (lact.getName().equalsIgnoreCase(chainName)) {
26 | act = lact;
27 | }
28 | }
29 |
30 | AuthMechType currentMechanism = null;
31 | for (AuthMechType amt : act.getAuthMech()) {
32 | if (amt.getName().equalsIgnoreCase(mechanismName)) {
33 | currentMechanism = amt;
34 | break;
35 | }
36 | }
37 |
38 | InitializationService.initialize();
39 |
40 | String urlBase = request.getRequestURL().toString();
41 | urlBase = urlBase.substring(0,urlBase.indexOf('/',9));
42 |
43 | ConfigManager cfg = GlobalEntries.getGlobalEntries().getConfigManager();
44 |
45 | String url = urlBase + saml2Mech.getUri();
46 |
47 | SecureRandom random = new SecureRandom();
48 | byte[] idBytes = new byte[20];
49 | random.nextBytes(idBytes);
50 |
51 |
52 | String id = "f" + Hex.encodeHexString(idBytes);
53 |
54 | EntityDescriptorBuilder edb = new EntityDescriptorBuilder();
55 | EntityDescriptorImpl ed = (EntityDescriptorImpl) edb.buildObject();
56 | ed.setID(id);
57 | ed.setEntityID(url);
58 |
59 |
60 | SPSSODescriptorBuilder spb = new SPSSODescriptorBuilder();
61 | SPSSODescriptorImpl sp = (SPSSODescriptorImpl) spb.buildObject();
62 | ed.getRoleDescriptors().add(sp);
63 |
64 | HashMap params = new HashMap();
65 | for (ParamWithValueType pt : currentMechanism.getParams().getParam()) {
66 | params.put(pt.getName(), pt);
67 | }
68 |
69 | boolean assertionsSigned = params.get("assertionsSigned") != null && params.get("assertionsSigned").getValue().equalsIgnoreCase("true");
70 | sp.setWantAssertionsSigned(assertionsSigned);
71 | sp.addSupportedProtocol("urn:oasis:names:tc:SAML:2.0:protocol");
72 |
73 |
74 | SingleLogoutServiceBuilder slsb = new SingleLogoutServiceBuilder();
75 | SingleLogoutService sls = slsb.buildObject();
76 | sls.setLocation(url);
77 | sls.setBinding("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect");
78 | sp.getSingleLogoutServices().add(sls);
79 |
80 | sls = slsb.buildObject();
81 | sls.setLocation(url);
82 | sls.setBinding("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST");
83 | sp.getSingleLogoutServices().add(sls);
84 |
85 | AssertionConsumerServiceBuilder acsb = new AssertionConsumerServiceBuilder();
86 | AssertionConsumerService acs = acsb.buildObject();
87 | acs.setLocation(url);
88 | acs.setBinding("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST");
89 | acs.setIndex(0);
90 | acs.setIsDefault(true);
91 | sp.getAssertionConsumerServices().add(acs);
92 |
93 | acs = acsb.buildObject();
94 | acs.setLocation(url);
95 | acs.setBinding("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect");
96 | acs.setIndex(1);
97 | sp.getAssertionConsumerServices().add(acs);
98 |
99 | if (params.get("spSigKey") != null && ! params.get("spSigKey").getValue().isEmpty()) {
100 | String alias = params.get("spSigKey").getValue();
101 | java.security.cert.X509Certificate certFromKS = (java.security.cert.X509Certificate) cfg.getCertificate(alias);
102 |
103 | if (certFromKS == null) {
104 | throw new Exception("Certificate '" + params.get("spSigKey").getValue() + "' not found");
105 | }
106 |
107 | PrivateKey keyFromKS = (PrivateKey) cfg.getPrivateKey(alias);
108 | KeyDescriptorBuilder kdb = new KeyDescriptorBuilder();
109 | KeyDescriptor kd = kdb.buildObject();
110 | kd.setUse(UsageType.SIGNING);
111 | KeyInfoBuilder kib = new KeyInfoBuilder();
112 | KeyInfo ki = kib.buildObject();
113 |
114 | X509DataBuilder x509b = new X509DataBuilder();
115 | X509Data x509 = x509b.buildObject();
116 | X509CertificateBuilder certb = new X509CertificateBuilder();
117 | org.opensaml.xmlsec.signature.X509Certificate cert = certb.buildObject();
118 | cert.setValue(new String(org.apache.xml.security.utils.Base64.encode(certFromKS.getEncoded())));
119 | x509.getX509Certificates().add(cert);
120 | ki.getX509Datas().add(x509);
121 | kd.setKeyInfo(ki);
122 | sp.getKeyDescriptors().add(kd);
123 |
124 |
125 |
126 | }
127 |
128 | if (params.get("spEncKey") != null && ! params.get("spEncKey").getValue().isEmpty()) {
129 | String alias = params.get("spEncKey").getValue();
130 | java.security.cert.X509Certificate certFromKS = (java.security.cert.X509Certificate) cfg.getCertificate(alias);
131 |
132 | if (certFromKS == null) {
133 | throw new Exception("Certificate '" + params.get("spEncKey").getValue() + "' not found");
134 | }
135 |
136 | PrivateKey keyFromKS = (PrivateKey) cfg.getPrivateKey(alias);
137 | KeyDescriptorBuilder kdb = new KeyDescriptorBuilder();
138 | KeyDescriptor kd = kdb.buildObject();
139 | kd.setUse(UsageType.ENCRYPTION);
140 | KeyInfoBuilder kib = new KeyInfoBuilder();
141 | KeyInfo ki = kib.buildObject();
142 |
143 | X509DataBuilder x509b = new X509DataBuilder();
144 | X509Data x509 = x509b.buildObject();
145 | X509CertificateBuilder certb = new X509CertificateBuilder();
146 | org.opensaml.xmlsec.signature.X509Certificate cert = certb.buildObject();
147 | cert.setValue(new String(org.apache.xml.security.utils.Base64.encode(certFromKS.getEncoded())));
148 | x509.getX509Certificates().add(cert);
149 | ki.getX509Datas().add(x509);
150 | kd.setKeyInfo(ki);
151 | sp.getKeyDescriptors().add(kd);
152 |
153 |
154 |
155 | }
156 |
157 |
158 | EntityDescriptorMarshaller marshaller = new EntityDescriptorMarshaller();
159 |
160 | // Marshall the Subject
161 | Element assertionElement = marshaller.marshall(ed);
162 |
163 | String xml = net.shibboleth.utilities.java.support.xml.SerializeSupport.prettyPrintXML(assertionElement);
164 |
165 |
166 | %><%= xml %>
--------------------------------------------------------------------------------