Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • master
  • v11
  • 3.4.1
3 results

Target

Select target project
No results found
Select Git revision
  • master
  • v11
  • 3.4.1
3 results
Show changes
1000 files
+ 0
454659
Compare changes
  • Side-by-side
  • Inline

Files

README.md

deleted100644 → 0
+0 −1
Original line number Diff line number Diff line
Zdroj: https://github.com/keycloak/keycloak/tree/11.0.0/themes/src/main/resources/theme/keycloak

account/resources/css/account.css

deleted100644 → 0
+0 −279
Original line number Diff line number Diff line
html {
    height: 100%;
}

body {
    background-color: #F9F9F9;
    margin: 0;
    padding: 0;
    height: 100%;
}

header .navbar {
    margin-bottom: 0;
    min-height: inherit;
}

.header .container {
    position: relative;
}

.navbar-title {
    background-image: url('../img/piratska-identita.svg');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    height: 56px;
    width: 220px;
    margin: 3px 10px 5px;
    text-indent: -99999px;
}

.navbar-pf .navbar-utility {
	right: 20px;
    top: -34px;
    font-size: 12px;
}

.navbar-pf .navbar-utility > li > a {
    color: #fff !important;
    padding-bottom: 12px;
    padding-top: 11px;
    border-left: medium none;
}

.container {
    height: 100%;
}

.content-area {
    background-color: #fff;
    border-color: #CECECE;
    border-style: solid;
    border-width: 0 1px;
    height: 100%;
    padding: 0 30px;
}

.margin-bottom {
    margin-bottom: 10px;
}

/* Sidebar */

.bs-sidebar {
    background-color: #f9f9f9;
    padding-top: 44px;
    padding-right: 0;
    padding-left: 0;
    z-index: 20;
}
.bs-sidebar ul {
    list-style: none;
    padding-left: 12px;
}

.bs-sidebar ul li {
    margin-bottom: 0.5em;
    margin-left: -1em;
}
.bs-sidebar ul li a {
    font-size: 14px;
    padding-left: 25px;
    color: #4d5258;
    line-height: 28px;
    display: block;
    border-width: 1px 0 1px 1px;
    border-style: solid;
    border-color: #f9f9f9;
}
.bs-sidebar ul li a:hover,
.bs-sidebar ul li a:focus {
    text-decoration: none;
    color: #777777;
    border-right: 2px solid #aaa;
}
.bs-sidebar ul li.active a {
    background-color: #c7e5f0;
    border-color: #56bae0;
    font-weight: bold;
    background-image: url(../img/icon-sidebar-active.png);
    background-repeat: no-repeat;
    background-position: right center;
}

.bs-sidebar ul li.active a:hover {
	border-right: none;
}


.content-area h2 {
    font-family: "Open Sans", sans-serif;
    font-weight: 100;
    font-size: 24px;
    margin-bottom: 25px;
    margin-top: 25px;
}

.subtitle {
    text-align: right;
    margin-top: 30px;
    color: #909090;
}

.required {
    color: #CB2915;
}


.alert {
    margin-top: 30px;
    margin-bottom: 0;
}

.feedback-aligner .alert {
    background-position: 1.27273em center;
    background-repeat: no-repeat;
    border-radius: 2px;
    border-width: 1px;
    color: #4D5258;
    display: inline-block;
    font-size: 1.1em;
    line-height: 1.4em;
    margin: 0;
    padding: 0.909091em 3.63636em;
    position: relative;
    text-align: left;
}
.alert.alert-success {
    background-color: #E4F1E1;
    border-color: #4B9E39;
}
.alert.alert-error {
    background-color: #F8E7E7;
    border-color: #B91415;
}
.alert.alert-warning {
    background-color: #FEF1E9;
    border-color: #F17528;
}
.alert.alert-info {
    background-color: #E4F3FA;
    border-color: #5994B2;
}

.form-horizontal {
    border-top: 1px solid #E9E8E8;
    padding-top: 23px;
}

.form-horizontal .control-label {
    color: #909090;
    line-height: 1.4em;
    padding-top: 5px;
    position: relative;
    text-align: right;
    width: 100%;
}

.form-group {
    position: relative;
}

.control-label + .required {
    position: absolute;
    right: -2px;
    top: 0;
}

#kc-form-buttons {
    text-align: right;
    margin-top: 10px;
}

#kc-form-buttons .btn-primary {
    float: right;
    margin-left: 8px;
}

/* Authenticator page */

ol {
    padding-left: 40px;
}

ol li {
    font-size: 13px;
    margin-bottom: 10px;
    position: relative;
}

ol li img {
    margin-top: 15px;
    margin-bottom: 5px;
    border: 1px solid #eee;
}

hr + .form-horizontal {
    border: none;
    padding-top: 0;
}

.kc-dropdown{
    position: relative;
}
.kc-dropdown > a{
    display:block;
    padding: 11px 10px 12px;
    line-height: 12px;
    font-size: 12px;
    color: #fff !important;
    text-decoration: none;
}
.kc-dropdown > a::after{
    content: "\2c5";
    margin-left: 4px;
}
.kc-dropdown:hover > a{
    background-color: rgba(0,0,0,0.2);
}
.kc-dropdown ul li a{
    padding: 1px 11px;
    font-size: 12px;
    color: #000 !important;
    border: 1px solid #fff;
    text-decoration: none;
    display:block;
    line-height: 20px;
}
.kc-dropdown ul li a:hover{
    color: #4d5258;
    background-color: #d4edfa;
    border-color: #b3d3e7;
}
.kc-dropdown ul{
    position: absolute;
    z-index: 2000;
    list-style:none;
    display:none;
    padding: 5px 0px;
    margin: 0px;
    background-color: #fff !important;
    border: 1px solid #b6b6b6;
    border-radius: 1px;
    -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    background-clip: padding-box;
    min-width: 100px;
}
.kc-dropdown:hover ul{
    display:block;
}


#kc-totp-secret-key {
    border: 1px solid #eee;
    font-size: 16px;
    padding: 10px;
    margin: 50px 0;
}
+0 −121
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   id="Vrstva_1"
   viewBox="0 0 2260.913 315.99665"
   version="1.1"
   width="598.19989mm"
   height="83.607445mm">
  <metadata
     id="metadata1114">
    <rdf:RDF>
      <cc:Work
         rdf:about="">
        <dc:format>image/svg+xml</dc:format>
        <dc:type
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
        <dc:title></dc:title>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <defs
     id="defs1112">
    <rect
       id="rect1666"
       height="532.5177"
       width="2334.6355"
       y="-1.6235296"
       x="415.62354" />
  </defs>
  <style
     id="style1101">
    .st0{fill:none}
  </style>
  <g
     transform="translate(4.1e-7,13.634443)"
     style="fill:#ffffff"
     id="g1672">
    <path
       style="fill:#ffffff;stroke-width:6.88752"
       id="path1103"
       d="M 151.52548,2.4e-7 C 110.8891,2.4e-7 73.00773,15.8413 44.768891,44.080139 15.841299,72.318978 -4.1e-7,110.8891 -4.1e-7,150.83673 c 0,40.63637 15.84129941,78.51774 44.08013841,107.44533 28.927592,28.23884 66.808962,44.08014 106.756582,44.08014 40.63638,0 78.51775,-15.8413 106.75659,-44.08014 28.92759,-28.23883 44.08014,-66.80896 44.08014,-106.75658 0,-40.63638 -15.8413,-78.51775 -44.08014,-106.756589 C 230.04322,15.152548 192.16186,2.4000002e-7 151.52548,2.4000002e-7 M 151.52548,287.89841 c -75.762742,0 -137.061685,-61.29895 -137.061685,-137.06168 0,-75.762743 61.298943,-137.061686 137.061685,-137.061686 75.76274,0 137.06168,61.298943 137.06168,137.061686 0,75.76273 -61.29894,137.06168 -137.06168,137.06168" />
    <path
       style="fill:#ffffff;stroke-width:6.88752"
       id="path1105"
       d="M 106.06783,61.298943 V 39.947626 H 92.981543 v 24.795078 c -8.953779,2.755009 -14.463796,5.510018 -13.086292,7.576274 2.755009,-0.688752 7.576274,-1.377504 13.086292,-0.688752 V 198.36063 c -13.775044,26.17258 6.198769,66.80896 6.198769,66.80896 0,0 -14.463796,-43.39139 17.907558,-64.05396 29.61634,-18.5963 132.92917,-10.33128 132.24042,-68.18646 C 248.63953,50.967661 153.59173,50.967661 106.06783,61.298943 m 42.01389,79.895257 c -4.82127,22.04006 -28.23884,33.0601 -42.70264,42.70263 V 73.00773 c 24.10633,5.510018 52.34517,24.106326 42.70264,68.18647" />
  </g>
  <g
     style="font-style:normal;font-weight:normal;font-size:333.33300000000002683px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1666);fill:#ffffff;fill-opacity:1;stroke:none"
     id="text1664"
     transform="translate(-51.952943,-15.153709)"
     aria-label="PIRÁTSKÁ IDENTITA">
    <path
       id="path941"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 429.2897,69.153656 h 53.99995 q 27.3333,0 40.99996,14.666653 13.66665,14.666652 13.66665,42.999961 v 22.99997 q 0,28.33331 -13.66665,42.99996 -13.66666,14.66665 -40.99996,14.66665 h -17.33332 v 94.99991 H 429.2897 Z m 53.99995,104.999894 q 8.99999,0 13.33332,-4.99999 4.66666,-5 4.66666,-16.99998 v -27.66664 q 0,-11.99999 -4.66666,-16.99999 -4.33333,-4.99999 -13.33332,-4.99999 h -17.33332 v 71.66659 z" />
    <path
       id="path943"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 558.19583,69.153656 h 36.66663 V 302.48676 h -36.66663 z" />
    <path
       id="path945"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 621.99785,69.153656 h 54.33328 q 28.3333,0 41.33329,13.333321 12.99999,12.999987 12.99999,40.333293 v 14.33332 q 0,36.3333 -23.99998,45.99995 v 0.66667 q 13.33332,4 18.66665,16.33332 5.66666,12.33332 5.66666,32.99997 v 40.99996 q 0,9.99999 0.66666,16.33331 0.66667,6 3.33333,11.99999 h -37.33329 q -2,-5.66666 -2.66667,-10.66665 -0.66666,-5 -0.66666,-17.99999 V 231.1535 q 0,-15.99999 -5.33333,-22.33331 -5,-6.33333 -17.66665,-6.33333 h -12.66665 v 99.9999 h -36.66663 z m 49.99995,99.999904 q 10.99999,0 16.33331,-5.66666 5.66667,-5.66666 5.66667,-18.99998 v -17.99999 q 0,-12.66665 -4.66667,-18.33331 -4.33333,-5.66666 -13.99998,-5.66666 h -16.66665 v 66.6666 z" />
    <path
       id="path947"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 784.44561,69.153656 h 49.66662 l 37.99996,233.333104 h -36.66663 l -6.66666,-46.33329 v 0.66667 h -41.66663 l -6.66666,45.66662 H 746.44564 Z M 824.44557,225.1535 808.11225,109.82028 h -0.66667 L 791.4456,225.1535 Z M 812.77891,15.153709 h 39.99996 L 817.11224,53.487005 H 789.4456 Z" />
    <path
       id="path949"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 902.61738,102.48696 h -38.3333 V 69.153656 h 113.33323 v 33.333304 h -38.3333 v 199.9998 h -36.66663 z" />
    <path
       id="path951"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 1042.711,305.82009 q -26.6667,0 -40.3333,-14.99998 -13.66669,-15.33332 -13.66669,-43.66663 v -13.33332 h 34.66659 v 15.99999 q 0,22.66664 19,22.66664 9.3334,0 14,-5.33333 5,-5.66666 5,-17.99998 0,-14.66665 -6.6667,-25.66664 -6.6666,-11.33332 -24.6666,-26.99997 -22.6666,-19.99999 -31.66663,-35.99997 -8.99999,-16.33332 -8.99999,-36.66663 0,-27.66664 14.00002,-42.666625 14,-15.333319 40.6666,-15.333319 26.3333,0 39.6666,15.333319 13.6667,14.999985 13.6667,43.333295 v 9.66665 h -34.6667 V 122.1536 q 0,-11.99998 -4.6666,-17.33331 -4.6667,-5.666663 -13.6667,-5.666663 -18.3333,0 -18.3333,22.333313 0,12.66665 6.6667,23.66664 7,10.99999 24.9999,26.66664 23,19.99998 31.6667,36.3333 8.6666,16.33332 8.6666,38.3333 0,28.66664 -14.3333,43.99995 -14,15.33332 -40.9999,15.33332 z" />
    <path
       id="path953"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 1118.7422,69.153656 h 36.6666 v 98.333234 l 46.6666,-98.333234 h 36.6666 l -43.6666,85.666584 44.3333,147.66652 h -38.3333 l -31,-103.9999 -14.6666,29.66664 v 74.33326 h -36.6666 z" />
    <path
       id="path955"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 1285.0962,69.153656 h 49.6666 l 37.9999,233.333104 h -36.6666 l -6.6667,-46.33329 v 0.66667 h -41.6666 l -6.6666,45.66662 h -34 z m 39.9999,155.999844 -16.3333,-115.33322 h -0.6667 l -16,115.33322 z M 1313.4295,15.153709 h 39.9999 l -35.6666,38.333296 h -27.6667 z" />
    <path
       id="path957"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 1443.6116,69.153656 h 36.6666 V 302.48676 h -36.6666 z" />
    <path
       id="path959"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 1507.4136,69.153656 h 55.9999 q 27.3334,0 41,14.666653 13.6667,14.666652 13.6667,42.999961 v 117.99988 q 0,28.33331 -13.6667,42.99996 -13.6666,14.66665 -41,14.66665 h -55.9999 z m 55.3333,199.999804 q 9,0 13.6666,-5.33333 5,-5.33333 5,-17.33331 V 125.1536 q 0,-11.99999 -5,-17.33331 -4.6666,-5.33333 -13.6666,-5.33333 h -18.6667 v 166.6665 z" />
    <path
       id="path961"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 1642.8302,69.153656 h 99.9999 v 33.333304 h -63.3332 v 61.6666 h 50.3332 v 33.3333 h -50.3332 v 71.6666 h 63.3332 v 33.3333 h -99.9999 z" />
    <path
       id="path963"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 1763.9239,69.153656 h 45.9999 l 35.6666,139.666534 h 0.6667 V 69.153656 h 32.6666 V 302.48676 h -37.6666 l -43.9999,-170.33317 h -0.6667 v 170.33317 h -32.6666 z" />
    <path
       id="path965"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 1935.1684,102.48696 h -38.3333 V 69.153656 h 113.3332 v 33.333304 h -38.3333 v 199.9998 h -36.6666 z" />
    <path
       id="path967"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 2027.5954,69.153656 h 36.6666 V 302.48676 h -36.6666 z" />
    <path
       id="path969"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 2120.0641,102.48696 h -38.3333 V 69.153656 h 113.3333 v 33.333304 h -38.3333 v 199.9998 h -36.6667 z" />
    <path
       id="path971"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 2225.1994,69.153656 h 49.6666 l 38,233.333104 h -36.6666 l -6.6667,-46.33329 v 0.66667 h -41.6666 l -6.6667,45.66662 h -33.9999 z m 40,155.999844 -16.3333,-115.33322 h -0.6667 l -16,115.33322 z" />
  </g>
