├── .github └── workflows │ └── maven.yml ├── .gitignore ├── .vscode └── settings.json ├── LICENSE ├── README.md ├── patchlog.txt ├── pom.xml └── src └── main ├── docker ├── Dockerfile ├── html │ ├── ops │ │ ├── css │ │ │ ├── angular.treeview.css │ │ │ ├── bootstrap-theme.css │ │ │ ├── bootstrap-theme.css.map │ │ │ ├── bootstrap-theme.min.css │ │ │ ├── bootstrap-theme.min.css.map │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.css.map │ │ │ ├── bootstrap.min.css │ │ │ ├── bootstrap.min.css.map │ │ │ ├── calendar.css │ │ │ ├── calendar.less │ │ │ ├── font-awesome.min.css │ │ │ ├── tree-control-attribute.css │ │ │ ├── tree-control.css │ │ │ └── unison.css │ │ ├── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.svg │ │ │ ├── fontawesome-webfont.ttf │ │ │ ├── fontawesome-webfont.woff │ │ │ ├── fontawesome-webfont.woff2 │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ └── glyphicons-halflings-regular.woff2 │ │ ├── images │ │ │ ├── file.png │ │ │ ├── folder-closed.png │ │ │ ├── folder.png │ │ │ ├── logo-desktop.png │ │ │ ├── logo-mobile.png │ │ │ ├── node-closed-2.png │ │ │ ├── node-closed-light.png │ │ │ ├── node-closed.png │ │ │ ├── node-opened-2.png │ │ │ ├── node-opened-light.png │ │ │ ├── node-opened.png │ │ │ └── sample.png │ │ ├── img │ │ │ ├── file.png │ │ │ ├── folder-closed.png │ │ │ └── folder.png │ │ ├── index.html │ │ ├── js │ │ │ ├── angular-sanitize.min.js │ │ │ ├── angular-tree-control.js │ │ │ ├── angular.min.js │ │ │ ├── bootstrap.js │ │ │ ├── bootstrap.min.js │ │ │ ├── jquery.min.js │ │ │ ├── less.min.js │ │ │ ├── moment.min.js │ │ │ ├── scale.js │ │ │ └── underscore-min.js │ │ ├── less │ │ │ ├── animated.less │ │ │ ├── bordered-pulled.less │ │ │ ├── core.less │ │ │ ├── fixed-width.less │ │ │ ├── font-awesome.less │ │ │ ├── icons.less │ │ │ ├── larger.less │ │ │ ├── list.less │ │ │ ├── mixins.less │ │ │ ├── path.less │ │ │ ├── rotated-flipped.less │ │ │ ├── stacked.less │ │ │ └── variables.less │ │ ├── scss │ │ │ ├── _animated.scss │ │ │ ├── _bordered-pulled.scss │ │ │ ├── _core.scss │ │ │ ├── _fixed-width.scss │ │ │ ├── _icons.scss │ │ │ ├── _larger.scss │ │ │ ├── _list.scss │ │ │ ├── _mixins.scss │ │ │ ├── _path.scss │ │ │ ├── _rotated-flipped.scss │ │ │ ├── _stacked.scss │ │ │ ├── _variables.scss │ │ │ └── font-awesome.scss │ │ └── templates │ │ │ └── calendar.html │ ├── register │ │ ├── css │ │ │ ├── angular.treeview.css │ │ │ ├── bootstrap-theme.css │ │ │ ├── bootstrap-theme.css.map │ │ │ ├── bootstrap-theme.min.css │ │ │ ├── bootstrap-theme.min.css.map │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.css.map │ │ │ ├── bootstrap.min.css │ │ │ ├── bootstrap.min.css.map │ │ │ ├── calendar.css │ │ │ ├── calendar.less │ │ │ ├── font-awesome.min.css │ │ │ ├── tree-control-attribute.css │ │ │ ├── tree-control.css │ │ │ └── unison.css │ │ ├── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.svg │ │ │ ├── fontawesome-webfont.ttf │ │ │ ├── fontawesome-webfont.woff │ │ │ ├── fontawesome-webfont.woff2 │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ └── glyphicons-halflings-regular.woff2 │ │ ├── images │ │ │ ├── file.png │ │ │ ├── folder-closed.png │ │ │ ├── folder.png │ │ │ ├── logo-desktop.png │ │ │ ├── logo-mobile.png │ │ │ ├── node-closed-2.png │ │ │ ├── node-closed-light.png │ │ │ ├── node-closed.png │ │ │ ├── node-opened-2.png │ │ │ ├── node-opened-light.png │ │ │ ├── node-opened.png │ │ │ └── sample.png │ │ ├── img │ │ │ ├── file.png │ │ │ ├── folder-closed.png │ │ │ └── folder.png │ │ ├── index.html │ │ ├── index.jsp │ │ ├── js │ │ │ ├── angular-sanitize.min.js │ │ │ ├── angular-tree-control.js │ │ │ ├── angular.min.js │ │ │ ├── bootstrap.js │ │ │ ├── bootstrap.min.js │ │ │ ├── jquery.min.js │ │ │ ├── less.min.js │ │ │ ├── moment.min.js │ │ │ ├── scale.js │ │ │ ├── underscore-min.js │ │ │ └── update_new_project.js │ │ ├── less │ │ │ ├── animated.less │ │ │ ├── bordered-pulled.less │ │ │ ├── core.less │ │ │ ├── fixed-width.less │ │ │ ├── font-awesome.less │ │ │ ├── icons.less │ │ │ ├── larger.less │ │ │ ├── list.less │ │ │ ├── mixins.less │ │ │ ├── path.less │ │ │ ├── rotated-flipped.less │ │ │ ├── stacked.less │ │ │ └── variables.less │ │ ├── scss │ │ │ ├── _animated.scss │ │ │ ├── _bordered-pulled.scss │ │ │ ├── _core.scss │ │ │ ├── _fixed-width.scss │ │ │ ├── _icons.scss │ │ │ ├── _larger.scss │ │ │ ├── _list.scss │ │ │ ├── _mixins.scss │ │ │ ├── _path.scss │ │ │ ├── _rotated-flipped.scss │ │ │ ├── _stacked.scss │ │ │ ├── _variables.scss │ │ │ └── font-awesome.scss │ │ └── templates │ │ │ └── calendar.html │ ├── scale │ │ ├── css │ │ │ ├── angular.treeview.css │ │ │ ├── bootstrap-theme.css │ │ │ ├── bootstrap-theme.css.map │ │ │ ├── bootstrap-theme.min.css │ │ │ ├── bootstrap-theme.min.css.map │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.css.map │ │ │ ├── bootstrap.min.css │ │ │ ├── bootstrap.min.css.map │ │ │ ├── calendar.css │ │ │ ├── calendar.less │ │ │ ├── font-awesome.min.css │ │ │ ├── tree-control-attribute.css │ │ │ ├── tree-control.css │ │ │ └── unison.css │ │ ├── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.svg │ │ │ ├── fontawesome-webfont.ttf │ │ │ ├── fontawesome-webfont.woff │ │ │ ├── fontawesome-webfont.woff2 │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ └── glyphicons-halflings-regular.woff2 │ │ ├── images │ │ │ ├── file.png │ │ │ ├── folder-closed.png │ │ │ ├── folder.png │ │ │ ├── logo-desktop.png │ │ │ ├── logo-mobile.png │ │ │ ├── node-closed-2.png │ │ │ ├── node-closed-light.png │ │ │ ├── node-closed.png │ │ │ ├── node-opened-2.png │ │ │ ├── node-opened-light.png │ │ │ ├── node-opened.png │ │ │ └── sample.png │ │ ├── img │ │ │ ├── file.png │ │ │ ├── folder-closed.png │ │ │ └── folder.png │ │ ├── index.html │ │ ├── js │ │ │ ├── angular-tree-control.js │ │ │ ├── angular.min.js │ │ │ ├── bootstrap.js │ │ │ ├── bootstrap.min.js │ │ │ ├── jquery.min.js │ │ │ ├── less.min.js │ │ │ ├── moment.min.js │ │ │ ├── npm.js │ │ │ ├── scale.js │ │ │ └── underscore-min.js │ │ ├── less │ │ │ ├── animated.less │ │ │ ├── bordered-pulled.less │ │ │ ├── core.less │ │ │ ├── fixed-width.less │ │ │ ├── font-awesome.less │ │ │ ├── icons.less │ │ │ ├── larger.less │ │ │ ├── list.less │ │ │ ├── mixins.less │ │ │ ├── path.less │ │ │ ├── rotated-flipped.less │ │ │ ├── stacked.less │ │ │ └── variables.less │ │ ├── scss │ │ │ ├── _animated.scss │ │ │ ├── _bordered-pulled.scss │ │ │ ├── _core.scss │ │ │ ├── _fixed-width.scss │ │ │ ├── _icons.scss │ │ │ ├── _larger.scss │ │ │ ├── _list.scss │ │ │ ├── _mixins.scss │ │ │ ├── _path.scss │ │ │ ├── _rotated-flipped.scss │ │ │ ├── _stacked.scss │ │ │ ├── _variables.scss │ │ │ └── font-awesome.scss │ │ └── templates │ │ │ └── calendar.html │ └── token │ │ ├── css │ │ ├── angular.treeview.css │ │ ├── bootstrap-theme.css │ │ ├── bootstrap-theme.css.map │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap-theme.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ ├── bootstrap.min.css.map │ │ ├── calendar.css │ │ ├── calendar.less │ │ ├── font-awesome.min.css │ │ ├── tree-control-attribute.css │ │ ├── tree-control.css │ │ └── unison.css │ │ ├── fonts │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ ├── fontawesome-webfont.woff2 │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ │ ├── images │ │ ├── file.png │ │ ├── folder-closed.png │ │ ├── folder.png │ │ ├── logo-desktop.png │ │ ├── logo-mobile.png │ │ ├── node-closed-2.png │ │ ├── node-closed-light.png │ │ ├── node-closed.png │ │ ├── node-opened-2.png │ │ ├── node-opened-light.png │ │ ├── node-opened.png │ │ └── sample.png │ │ ├── img │ │ ├── file.png │ │ ├── folder-closed.png │ │ └── folder.png │ │ ├── index.html │ │ ├── js │ │ ├── angular-qrcode.js │ │ ├── angular-tree-control.js │ │ ├── angular.min.js │ │ ├── bootstrap.js │ │ ├── bootstrap.min.js │ │ ├── jquery.min.js │ │ ├── less.min.js │ │ ├── moment.min.js │ │ ├── ngClickCopy.js │ │ ├── qrcode.js │ │ ├── qrcode_UTF8.js │ │ ├── scale.js │ │ └── underscore-min.js │ │ ├── less │ │ ├── animated.less │ │ ├── bordered-pulled.less │ │ ├── core.less │ │ ├── fixed-width.less │ │ ├── font-awesome.less │ │ ├── icons.less │ │ ├── larger.less │ │ ├── list.less │ │ ├── mixins.less │ │ ├── path.less │ │ ├── rotated-flipped.less │ │ ├── stacked.less │ │ └── variables.less │ │ ├── scss │ │ ├── _animated.scss │ │ ├── _bordered-pulled.scss │ │ ├── _core.scss │ │ ├── _fixed-width.scss │ │ ├── _icons.scss │ │ ├── _larger.scss │ │ ├── _list.scss │ │ ├── _mixins.scss │ │ ├── _path.scss │ │ ├── _rotated-flipped.scss │ │ ├── _stacked.scss │ │ ├── _variables.scss │ │ └── font-awesome.scss │ │ └── templates │ │ └── calendar.html └── nginx.conf └── webapp ├── META-INF └── context.xml ├── WEB-INF ├── applications │ ├── checkalive.xml │ └── validationwebhooks.xml ├── classes │ └── log4j2.xml ├── myvd.conf ├── targets │ └── 20-k8s.xml ├── unison.xml ├── unisonService.props └── workflows │ └── 10-jitdb.xml └── auth └── forms ├── cli-login-finished.jsp └── saml2_rp_metadata.jsp /.github/workflows/maven.yml: -------------------------------------------------------------------------------- 1 | name: Build OpenUnison 2 | 3 | on: 4 | push: 5 | branches: 6 | - 'main' 7 | permissions: 8 | id-token: write 9 | packages: write 10 | 11 | jobs: 12 | build: 13 | 14 | runs-on: ubuntu-latest 15 | 16 | steps: 17 | - uses: actions/checkout@v1 18 | - name: Set up JDK 21 19 | uses: actions/setup-java@v2 20 | with: 21 | java-version: "21" 22 | distribution: temurin 23 | 24 | 25 | - name: Set up QEMU 26 | uses: docker/setup-qemu-action@v1 27 | - name: Set up Docker Buildx 28 | uses: docker/setup-buildx-action@v1 29 | - uses: actions/checkout@v1 30 | 31 | - name: Install Skopeo 32 | run: | 33 | sudo apt-get update 34 | sudo apt-get install -y skopeo 35 | 36 | - name: Install Cosign 37 | uses: sigstore/cosign-installer@main 38 | 39 | - name: generate tag 40 | run: |- 41 | export PROJ_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout) 42 | echo "Project Version: $PROJ_VERSION" 43 | echo "TAG=$PROJ_VERSION-$(echo $GITHUB_SHA | cut -c 1-6)" >> $GITHUB_ENV 44 | echo "SHORT_TAG=$PROJ_VERSION" >> $GITHUB_ENV 45 | 46 | - name: Login to container Registry 47 | uses: docker/login-action@v2 48 | with: 49 | username: ${{ github.repository_owner }} 50 | password: ${{ secrets.GITHUB_TOKEN }} 51 | registry: ghcr.io 52 | 53 | - name: Login to DockerHub 54 | uses: docker/login-action@v1 55 | with: 56 | username: ${{ secrets.OU_REG_USER }} 57 | password: ${{ secrets.OU_REG_PASSWORD }} 58 | 59 | - name: downcase REPO 60 | run: | 61 | echo "REPO=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV} 62 | 63 | 64 | 65 | 66 | 67 | - name: Build with Maven 68 | run: mvn -B clean package --file pom.xml 69 | 70 | - name: deploy with jib 71 | run: | 72 | echo $OU_CONTAINER_DEST 73 | mvn compile jib:build --file pom.xml -Djib.httpTimeout=600000 74 | env: 75 | OU_CONTAINER_DEST: "ghcr.io/${{ env.REPO }}:${{ env.TAG }}" 76 | OU_REG_USER: "${{ github.repository_owner }}" 77 | OU_REG_PASSWORD: "${{ secrets.GITHUB_TOKEN }}" 78 | 79 | 80 | - name: tag images to short tag and latest 81 | run: |- 82 | docker pull --platform linux/amd64 ghcr.io/${{ env.REPO }}:${{ env.TAG }} 83 | docker pull --platform linux/arm64 ghcr.io/${{ env.REPO }}:${{ env.TAG }} 84 | 85 | skopeo copy --all \ 86 | docker://ghcr.io/${{ env.REPO }}:${{ env.TAG }} \ 87 | docker://ghcr.io/${{ env.REPO }}:latest 88 | 89 | skopeo copy --all \ 90 | docker://ghcr.io/${{ env.REPO }}:${{ env.TAG }} \ 91 | docker://ghcr.io/${{ env.REPO }}:${{ env.SHORT_TAG }} 92 | 93 | 94 | 95 | # push images to docker 96 | skopeo copy --all \ 97 | docker://ghcr.io/${{ env.REPO }}:${{ env.TAG }} \ 98 | docker://${{ secrets.OU_CONTAINER_REPO }}:latest 99 | 100 | skopeo copy --all \ 101 | docker://ghcr.io/${{ env.REPO }}:${{ env.TAG }} \ 102 | docker://${{ secrets.OU_CONTAINER_REPO }}:${{ env.SHORT_TAG }} 103 | 104 | skopeo copy --all \ 105 | docker://ghcr.io/${{ env.REPO }}:${{ env.TAG }} \ 106 | docker://${{ secrets.OU_CONTAINER_REPO }}:${{ env.TAG }} 107 | 108 | 109 | 110 | - name: sign images 111 | run: |- 112 | cosign sign -y ghcr.io/${{ env.REPO }}:${{ env.TAG }} 113 | 114 | - uses: anchore/sbom-action@v0 115 | with: 116 | image: ghcr.io/${{ env.REPO }}:${{ env.TAG }} 117 | format: spdx 118 | output-file: /tmp/spdxg 119 | 120 | - name: attach sbom to images 121 | run: |- 122 | cosign attach sbom --sbom /tmp/spdxg ghcr.io/${{ env.REPO }}:${{ env.TAG }} 123 | GH_SBOM_SHA=$(cosign verify --certificate-oidc-issuer-regexp='.*' --certificate-identity-regexp='.*' ghcr.io/${{ env.REPO }}:${{ env.TAG }} 2>/dev/null | jq -r '.[0].critical.image["docker-manifest-digest"]' | cut -c 8-) 124 | cosign sign -y ghcr.io/${{ env.REPO }}:sha256-$GH_SBOM_SHA.sbom 125 | 126 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | pom.xml.tag 3 | pom.xml.releaseBackup 4 | pom.xml.versionsBackup 5 | pom.xml.next 6 | release.properties 7 | dependency-reduced-pom.xml 8 | buildNumber.properties 9 | .mvn/timing.properties 10 | # https://github.com/takari/maven-wrapper#usage-without-binary-jar 11 | .mvn/wrapper/maven-wrapper.jar 12 | .classpath 13 | .factorypath 14 | .project 15 | .settings 16 | 17 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "java.configuration.updateBuildConfiguration": "automatic" 3 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Access Portal for Kubernetes 2 | 3 | OpenUnison provides SSO and authentication for your Kubernetes clusters, no matter where they run or how your users need to authenticate. 4 | 5 | **Simplify Access** 6 | 7 | * Authentication for on-prem and cloud managed clusters 8 | * Generates `kubectl` configuration on MacOS, Linux, and Windows 9 | * Plugin for zero-configuration `kubectl` access 10 | * Secure Dashboard Access 11 | * Use identity provider's groups in RBAC `RoleBinding` and `ClusterRoleBinding` objects 12 | * Works with cluster management applications such as ArgocD, Kiali, and more! 13 | 14 | **Increase Security** 15 | 16 | * Short-lived tokens transparently refresh with no impact on developers 17 | * Logout of your web session invalidates your `kubectl` session 18 | * Supports multiple clusters with a decentralized deployment 19 | 20 | See how OpenUnison will increase the security of your clusters in addition to making your developers happy! 21 | 22 | ##kubectl SSO For Windows, Linux, and MacOS 23 | The Orchestra portal provides kubectl commands for all of your user's operating systems. Windows, Linux, and MacOS commands are all 24 | generated. The commands include certificates for your API server and OpenUnison portal, so there are no certificates to distribute! These commands don't require you to pre-distribute a configuration file and work both locally and with remote jump boxes. 25 | 26 | ![dashboard login](https://openunison.github.io/assets/images/ou-login-portal.gif) 27 | 28 | ## kubectl Plugin 29 | 30 | Skip the portal and get straight into `kubectl` with OpenUnison's `oulogin` plugin. This plugin will launch a browser for you, authenticate you, and generate your entire `kubectl` configuration without pre-distributing a configuration file. Simple as `kubectl oulogin`! 31 | 32 | ![oulogin](https://openunison.github.io/assets/images/ou-login-oulogin.gif) 33 | 34 | 35 | ## Secure Access To the Dashboard 36 | 37 | OpenUnison provides secure access to your dashboard without creating service accounts. Your identity is used by the dashboard 38 | to interact with the API server, which means the dashboard runs without privileges of its own. 39 | 40 | ![dashboard login](https://openunison.github.io/assets/images/ou-login-dashboard.gif) 41 | 42 | ## Documentation 43 | 44 | * How to deploy - https://openunison.github.io/deployauth/ 45 | * Blog - https://www.tremolosecurity.com/blog/bloghome 46 | -------------------------------------------------------------------------------- /patchlog.txt: -------------------------------------------------------------------------------- 1 | # Automatic Patches 2 | 3 | Automatic Update - 20211109T004333.173Z 4 | Automatic Update - 20211201T020213.370Z 5 | Automatic Update - 20211202T020226.157Z 6 | Automatic Update - 20211218T020232.085Z 7 | Automatic Update - 20220311T201816.235Z 8 | Automatic Update - 20220316T020302.607Z 9 | Automatic Update - 20220403T020236.356Z 10 | Automatic Update - 20220415T020307.468Z 11 | Automatic Update - 20220422T020317.921Z 12 | Automatic Update - 20220428T020334.504Z 13 | Automatic Update - 20220430T020320.087Z 14 | Automatic Update - 20220506T020327.699Z 15 | Automatic Update - 20220511T020341.921Z 16 | Automatic Update - 20220513T020322.838Z 17 | Automatic Update - 20220518T020348.844Z 18 | Automatic Update - 20220529T020314.301Z 19 | Automatic Update - 20220602T020316.156Z 20 | Automatic Update - 20220609T020301.703Z 21 | Automatic Update - 20220624T020302.018Z 22 | Automatic Update - 20220630T020322.033Z 23 | Automatic Update - 20220707T032442.431Z 24 | Automatic Update - 20220707T032456.809Z 25 | Automatic Update - 20220710T020306.613Z 26 | Automatic Update - 20220721T021229.399Z 27 | Automatic Update - 20220807T020402.036Z 28 | Automatic Update - 20220831T004647.725Z 29 | Automatic Update - 20220831T125648.658Z 30 | Automatic Update - 20220831T131314.144Z 31 | Automatic Update - 20220908T020325.976Z 32 | Automatic Update - 20220918T020311.076Z 33 | Automatic Update - 20220925T020308.369Z 34 | Automatic Update - 20221014T020305.391Z 35 | Automatic Update - 20221020T020311.996Z 36 | Automatic Update - 20221029T020259.990Z 37 | Automatic Update - 20221113T020256.184Z 38 | Automatic Update - 20221121T020301.357Z 39 | Automatic Update - 20221125T020324.326Z 40 | Automatic Update - 20221130T020337.057Z 41 | Automatic Update - 20221211T020330.087Z 42 | Automatic Update - 20230107T020303.672Z 43 | Automatic Update - 20230114T020312.632Z 44 | Automatic Update - 20230131T020335.291Z 45 | Automatic Update - 20230131T020335.599Z 46 | Automatic Update - 20230131T020336.114Z 47 | Automatic Update - 20230214T020346.190Z 48 | Automatic Update - 20230214T020346.494Z 49 | Automatic Update - 20230214T020346.885Z 50 | Automatic Update - 20230306T020319.094Z 51 | Automatic Update - 20230306T020319.938Z 52 | Automatic Update - 20230310T020239.496Z 53 | Automatic Update - 20230310T020239.959Z 54 | Automatic Update - 20230319T020251.403Z 55 | Automatic Update - 20230319T020251.956Z 56 | Automatic Update - 20230322T020258.086Z 57 | Automatic Update - 20230322T020258.791Z 58 | force rebuild - 2023-04-03 59 | 60 | Automatic Update - 20230421T020253.027Z 61 | Automatic Update - 20230421T020253.621Z 62 | Automatic Update - 20230427T020320.386Z 63 | Automatic Update - 20230427T020320.759Z 64 | Automatic Update - 20230511T020309.151Z 65 | Automatic Update - 20230511T020309.565Z 66 | Automatic Update - 20230518T020236.891Z 67 | Automatic Update - 20230518T020237.479Z 68 | Automatic Update - 20230525T020309.682Z 69 | Automatic Update - 20230525T020310.171Z 70 | Automatic Update - 20230601T020255.187Z 71 | Automatic Update - 20230603T020324.696Z 72 | Automatic Update - 20230603T020325.142Z 73 | Automatic Update - 20230607T020302.850Z 74 | Automatic Update - 20230607T020303.285Z 75 | Automatic Update - 20230616T020234.437Z 76 | Automatic Update - 20230616T020234.980Z 77 | Automatic Update - 20230624T020252.477Z 78 | Automatic Update - 20230624T020252.982Z 79 | Automatic Update - 20230721T020253.606Z 80 | Automatic Update - 20230721T020254.340Z 81 | Automatic Update - 20230803T020240.946Z 82 | Automatic Update - 20230803T020241.412Z 83 | Automatic Update - 20230914T020234.623Z 84 | Automatic Update - 20230922T020236.706Z 85 | Automatic Update - 20230922T020237.072Z 86 | Automatic Update - 20231013T020249.491Z 87 | Automatic Update - 20231027T020313.244Z 88 | Automatic Update - 20231027T020313.567Z 89 | Automatic Update - 20231027T020314.143Z 90 | Automatic Update - 20231108T020240.381Z 91 | Automatic Update - 20231108T020241.063Z 92 | Automatic Update - 20231116T020256.184Z 93 | Automatic Update - 20231116T020256.580Z 94 | Automatic Update - 20231116T020256.968Z 95 | Automatic Update - 20231122T020301.439Z 96 | Automatic Update - 20231124T020238.557Z 97 | Automatic Update - 20231130T020348.058Z 98 | Automatic Update - 20231130T020348.650Z 99 | Automatic Update - 20231208T020251.522Z 100 | Automatic Update - 20231208T020252.129Z 101 | Automatic Update - 20231213T020229.049Z 102 | Automatic Update - 20231213T020229.885Z 103 | Automatic Update - 20231221T020231.933Z 104 | Automatic Update - 20231221T020232.749Z 105 | Automatic Update - 20240105T020225.854Z 106 | Automatic Update - 20240105T020226.427Z 107 | 108 | force rebuild - 2024-01-07 109 | 110 | Automatic Update - 20240119T020228.456Z 111 | Automatic Update - 20240119T020228.861Z 112 | Automatic Update - 20240124T020248.854Z 113 | Automatic Update - 20240124T020249.697Z 114 | Automatic Update - 20240201T020240.616Z 115 | Automatic Update - 20240201T020240.985Z 116 | Automatic Update - 20240201T020241.408Z 117 | Automatic Update - 20240207T020244.984Z 118 | Automatic Update - 20240207T020245.709Z 119 | Automatic Update - 20240217T020255.593Z 120 | Automatic Update - 20240217T020256.834Z 121 | Automatic Update - 20240228T020234.354Z 122 | Automatic Update - 20240228T020234.652Z 123 | Automatic Update - 20240329T020328.913Z 124 | Automatic Update - 20240329T020330.191Z 125 | Automatic Update - 20240412T020230.560Z 126 | Automatic Update - 20240412T020231.003Z 127 | Automatic Update - 20240417T020304.571Z 128 | Automatic Update - 20240417T020305.756Z 129 | Automatic Update - 20240420T020250.769Z 130 | Automatic Update - 20240420T020251.141Z 131 | Automatic Update - 20240427T020256.872Z 132 | Automatic Update - 20240427T020257.377Z 133 | Automatic Update - 20240511T020223.719Z 134 | Automatic Update - 20240602T020250.201Z 135 | Automatic Update - 20240608T020346.106Z 136 | Automatic Update - 20240608T020346.751Z 137 | Automatic Update - 20240627T020248.125Z 138 | Automatic Update - 20240627T020249.190Z 139 | Automatic Update - 20240802T020256.038Z 140 | Automatic Update - 20240802T020256.791Z 141 | Automatic Update - 20240807T020252.601Z 142 | Automatic Update - 20240807T020253.135Z 143 | Automatic Update - 20240807T020253.786Z 144 | Automatic Update - 20240810T020305.746Z 145 | Automatic Update - 20240810T020306.377Z 146 | Automatic Update - 20240810T020306.999Z 147 | Automatic Update - 20240916T020242.326Z 148 | Automatic Update - 20240916T020243.065Z 149 | Automatic Update - 20240918T020248.433Z 150 | Automatic Update - 20240928T020253.910Z 151 | Automatic Update - 20240928T020254.870Z 152 | Automatic Update - 20241113T020248.755Z 153 | Automatic Update - 20241113T020249.777Z 154 | Automatic Update - 20241120T020247.232Z 155 | Automatic Update - 20241218T020313.053Z 156 | Automatic Update - 20241218T020313.596Z 157 | Automatic Update - 20241229T235416.700Z 158 | 159 | manual rebuild - 20250108 - 11:59AM EST -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- 1 | 4 | 4.0.0 5 | io.openunison 6 | openunison-k8s 7 | war 8 | 1.0.42 9 | openunison-k8s 10 | http://openunison.io 11 | 12 | 13 | Tremolo Security Dependencies 14 | https://nexus.tremolo.io/repository/dependencies/ 15 | 16 | 17 | Tremolo Security Releases 18 | https://nexus.tremolo.io/repository/releases/ 19 | 20 | 21 | 22 | 23 | 1.0.42 24 | 8.0.33 25 | 12.8.0.jre11 26 | 42.7.4 27 | 3.5.1 28 | 29 | 30 | 31 | 32 | com.tremolosecurity.unison 33 | unison-scalejs-operators 34 | ${openunison.version} 35 | 36 | 37 | 38 | com.tremolosecurity.unison 39 | myvd-on-undertow 40 | ${openunison.version} 41 | 42 | 43 | 44 | com.tremolosecurity.unison 45 | openunison-on-undertow 46 | ${openunison.version} 47 | 48 | 49 | 50 | com.tremolosecurity.unison 51 | open-unison-webapp 52 | ${openunison.version} 53 | war 54 | runtime 55 | 56 | 57 | com.tremolosecurity.unison 58 | open-unison-webapp 59 | ${openunison.version} 60 | pom 61 | 62 | 63 | mysql 64 | mysql-connector-java 65 | ${mysql.version} 66 | 67 | 68 | com.tremolosecurity.unison 69 | unison-scalejs-main 70 | ${openunison.version} 71 | 72 | 73 | 74 | com.microsoft.sqlserver 75 | mssql-jdbc 76 | ${sqlserver.version} 77 | 78 | 79 | org.postgresql 80 | postgresql 81 | ${postgresql.version} 82 | 83 | 84 | org.mariadb.jdbc 85 | mariadb-java-client 86 | ${mariadb.version} 87 | 88 | 89 | 90 | 91 | 92 | maven-compiler-plugin 93 | 3.8.1 94 | 95 | 21 96 | 21 97 | 98 | 99 | 100 | org.apache.maven.plugins 101 | maven-war-plugin 102 | 3.3.2 103 | 104 | 105 | 106 | com.tremolosecurity.unison 107 | open-unison-webapp 108 | 109 | 110 | 111 | WEB-INF/lib/log4j*2.14.1.jar, 112 | WEB-INF/lib/jldap-2009-10-07.jar 113 | 114 | 115 | 116 | 117 | 118 | com.google.cloud.tools 119 | jib-maven-plugin 120 | 3.4.4 121 | 122 | 123 | ghcr.io/tremolosecurity/openunison-jib-builder3:latest 124 | 125 | 126 | amd64 127 | linux 128 | 129 | 130 | arm64 131 | linux 132 | 133 | 134 | 135 | 136 | 431 137 | /usr/local/openunison/work/webapp 138 | /usr/local/openunison/bin/run_openunison.sh 139 | 140 | 141 | ${env.OU_CONTAINER_DEST} 142 | 143 | ${env.OU_REG_USER} 144 | ${env.OU_REG_PASSWORD} 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | -------------------------------------------------------------------------------- /src/main/docker/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:20.04 2 | 3 | RUN apt update;DEBIAN_FRONTEND=noninteractive apt install -y nginx;apt -y upgrade;apt clean;rm -rf /var/lib/apt/lists/* \ 4 | rm -rf /var/www/html/index.nginx-debian.html 5 | ADD html /var/www/html 6 | ADD nginx.conf /etc/nginx 7 | RUN chmod -R 755 /var/www 8 | 9 | USER www-data 10 | 11 | 12 | CMD ["/usr/sbin/nginx"] -------------------------------------------------------------------------------- /src/main/docker/html/ops/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/ops/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/ops/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/ops/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/ops/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/ops/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/ops/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/ops/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /src/main/docker/html/ops/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/ops/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /src/main/docker/html/ops/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/ops/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/main/docker/html/ops/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/ops/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /src/main/docker/html/ops/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/ops/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /src/main/docker/html/ops/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/ops/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /src/main/docker/html/ops/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/ops/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /src/main/docker/html/ops/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/ops/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /src/main/docker/html/ops/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/ops/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /src/main/docker/html/ops/images/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/ops/images/file.png -------------------------------------------------------------------------------- /src/main/docker/html/ops/images/folder-closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/ops/images/folder-closed.png -------------------------------------------------------------------------------- /src/main/docker/html/ops/images/folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/ops/images/folder.png -------------------------------------------------------------------------------- /src/main/docker/html/ops/images/logo-desktop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/ops/images/logo-desktop.png -------------------------------------------------------------------------------- /src/main/docker/html/ops/images/logo-mobile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/ops/images/logo-mobile.png -------------------------------------------------------------------------------- /src/main/docker/html/ops/images/node-closed-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/ops/images/node-closed-2.png -------------------------------------------------------------------------------- /src/main/docker/html/ops/images/node-closed-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/ops/images/node-closed-light.png -------------------------------------------------------------------------------- /src/main/docker/html/ops/images/node-closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/ops/images/node-closed.png -------------------------------------------------------------------------------- /src/main/docker/html/ops/images/node-opened-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/ops/images/node-opened-2.png -------------------------------------------------------------------------------- /src/main/docker/html/ops/images/node-opened-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/ops/images/node-opened-light.png -------------------------------------------------------------------------------- /src/main/docker/html/ops/images/node-opened.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/ops/images/node-opened.png -------------------------------------------------------------------------------- /src/main/docker/html/ops/images/sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/ops/images/sample.png -------------------------------------------------------------------------------- /src/main/docker/html/ops/img/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/ops/img/file.png -------------------------------------------------------------------------------- /src/main/docker/html/ops/img/folder-closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/ops/img/folder-closed.png -------------------------------------------------------------------------------- /src/main/docker/html/ops/img/folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/ops/img/folder.png -------------------------------------------------------------------------------- /src/main/docker/html/ops/js/angular-sanitize.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | AngularJS v1.5.7 3 | (c) 2010-2016 Google, Inc. http://angularjs.org 4 | License: MIT 5 | */ 6 | (function(q,e){'use strict';function A(a){var c=[];v(c,e.noop).chars(a);return c.join("")}function h(a,c){var b={},d=a.split(","),l;for(l=0;l/g,">")}function v(a,c){var b=!1,d=e.bind(a,a.push);return{start:function(a,f){a=e.lowercase(a);!b&&F[a]&&(b=a);b||!0!==n[a]||(d("<"),d(a),e.forEach(f,function(b,f){var g=e.lowercase(f),h="img"===a&&"src"===g||"background"===g;!0!==G[g]||!0===y[g]&&!c(b,h)||(d(" "),d(f),d('="'),d(x(b)),d('"'))}),d(">"))},end:function(a){a=e.lowercase(a);b||!0!==n[a]||!0===z[a]||(d(""));a== 9 | b&&(b=!1)},chars:function(a){b||d(x(a))}}}function r(a){if(a.nodeType===q.Node.ELEMENT_NODE)for(var c=a.attributes,b=0,d=c.length;b"\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/ops/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/ops/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/ops/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/ops/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/ops/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/ops/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/ops/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/ops/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/ops/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/ops/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/ops/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/ops/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/ops/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/ops/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/ops/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/ops/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/ops/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/ops/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/ops/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/ops/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/ops/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/ops/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/ops/templates/calendar.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | {{month.format("MMMM, YYYY")}} 4 | 5 |
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/register/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/register/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/register/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/register/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/register/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/register/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/register/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/register/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /src/main/docker/html/register/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/register/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /src/main/docker/html/register/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/register/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/main/docker/html/register/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/register/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /src/main/docker/html/register/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/register/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /src/main/docker/html/register/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/register/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /src/main/docker/html/register/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/register/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /src/main/docker/html/register/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/register/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /src/main/docker/html/register/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/register/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /src/main/docker/html/register/images/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/register/images/file.png -------------------------------------------------------------------------------- /src/main/docker/html/register/images/folder-closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/register/images/folder-closed.png -------------------------------------------------------------------------------- /src/main/docker/html/register/images/folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/register/images/folder.png -------------------------------------------------------------------------------- /src/main/docker/html/register/images/logo-desktop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/register/images/logo-desktop.png -------------------------------------------------------------------------------- /src/main/docker/html/register/images/logo-mobile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/register/images/logo-mobile.png -------------------------------------------------------------------------------- /src/main/docker/html/register/images/node-closed-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/register/images/node-closed-2.png -------------------------------------------------------------------------------- /src/main/docker/html/register/images/node-closed-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/register/images/node-closed-light.png -------------------------------------------------------------------------------- /src/main/docker/html/register/images/node-closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/register/images/node-closed.png -------------------------------------------------------------------------------- /src/main/docker/html/register/images/node-opened-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/register/images/node-opened-2.png -------------------------------------------------------------------------------- /src/main/docker/html/register/images/node-opened-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/register/images/node-opened-light.png -------------------------------------------------------------------------------- /src/main/docker/html/register/images/node-opened.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/register/images/node-opened.png -------------------------------------------------------------------------------- /src/main/docker/html/register/images/sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/register/images/sample.png -------------------------------------------------------------------------------- /src/main/docker/html/register/img/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/register/img/file.png -------------------------------------------------------------------------------- /src/main/docker/html/register/img/folder-closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/register/img/folder-closed.png -------------------------------------------------------------------------------- /src/main/docker/html/register/img/folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenUnison/openunison-k8s/99a155692517f8f15cd43cb429c0fc56d03784de/src/main/docker/html/register/img/folder.png -------------------------------------------------------------------------------- /src/main/docker/html/register/js/angular-sanitize.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | AngularJS v1.5.7 3 | (c) 2010-2016 Google, Inc. http://angularjs.org 4 | License: MIT 5 | */ 6 | (function(q,e){'use strict';function A(a){var c=[];v(c,e.noop).chars(a);return c.join("")}function h(a,c){var b={},d=a.split(","),l;for(l=0;l/g,">")}function v(a,c){var b=!1,d=e.bind(a,a.push);return{start:function(a,f){a=e.lowercase(a);!b&&F[a]&&(b=a);b||!0!==n[a]||(d("<"),d(a),e.forEach(f,function(b,f){var g=e.lowercase(f),h="img"===a&&"src"===g||"background"===g;!0!==G[g]||!0===y[g]&&!c(b,h)||(d(" "),d(f),d('="'),d(x(b)),d('"'))}),d(">"))},end:function(a){a=e.lowercase(a);b||!0!==n[a]||!0===z[a]||(d(""));a== 9 | b&&(b=!1)},chars:function(a){b||d(x(a))}}}function r(a){if(a.nodeType===q.Node.ELEMENT_NODE)for(var c=a.attributes,b=0,d=c.length;b"\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 |
2 | 3 | {{month.format("MMMM, YYYY")}} 4 | 5 |
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 |
2 | 3 | {{month.format("MMMM, YYYY")}} 4 | 5 |
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('