</svg>

account/theme.properties

deleted100644 → 0
+0 −13
Original line number Diff line number Diff line
parent=base

styles=css/account.css
stylesCommon=node_modules/patternfly/dist/css/patternfly.min.css node_modules/patternfly/dist/css/patternfly-additions.min.css

##### css classes for form buttons
# main class used for all buttons
kcButtonClass=btn
# classes defining priority of the button - primary or default (there is typically only one priority button for the form)
kcButtonPrimaryClass=btn-primary
kcButtonDefaultClass=btn-default
# classes defining size of the button
kcButtonLargeClass=btn-lg

admin/resources/css/styles.css

deleted100755 → 0
+0 −480
Original line number Diff line number Diff line
html,body {
    height: 100%;
}

form {
    margin-top: 20px;
}

table {
    margin-top: 20px;
}

.required {
    color: #f00;
}

.tooltip-inner {
    min-width: 200px;
}

.margin-top {
    margin-top: 20px;
}

.no-margin-top {
    margin-top: 0px !important;
}

table {
    max-width: 100%;
}

td.clip {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 0;
}

th.w-10 {
    width: 10%;
}

th.w-15 {
    width: 15%;
}

th.w-20 {
    width: 20%;
}


th.w-25 {
    width: 25%;
}

th.w-30 {
    width: 30%;
}


th.w-35 {
    width: 35%;
}

th.w-40 {
    width: 40%;
}

/*********** Loading ***********/

.loading {
    background-color: #f5f5f5;
    border: 1px solid #eee;
    position: absolute;
    bottom: 0px;
    left: 0px;
    padding: 2px 200px 2px 5px;
}

/*********** Feedback ***********/

.feedback-aligner {
    position: fixed;
    top: 15px;
    text-align: center;
    width: 100%;
    height: 0;
    z-index: 100;
}
.feedback-aligner .alert {
    border-radius: 2px;
    border-width: 1px;
    display: inline-block;
    position: relative;
}

/*********** On-Off Switch  ***********/

.onoffswitch {
    -moz-user-select: none;
    height: 26px;
    position: relative;
    width: 62px;
}
.onoffswitch .onoffswitch-checkbox {
    display: none;
}
.onoffswitch .onoffswitch-label {
    border: 1px solid #bbb;
    border-radius: 2px;
    cursor: pointer;
    display: block;
    overflow: hidden;
    width: 62px;
}
.onoffswitch .onoffswitch-inner {
    display: block;
    margin-left: -100%;
    transition: margin 0.3s ease-in 0s;
    width: 200%;
}
.onoffswitch .onoffswitch-inner > span {
    -moz-box-sizing: border-box;
    color: white;
    float: left;
    font-size: 11px;
    font-family: "Open Sans", sans-serif;
    font-weight: bold;
    height: 24px;
    line-height: 24px;
    padding: 0;
    width: 50%;
}
.onoffswitch .onoffswitch-switch {
    background-image: linear-gradient(top, #fafafa 0%, #ededed 100%);
    background-image: -o-linear-gradient(top, #fafafa 0%, #ededed 100%);
    background-image: -moz-linear-gradient(top, #fafafa 0%, #ededed 100%);
    background-image: -webkit-linear-gradient(top, #fafafa 0%, #ededed 100%);
    background-image: -ms-linear-gradient(top, #fafafa 0%, #ededed 100%);
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fafafa), color-stop(1, 0, #ededed));
    border: 1px solid #aaa;
    border-radius: 2px;
    bottom: 0;
    margin: 0;
    position: absolute;
    right: 39px;
    top: 0;
    transition: all 0.3s ease-in 0s;
    -webkit-transition: all 0.3s ease-in 0s;
    width: 23px;
}
.onoffswitch .onoffswitch-inner .onoffswitch-active {
    background-image: linear-gradient(top, #00a9ec 0%, #009bd3 100%);
    background-image: -o-linear-gradient(top, #00a9ec 0%, #009bd3 100%);
    background-image: -moz-linear-gradient(top, #00a9ec 0%, #009bd3 100%);
    background-image: -webkit-linear-gradient(top, #00a9ec 0%, #009bd3 100%);
    background-image: -ms-linear-gradient(top, #00a9ec 0%, #009bd3 100%);
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #00a9ec), color-stop(1, 0, #009bd3));
    color: #FFFFFF;
    padding-left: 10px;
}
.onoffswitch-checkbox:disabled + .onoffswitch-label .onoffswitch-inner .onoffswitch-active,
.onoffswitch-checkbox:disabled + .onoffswitch-label .onoffswitch-inner .onoffswitch-inactive {
    background-image: none;
    background-color: #e5e5e5;
    color: #9d9fa1;
}
.onoffswitch .onoffswitch-inner .onoffswitch-inactive {
    background: linear-gradient(#fefefe, #e8e8e8) repeat scroll 0 0 transparent;
    color: #4d5258;
    padding-right: 10px;
    text-align: right;
}
.onoffswitch .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {
    margin-left: 0;
}
.onoffswitch .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
    right: 0;
}


/*********** Select 2 ***********/

.select2-container {
    width: 100%;
}

.select2-container-multi .select2-choices .select2-search-field {
    height: 26px;
}

/*********** html select ********/
.overflow-select {
    overflow: auto;
}


/*********** New Menu ***********/


.sidebar-pf-left{
  background: #292e34;
}

.sidebar-pf .nav-pills > li a i, .sidebar-pf .nav-pills > li a span{
  color:  #72767b;
  display: inline-block;
  margin-right: 10px;
}
.sidebar-pf .nav-pills > li > a{
  color: #dbdada;
  padding: 0px 20px 0 30px!important;
  line-height: 30px;
  border-left-width: 12px;
  border-left-style:  solid;
  border-left-color: #292e34;
  margin-left: -6px;
}

.sidebar-pf .nav-pills > li > a:hover{
  background: #393f44;
  border-color:#292e34;
  border-left-color: #393f44;
  color: #fff;
}

.sidebar-pf .nav-pills > li > a:after{
  display: none!important;
}


.sidebar-pf .nav-pills > li.active > a {
  color: #fff;
  background: #393f44!important;
  border-bottom: 1px solid #000!important;
  border-top: 1px solid #000!important;
  border-left-color: #39a5dc!important;
}

.sidebar-pf .nav-pills > li.active a i, .sidebar-pf .nav-pills > li.active a span{
  color: #39a5dc;
}

/*********** Realm selector ***********/

.realm-selector{
  color: #fff;
  margin: 0 -20px;
  position: relative;
}

.realm-dropmenu{
  display: none;
  cursor: pointer;
  position: absolute;
  top: 60px;
  left: 0;
  right: 0;
  z-index: 999;
  background: #fff;
}

.realm-selector:hover .realm-dropmenu{
  display: block;
}

.realm-add{
  padding: 10px;
}

.realm-selector h2{
  font-size: 16px;
  line-height: 60px;
  padding: 0 20px;
  margin: 0;
  border-bottom: 1px solid #d5d5d6;
}

.realm-selector h2 i{
  display: inline-block;
  float: right;
  line-height: 60px;
}


.realm-selector ul{
  padding-left: 0;
  margin: 0;
  list-style: none;
  max-height: 200px;
  overflow-y:auto;
}


.realm-selector ul li a{
  line-height: 60px;
  padding: 0 20px;
  border-bottom: 1px solid #d5d5d6;
  line-height: 39px;
  display: block;
  font-size: 14px;
}


/*********** Overwrites header defaults ***********/

.navbar-pf{
  border-top: none!important;
}

.navbar-pf .navbar-brand {
  padding: 0;
  height: 56px;
  line-height: 56px;
  background-position: center center;
  background-image: url('../img/piratska-identita.svg');
  background-size: 100%;
  background-repeat: no-repeat;
  width: 220px;
}

.navbar-pf .navbar-utility .dropdown-toggle {
    padding: 23px !important;
}

.clickable {
    cursor: pointer;
}

h1 i {
    color: #999999;
    font-size: 18px;
    margin-left: 10px;
}

/* Action cell */
.kc-action-cell {
    background-color: #eeeeee;
    background-image: linear-gradient(to bottom, #fafafa 0%, #ededed 100%);
    background-repeat: repeat-x;

    text-align: center;
    vertical-align: middle;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    cursor:pointer;
}

.kc-action-cell:hover {
    background-color: #eeeeee;
    background-image: none;
}

.kc-sorter span {
    margin-left: 10px;
}


/* Time selector */

.time-selector input {
    display: inline-block;
    width: 120px;
    padding-right: 0;
    margin-right: 0;
}

.time-selector select {
    display: inline-block;
    width: 80px;
    margin-left: 0;
    padding-left: 0;
}

.ace_editor {
    height: 600px;
    width: 100%;
}

.kc-button-input-file input {
    float: left;
    width: 73%;
}

.kc-button-input-file label {
    float: left;
    margin-left: 2%;
    width: 25%;
}

table.kc-authz-table-expanded {
    margin-top: 0px !important;
}

.no-gutter > [class*='col-'] {
    padding-right:0!important;
    padding-left:0!important;
}

.password-conceal {
  font-family: 'text-security-disc';
  font-size: 14px;
}

/* Deactivation styles for user-group membership tree models */

div[tree-model] li .deactivate {
    color: #4a5053;
    opacity: 0.4;
}

div[tree-model] li .deactivate_selected {
    background-color: #dcdcdc;
    font-weight: bold;
    padding: 1px 5px;
}

/* search highlighting */

div[tree-model] li .highlight {
    background-color: #aaddff;
}

/* Manage credentials */
table.credentials-table {
    margin-top: 0;
    margin-bottom: 20px;
}

table.credentials-table td {
    vertical-align: middle !important;
}

table.credentials-table input[type='text'] {
    width: 100%;
}

td.credential-arrows-cell {
    width: 75px;
}

td.credential-label-cell {
    padding: 5px !important;
}

td.credential-action-cell {
    padding: 0px !important;
}

td.credential-action-cell div.kc-action-cell {
    width: 100%;
    height: 36px;
    line-height: 34px;
}

td.credential-action-cell.expanded div.kc-action-cell {
    border-bottom: 1px solid #d1d1d1;
}

table.credential-data-table td {
    word-break: break-all;
}

table.credential-data-table tr:first-child td {
    border-top: 0;
}

table.credential-data-table td:first-child {
    width: 150px;
}

table.credential-data-table td.key {
    text-align: right;
    font-weight: bold;
}
+0 −194
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg"  x="0px" y="0px"
	 viewBox="-145.2 359 325.4 77.2" enable-background="new -145.2 359 325.4 77.2" xml:space="preserve">
<g>
	<g>
		<path fill="none" stroke="#FFFFFF" stroke-width="7" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
			M-79.1,393.1c-7.2,5-14.7,3.7-23.2-3.4c-4.9-4.1-11.2-2.8-15.4-1.5c-2.6,0.8-6.3,0.7-9.5,0.1c-14-2.9-10.9,6-8.3,14
			c4.8,14.6-3.2,18-6,12.8c-1.8,6.6,7.1,8.6,10.9,7.7c6-1.4,14.1-2.2,19-0.6c9.5,2.9,13.1,0.5,11.5-2.6c-0.5-1-0.2-2.4,0.6-3.1
			c2.8-2.4,5.3-0.4,8-1.9c2.1-1.2,2.1-3.9-1.2-5.5c-1.7-0.8-1.6-2.9,0.2-3.8c3.7-2,8.8-1,10-5.1C-81.9,398.7-80.7,395-79.1,393.1z"
			/>
		<path fill="none" stroke="#FFFFFF" stroke-width="7" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
			M-112.4,367.4c-1.1-0.6-4.3-2.6-5.1-3.1c-0.8-0.5-2.7-1.9-4.8-1.9s-4,1.4-4.8,1.9c-0.8,0.5-4,2.5-5.1,3.1c-0.8,0.5-3.7,2-3.7,6.3
			c0,1.3,0,3.6,0,4.5c0,2.8,1.6,5,4.5,6.4c1,0.5,1.8,1.3,1.8,3.5c0,0.9,0.4,1.2,0.9,1.2h0.7c0.6,0,1,0.2,1,1.3c0,0.6,0,2.1,0,2.1
			v37.2l2.7,2.8h1.2l5.7-5.8v-34.2c0,0,0-1.5,0-2.1c0-1,0.3-1.3,1-1.3h0.7c0.6,0,0.9-0.2,0.9-1.2c0-2.1,0.8-3,1.8-3.5
			c2.9-1.5,4.5-3.6,4.5-6.4c0-1,0-3.2,0-4.5C-108.7,369.5-111.6,367.9-112.4,367.4z"/>
	</g>
	
		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-227.7191" y1="2220.7964" x2="-165.056" y2="2220.7964" gradientTransform="matrix(1 0 0 1 86 -1815.5)">
		<stop  offset="0" style="stop-color:#FDFDFD"/>
		<stop  offset="0.1452" style="stop-color:#F4F5F5"/>
		<stop  offset="0.6844" style="stop-color:#D9DBDB"/>
		<stop  offset="1" style="stop-color:#CFD1D1"/>
	</linearGradient>
	<path fill="url(#SVGID_1_)" d="M-79.1,393.1c-7.2,5-14.7,3.7-23.2-3.4c-4.9-4.1-11.2-2.8-15.4-1.5c-2.6,0.8-6.3,0.7-9.5,0.1
		c-14-2.9-10.9,6-8.3,14c4.8,14.6-3.2,18-6,12.8c-1.8,6.6,7.1,8.6,10.9,7.7c6-1.4,14.1-2.2,19-0.6c9.5,2.9,13.1,0.5,11.5-2.6
		c-0.5-1-0.2-2.4,0.6-3.1c2.8-2.4,5.3-0.4,8-1.9c2.1-1.2,2.1-3.9-1.2-5.5c-1.7-0.8-1.6-2.9,0.2-3.8c3.7-2,8.8-1,10-5.1
		C-81.9,398.7-80.7,395-79.1,393.1z"/>
	
		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="192.3203" y1="1507.8835" x2="184.0467" y2="1507.8835" gradientTransform="matrix(1 0 0 1 -302 -1102)">
		<stop  offset="0" style="stop-color:#E6E6E6"/>
		<stop  offset="1" style="stop-color:#B2B3B3"/>
	</linearGradient>
	<path fill="url(#SVGID_2_)" d="M-115,391.3c0,5,0.7,22.8,4.5,30.4l-8.7-0.2v-31.5L-115,391.3z"/>
	
		<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="-200.8627" y1="2227.3811" x2="-193.8624" y2="2207.8804" gradientTransform="matrix(1 0 0 1 86 -1815.5)">
		<stop  offset="0" style="stop-color:#F6F6F6"/>
		<stop  offset="1" style="stop-color:#B2B3B3"/>
	</linearGradient>
	<path fill="url(#SVGID_3_)" d="M-134.6,403.1c-2.8-7.5-6.5-16.6,7.5-13.7c3.2,0.7,6.9,0.7,9.5-0.1c4.3-1.3,10-2.4,14.5,1.5
		c8.9,7.7,16.9,8.3,24.1,3.3c-1.6,1.9-3.1,5.6-3.3,7.1c-0.2,1.3-1.1,1.9-2.4,2.4c-18.5,7.5-15.4-5.3-21.4-9.5
		c-3.2-2.2-7.7-2.1-11.2-0.8c-3.2,1.2-6.4,0.9-9.8-0.4C-132.9,390.8-136.7,391.9-134.6,403.1z"/>
	<line fill="none" stroke="#FFFFFF" stroke-width="3.5" stroke-miterlimit="10" x1="-117.4" y1="421.8" x2="-117.4" y2="390.6"/>
	<g opacity="0.75">
		<path fill="#FFFFFF" d="M-110.3,389c2.7,0,4.9,0.7,6.8,2.3c5.5,4.6,10.6,6.8,15.6,6.8c1.5,0,2.9-0.2,4.4-0.6
			c-0.3,0.9-0.6,1.6-0.7,2.1c-0.4,1.4-1.6,1.8-4.4,2.4c-1.5,0.3-3.1,0.7-4.7,1.5c-1.6,0.8-2.5,2.3-2.5,3.9c0,1.5,0.9,2.8,2.4,3.5
			c1.2,0.5,1.5,1.1,1.5,1.4c0,0.3-0.3,0.5-0.5,0.6c-0.6,0.3-1.2,0.4-2.1,0.4c-0.2,0-0.3,0-0.5,0c-0.2,0-0.4,0-0.5,0
			c-1.6,0-3.4,0.2-5.2,1.7c-1.5,1.3-2,3.7-1.1,5.6c0.1,0.3,0.1,0.4,0.1,0.4c-0.1,0.1-0.8,0.6-2.6,0.6c-1.8,0-4.1-0.4-6.7-1.2
			c-2-0.6-4.5-0.9-7.5-0.9c-3.8,0-8.4,0.6-12.6,1.5c-0.4,0.1-0.9,0.1-1.5,0.1c-1.9,0-4.2-0.5-5.7-1.6c1.7,0,3.3-0.9,4.4-2.4
			c1.3-1.8,3.2-6.3,0.2-15.3l-0.1-0.2c-1.3-3.9-2.9-8.8-1.5-10.7c0.5-0.7,1.6-1.1,3.4-1.1c1.2,0,2.6,0.2,4.3,0.5
			c1.8,0.4,3.6,0.6,5.4,0.6c1.9,0,3.7-0.2,5.1-0.7C-115.4,389.7-112.9,389-110.3,389 M-110.3,387c-2.7,0-5.2,0.6-7.3,1.3
			c-1.3,0.4-2.9,0.6-4.6,0.6c-1.6,0-3.4-0.2-5-0.5c-1.9-0.4-3.4-0.6-4.7-0.6c-8.5,0-5.9,7.7-3.6,14.6c3.4,10.4,0.3,15.1-2.7,15.1
			c-1.2,0-2.5-0.8-3.3-2.3c-1.5,5.6,4.8,7.9,9,7.9c0.7,0,1.4-0.1,2-0.2c3.7-0.8,8.1-1.5,12.2-1.5c2.5,0,4.9,0.2,6.9,0.8
			c3,0.9,5.5,1.3,7.3,1.3c4,0,5.3-1.8,4.2-3.9c-0.5-1-0.2-2.4,0.6-3.1c1.4-1.2,2.7-1.3,3.9-1.3c0.3,0,0.7,0,1,0c1,0,2-0.1,3.1-0.7
			c2.1-1.2,2.1-3.9-1.2-5.5c-1.7-0.8-1.6-2.9,0.2-3.8c3.7-2,8.8-1,10-5.1c0.4-1.5,1.7-5.2,3.3-7.1c-2.9,2-5.9,3-8.9,3
			c-4.5,0-9.2-2.2-14.3-6.4C-104.7,387.7-107.6,387-110.3,387L-110.3,387z M-79.1,393.1L-79.1,393.1L-79.1,393.1z"/>
	</g>
	<path fill="none" stroke="#034672" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
		M-79.1,393.1c-7.2,5-14.7,3.7-23.2-3.4c-4.9-4.1-11.2-2.8-15.4-1.5c-2.6,0.8-6.3,0.7-9.5,0.1c-14-2.9-10.9,6-8.3,14
		c4.8,14.6-3.2,18-6,12.8c-1.8,6.6,7.1,8.6,10.9,7.7c6-1.4,14.1-2.2,19-0.6c9.5,2.9,13.1,0.5,11.5-2.6c-0.5-1-0.2-2.4,0.6-3.1
		c2.8-2.4,5.3-0.4,8-1.9c2.1-1.2,2.1-3.9-1.2-5.5c-1.7-0.8-1.6-2.9,0.2-3.8c3.7-2,8.8-1,10-5.1C-81.9,398.7-80.7,395-79.1,393.1z"/>
	<path fill="#034672" d="M-134.6,402.1c-2.8-7.5-6.5-16.6,7.5-13.7c3.2,0.7,6.9,0.7,9.5-0.1c4.3-1.3,10-2.4,14.5,1.5
		c8.9,7.7,16.9,8.3,24.1,3.3c-1.6,1.9-3.1,5.6-3.3,7.1c-0.2,1.3-1.1,1.9-2.4,2.4c-13.1,4.8-14.1-5.5-20.1-9.7
		c-3.2-2.2-9-1.9-12.5-0.6c-3.2,1.2-6.4,0.9-9.8-0.4C-132.9,389.8-136.7,390.9-134.6,402.1z"/>
	<path fill="#FFFFFF" d="M-112.4,367.4c-1.1-0.6-4.3-2.6-5.1-3.1c-0.8-0.5-2.7-1.9-4.8-1.9s-4,1.4-4.8,1.9c-0.8,0.5-4,2.5-5.1,3.1
		c-0.8,0.5-3.7,2-3.7,6.3c0,1.3,0,3.6,0,4.5c0,2.8,1.6,5,4.5,6.4c1,0.5,1.8,1.3,1.8,3.5c0,0.9,0.4,1.2,0.9,1.2h0.7
		c0.6,0,1,0.2,1,1.3c0,0.6,0,2.1,0,2.1v37.2l2.7,2.8h1.2l5.7-5.8v-34.2c0,0,0-1.5,0-2.1c0-1,0.3-1.3,1-1.3h0.7
		c0.6,0,0.9-0.2,0.9-1.2c0-2.1,0.8-3,1.8-3.5c2.9-1.5,4.5-3.6,4.5-6.4c0-1,0-3.2,0-4.5C-108.7,369.5-111.6,367.9-112.4,367.4z"/>
	
		<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="-217.9037" y1="2215.0122" x2="-187.068" y2="2207.345" gradientTransform="matrix(1 0 0 1 86 -1815.5)">
		<stop  offset="0" style="stop-color:#B8D7E9"/>
		<stop  offset="0.3324" style="stop-color:#CCE3F1"/>
		<stop  offset="0.6937" style="stop-color:#DAEBF7"/>
		<stop  offset="1" style="stop-color:#DFEEF9"/>
	</linearGradient>
	<path fill="url(#SVGID_4_)" d="M-112.4,367.4c-1.1-0.6-4.3-2.6-5.1-3.1c-0.8-0.5-2.7-1.9-4.8-1.9v69.3l4.8-4.9v-34.2
		c0,0,0-1.5,0-2.1c0-1,0.3-1.3,1-1.3h0.7c0.6,0,0.9-0.2,0.9-1.2c0-2.1,0.8-3,1.8-3.5c2.9-1.5,4.5-3.6,4.5-6.4c0-1,0-3.2,0-4.5
		C-108.7,369.5-111.6,367.9-112.4,367.4z"/>
	
		<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="-214.9444" y1="2190.8406" x2="-206.3191" y2="2233.0925" gradientTransform="matrix(1 0 0 1 86 -1815.5)">
		<stop  offset="0" style="stop-color:#F1F9FE"/>
		<stop  offset="0.4254" style="stop-color:#E9F5FD"/>
		<stop  offset="1" style="stop-color:#E4F3FD"/>
	</linearGradient>
	<path fill="url(#SVGID_5_)" d="M-122.3,362.5c-2.1,0-4,1.4-4.8,1.9c-0.8,0.5-4,2.5-5.1,3.1c-0.8,0.5-3.7,2-3.7,6.3
		c0,1.3,0,3.6,0,4.5c0,2.8,1.6,5,4.5,6.4c1,0.5,1.8,1.3,1.8,3.5c0,0.9,0.4,1.2,0.9,1.2h0.7c0.6,0,1,0.2,1,1.3c0,0.6,0,2.1,0,2.1
		v37.2l2.7,2.8h1.2l0.9-0.9L-122.3,362.5L-122.3,362.5z"/>
	<path fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" d="M-122.6,362.5c1.9,0.9,3.4,2,4.2,2.4
		c0.8,0.5,4,2.5,5.1,3.1c0.8,0.5,3.7,2,3.7,6.3c0,1.3,0,2.8,0,3.8c0,2.8-1.6,5-4.5,6.4c-1,0.5-1.8,1.4-1.8,3.6v1.2"/>
	<path fill="none" stroke="#034672" stroke-width="2" stroke-miterlimit="10" d="M-112.4,367.4c-1.1-0.6-4.3-2.6-5.1-3.1
		c-0.8-0.5-2.7-1.9-4.8-1.9s-4,1.4-4.8,1.9c-0.8,0.5-4,2.5-5.1,3.1c-0.8,0.5-3.7,2-3.7,6.3c0,1.3,0,3.6,0,4.5c0,2.8,1.6,5,4.5,6.4
		c1,0.5,1.8,1.3,1.8,3.5c0,0.9,0.4,1.2,0.9,1.2h0.7c0.6,0,1,0.2,1,1.3c0,0.6,0,2.1,0,2.1v37.2l2.7,2.8h1.2l5.7-5.8v-34.2
		c0,0,0-1.5,0-2.1c0-1,0.3-1.3,1-1.3h0.7c0.6,0,0.9-0.2,0.9-1.2c0-2.1,0.8-3,1.8-3.5c2.9-1.5,4.5-3.6,4.5-6.4c0-1,0-3.2,0-4.5
		C-108.7,369.5-111.6,367.9-112.4,367.4z"/>
	<path fill="#E9F6FE" stroke="#034672" stroke-width="2" stroke-miterlimit="10" d="M-107.5,392.7"/>
	<g>
		
			<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="-106.4885" y1="2203.667" x2="-106.4885" y2="2254.552" gradientTransform="matrix(1 0 0 1 86 -1815.5)">
			<stop  offset="0" style="stop-color:#FFFFFE"/>
			<stop  offset="0.4815" style="stop-color:#F2F1F1"/>
			<stop  offset="1" style="stop-color:#E9E7E8"/>
		</linearGradient>
		<path fill="url(#SVGID_6_)" d="M-14.5,407.6h-11.6c0.3,2.3,1,3.9,2.1,4.7s2.9,1.2,5.5,1.2c3.4,0,7.4-0.2,12-0.7l0.9,6
			c-3.3,1.6-8,2.4-14,2.4c-6,0-10.3-1.3-12.9-3.9c-2.6-2.6-3.8-6.9-3.8-12.9c0-6.3,1.2-10.7,3.7-13.2c2.5-2.5,6.7-3.8,12.6-3.8
			c5.3,0,9.2,0.9,11.6,2.8c2.4,1.8,3.6,4.7,3.6,8.4c0,3-0.8,5.2-2.3,6.7C-8.5,406.8-11,407.6-14.5,407.6z M-26.3,401.8h9.1
			c1.2,0,2-0.3,2.4-0.8c0.4-0.6,0.6-1.4,0.6-2.5c0-1.5-0.4-2.6-1.2-3.2c-0.8-0.6-2.2-0.9-4.3-0.9c-2.5,0-4.2,0.5-5.1,1.5
			C-25.6,396.9-26.1,398.8-26.3,401.8z"/>
		
			<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="-72.864" y1="2203.667" x2="-72.864" y2="2254.5503" gradientTransform="matrix(1 0 0 1 86 -1815.5)">
			<stop  offset="0" style="stop-color:#FFFFFE"/>
			<stop  offset="0.4815" style="stop-color:#F2F1F1"/>
			<stop  offset="1" style="stop-color:#E9E7E8"/>
		</linearGradient>
		<path fill="url(#SVGID_7_)" d="M31,388.3l-11.4,32.6c-0.6,1.7-1.4,3.3-2.2,4.8c-0.9,1.5-2,2.9-3.4,4.3c-1.4,1.4-3.1,2.4-5.2,3
			c-2.1,0.7-4.4,0.8-6.9,0.5L1,427.8c2.6-0.7,4.6-1.6,6.1-2.7c1.5-1.1,2.6-2.6,3.5-4.5l0.1-0.3H8.9c-1.6,0-2.6-0.8-3.1-2.3
			l-10.5-29.8H5.6l6,20.8c0.4,1.5,0.7,3.1,1,4.8h0.8c0.1-0.5,0.3-1.3,0.7-2.4s0.5-1.9,0.7-2.4l5.9-20.8L31,388.3L31,388.3z"/>
		
			<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="-41.775" y1="2203.667" x2="-41.775" y2="2254.552" gradientTransform="matrix(1 0 0 1 86 -1815.5)">
			<stop  offset="0" style="stop-color:#FFFFFE"/>
			<stop  offset="0.4815" style="stop-color:#F2F1F1"/>
			<stop  offset="1" style="stop-color:#E9E7E8"/>
		</linearGradient>
		<path fill="url(#SVGID_8_)" d="M57.6,412.8l0.9,6.3c-3.3,1.4-7.5,2.1-12.4,2.1c-5.9,0-10.1-1.3-12.5-3.8
			c-2.4-2.5-3.6-6.9-3.6-13.1c0-6.2,1.2-10.6,3.6-13.1c2.4-2.5,6.6-3.8,12.6-3.8c4.9,0,8.8,0.7,11.9,2l-1,6
			c-4.7-0.1-7.8-0.1-9.2-0.1c-3,0-5,0.6-6.1,1.9c-1.1,1.3-1.7,3.6-1.7,7.2c0,3.5,0.6,5.9,1.7,7.2c1.1,1.3,3.1,1.9,6.1,1.9
			C51.6,413.4,54.9,413.2,57.6,412.8z"/>
		
			<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="8.9715" y1="2203.667" x2="8.9715" y2="2254.553" gradientTransform="matrix(1 0 0 1 86 -1815.5)">
			<stop  offset="0" style="stop-color:#FFFFFE"/>
			<stop  offset="0.4815" style="stop-color:#F2F1F1"/>
			<stop  offset="1" style="stop-color:#E9E7E8"/>
		</linearGradient>
		<path fill="url(#SVGID_9_)" d="M95,387.4c6,0,10.2,1.3,12.7,3.9c2.5,2.6,3.7,7,3.7,13.1c0,6.2-1.2,10.5-3.7,13.1
			c-2.5,2.5-6.7,3.8-12.7,3.8c-6,0-10.3-1.3-12.8-3.8c-2.5-2.5-3.7-6.9-3.7-13.1c0-6.2,1.2-10.6,3.7-13.2
			C84.7,388.7,89,387.4,95,387.4z M95,394.6c-2.6,0-4.3,0.6-5.1,2c-0.9,1.3-1.3,3.9-1.3,7.8c0,3.8,0.4,6.4,1.3,7.7
			c0.9,1.3,2.6,2,5.1,2c2.5,0,4.2-0.7,5.1-2c0.9-1.3,1.3-3.9,1.3-7.7c0-3.9-0.4-6.5-1.3-7.8C99.2,395.3,97.5,394.6,95,394.6z"/>
		
			<linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="42.879" y1="2203.667" x2="42.879" y2="2254.552" gradientTransform="matrix(1 0 0 1 86 -1815.5)">
			<stop  offset="0" style="stop-color:#FFFFFE"/>
			<stop  offset="0.4815" style="stop-color:#F2F1F1"/>
			<stop  offset="1" style="stop-color:#E9E7E8"/>
		</linearGradient>
		<path fill="url(#SVGID_10_)" d="M115.9,395.5l-0.9-6.5c5.8-1,11.4-1.6,16.7-1.6c4.3,0,7.5,0.9,9.6,2.6c2,1.8,3.1,4.8,3.1,9.2v21.2
			h-7.6l-1-4.9c-3.2,3.8-7.2,5.7-11.9,5.7c-3.1,0-5.6-0.8-7.6-2.4s-2.9-3.9-2.9-6.8v-3.3c0-2.6,0.9-4.6,2.6-6
			c1.7-1.4,4.1-2.1,7.2-2.1h11.5v-1.4c0-1.6-0.4-2.8-1.1-3.3c-0.7-0.6-2.1-0.8-4.1-0.8C125.9,394.9,121.4,395.1,115.9,395.5z
			 M122.9,409.4v1.2c0,2.2,1.3,3.3,3.8,3.3c2.6,0,5.3-1,8-3.1v-4.5H126C124,406.4,122.9,407.4,122.9,409.4z"/>
		
			<linearGradient id="SVGID_11_" gradientUnits="userSpaceOnUse" x1="-136.063" y1="2203.667" x2="-136.063" y2="2254.5491" gradientTransform="matrix(1 0 0 1 86 -1815.5)">
			<stop  offset="0" style="stop-color:#FFFFFE"/>
			<stop  offset="0.4815" style="stop-color:#F2F1F1"/>
			<stop  offset="1" style="stop-color:#E9E7E8"/>
		</linearGradient>
		<path fill="url(#SVGID_11_)" d="M-43.5,406.1c-0.9-1.6-1.9-2.7-3-3.5v-0.1c1.3-0.9,2.3-1.9,3-3.1l8.3-11.1H-46l-7.9,11.2h-3
			c0.3-1.8,0.5-3.7,0.5-5.9v-18.8h-3l-6.7,9.5v36.1h9.6v-10.1c0-1.3-0.2-2.9-0.5-4.8h3.1l9,14.9H-34L-43.5,406.1z"/>
		
			<linearGradient id="SVGID_12_" gradientUnits="userSpaceOnUse" x1="-16.68" y1="2203.667" x2="-16.68" y2="2254.551" gradientTransform="matrix(1 0 0 1 86 -1815.5)">
			<stop  offset="0" style="stop-color:#FFFFFE"/>
			<stop  offset="0.4815" style="stop-color:#F2F1F1"/>
			<stop  offset="1" style="stop-color:#E9E7E8"/>
		</linearGradient>
		<path fill="url(#SVGID_12_)" d="M76.7,413.2h-2.6c-2.4,0-3.6-1.1-3.6-3.3v-35.1h-3l-6.6,9.4v28.2c0,2.8,0.8,5,2.5,6.5
			c1.6,1.5,3.9,2.3,6.8,2.3c3.5,0,6-0.4,7.7-1.3L76.7,413.2z"/>
		
			<linearGradient id="SVGID_13_" gradientUnits="userSpaceOnUse" x1="78.107" y1="2203.667" x2="78.107" y2="2254.5491" gradientTransform="matrix(1 0 0 1 86 -1815.5)">
			<stop  offset="0" style="stop-color:#FFFFFE"/>
			<stop  offset="0.4815" style="stop-color:#F2F1F1"/>
			<stop  offset="1" style="stop-color:#E9E7E8"/>
		</linearGradient>
		<path fill="url(#SVGID_13_)" d="M170.7,406.1c-0.9-1.6-1.9-2.7-3-3.5v-0.1c1.3-0.9,2.3-1.9,3-3.1l8.3-11.1h-10.8l-7.9,11.2h-3
			c0.3-1.8,0.5-3.7,0.5-5.9v-18.8h-3l-6.7,9.5v36.1h9.6v-10.1c0-1.3-0.2-2.9-0.5-4.8h3.1l9,14.9h10.8L170.7,406.1z"/>
	</g>
	
		<linearGradient id="SVGID_14_" gradientUnits="userSpaceOnUse" x1="-208.281" y1="2186.001" x2="-208.281" y2="2196.1689" gradientTransform="matrix(1 0 0 1 86 -1815.5)">
		<stop  offset="0" style="stop-color:#00639A"/>
		<stop  offset="0.2355" style="stop-color:#00578A"/>
		<stop  offset="0.507" style="stop-color:#004D7B"/>
		<stop  offset="0.7167" style="stop-color:#004773"/>
		<stop  offset="1" style="stop-color:#00446E"/>
	</linearGradient>
	<polygon fill="url(#SVGID_14_)" points="-122.3,372.4 -131.3,370.4 -132.3,374.1 -122.3,379.2 -112.2,374.1 -113.2,370.4 	"/>
	<polyline opacity="0.2" enable-background="new    " points="-122.3,379.2 -112.2,374.1 -113.2,370.4 -122.3,372.4 	"/>
	<path fill="#034672" d="M-127.2,391.9c3.4,1.3,6.7,1.5,9.8,0.4l-0.3-2.2c-2.6,0.8-6.3,0.7-9.5,0.1L-127.2,391.9z"/>
	<path fill="#034672" d="M-122.6,391.5c-0.4,2.8,1.9,4.7,1.9,7.6C-116.8,394.8-121.7,393.3-122.6,391.5z"/>
	<path fill="#034672" d="M-122.6,391.7c-0.1,3.2-0.4,5.6-1.7,7.2C-126.8,394.2-123.7,392.6-122.6,391.7z"/>
	<circle fill="#034672" cx="-122.6" cy="391.7" r="1.6"/>
	
		<linearGradient id="SVGID_15_" gradientUnits="userSpaceOnUse" x1="-197.511" y1="2237.772" x2="-197.511" y2="2237.772" gradientTransform="matrix(1 0 0 1 86 -1815.5)">
		<stop  offset="0" style="stop-color:#F6F6F6"/>
		<stop  offset="0.5386" style="stop-color:#E4E4E4"/>
		<stop  offset="1" style="stop-color:#DADADA"/>
	</linearGradient>
	<path fill="url(#SVGID_15_)" d="M-111.5,422.3"/>
</g>
</svg>
+0 −121
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   id="Vrstva_1"
   viewBox="0 0 2260.913 315.99665"
   version="1.1"
   width="598.19989mm"
   height="83.607445mm">
  <metadata
     id="metadata1114">
    <rdf:RDF>
      <cc:Work
         rdf:about="">
        <dc:format>image/svg+xml</dc:format>
        <dc:type
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
        <dc:title></dc:title>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <defs
     id="defs1112">
    <rect
       id="rect1666"
       height="532.5177"
       width="2334.6355"
       y="-1.6235296"
       x="415.62354" />
  </defs>
  <style
     id="style1101">
    .st0{fill:none}
  </style>
  <g
     transform="translate(4.1e-7,13.634443)"
     style="fill:#ffffff"
     id="g1672">
    <path
       style="fill:#ffffff;stroke-width:6.88752"
       id="path1103"
       d="M 151.52548,2.4e-7 C 110.8891,2.4e-7 73.00773,15.8413 44.768891,44.080139 15.841299,72.318978 -4.1e-7,110.8891 -4.1e-7,150.83673 c 0,40.63637 15.84129941,78.51774 44.08013841,107.44533 28.927592,28.23884 66.808962,44.08014 106.756582,44.08014 40.63638,0 78.51775,-15.8413 106.75659,-44.08014 28.92759,-28.23883 44.08014,-66.80896 44.08014,-106.75658 0,-40.63638 -15.8413,-78.51775 -44.08014,-106.756589 C 230.04322,15.152548 192.16186,2.4000002e-7 151.52548,2.4000002e-7 M 151.52548,287.89841 c -75.762742,0 -137.061685,-61.29895 -137.061685,-137.06168 0,-75.762743 61.298943,-137.061686 137.061685,-137.061686 75.76274,0 137.06168,61.298943 137.06168,137.061686 0,75.76273 -61.29894,137.06168 -137.06168,137.06168" />
    <path
       style="fill:#ffffff;stroke-width:6.88752"
       id="path1105"
       d="M 106.06783,61.298943 V 39.947626 H 92.981543 v 24.795078 c -8.953779,2.755009 -14.463796,5.510018 -13.086292,7.576274 2.755009,-0.688752 7.576274,-1.377504 13.086292,-0.688752 V 198.36063 c -13.775044,26.17258 6.198769,66.80896 6.198769,66.80896 0,0 -14.463796,-43.39139 17.907558,-64.05396 29.61634,-18.5963 132.92917,-10.33128 132.24042,-68.18646 C 248.63953,50.967661 153.59173,50.967661 106.06783,61.298943 m 42.01389,79.895257 c -4.82127,22.04006 -28.23884,33.0601 -42.70264,42.70263 V 73.00773 c 24.10633,5.510018 52.34517,24.106326 42.70264,68.18647" />
  </g>
  <g
     style="font-style:normal;font-weight:normal;font-size:333.33300000000002683px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1666);fill:#ffffff;fill-opacity:1;stroke:none"
     id="text1664"
     transform="translate(-51.952943,-15.153709)"
     aria-label="PIRÁTSKÁ IDENTITA">
    <path
       id="path941"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 429.2897,69.153656 h 53.99995 q 27.3333,0 40.99996,14.666653 13.66665,14.666652 13.66665,42.999961 v 22.99997 q 0,28.33331 -13.66665,42.99996 -13.66666,14.66665 -40.99996,14.66665 h -17.33332 v 94.99991 H 429.2897 Z m 53.99995,104.999894 q 8.99999,0 13.33332,-4.99999 4.66666,-5 4.66666,-16.99998 v -27.66664 q 0,-11.99999 -4.66666,-16.99999 -4.33333,-4.99999 -13.33332,-4.99999 h -17.33332 v 71.66659 z" />
    <path
       id="path943"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 558.19583,69.153656 h 36.66663 V 302.48676 h -36.66663 z" />
    <path
       id="path945"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 621.99785,69.153656 h 54.33328 q 28.3333,0 41.33329,13.333321 12.99999,12.999987 12.99999,40.333293 v 14.33332 q 0,36.3333 -23.99998,45.99995 v 0.66667 q 13.33332,4 18.66665,16.33332 5.66666,12.33332 5.66666,32.99997 v 40.99996 q 0,9.99999 0.66666,16.33331 0.66667,6 3.33333,11.99999 h -37.33329 q -2,-5.66666 -2.66667,-10.66665 -0.66666,-5 -0.66666,-17.99999 V 231.1535 q 0,-15.99999 -5.33333,-22.33331 -5,-6.33333 -17.66665,-6.33333 h -12.66665 v 99.9999 h -36.66663 z m 49.99995,99.999904 q 10.99999,0 16.33331,-5.66666 5.66667,-5.66666 5.66667,-18.99998 v -17.99999 q 0,-12.66665 -4.66667,-18.33331 -4.33333,-5.66666 -13.99998,-5.66666 h -16.66665 v 66.6666 z" />
    <path
       id="path947"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 784.44561,69.153656 h 49.66662 l 37.99996,233.333104 h -36.66663 l -6.66666,-46.33329 v 0.66667 h -41.66663 l -6.66666,45.66662 H 746.44564 Z M 824.44557,225.1535 808.11225,109.82028 h -0.66667 L 791.4456,225.1535 Z M 812.77891,15.153709 h 39.99996 L 817.11224,53.487005 H 789.4456 Z" />
    <path
       id="path949"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 902.61738,102.48696 h -38.3333 V 69.153656 h 113.33323 v 33.333304 h -38.3333 v 199.9998 h -36.66663 z" />
    <path
       id="path951"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 1042.711,305.82009 q -26.6667,0 -40.3333,-14.99998 -13.66669,-15.33332 -13.66669,-43.66663 v -13.33332 h 34.66659 v 15.99999 q 0,22.66664 19,22.66664 9.3334,0 14,-5.33333 5,-5.66666 5,-17.99998 0,-14.66665 -6.6667,-25.66664 -6.6666,-11.33332 -24.6666,-26.99997 -22.6666,-19.99999 -31.66663,-35.99997 -8.99999,-16.33332 -8.99999,-36.66663 0,-27.66664 14.00002,-42.666625 14,-15.333319 40.6666,-15.333319 26.3333,0 39.6666,15.333319 13.6667,14.999985 13.6667,43.333295 v 9.66665 h -34.6667 V 122.1536 q 0,-11.99998 -4.6666,-17.33331 -4.6667,-5.666663 -13.6667,-5.666663 -18.3333,0 -18.3333,22.333313 0,12.66665 6.6667,23.66664 7,10.99999 24.9999,26.66664 23,19.99998 31.6667,36.3333 8.6666,16.33332 8.6666,38.3333 0,28.66664 -14.3333,43.99995 -14,15.33332 -40.9999,15.33332 z" />
    <path
       id="path953"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 1118.7422,69.153656 h 36.6666 v 98.333234 l 46.6666,-98.333234 h 36.6666 l -43.6666,85.666584 44.3333,147.66652 h -38.3333 l -31,-103.9999 -14.6666,29.66664 v 74.33326 h -36.6666 z" />
    <path
       id="path955"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 1285.0962,69.153656 h 49.6666 l 37.9999,233.333104 h -36.6666 l -6.6667,-46.33329 v 0.66667 h -41.6666 l -6.6666,45.66662 h -34 z m 39.9999,155.999844 -16.3333,-115.33322 h -0.6667 l -16,115.33322 z M 1313.4295,15.153709 h 39.9999 l -35.6666,38.333296 h -27.6667 z" />
    <path
       id="path957"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 1443.6116,69.153656 h 36.6666 V 302.48676 h -36.6666 z" />
    <path
       id="path959"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 1507.4136,69.153656 h 55.9999 q 27.3334,0 41,14.666653 13.6667,14.666652 13.6667,42.999961 v 117.99988 q 0,28.33331 -13.6667,42.99996 -13.6666,14.66665 -41,14.66665 h -55.9999 z m 55.3333,199.999804 q 9,0 13.6666,-5.33333 5,-5.33333 5,-17.33331 V 125.1536 q 0,-11.99999 -5,-17.33331 -4.6666,-5.33333 -13.6666,-5.33333 h -18.6667 v 166.6665 z" />
    <path
       id="path961"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 1642.8302,69.153656 h 99.9999 v 33.333304 h -63.3332 v 61.6666 h 50.3332 v 33.3333 h -50.3332 v 71.6666 h 63.3332 v 33.3333 h -99.9999 z" />
    <path
       id="path963"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 1763.9239,69.153656 h 45.9999 l 35.6666,139.666534 h 0.6667 V 69.153656 h 32.6666 V 302.48676 h -37.6666 l -43.9999,-170.33317 h -0.6667 v 170.33317 h -32.6666 z" />
    <path
       id="path965"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 1935.1684,102.48696 h -38.3333 V 69.153656 h 113.3332 v 33.333304 h -38.3333 v 199.9998 h -36.6666 z" />
    <path
       id="path967"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 2027.5954,69.153656 h 36.6666 V 302.48676 h -36.6666 z" />
    <path
       id="path969"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 2120.0641,102.48696 h -38.3333 V 69.153656 h 113.3333 v 33.333304 h -38.3333 v 199.9998 h -36.6667 z" />
    <path
       id="path971"
       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.33300000000002683px;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';fill:#ffffff"
       d="m 2225.1994,69.153656 h 49.6666 l 38,233.333104 h -36.6666 l -6.6667,-46.33329 v 0.66667 h -41.6666 l -6.6667,45.66662 h -33.9999 z m 40,155.999844 -16.3333,-115.33322 h -0.6667 l -16,115.33322 z" />
  </g>
</svg>

admin/theme.properties

deleted100755 → 0
+0 −3
Original line number Diff line number Diff line
parent=base
styles=css/styles.css
stylesCommon=node_modules/patternfly/dist/css/patternfly.min.css node_modules/patternfly/dist/css/patternfly-additions.min.css node_modules/select2/select2.css lib/angular/treeview/css/angular.treeview.css node_modules/text-security/text-security.css
 No newline at end of file
+0 −1
Original line number Diff line number Diff line
{"id":"ng","generated":"Thu Aug 13 2015 11:47:38 GMT-0700 (PDT)","errors":{"ng":{"areq":"Argument '{0}' is {1}","cpta":"Can't copy! TypedArray destination cannot be mutated.","test":"no injector found for element argument to getTestability","cpws":"Can't copy! Making copies of Window or Scope instances is not supported.","btstrpd":"App Already Bootstrapped with this Element '{0}'","cpi":"Can't copy! Source and destination are identical.","badname":"hasOwnProperty is not a valid {0} name"},"$http":{"legacy":"The method `{0}` on the promise returned from `$http` has been disabled.","badreq":"Http request configuration must be an object.  Received: {0}"},"ngRepeat":{"badident":"alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.","iexp":"Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.","dupes":"Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}","iidexp":"'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'."},"$sce":{"imatcher":"Matchers may only be \"self\", string patterns or RegExp objects","icontext":"Attempted to trust a value in invalid context. Context: {0}; Value: {1}","iwcard":"Illegal sequence *** in string matcher.  String: {0}","insecurl":"Blocked loading resource from url not allowed by $sceDelegate policy.  URL: {0}","iequirks":"Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode.  You can fix this by adding the text <!doctype html> to the top of your HTML document.  See http://docs.angularjs.org/api/ng.$sce for more information.","unsafe":"Attempting to use an unsafe value in a safe context.","itype":"Attempted to trust a non-string value in a content requiring a string: Context: {0}"},"ngPattern":{"noregexp":"Expected {0} to be a RegExp but was {1}. Element: {2}"},"$controller":{"ctrlfmt":"Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.","noscp":"Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`."},"$parse":{"isecfn":"Referencing Function in Angular expressions is disallowed! Expression: {0}","isecwindow":"Referencing the Window in Angular expressions is disallowed! Expression: {0}","ueoe":"Unexpected end of expression: {0}","isecdom":"Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}","lexerr":"Lexer Error: {0} at column{1} in expression [{2}].","esc":"IMPOSSIBLE","isecobj":"Referencing Object in Angular expressions is disallowed! Expression: {0}","lval":"Trying to assing a value to a non l-value","isecff":"Referencing call, apply or bind in Angular expressions is disallowed! Expression: {0}","syntax":"Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].","isecfld":"Attempting to access a disallowed field in Angular expressions! Expression: {0}"},"jqLite":{"offargs":"jqLite#off() does not support the `selector` argument","onargs":"jqLite#on() does not support the `selector` or `eventData` parameters","nosel":"Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element"},"$animate":{"notcsel":"Expecting class selector starting with '.' got '{0}'.","nongcls":"$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the \"{0}\" CSS class."},"$q":{"norslvr":"Expected resolverFn, got '{0}'","qcycle":"Expected promise to be resolved with value other than itself '{0}'"},"$injector":{"pget":"Provider '{0}' must define $get factory method.","cdep":"Circular dependency found: {0}","nomod":"Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.","strictdi":"{0} is not using explicit annotation and cannot be invoked in strict mode","modulerr":"Failed to instantiate module {0} due to:\n{1}","undef":"Provider '{0}' must return a value from $get factory method.","unpr":"Unknown provider: {0}","itkn":"Incorrect injection token! Expected service name as string, got {0}"},"filter":{"notarray":"Expected array but received: {0}"},"ngTransclude":{"orphan":"Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}"},"ngModel":{"nonassign":"Expression '{0}' is non-assignable. Element: {1}","datefmt":"Expected `{0}` to be a date","$asyncValidators":"Expected asynchronous validator to return a promise but got '{0}' instead.","constexpr":"Expected constant expression for `{0}`, but saw `{1}`.","numfmt":"Expected `{0}` to be a number"},"$location":{"nostate":"History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API","ipthprfx":"Invalid url \"{0}\", missing path prefix \"{1}\".","isrcharg":"The first argument of the `$location#search()` call must be a string or an object.","nobase":"$location in HTML5 mode requires a <base> tag to be present!"},"$cacheFactory":{"iid":"CacheId '{0}' is already taken!"},"$interpolate":{"noconcat":"Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required.  See http://docs.angularjs.org/api/ng.$sce","interr":"Can't interpolate: {0}\n{1}","nochgmustache":"angular-message-format.js currently does not allow you to use custom start and end symbols for interpolation.","reqcomma":"Expected a comma after the keyword “{0}” at line {1}, column {2} of text “{3}”","untermstr":"The string beginning at line {0}, column {1} is unterminated in text “{2}”","badexpr":"Unexpected operator “{0}” at line {1}, column {2} in text. Was expecting “{3}”. Text: “{4}”","dupvalue":"The choice “{0}” is specified more than once. Duplicate key is at line {1}, column {2} in text “{3}”","unsafe":"Use of select/plural MessageFormat syntax is currently disallowed in a secure context ({0}).  At line {1}, column {2} of text “{3}”","reqother":"“other” is a required option.","reqendinterp":"Expecting end of interpolation symbol, “{0}”, at line {1}, column {2} in text “{3}”","reqarg":"Expected one of “plural” or “select” at line {0}, column {1} of text “{2}”","wantstring":"Expected the beginning of a string at line {0}, column {1} in text “{2}”","logicbug":"The messageformat parser has encountered an internal error.  Please file a github issue against the AngularJS project and provide this message text that triggers the bug.  Text: “{0}”","reqopenbrace":"The plural choice “{0}” must be followed by a message in braces at line {1}, column {2} in text “{3}”","unknarg":"Unsupported keyword “{0}” at line {0}, column {1}. Only “plural” and “select” are currently supported.  Text: “{3}”","reqendbrace":"The plural/select choice “{0}” message starting at line {1}, column {2} does not have an ending closing brace. Text “{3}”"},"ngOptions":{"iexp":"Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}"},"$rootScope":{"inprog":"{0} already in progress","infdig":"{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}"},"$compile":{"noident":"Cannot bind to controller without identifier for directive '{0}'.","selmulti":"Binding to the 'multiple' attribute is not supported. Element: {0}","nodomevents":"Interpolations for HTML DOM event attributes are disallowed.  Please use the ng- versions (such as ng-click instead of onclick) instead.","ctreq":"Controller '{0}', required by directive '{1}', can't be found!","nonassign":"Expression '{0}' used with directive '{1}' is non-assignable!","tplrt":"Template for directive '{0}' must have exactly one root element. {1}","iscp":"Invalid {3} for directive '{0}'. Definition: {... {1}: '{2}' ...}","baddir":"Directive name '{0}' is invalid. The name should not contain leading or trailing whitespaces","noctrl":"Cannot bind to controller without directive '{0}'s controller.","multidir":"Multiple directives [{0}{1}, {2}{3}] asking for {4} on: {5}","tpload":"Failed to load template: {0} (HTTP status: {1} {2})","uterdir":"Unterminated attribute, found '{0}' but no matching '{1}' found."},"$resource":{"badargs":"Expected up to 4 arguments [params, data, success, error], got {0} arguments","badmember":"Dotted member path \"@{0}\" is invalid.","badname":"hasOwnProperty is not a valid parameter name.","badcfg":"Error in resource configuration for action `{0}`. Expected response to contain an {1} but got an {2} (Request: {3} {4})"},"$route":{"norout":"Tried updating route when with no current route"},"$sanitize":{"badparse":"The sanitizer was unable to parse the following block of html: {0}"}}}
 No newline at end of file
+0 −20
Original line number Diff line number Diff line
The MIT License (MIT)

Copyright (c) 2013 Steve

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+0 −122
Original line number Diff line number Diff line
Angular Treeview
================

Pure [AngularJS](https://www.angularjs.org) based tree menu directive.

[![ScreenShot](https://github.com/eu81273/angular.treeview/raw/master/img/preview.png)](https://jsfiddle.net/eu81273/8LWUc/)

## Installation

Copy the script and css into your project and add a script and link tag to your page.

```html
<script type="text/javascript" src="/angular.treeview.js"></script>
<link rel="stylesheet" type="text/css" href="css/angular.treeview.css">
```

Add a dependency to your application module.

```javascript
angular.module('myApp', ['angularTreeview']);
```

Add a tree to your application. See [Usage](#usage).

## Usage

Attributes of angular treeview are below.

- angular-treeview: the treeview directive.
- tree-id : each tree's unique id.
- tree-model : the tree model on $scope.
- node-id : each node's id.
- node-label : each node's label.
- node-children: each node's children.

Here is a simple example.


```html
<div
    data-angular-treeview="true"
	data-tree-id="abc"
	data-tree-model="treedata"
	data-node-id="id"
	data-node-label="label"
	data-node-children="children" >
</div>
```

Example model:

```javascript
$scope.treedata = 
[
	{ "label" : "User", "id" : "role1", "children" : [
		{ "label" : "subUser1", "id" : "role11", "children" : [] },
		{ "label" : "subUser2", "id" : "role12", "children" : [
			{ "label" : "subUser2-1", "id" : "role121", "children" : [
				{ "label" : "subUser2-1-1", "id" : "role1211", "children" : [] },
				{ "label" : "subUser2-1-2", "id" : "role1212", "children" : [] }
			]}
		]}
	]},
	{ "label" : "Admin", "id" : "role2", "children" : [] },
	{ "label" : "Guest", "id" : "role3", "children" : [] }
];	 
```

## Selection

If tree node is selected, then that selected tree node is saved to $scope."TREE ID".currentNode. By using $watch, the controller can recognize the tree selection.


```javascript
$scope.$watch( 'abc.currentNode', function( newObj, oldObj ) {
    if( $scope.abc && angular.isObject($scope.abc.currentNode) ) {
        console.log( 'Node Selected!!' );
        console.log( $scope.abc.currentNode );
    }
}, false);
```

## Examples

#### Basic example
[![ScreenShot](https://github.com/eu81273/angular.treeview/raw/master/img/jsfiddle01.png)](https://jsfiddle.net/eu81273/8LWUc/)

[jsFiddle - http://jsfiddle.net/eu81273/8LWUc/](https://jsfiddle.net/eu81273/8LWUc/)

#### Multiple treeview example
[![ScreenShot](https://github.com/eu81273/angular.treeview/raw/master/img/jsfiddle02.png)](https://jsfiddle.net/eu81273/b9Pnw/)

[jsFiddle - http://jsfiddle.net/eu81273/b9Pnw/](https://jsfiddle.net/eu81273/b9Pnw/)

## Browser Compatibility

Same with AngularJS. Safari, Chrome, Firefox, Opera, IE8, IE9 and mobile browsers (Android, Chrome Mobile, iOS Safari).

## Changelogs

#### version 0.1.6
- Fixed the bug that 'null' string appears before each 'div' generated. (Thanks to Iaac)

#### version 0.1.5
- support multiple treeview. (Thanks to Axel Pesme)

#### version 0.1.4
- prevented memory leaks.

#### version 0.1.3
- removed unnecessary codes.

#### version 0.1.2
- removed some jQuery dependency. (Issue #2)

## License

The MIT License.

Copyright ⓒ 2013 AHN JAE-HA.

See [LICENSE](https://github.com/eu81273/angular.treeview/blob/master/LICENSE)
Original line number Diff line number Diff line
/*
	@license Angular Treeview version 0.1.6
	ⓒ 2013 AHN JAE-HA http://github.com/eu81273/angular.treeview
	License: MIT


	[TREE attribute]
	angular-treeview: the treeview directive
	tree-id : each tree's unique id.
	tree-model : the tree model on $scope.
	node-id : each node's id
	node-label : each node's label
	node-children: each node's children

	<div
		data-angular-treeview="true"
		data-tree-id="tree"
		data-tree-model="roleList"
		data-node-id="roleId"
		data-node-label="roleName"
		data-node-children="children" >
	</div>
*/

(function ( angular ) {
	'use strict';

	angular.module( 'angularTreeview', [] ).directive( 'treeModel', ['$compile', function( $compile ) {
		return {
			restrict: 'A',
			link: function ( scope, element, attrs ) {
				//tree id
				var treeId = attrs.treeId;

				//tree model
				var treeModel = attrs.treeModel;

				//node id
				var nodeId = attrs.nodeId || 'id';

				//node label
				var nodeLabel = attrs.nodeLabel || 'label';

				//children
				var nodeChildren = attrs.nodeChildren || 'children';

				//tree template

                var template =
                    '<ul>' +
                    '<li data-ng-repeat="node in ' + treeModel + '">' +
                        '<i ng-class="getGroupClass(node)" data-ng-click="' + treeId + '.selectNodeHead(node)"></i>' +
                    '<span data-ng-class="getSelectedClass(node)" ng-dblclick="edit(node)" data-ng-click="' + treeId + '.selectNodeLabel(node)">{{node.' + nodeLabel + '}}</span>' +
                    '<div data-ng-hide="node.collapsed" data-tree-id="' + treeId + '" data-tree-model="node.' + nodeChildren + '" data-node-id=' + nodeId + ' data-node-label=' + nodeLabel + ' data-node-children=' + nodeChildren + '></div>' +
                    '</li>' +
                    '</ul>';


                //check tree id, tree model
				if( treeId && treeModel ) {
					//root node
					if( attrs.angularTreeview ) {
					
						//create tree object if not exists
						scope[treeId] = scope[treeId] || {};

						//if node head clicks,
						scope[treeId].selectNodeHead = scope[treeId].selectNodeHead || function( selectedNode ){

							//Collapse or Expand
							selectedNode.collapsed = !selectedNode.collapsed;
                            scope[treeId].selectNodeLabel(selectedNode);
						};

						//if node label clicks,
						scope[treeId].selectNodeLabel = scope[treeId].selectNodeLabel || function( selectedNode ){

							//remove highlight from previous node
							if( scope[treeId].currentNode && scope[treeId].currentNode.selected ) {
								scope[treeId].currentNode.selected = undefined;
							}

							//set highlight to selected node
							selectedNode.selected = 'selected';

							//set currentNode
							scope[treeId].currentNode = selectedNode;
						};
					}

					//Rendering template.
					element.html('').append( $compile( template )( scope ) );
				}
			}
		};
	}]);
})( angular );
Original line number Diff line number Diff line
/*
	@license Angular Treeview version 0.1.6
	ⓒ 2013 AHN JAE-HA http://github.com/eu81273/angular.treeview
	License: MIT
*/

(function(f){f.module("angularTreeview",[]).directive("treeModel",function($compile){return{restrict:"A",link:function(b,h,c){var a=c.treeId,g=c.treeModel,e=c.nodeLabel||"label",d=c.nodeChildren||"children",e='<ul><li data-ng-repeat="node in '+g+'"><i class="collapsed" data-ng-show="node.'+d+'.length && node.collapsed" data-ng-click="'+a+'.selectNodeHead(node)"></i><i class="expanded" data-ng-show="node.'+d+'.length && !node.collapsed" data-ng-click="'+a+'.selectNodeHead(node)"></i><i class="normal" data-ng-hide="node.'+
d+'.length"></i> <span data-ng-class="node.selected" data-ng-click="'+a+'.selectNodeLabel(node)">{{node.'+e+'}}</span><div data-ng-hide="node.collapsed" data-tree-id="'+a+'" data-tree-model="node.'+d+'" data-node-id='+(c.nodeId||"id")+" data-node-label="+e+" data-node-children="+d+"></div></li></ul>";a&&g&&(c.angularTreeview&&(b[a]=b[a]||{},b[a].selectNodeHead=b[a].selectNodeHead||function(a){a.collapsed=!a.collapsed},b[a].selectNodeLabel=b[a].selectNodeLabel||function(c){b[a].currentNode&&b[a].currentNode.selected&&
(b[a].currentNode.selected=void 0);c.selected="selected";b[a].currentNode=c}),h.html('').append($compile(e)(b)))}}})})(angular);
 No newline at end of file
Original line number Diff line number Diff line
div[angular-treeview] {
  /* prevent user selection */
  -moz-user-select: -moz-none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;

  /* default */
  font-family: Tahoma;
  font-size:13px;
  color: #555;
  text-decoration: none;
}

div[tree-model] ul {
  margin: 0;
  padding: 0;
  list-style: none; 
  border: none;
  overflow: hidden;
}

div[tree-model] li {
  position: relative;
  padding: 0 0 0 20px;
  line-height: 20px;
}

div[tree-model] li .expanded {
  padding: 1px 10px;
  background-image: url("../img/folder.png");
  background-repeat: no-repeat;
}

div[tree-model] li .collapsed {
  padding: 1px 10px;
  background-image: url("../img/folder-closed.png");
  background-repeat: no-repeat;
}

div[tree-model] li .normal {
  padding: 1px 10px;
  background-image: url("../img/file.png");
  background-repeat: no-repeat;
}

div[tree-model] li i, div[tree-model] li span {
  cursor: pointer;
}

div[tree-model] li .selected {
    background-color: #aaddff;
    font-weight: bold;
    padding: 1px 5px;
}

div[tree-model] li .cut {
    font-weight: bold;
    color: gray
}

/*
.angular-ui-tree-handle {
    cursor: grab;
    text-decoration: none;
    font-weight: bold;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    min-height: 20px;
    line-height: 20px;
}
*/

.angular-ui-tree-handle {
    /* background: #f8faff; */
    /*
    color: #7c9eb2;    */
    border: 1px solid #dae2ea;
    padding: 10px 10px;
    cursor: pointer;
}

.expanded-folder {
    padding: 1px 10px;
    background-image: url("../img/folder.png");
    background-repeat: no-repeat;
    cursor: pointer;
}

.collapsed-folder {
    padding: 1px 10px;
    background-image: url("../img/folder-closed.png");
    background-repeat: no-repeat;
    cursor: pointer;
}

+0 −1
Original line number Diff line number Diff line
{"raw":"v1.4.4","major":1,"minor":4,"patch":4,"prerelease":[],"build":[],"version":"1.4.4","codeName":"pylon-requirement","full":"1.4.4","branch":"v1.4.x","cdn":{"raw":"v1.4.3","major":1,"minor":4,"patch":3,"prerelease":[],"build":[],"version":"1.4.3","docsUrl":"http://code.angularjs.org/1.4.3/docs"}}
 No newline at end of file
+0 −188
Original line number Diff line number Diff line
/* FileSaver.js
 * A saveAs() FileSaver implementation.
 * 1.3.2
 * 2016-06-16 18:25:19
 *
 * By Eli Grey, http://eligrey.com
 * License: MIT
 *   See https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md
 */

/*global self */
/*jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true */

/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */

var saveAs = saveAs || (function(view) {
	"use strict";
	// IE <10 is explicitly unsupported
	if (typeof view === "undefined" || typeof navigator !== "undefined" && /MSIE [1-9]\./.test(navigator.userAgent)) {
		return;
	}
	var
		  doc = view.document
		  // only get URL when necessary in case Blob.js hasn't overridden it yet
		, get_URL = function() {
			return view.URL || view.webkitURL || view;
		}
		, save_link = doc.createElementNS("http://www.w3.org/1999/xhtml", "a")
		, can_use_save_link = "download" in save_link
		, click = function(node) {
			var event = new MouseEvent("click");
			node.dispatchEvent(event);
		}
		, is_safari = /constructor/i.test(view.HTMLElement) || view.safari
		, is_chrome_ios =/CriOS\/[\d]+/.test(navigator.userAgent)
		, throw_outside = function(ex) {
			(view.setImmediate || view.setTimeout)(function() {
				throw ex;
			}, 0);
		}
		, force_saveable_type = "application/octet-stream"
		// the Blob API is fundamentally broken as there is no "downloadfinished" event to subscribe to
		, arbitrary_revoke_timeout = 1000 * 40 // in ms
		, revoke = function(file) {
			var revoker = function() {
				if (typeof file === "string") { // file is an object URL
					get_URL().revokeObjectURL(file);
				} else { // file is a File
					file.remove();
				}
			};
			setTimeout(revoker, arbitrary_revoke_timeout);
		}
		, dispatch = function(filesaver, event_types, event) {
			event_types = [].concat(event_types);
			var i = event_types.length;
			while (i--) {
				var listener = filesaver["on" + event_types[i]];
				if (typeof listener === "function") {
					try {
						listener.call(filesaver, event || filesaver);
					} catch (ex) {
						throw_outside(ex);
					}
				}
			}
		}
		, auto_bom = function(blob) {
			// prepend BOM for UTF-8 XML and text/* types (including HTML)
			// note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF
			if (/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(blob.type)) {
				return new Blob([String.fromCharCode(0xFEFF), blob], {type: blob.type});
			}
			return blob;
		}
		, FileSaver = function(blob, name, no_auto_bom) {
			if (!no_auto_bom) {
				blob = auto_bom(blob);
			}
			// First try a.download, then web filesystem, then object URLs
			var
				  filesaver = this
				, type = blob.type
				, force = type === force_saveable_type
				, object_url
				, dispatch_all = function() {
					dispatch(filesaver, "writestart progress write writeend".split(" "));
				}
				// on any filesys errors revert to saving with object URLs
				, fs_error = function() {
					if ((is_chrome_ios || (force && is_safari)) && view.FileReader) {
						// Safari doesn't allow downloading of blob urls
						var reader = new FileReader();
						reader.onloadend = function() {
							var url = is_chrome_ios ? reader.result : reader.result.replace(/^data:[^;]*;/, 'data:attachment/file;');
							var popup = view.open(url, '_blank');
							if(!popup) view.location.href = url;
							url=undefined; // release reference before dispatching
							filesaver.readyState = filesaver.DONE;
							dispatch_all();
						};
						reader.readAsDataURL(blob);
						filesaver.readyState = filesaver.INIT;
						return;
					}
					// don't create more object URLs than needed
					if (!object_url) {
						object_url = get_URL().createObjectURL(blob);
					}
					if (force) {
						view.location.href = object_url;
					} else {
						var opened = view.open(object_url, "_blank");
						if (!opened) {
							// Apple does not allow window.open, see https://developer.apple.com/library/safari/documentation/Tools/Conceptual/SafariExtensionGuide/WorkingwithWindowsandTabs/WorkingwithWindowsandTabs.html
							view.location.href = object_url;
						}
					}
					filesaver.readyState = filesaver.DONE;
					dispatch_all();
					revoke(object_url);
				}
			;
			filesaver.readyState = filesaver.INIT;

			if (can_use_save_link) {
				object_url = get_URL().createObjectURL(blob);
				setTimeout(function() {
					save_link.href = object_url;
					save_link.download = name;
					click(save_link);
					dispatch_all();
					revoke(object_url);
					filesaver.readyState = filesaver.DONE;
				});
				return;
			}

			fs_error();
		}
		, FS_proto = FileSaver.prototype
		, saveAs = function(blob, name, no_auto_bom) {
			return new FileSaver(blob, name || blob.name || "download", no_auto_bom);
		}
	;
	// IE 10+ (native saveAs)
	if (typeof navigator !== "undefined" && navigator.msSaveOrOpenBlob) {
		return function(blob, name, no_auto_bom) {
			name = name || blob.name || "download";

			if (!no_auto_bom) {
				blob = auto_bom(blob);
			}
			return navigator.msSaveOrOpenBlob(blob, name);
		};
	}

	FS_proto.abort = function(){};
	FS_proto.readyState = FS_proto.INIT = 0;
	FS_proto.WRITING = 1;
	FS_proto.DONE = 2;

	FS_proto.error =
	FS_proto.onwritestart =
	FS_proto.onprogress =
	FS_proto.onwrite =
	FS_proto.onabort =
	FS_proto.onerror =
	FS_proto.onwriteend =
		null;

	return saveAs;
}(
	   typeof self !== "undefined" && self
	|| typeof window !== "undefined" && window
	|| this.content
));
// `self` is undefined in Firefox for Android content script context
// while `this` is nsIContentFrameMessageManager
// with an attribute `content` that corresponds to the window

if (typeof module !== "undefined" && module.exports) {
  module.exports.saveAs = saveAs;
} else if ((typeof define !== "undefined" && define !== null) && (define.amd !== null)) {
  define("FileSaver.js", function() {
    return saveAs;
  });
}
Original line number Diff line number Diff line
/**!
 * AngularJS file upload shim for angular XHR HTML5 browsers
 * @author  Danial  <danial.farid@gmail.com>
 * @version 1.1.10
 */
if (window.XMLHttpRequest) {
        if (window.FormData) {
                // allow access to Angular XHR private field: https://github.com/angular/angular.js/issues/1934
                XMLHttpRequest = (function(origXHR) {
                        return function() {
                                var xhr = new origXHR();
                                xhr.send = (function(orig) {
                                        return function() {
                                                if (arguments[0] instanceof FormData && arguments[0].__setXHR_) {
                                                        var formData = arguments[0];
                                                        formData.__setXHR_(xhr);
                                                }
                                                orig.apply(xhr, arguments);
                                        }
                                })(xhr.send);
                                return xhr;
                        }
                })(XMLHttpRequest);
        }
}
Original line number Diff line number Diff line
/*! 1.1.10 */
window.XMLHttpRequest&&window.FormData&&(XMLHttpRequest=function(a){return function(){var b=new a;return b.send=function(a){return function(){if(arguments[0]instanceof FormData&&arguments[0].__setXHR_){var c=arguments[0];c.__setXHR_(b)}a.apply(b,arguments)}}(b.send),b}}(XMLHttpRequest));
 No newline at end of file
Original line number Diff line number Diff line
/**!
 * AngularJS file upload shim for HTML5 FormData
 * @author  Danial  <danial.farid@gmail.com>
 * @version 1.1.10
 */
(function() {

if (window.XMLHttpRequest) {
	if (window.FormData) {
		// allow access to Angular XHR private field: https://github.com/angular/angular.js/issues/1934
		XMLHttpRequest = (function(origXHR) {
			return function() {
				var xhr = new origXHR();
				xhr.send = (function(orig) {
					return function() {
						if (arguments[0] instanceof FormData && arguments[0].__setXHR_) {
							var formData = arguments[0];
							formData.__setXHR_(xhr);
						}
						orig.apply(xhr, arguments);
					}
				})(xhr.send);
				return xhr;
			}
		})(XMLHttpRequest);
	} else {
		XMLHttpRequest = (function(origXHR) {
			return function() {
				var xhr = new origXHR();
				var origSend = xhr.send;
				xhr.__requestHeaders = [];
				xhr.open = (function(orig) {
					xhr.upload = {
						addEventListener: function(t, fn, b) {
							if (t == 'progress') {
								xhr.__progress = fn;
							}
						}
					};
					return function(m, url, b) {
						orig.apply(xhr, [m, url, b]);
						xhr.__url = url;
					}
				})(xhr.open);
				xhr.getResponseHeader = (function(orig) {
					return function(h) {
						return xhr.__fileApiXHR ? xhr.__fileApiXHR.getResponseHeader(h) : orig.apply(xhr, [h]); 
					}
				})(xhr.getResponseHeader);
				xhr.getAllResponseHeaders = (function(orig) {
					return function() {
						return xhr.__fileApiXHR ? xhr.__fileApiXHR.getAllResponseHeaders() : orig.apply(xhr); 
					}
				})(xhr.getAllResponseHeaders);
				xhr.abort = (function(orig) {
					return function() {
						return xhr.__fileApiXHR ? xhr.__fileApiXHR.abort() : (orig == null ? null : orig.apply(xhr)); 
					}
				})(xhr.abort);
				xhr.send = function() {
					if (arguments[0] != null && arguments[0].__isShim && arguments[0].__setXHR_) {
						var formData = arguments[0];
						if (arguments[0].__setXHR_) {
							var formData = arguments[0];
							formData.__setXHR_(xhr);
						}
						var config = {
							url: xhr.__url,
							complete: function(err, fileApiXHR) {
								Object.defineProperty(xhr, 'status', {get: function() {return fileApiXHR.status}});
								Object.defineProperty(xhr, 'statusText', {get: function() {return fileApiXHR.statusText}});
								Object.defineProperty(xhr, 'readyState', {get: function() {return 4}});
								Object.defineProperty(xhr, 'response', {get: function() {return fileApiXHR.response}});
								Object.defineProperty(xhr, 'responseText', {get: function() {return fileApiXHR.responseText}});
								xhr.__fileApiXHR = fileApiXHR;
								xhr.onreadystatechange();
							},
							progress: function(e) {
								xhr.__progress(e);
							},
							headers: xhr.__requestHeaders
						}
						config.data = {};
						config.files = {}
						for (var i = 0; i < formData.data.length; i++) {
							var item = formData.data[i];
							if (item.val != null && item.val.name != null && item.val.size != null && item.val.type != null) {
								config.files[item.key] = item.val;
							} else {
								config.data[item.key] = item.val;
							}
						}
						
						setTimeout(function() {
							xhr.__fileApiXHR = FileAPI.upload(config);
						}, 1);
					} else {
						origSend.apply(xhr, arguments);
					}
				}
				return xhr;
			}
		})(XMLHttpRequest);
	}
}

if (!window.FormData) {
	var hasFlash = false;
	try {
	  var fo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
	  if (fo) hasFlash = true;
	} catch(e) {
	  if (navigator.mimeTypes["application/x-shockwave-flash"] != undefined) hasFlash = true;
	}
	var wrapFileApi = function(elem) {
		if (!elem.__isWrapped && (elem.getAttribute('ng-file-select') != null || elem.getAttribute('data-ng-file-select') != null)) {
			var wrap = document.createElement('div');
			wrap.innerHTML = '<div class="js-fileapi-wrapper" style="position:relative; overflow:hidden"></div>';
			wrap = wrap.firstChild;
			var parent = elem.parentNode;
			parent.insertBefore(wrap, elem);
			parent.removeChild(elem);
			wrap.appendChild(elem);
			if (!hasFlash) {
				wrap.appendChild(document.createTextNode('Flash is required'));
			}
			elem.__isWrapped = true;
		}
	};
	var changeFnWrapper = function(fn) {
		return function(evt) {
			var files = FileAPI.getFiles(evt);
			if (!evt.target) {
				evt.target = {};
			}
			evt.target.files = files;
			evt.target.files.item = function(i) {
				return evt.target.files[i] || null;
			}
			fn(evt);
		};
	};
	var isFileChange = function(elem, e) {
		return (e.toLowerCase() === 'change' || e.toLowerCase() === 'onchange') && elem.getAttribute('type') == 'file';
	}
	if (HTMLInputElement.prototype.addEventListener) {
		HTMLInputElement.prototype.addEventListener = (function(origAddEventListener) {
			return function(e, fn, b, d) {
				if (isFileChange(this, e)) {
					wrapFileApi(this);
					origAddEventListener.apply(this, [e, changeFnWrapper(fn), b, d]); 
				} else {
					origAddEventListener.apply(this, [e, fn, b, d]);
				}
			}
		})(HTMLInputElement.prototype.addEventListener);		
	}
	if (HTMLInputElement.prototype.attachEvent) {
		HTMLInputElement.prototype.attachEvent = (function(origAttachEvent) {
			return function(e, fn) {
				if (isFileChange(this, e)) {
					wrapFileApi(this);
					origAttachEvent.apply(this, [e, changeFnWrapper(fn)]); 
				} else {
					origAttachEvent.apply(this, [e, fn]);
				}
			}
		})(HTMLInputElement.prototype.attachEvent);
	}

	window.FormData = FormData = function() {
		return {
			append: function(key, val, name) {
				this.data.push({
					key: key,
					val: val,
					name: name
				});
			},
			data: [],
			__isShim: true
		};
	};
	
	(function () {
		//load FileAPI
		if (!window.FileAPI || !FileAPI.upload) {
			var base = '', script = document.createElement('script'), allScripts = document.getElementsByTagName('script'), i, index, src;
			if (window.FileAPI && window.FileAPI.jsPath) {
				base = window.FileAPI.jsPath;
			} else {
				for (i = 0; i < allScripts.length; i++) {
					src = allScripts[i].src;
					index = src.indexOf('angular-file-upload-shim.js')
					if (index == -1) {
						index = src.indexOf('angular-file-upload-shim.min.js');
					}
					if (index > -1) {
						base = src.substring(0, index);
						break;
					}
				}
			}

			if (!window.FileAPI || FileAPI.staticPath == null) {
				FileAPI = {
					staticPath: base
				}
			}
	
			script.setAttribute('src', base + "FileAPI.min.js");
			document.getElementsByTagName('head')[0].appendChild(script);
		}
	})();
}})();
 No newline at end of file
Original line number Diff line number Diff line
/*! 1.1.10 */
!function(){if(window.XMLHttpRequest&&(XMLHttpRequest=window.FormData?function(a){return function(){var b=new a;return b.send=function(a){return function(){if(arguments[0]instanceof FormData&&arguments[0].__setXHR_){var c=arguments[0];c.__setXHR_(b)}a.apply(b,arguments)}}(b.send),b}}(XMLHttpRequest):function(a){return function(){var b=new a,c=b.send;return b.__requestHeaders=[],b.open=function(a){return b.upload={addEventListener:function(a,c){"progress"==a&&(b.__progress=c)}},function(c,d,e){a.apply(b,[c,d,e]),b.__url=d}}(b.open),b.getResponseHeader=function(a){return function(c){return b.__fileApiXHR?b.__fileApiXHR.getResponseHeader(c):a.apply(b,[c])}}(b.getResponseHeader),b.getAllResponseHeaders=function(a){return function(){return b.__fileApiXHR?b.__fileApiXHR.getAllResponseHeaders():a.apply(b)}}(b.getAllResponseHeaders),b.abort=function(a){return function(){return b.__fileApiXHR?b.__fileApiXHR.abort():null==a?null:a.apply(b)}}(b.abort),b.send=function(){if(null!=arguments[0]&&arguments[0].__isShim&&arguments[0].__setXHR_){var a=arguments[0];if(arguments[0].__setXHR_){var a=arguments[0];a.__setXHR_(b)}var d={url:b.__url,complete:function(a,c){Object.defineProperty(b,"status",{get:function(){return c.status}}),Object.defineProperty(b,"statusText",{get:function(){return c.statusText}}),Object.defineProperty(b,"readyState",{get:function(){return 4}}),Object.defineProperty(b,"response",{get:function(){return c.response}}),Object.defineProperty(b,"responseText",{get:function(){return c.responseText}}),b.__fileApiXHR=c,b.onreadystatechange()},progress:function(a){b.__progress(a)},headers:b.__requestHeaders};d.data={},d.files={};for(var e=0;e<a.data.length;e++){var f=a.data[e];null!=f.val&&null!=f.val.name&&null!=f.val.size&&null!=f.val.type?d.files[f.key]=f.val:d.data[f.key]=f.val}setTimeout(function(){b.__fileApiXHR=FileAPI.upload(d)},1)}else c.apply(b,arguments)},b}}(XMLHttpRequest)),!window.FormData){var a=!1;try{var b=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");b&&(a=!0)}catch(c){void 0!=navigator.mimeTypes["application/x-shockwave-flash"]&&(a=!0)}var d=function(b){if(!b.__isWrapped&&(null!=b.getAttribute("ng-file-select")||null!=b.getAttribute("data-ng-file-select"))){var c=document.createElement("div");c.innerHTML='<div class="js-fileapi-wrapper" style="position:relative; overflow:hidden"></div>',c=c.firstChild;var d=b.parentNode;d.insertBefore(c,b),d.removeChild(b),c.appendChild(b),a||c.appendChild(document.createTextNode("Flash is required")),b.__isWrapped=!0}},e=function(a){return function(b){var c=FileAPI.getFiles(b);b.target||(b.target={}),b.target.files=c,b.target.files.item=function(a){return b.target.files[a]||null},a(b)}},f=function(a,b){return("change"===b.toLowerCase()||"onchange"===b.toLowerCase())&&"file"==a.getAttribute("type")};HTMLInputElement.prototype.addEventListener&&(HTMLInputElement.prototype.addEventListener=function(a){return function(b,c,g,h){f(this,b)?(d(this),a.apply(this,[b,e(c),g,h])):a.apply(this,[b,c,g,h])}}(HTMLInputElement.prototype.addEventListener)),HTMLInputElement.prototype.attachEvent&&(HTMLInputElement.prototype.attachEvent=function(a){return function(b,c){f(this,b)?(d(this),a.apply(this,[b,e(c)])):a.apply(this,[b,c])}}(HTMLInputElement.prototype.attachEvent)),window.FormData=FormData=function(){return{append:function(a,b,c){this.data.push({key:a,val:b,name:c})},data:[],__isShim:!0}},function(){if(!window.FileAPI||!FileAPI.upload){var a,b,c,d="",e=document.createElement("script"),f=document.getElementsByTagName("script");if(window.FileAPI&&window.FileAPI.jsPath)d=window.FileAPI.jsPath;else for(a=0;a<f.length;a++)if(c=f[a].src,b=c.indexOf("angular-file-upload-shim.js"),-1==b&&(b=c.indexOf("angular-file-upload-shim.min.js")),b>-1){d=c.substring(0,b);break}window.FileAPI&&null!=FileAPI.staticPath||(FileAPI={staticPath:d}),e.setAttribute("src",d+"FileAPI.min.js"),document.getElementsByTagName("head")[0].appendChild(e)}}()}}();
 No newline at end of file