Changeset 4300


Ignore:
Timestamp:
01/20/14 17:22:57 (10 years ago)
Author:
andmor
Message:

Merging Bootstrap 3.0.3 branch back into trunk.

Location:
cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.site
Files:
1 deleted
20 edited
5 copied

Legend:

Unmodified
Added
Removed
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.site

  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.site/site/completeuserdetails.html

    r4246 r4300  
    1111
    1212        <!-- Le styles -->
    13         <link href="./lib/bootstrap-2.3.2/css/bootstrap.min.css" rel="stylesheet" />
    14         <link href="./lib/bootstrap-2.3.2/css/bootstrap-responsive.min.css" rel="stylesheet" />
     13        <link href="./lib/bootstrap-3.0.3/css/bootstrap.min.css" rel="stylesheet" />
    1514        <link href="./styles/SCHEMAcat.min.css" rel="stylesheet" />
    1615
     
    2019            <div data-ng-controller="CompleteUserDetailsCtrl">
    2120                <div class="navbar navbar-inverse navbar-fixed-top">
    22                     <div class="navbar-inner">
    23                         <div class="container-fluid">
    24                             <button type="button" class="btn btn-navbar">
    25                                 <span class="icon-bar"></span>
    26                                 <span class="icon-bar"></span>
    27                                 <span class="icon-bar"></span>
    28                             </button>
    29                             <a class="brand">SCHEMAcat</a>
    30                             <div class="nav-collapse">
    31                                 <ul class="nav">
    32                                     <li class="divider-vertical"></li>
    33                                     <li class="active">
    34                                         <a href="/schemacat/site/index.html"><i class="icon-home icon-white"><!--i--></i> Home</a>
     21                    <div>
     22                        <div>
     23                            <div class="navbar-header">
     24                                <button type="button" class="btn btn-default navbar-toggle" data-ng-click="toggleTopMenu()">
     25                                    <span class="icon-bar"></span>
     26                                    <span class="icon-bar"></span>
     27                                    <span class="icon-bar"></span>
     28                                </button>
     29                                <a class="navbar-brand" href="/schemacat/site/">SCHEMAcat</a>
     30                            </div>
     31                            <div class="collapse navbar-collapse" data-collapse="topMenuCollapsed">
     32                                <ul class="nav navbar-nav">
     33                                    <li class="divider"></li>
     34                                    <li data-ng-class="{ active: isActive('/workspace')}">
     35                                        <a href="#/workspace.html/page/1/?schemaIndex=0&amp;{{animationsUrlPart()}}&amp;{{topMenuExpandedUrlPart()}}"><i class="glyphicon glyphicon-home glyphicon-white"><!--i--></i> Home</a>
    3536                                    </li>
    36                                     <li>
    37                                         <a>About</a>
     37                                    <li data-ng-class="{ active: isActive('/about')}">
     38                                        <a href="#/about.html?{{animationsUrlPart()}}&amp;{{topMenuExpandedUrlPart()}}">About</a>
    3839                                    </li>
    39                                     <li>
    40                                         <a>Contact</a>
     40                                    <li data-ng-class="{ active: isActive('/contact')}">
     41                                        <a href="#/contact.html?{{animationsUrlPart()}}&amp;{{topMenuExpandedUrlPart()}}">Contact</a>
    4142                                    </li>
    4243                                </ul>
    43                                 <div class="pull-right">
    44                                     <ul class="nav pull-right">
    45                                         <li><a class="cursor-pointer"><i class="icon-user icon-white"><!--i--></i> <span/>
    46                                         </a></li>
     44                                <div class="navbar-right">
     45                                    <ul class="nav navbar-nav">
     46                                        <li class="dropdown" title="userMenu">
     47                                            <a class="cursor-pointer dropdown-toggle"><i class="glyphicon glyphicon-user"><!--i--></i><span class="caret"></span> </a>
     48                                        </li>
    4749                                        <li class="dropdown" title="settings">
    48                                             <a class="cursor-pointer dropdown-toggle"><i class="icon-wrench icon-white"><!--i--></i></a>
     50                                            <a class="cursor-pointer dropdown-toggle"><i class="glyphicon glyphicon-wrench"><!--i--></i> <span class="caret"></span> </a>
    4951                                        </li>
    5052                                    </ul>
     
    5355                        </div>
    5456                    </div>
    55                 </div>
     57                </div>   
    5658            </div>
     59            <div id="pushh"></div>
     60            <div id="pushf"></div>
    5761        </div>
    5862        <div id="footer">
    59             <div class="container">
     63            <div class="schemacat-fluid-container">
    6064                <p>&#169; The Language Archive 2013</p>
    6165            </div>
     
    6569        <!-- Placed at the end of the document so the pages load faster -->
    6670        <!--<script src="./lib/jQuery/1.10.2/jquery-1.10.2.min.js"></script>-->
    67         <script src="./lib/AngularJS-1.2.7/angular.min.js"></script>
    68         <script src="./lib/AngularJS-1.2.7/angular-resource.min.js"></script>
    69         <script src="./lib/AngularJS-1.2.7/angular-route.min.js"></script>
    70         <script src="./lib/UI-bootstrap/ui-bootstrap-tpls-0.8.0.min.js"></script>
     71        <script src="./lib/AngularJS-1.2.8/angular.min.js"></script>
     72        <script src="./lib/AngularJS-1.2.8/angular-resource.min.js"></script>
     73        <script src="./lib/AngularJS-1.2.8/angular-route.min.js"></script>
     74        <script src="./lib/UI-bootstrap/ui-bootstrap-tpls-0.10.0.min.js"></script>
    7175        <script src="./scripts/modules.min.js"></script>
    7276        <script src="./scripts/controllers.min.js"></script>
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.site/site/index.html

    r4246 r4300  
    1111
    1212        <!-- Le styles -->
    13         <link href="./lib/bootstrap-2.3.2/css/bootstrap.min.css" rel="stylesheet" />
    14         <link href="./lib/bootstrap-2.3.2/css/bootstrap-responsive.min.css" rel="stylesheet" />
     13        <link href="./lib/bootstrap-3.0.3/css/bootstrap.min.css" rel="stylesheet" />
    1514        <link href="./lib/animate_css/animate.min.css" rel="stylesheet" />
    1615        <link href="./styles/SCHEMAcat.min.css" rel="stylesheet" />
     
    2221            <div data-ng-controller="TopMenuCtrl">
    2322                <div class="navbar navbar-inverse navbar-fixed-top">
    24                     <div class="navbar-inner">
    25                         <div class="container-fluid">
    26                             <button type="button" class="btn btn-navbar" data-ng-click="toggleTopMenu()">
    27                                 <span class="icon-bar"></span>
    28                                 <span class="icon-bar"></span>
    29                                 <span class="icon-bar"></span>
    30                             </button>
    31                             <a class="brand" href="/schemacat/site/">SCHEMAcat</a>
    32                             <div class="nav-collapse" data-collapse="topMenuCollapsed">
    33                                 <ul class="nav">
    34                                     <li class="divider-vertical"></li>
     23                    <div>
     24                        <div>
     25                            <div class="navbar-header">
     26                                <button type="button" class="btn btn-default navbar-toggle" data-ng-click="toggleTopMenu()">
     27                                    <span class="icon-bar"></span>
     28                                    <span class="icon-bar"></span>
     29                                    <span class="icon-bar"></span>
     30                                </button>
     31                                <a class="navbar-brand" href="/schemacat/site/index.html">SCHEMAcat</a>
     32                            </div>
     33                            <div class="collapse navbar-collapse" data-collapse="topMenuCollapsed">
     34                                <ul class="nav navbar-nav">
     35                                    <li class="divider"></li>
    3536                                    <li data-ng-class="{ active: isActive('/workspace')}">
    36                                         <a href="#/workspace/page/1/?schemaIndex=0&amp;{{animationsUrlPart()}}&amp;{{topMenuExpandedUrlPart()}}"><i class="icon-home icon-white"><!--i--></i> Home</a>
     37                                        <a href="#/workspace.html/page/1/?schemaIndex=0&amp;{{animationsUrlPart()}}&amp;{{topMenuExpandedUrlPart()}}"><i class="glyphicon glyphicon-home glyphicon-white"><!--i--></i> Home</a>
    3738                                    </li>
    3839                                    <li data-ng-class="{ active: isActive('/about')}">
    39                                         <a href="#/about?{{animationsUrlPart()}}&amp;{{topMenuExpandedUrlPart()}}">About</a>
     40                                        <a href="#/about.html?{{animationsUrlPart()}}&amp;{{topMenuExpandedUrlPart()}}">About</a>
    4041                                    </li>
    4142                                    <li data-ng-class="{ active: isActive('/contact')}">
    42                                         <a href="#/contact?{{animationsUrlPart()}}&amp;{{topMenuExpandedUrlPart()}}">Contact</a>
     43                                        <a href="#/contact.html?{{animationsUrlPart()}}&amp;{{topMenuExpandedUrlPart()}}">Contact</a>
    4344                                    </li>
    4445                                </ul>
    45                                 <div class="pull-right">
    46                                     <ul class="nav pull-right">
     46                                <div class="navbar-right">
     47                                    <ul class="nav navbar-nav">
    4748                                        <li class="dropdown" title="userMenu">
    48                                             <a class="cursor-pointer dropdown-toggle"><i class="icon-user icon-white"><!--i--></i> <span data-ng-bind="displayName"/> <span class="caret"></span> </a>
     49                                            <a class="cursor-pointer dropdown-toggle"><i class="glyphicon glyphicon-user"><!--i--></i> <span data-ng-bind="displayName"/> <span class="caret"></span> </a>
    4950                                                <ul class="dropdown-menu">
    5051                                                    <li>
    51                                                         <!--<a class="cursor-pointer" data-ng-click="loginClick()">-->
    52                                                         <a href="{{shibURL}}"><!-- uncomment first one for development -->
     52                                                        <a class="cursor-pointer" data-ng-click="loginClick()">
     53                                                            <!-- <a href="{{shibURL}}"> --><!-- uncomment first one for development -->
    5354                                                            <span>Login as a different user...</span>
    5455                                                        </a>
    5556                                                    </li>
    5657                                                    <li>
    57                                                         <a class="cursor-pointer" href="#/accountDetails?{{animationsUrlPart()}}&amp;{{topMenuExpandedUrlPart()}}" data-ng-if="displayName != 'guest'">
     58                                                        <a class="cursor-pointer" href="#/accountDetails.html?{{animationsUrlPart()}}&amp;{{topMenuExpandedUrlPart()}}" data-ng-if="displayName != 'guest'">
    5859                                                            <span>Account details</span>
    5960                                                        </a>
     
    6263                                        </li>
    6364                                        <li class="dropdown" title="settings">
    64                                             <a class="cursor-pointer dropdown-toggle"><i class="icon-wrench icon-white"><!--i--></i> <span class="caret"></span> </a>
     65                                            <a class="cursor-pointer dropdown-toggle"><i class="glyphicon glyphicon-wrench"><!--i--></i> <span class="caret"></span> </a>
    6566                                            <ul class="dropdown-menu">
    6667                                                <li>
    6768                                                    <a class="cursor-pointer" data-ng-click="updateAnimationStatus()" >
    68                                                         <i class="icon icon-ok" data-ng-if="animationsChecked"><!--i--></i>
     69                                                        <i class="glyphicon glyphicon-ok" data-ng-if="animationsChecked"><!--i--></i>
    6970                                                        <span>animations</span>
    7071                                                    </a>
     
    8687        </div>
    8788        <div id="footer">
    88             <div class="container-fluid">
     89            <div class="schemacat-fluid-container">
    8990                <p>&#169; The Language Archive 2013</p>
    9091            </div>
     
    9596        <!-- Placed at the end of the document so the pages load faster -->
    9697        <!--<script src="./lib/jQuery/1.10.2/jquery-1.10.2.min.js"></script>-->
    97         <script src="./lib/AngularJS-1.2.7/angular.min.js"></script>
    98         <script src="./lib/AngularJS-1.2.7/angular-resource.min.js"></script>
    99         <script src="./lib/AngularJS-1.2.7/angular-route.min.js"></script>
    100         <script src="./lib/UI-bootstrap/ui-bootstrap-tpls-0.8.0.min.js"></script>
     98        <script src="./lib/AngularJS-1.2.8/angular.min.js"></script>
     99        <script src="./lib/AngularJS-1.2.8/angular-resource.min.js"></script>
     100        <script src="./lib/AngularJS-1.2.8/angular-route.min.js"></script>
     101        <script src="./lib/UI-bootstrap/ui-bootstrap-tpls-0.10.0.min.js"></script>
    101102        <script src="./lib/pretify/prettify.js"></script>
    102103        <script src="./scripts/modules.min.js"></script>
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.site/site/lib/pretify/prettify-bootstrap-light.css

    r3749 r4300  
    6666ol.linenums {
    6767  color: #1E347B;
    68   margin: 0 0 0 40px; }
     68}
    6969
    7070ol.linenums li {
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.site/site/partials/about.html

    r4077 r4300  
    1 <div id="about" data-ng-class="animateInOut" class="container-fluid">
    2     <div class="row-fluid">
    3         <div class="span12 hero-unit">
    4             <div class="row-fluid">
    5                 <div class="span9">
    6                     <h3>About SCHEMAcat</h3>
    7                     <p>SCHEMAcat is a companion registry to the ISOcat Data Category Registry.</p>
    8                 </div>
    9                 <div class="span3">
    10                     <div class="text-center">
    11                         <img src="images/yellow-cat.png" alt=""/>
     1<div id="about" data-ng-class="animateInOut" class="schemacat-fluid-container">
     2    <div class="row">
     3        <div class="col-md-12">
     4            <div class="jumbotron">
     5                <div class="row">
     6                    <div class="col-md-9">
     7                        <h3>About SCHEMAcat</h3>
     8                        <p>SCHEMAcat is a companion registry to the ISOcat Data Category Registry.</p>
     9                    </div>
     10                    <div class="col-md-3">
     11                        <div class="text-center">
     12                            <img src="images/yellow-cat.png" alt=""/>
     13                        </div>
    1214                    </div>
    1315                </div>
    14             </div>
    15             <div class="container-fluid">
    16                 <div class="row-fluid">
    17                     <div class="span12">
    18                         <br/>
    19                         <h4>Alpha notice!</h4>
    20                         <div class="container-fluid">
    21                             <p>SCHEMAcat is in its early stages of development. This means that
    22                                 anything can change at any time. Its also only available on a test
    23                                 server. This means that the server can go down anytime and data
    24                                 might get unrecoverably lost at any time. So this alpha release of
    25                                 SCHEMAcat is not meant and not ready for day to day work! However,
    26                                 we welcome any feedback and help to reach that stage soon.</p>
    27                         </div>
    28                         <br/>
    29                         <h4>Publications</h4>
    30                         <div class="container-fluid">
    31                             <ol>
    32                                 <li>Ineke Schuurman, Menzo Windhouwer. Explicit Semantics for
    33                                     Enriched Documents. What Do ISOcat, RELcat and SCHEMAcat Have To
    34                                     Offer? In the Proceedings of the 2nd Supporting Digital
    35                                     Humanities conference (SDH 2011). Copenhagen, Denmark, November
    36                                     17-18, 2011. (draft)</li>
    37                             </ol>
    38                         </div>
    39                         <br/>
    40                         <h4>Implementation info:</h4>
    41                         <div class="container-fluid">
    42                             <div class="row-fluid">
    43                                 <div class="span9">
    44                                     <p>SCHEMAcat is developed by The Languague Archive at the Max
    45                                         Planck Institute for Psycholinguistics.</p>
    46                                     <p>The current technical implementation is based on the
    47                                         following technologies:</p>
    48                                     <div class="row-fluid">
    49                                         <div class="span3 offset1">
    50                                             <h5>Server</h5>
    51                                             <ul class="text-center">
    52                                                 <li>
    53                                                   <p>
    54                                                   <a href="http://1060research.com">
    55                                                   <img
    56                                                   src="http://www.1060research.com/netkernel/poweredbynetkernel.png"
    57                                                   alt="Powered by Netkernel"/>
    58                                                   </a>
    59                                                   </p>
    60                                                 </li>
    61                                             </ul>
    62                                         </div>
    63                                         <div class="span3">
    64                                             <h5>User interface</h5>
    65                                             <ul class="text-center">
    66                                                 <li>
    67                                                   <p>
    68                                                   <a href="http://angularjs.org/">
    69                                                   <img
    70                                                   src="https://raw.github.com/angular/angular.js/master/images/logo/AngularJS.exports/AngularJS-small.png"
    71                                                   alt="AngularJS"/>
    72                                                   </a>
    73                                                   </p>
    74                                                 </li>
    75                                             </ul>
     16                <div>
     17                    <div class="row schemacat-fluid-container">
     18                        <div class="col-md-12">
     19                            <br/>
     20                            <h4>Alpha notice!</h4>
     21                            <div class="schemacat-fluid-container">
     22                                <p>SCHEMAcat is in its early stages of development. This means that
     23                                    anything can change at any time. Its also only available on a test
     24                                    server. This means that the server can go down anytime and data
     25                                    might get unrecoverably lost at any time. So this alpha release of
     26                                    SCHEMAcat is not meant and not ready for day to day work! However,
     27                                    we welcome any feedback and help to reach that stage soon.</p>
     28                            </div>
     29                            <br/>
     30                            <h4>Publications</h4>
     31                            <div>
     32                                <ol>
     33                                    <li>Ineke Schuurman, Menzo Windhouwer. Explicit Semantics for
     34                                        Enriched Documents. What Do ISOcat, RELcat and SCHEMAcat Have To
     35                                        Offer? In the Proceedings of the 2nd Supporting Digital
     36                                        Humanities conference (SDH 2011). Copenhagen, Denmark, November
     37                                        17-18, 2011. (draft)</li>
     38                                </ol>
     39                            </div>
     40                            <br/>
     41                            <h4>Implementation info:</h4>
     42                            <div>
     43                                <div class="row schemacat-fluid-container">
     44                                    <div class="col-md-9">
     45                                        <p>SCHEMAcat is developed by The Languague Archive at the Max
     46                                            Planck Institute for Psycholinguistics.</p>
     47                                        <p>The current technical implementation is based on the
     48                                            following technologies:</p>
     49                                        <div class="row">
     50                                            <div class="col-md-3 col-md-offset-1">
     51                                                <h5>Server</h5>
     52                                                <ul class="text-center">
     53                                                    <li>
     54                                                        <p>
     55                                                            <a href="http://1060research.com">
     56                                                                <img class="img-responsive-inline"
     57                                                                    src="http://www.1060research.com/netkernel/poweredbynetkernel.png"
     58                                                                    alt="Powered by Netkernel"/>
     59                                                            </a>
     60                                                        </p>
     61                                                    </li>
     62                                                </ul>
     63                                            </div>
     64                                            <div class="col-md-3">
     65                                                <h5>User interface</h5>
     66                                                <ul class="text-center">
     67                                                    <li>
     68                                                        <p>
     69                                                            <a href="http://angularjs.org/">
     70                                                                <img class="img-responsive-inline"
     71                                                                    src="https://raw.github.com/angular/angular.js/master/images/logo/AngularJS.exports/AngularJS-small.png"
     72                                                                    alt="AngularJS"/>
     73                                                            </a>
     74                                                        </p>
     75                                                    </li>
     76                                                </ul>
     77                                            </div>
    7678                                        </div>
    7779                                    </div>
    78                                 </div>
    79                                 <div class="span3 text-center">
    80                                     <a href="http://tla.mpi.nl">
    81                                         <img
    82                                             src="images/TLAlogo.png"
    83                                             alt="http://tla.mpi.nl"/>
    84                                     </a>
     80                                    <div class="col-md-3 text-center">
     81                                        <a href="http://tla.mpi.nl">
     82                                            <img class="img-responsive"
     83                                                src="images/TLAlogo.png"
     84                                                alt="http://tla.mpi.nl"/>
     85                                        </a>
     86                                    </div>
    8587                                </div>
    8688                            </div>
    87                         </div>
    88                         <br/>
    89                         <h4>Change log</h4>
    90                         <div class="container-fluid">
    91                             <h5>[2013-11-08]</h5>
    92                             <ol>
    93                                 <li>Dinamic web site based on AngularJS and NetKernel on the
    94                                     server</li>
    95                             </ol>
    96                             <h5>[2012-09-25]</h5>
    97                             <ol>
    98                                 <li>Initial alpha release of SCHEMAcat with a web site</li>
    99                             </ol>
     89                            <br/>
     90                            <h4>Change log</h4>
     91                            <div class="schemacat-fluid-container">
     92                                <h5>[2013-11-08]</h5>
     93                                <ol>
     94                                    <li>Dinamic web site based on AngularJS and NetKernel on the
     95                                        server</li>
     96                                </ol>
     97                                <h5>[2012-09-25]</h5>
     98                                <ol>
     99                                    <li>Initial alpha release of SCHEMAcat with a web site</li>
     100                                </ol>
     101                            </div>
    100102                        </div>
    101103                    </div>
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.site/site/partials/accountDetails.html

    r4116 r4300  
    1 <div id="accountDetails" data-ng-class="animateAccountDetails" class="container-fluid">
    2     <div class="row-fluid">
    3         <div class="span12 hero-unit">
    4             <h3>Account details</h3>
    5             <div class="container-fluid">
    6                 <dl class="dl-horizontal">
    7                     <dt>Shibboleth ID:</dt>
    8                     <dd>
    9                         <p data-ng-bind="principal"/>
    10                     </dd>
    11                     <dt>Diplay name:</dt>
    12                     <dd>
    13                         <p data-ng-if="!edditingDisplayName">
    14                             <span data-ng-bind="displayName"></span>
    15                             <span>
    16                                 <button data-ng-click="editDisplayName()" class="btn btn-info btn-mini" data-ng-if="displayName != 'guest'"><i class="icon-edit"></i> Edit</button>
     1<div id="accountDetails" data-ng-class="animateAccountDetails" class="schemacat-fluid-container">
     2    <div class="row">
     3        <div class="col-md-12">
     4            <div class="jumbotron">
     5                <div class="schemacat-fluid-container">
     6                    <h3>Account details</h3>
     7                    <div>
     8                        <dl class="dl-horizontal small">
     9                            <dt>Shibboleth ID:</dt>
     10                            <dd>
     11                                <p data-ng-bind="principal"/>
     12                            </dd>
     13                            <dt>Diplay name:</dt>
     14                            <dd>
     15                                <p data-ng-if="!edditingDisplayName">
     16                                    <span data-ng-bind="displayName"></span>
     17                                    <span>
     18                                        <button data-ng-click="editDisplayName()" class="btn btn-info btn-xs" data-ng-if="displayName != 'guest'"><i class="icon-edit"></i> Edit</button>
     19                                    </span>
     20                                </p>
     21                                <form data-ng-if="edditingDisplayName" name="editDisplayNameForm" class="form-horizontal" novalidate="novalidate">
     22                                    <div class="form-group">
     23                                        <div class="col-md-3">
     24                                            <input name="editDisplayNameInput" class="form-control" type="text" required="required" data-ng-model="editDisplayNameText"/>
     25                                        </div>
     26                                        <button data-ng-click="updateDisplayName(editDisplayNameText)" class="btn btn-success btn-xs" data-ng-disabled="editDisplayNameForm.$invalid || waitingForServerEditDisplayName"><i class="icon-check"></i> Save</button>
     27                                        <button data-ng-click="terminateEditDisplayName()" class="btn btn-danger btn-xs"><i class="icon-remove"></i> Cancel</button>
     28                                        <img src="images/spinner-small.gif" alt="Loading..." data-ng-if="waitingForServerEditDisplayName"/>
     29                                        <div class="col-md-12 has-error small" data-ng-if="editDisplayNameForm.editDisplayNameInput.$dirty &amp;&amp; editDisplayNameForm.editDisplayNameInput.$invalid">
     30                                            <small class="help-block" data-ng-if="editDisplayNameForm.editDisplayNameInput.$error.required">
     31                                                Your display name cannot be empty.
     32                                            </small>
     33                                        </div>
     34                                        <div class="col-md-12 has-error small" data-ng-if="editDisplayNameAjaxError">
     35                                            <small class="help-block">
     36                                                <div>The server responded with an error. Please try again!</div>
     37                                                <div>If the problem persists contact us at:</div>
     38                                                <div><a href="mailto:tla@mpi.nl">isocat@mpi.nl</a></div>
     39                                            </small>
     40                                        </div>
     41                                    </div>
     42                                </form>
     43                            </dd>
     44                            <span data-ng-if="displayName != 'guest'">
     45                                <dt>email:</dt>
     46                                <dd data-ng-repeat="emailInstance in email" data-ng-controller="EmailInstanceCtrl">
     47                                    <p data-ng-if="!edditingEmail">
     48                                        <span data-ng-bind="emailInstance"></span>
     49                                        <span>
     50                                            <button data-ng-click="editEmail(emailInstance)" class="btn btn-info btn-xs"><i class="icon-edit"></i> Edit</button>
     51                                            <button data-ng-click="removeEmail($index)" class="btn btn-danger btn-xs" data-ng-if="email.length &gt; 1"><i class="icon-remove"></i> Remove</button>
     52                                            <img src="images/spinner-small.gif" alt="Loading..." data-ng-if="waitingForServerEditEmail"/>
     53                                        </span>
     54                                    </p>
     55                                    <span class="control-group error" data-ng-if="removeEmailAjaxError">
     56                                        <small class="help-block">
     57                                            <div>The server responded with an error. Please try again!</div>
     58                                            <div>If the problem persists contact us at:</div>
     59                                            <div><a href="mailto:tla@mpi.nl">isocat@mpi.nl</a></div>
     60                                        </small>
     61                                    </span>
     62                                    <form data-ng-if="edditingEmail" name="editEmailForm" class="form-horizontal" novalidate="novalidate">
     63                                        <div class="form-group">
     64                                            <div class="col-md-3">
     65                                                <input name="editEmailInput" class="form-control" type="email" required="required" data-ng-model="$parent.editEmailText"/>
     66                                            </div>
     67                                            <button data-ng-click="updateEmail($index)" class="btn btn-success btn-xs" data-ng-disabled="editEmailForm.$invalid || waitingForServerEditEmail"><i class="icon-check"></i> Save</button>
     68                                            <button data-ng-click="cancelEditEmail(emailInstance)" class="btn btn-danger btn-xs"><i class="icon-remove"></i> Cancel</button>
     69                                            <img src="images/spinner-small.gif" alt="Loading..." data-ng-if="waitingForServerEditEmail"/>
     70                                            <span class="col-md-12 has-error small" data-ng-show="editEmailForm.editEmailInput.$dirty &amp;&amp; editEmailForm.editEmailInput.$invalid">
     71                                                <small class="help-block" data-ng-if="editEmailForm.editEmailInput.$error.required">
     72                                                    The email cannot be empty.
     73                                                </small>
     74                                            </span>
     75                                            <span class="col-md-12 has-error small" data-ng-if="editEmailForm.editEmailInput.$dirty &amp;&amp; editEmailForm.editEmailInput.$invalid">
     76                                                <small class="help-block" data-ng-if="editEmailForm.editEmailInput.$error.email">
     77                                                    Please provide a vaid email address.
     78                                                </small>
     79                                            </span>
     80                                            <span class="col-md-12 has-error small" data-ng-if="editEmailAjaxError">
     81                                                <small class="help-block">
     82                                                    <div>The server responded with an error. Please try again!</div>
     83                                                    <div>If the problem persists contact us at:</div>
     84                                                    <div><a href="mailto:tla@mpi.nl">isocat@mpi.nl</a></div>
     85                                                </small>
     86                                            </span>
     87                                        </div>
     88                                       
     89                                    </form>
     90                                </dd>
     91                                <dd data-ng-if="addingEmail">
     92                                    <form name="newEmailForm" class="form-horizontal" novalidate="novalidate">
     93                                        <div class="form-group">
     94                                            <div class="col-md-3">
     95                                                <input name="newEmailInput" class="form-control" type="email" required="required" data-ng-model="newEmailInputText"/>
     96                                            </div>
     97                                            <button data-ng-click="addEmail(newEmailInputText)" class="btn btn-success btn-xs" data-ng-disabled="newEmailForm.$invalid || waitingForServer"><i class="icon-check"></i> Save</button>
     98                                            <button data-ng-click="terminateAddEmail()" class="btn btn-danger btn-xs"><i class="icon-remove"></i> Cancel</button>
     99                                            <img src="images/spinner-small.gif" alt="Loading..." data-ng-if="waitingForServer"/>
     100                                            <span class="col-md-12 has-error small" data-ng-if="newEmailForm.newEmailInput.$dirty &amp;&amp; newEmailForm.newEmailInput.$invalid">
     101                                                <small class="help-block" data-ng-if="newEmailForm.newEmailInput.$error.required">
     102                                                    The email cannot be empty.
     103                                                </small>
     104                                            </span>
     105                                            <span class="col-md-12 has-error small" data-ng-if="newEmailForm.newEmailInput.$dirty &amp;&amp; newEmailForm.newEmailInput.$invalid">
     106                                                <small class="help-block" data-ng-if="newEmailForm.newEmailInput.$error.email">
     107                                                    Please provide a vaid email address.
     108                                                </small>
     109                                            </span>
     110                                            <span class="col-md-12 has-error small" data-ng-if="ajaxError">
     111                                                <small class="help-block">
     112                                                    <div>The server responded with an error. Please try again!</div>
     113                                                    <div>If the problem persists contact us at:</div>
     114                                                    <div><a href="mailto:tla@mpi.nl">isocat@mpi.nl</a></div>
     115                                                </small>
     116                                            </span>
     117                                        </div>
     118                                    </form>
     119                                </dd>
     120                                <dd data-ng-if="!addingEmail"><button data-ng-click="addNewEmail()" class="btn btn-default btn-xs"><i class="glyphicon glyphicon-plus"></i> Add new email</button></dd>
    17121                            </span>
    18                         </p>
    19                         <form data-ng-if="edditingDisplayName" name="editDisplayNameForm" class="form-inline" novalidate="novalidate">
    20                             <input name="editDisplayNameInput" type="text" required="required" data-ng-model="editDisplayNameText"/>
    21                             <button data-ng-click="updateDisplayName(editDisplayNameText)" class="btn btn-success btn-mini" data-ng-disabled="editDisplayNameForm.$invalid || waitingForServerEditDisplayName"><i class="icon-check"></i> Save</button>
    22                             <button data-ng-click="terminateEditDisplayName()" class="btn btn-danger btn-mini"><i class="icon-remove"></i> Cancel</button>
    23                             <img src="images/spinner-small.gif" alt="Loading..." data-ng-if="waitingForServerEditDisplayName"/>
    24                             <span class="control-group error" data-ng-if="editDisplayNameForm.editDisplayNameInput.$dirty &amp;&amp; editDisplayNameForm.editDisplayNameInput.$invalid">
    25                                 <small class="help-block" data-ng-if="editDisplayNameForm.editDisplayNameInput.$error.required">
    26                                     Your display name cannot be empty.
    27                                 </small>
    28                             </span>
    29                             <span class="control-group error" data-ng-if="editDisplayNameAjaxError">
    30                                 <small class="help-block">
    31                                     <div>The server responded with an error. Please try again!</div>
    32                                     <div>If the problem persists contact us at:</div>
    33                                     <div><a href="mailto:tla@mpi.nl">isocat@mpi.nl</a></div>
    34                                 </small>
    35                             </span>
    36                         </form>
    37                     </dd>
    38                     <span data-ng-if="displayName != 'guest'">
    39                         <dt>email:</dt>
    40                         <dd data-ng-repeat="emailInstance in email" data-ng-controller="EmailInstanceCtrl">
    41                             <p data-ng-if="!edditingEmail">
    42                                 <span data-ng-bind="emailInstance"></span>
    43                                 <span>
    44                                     <button data-ng-click="editEmail(emailInstance)" class="btn btn-info btn-mini"><i class="icon-edit"></i> Edit</button>
    45                                     <button data-ng-click="removeEmail($index)" class="btn btn-danger btn-mini" data-ng-if="email.length &gt; 1"><i class="icon-remove"></i> Remove</button>
    46                                     <img src="images/spinner-small.gif" alt="Loading..." data-ng-if="waitingForServerEditEmail"/>
    47                                 </span>
    48                             </p>
    49                             <span class="control-group error" data-ng-if="removeEmailAjaxError">
    50                                 <small class="help-block">
    51                                     <div>The server responded with an error. Please try again!</div>
    52                                     <div>If the problem persists contact us at:</div>
    53                                     <div><a href="mailto:tla@mpi.nl">isocat@mpi.nl</a></div>
    54                                 </small>
    55                             </span>
    56                             <form data-ng-if="edditingEmail" name="editEmailForm" class="form-inline" novalidate="novalidate">
    57                                 <input name="editEmailInput" type="email" required="required" data-ng-model="$parent.editEmailText"/>
    58                                 <button data-ng-click="updateEmail($index)" class="btn btn-success btn-mini" data-ng-disabled="editEmailForm.$invalid || waitingForServerEditEmail"><i class="icon-check"></i> Save</button>
    59                                 <button data-ng-click="cancelEditEmail(emailInstance)" class="btn btn-danger btn-mini"><i class="icon-remove"></i> Cancel</button>
    60                                 <img src="images/spinner-small.gif" alt="Loading..." data-ng-if="waitingForServerEditEmail"/>
    61                                 <span class="control-group error" data-ng-show="editEmailForm.editEmailInput.$dirty &amp;&amp; editEmailForm.editEmailInput.$invalid">
    62                                     <small class="help-block" data-ng-if="editEmailForm.editEmailInput.$error.required">
    63                                         The email cannot be empty.
    64                                     </small>
    65                                 </span>
    66                                 <span class="control-group error" data-ng-if="editEmailForm.editEmailInput.$dirty &amp;&amp; editEmailForm.editEmailInput.$invalid">
    67                                     <small class="help-block" data-ng-if="editEmailForm.editEmailInput.$error.email">
    68                                         Please provide a vaid email address.
    69                                     </small>
    70                                 </span>
    71                                 <span class="control-group error" data-ng-if="editEmailAjaxError">
    72                                     <small class="help-block">
    73                                         <div>The server responded with an error. Please try again!</div>
    74                                         <div>If the problem persists contact us at:</div>
    75                                         <div><a href="mailto:tla@mpi.nl">isocat@mpi.nl</a></div>
    76                                     </small>
    77                                 </span>
    78                             </form>
    79                         </dd>
    80                         <dd data-ng-if="addingEmail">
    81                             <form name="newEmailForm" class="form-inline" novalidate="novalidate">
    82                                 <input name="newEmailInput" type="email" required="required" data-ng-model="newEmailInputText"/>
    83                                 <button data-ng-click="addEmail(newEmailInputText)" class="btn btn-success btn-mini" data-ng-disabled="newEmailForm.$invalid || waitingForServer"><i class="icon-check"></i> Save</button>
    84                                 <button data-ng-click="terminateAddEmail()" class="btn btn-danger btn-mini"><i class="icon-remove"></i> Cancel</button>
    85                                 <img src="images/spinner-small.gif" alt="Loading..." data-ng-if="waitingForServer"/>
    86                                 <span class="control-group error" data-ng-if="newEmailForm.newEmailInput.$dirty &amp;&amp; newEmailForm.newEmailInput.$invalid">
    87                                     <small class="help-block" data-ng-if="newEmailForm.newEmailInput.$error.required">
    88                                         The email cannot be empty.
    89                                     </small>
    90                                 </span>
    91                                 <span class="control-group error" data-ng-if="newEmailForm.newEmailInput.$dirty &amp;&amp; newEmailForm.newEmailInput.$invalid">
    92                                     <small class="help-block" data-ng-if="newEmailForm.newEmailInput.$error.email">
    93                                         Please provide a vaid email address.
    94                                     </small>
    95                                 </span>
    96                                 <span class="control-group error" data-ng-if="ajaxError">
    97                                     <small class="help-block">
    98                                         <div>The server responded with an error. Please try again!</div>
    99                                         <div>If the problem persists contact us at:</div>
    100                                         <div><a href="mailto:tla@mpi.nl">isocat@mpi.nl</a></div>
    101                                     </small>
    102                                 </span>
    103                             </form>
    104                         </dd>
    105                         <dd data-ng-if="!addingEmail"><button data-ng-click="addNewEmail()" class="btn btn-mini"><i class="icon-plus"></i> Add new email</button></dd>
    106                     </span>
    107                 </dl>
     122                        </dl>
     123                    </div>
     124                </div>
    108125            </div>
    109126        </div>
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.site/site/partials/contact.html

    r4191 r4300  
    1 <div id="contact" data-ng-class="animateInOut" class="container-fluid">
    2     <div class="row-fluid">
    3         <div class="span12 hero-unit">
    4             <div>
    5                 <h3>Contact</h3>
    6             </div>
    7             <div class="container-fluid">
    8                 <div class="row-fluid">
    9                     <div class="span9">
    10                         <p>For any additional information feel free to contact:</p>
    11                         <address>
    12                             <div class="container-fluid"><a href="mailto:isocat@mpi.nl">isocat@mpi.nl</a></div>
    13                             <br/><br/>
    14                             <p>And visit us at:</p>
    15                             <div class="container-fluid"><a href="http://tla.mpi.nl">tla.mpi.nl</a></div>
    16                             <br/>
    17                         </address>
     1<div id="contact" data-ng-class="animateInOut" class="schemacat-fluid-container">
     2    <div class="row">
     3        <div class="col-md-12">
     4            <div class="jumbotron">
     5                <div>
     6                    <h3>Contact</h3>
     7                </div>
     8                <div class="schemacat-fluid-container">
     9                    <div class="row">
     10                        <div class="col-md-9">
     11                            <p>For any additional information feel free to contact:</p>
     12                            <address>
     13                                <div class="schemacat-fluid-container"><a href="mailto:isocat@mpi.nl">isocat@mpi.nl</a></div>
     14                                <br/><br/>
     15                                <p>And visit us at:</p>
     16                                <div class="schemacat-fluid-container"><a href="http://tla.mpi.nl">tla.mpi.nl</a></div>
     17                                <br/>
     18                            </address>
     19                        </div>
     20                        <div class="col-md-3"> </div>
    1821                    </div>
    19                     <div class="span3"> </div>
    2022                </div>
    2123            </div>
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.site/site/partials/fillDetailsModal.html

    r4111 r4300  
    66    <div class="modal-body">
    77        <h5>Before you can use SCHEMAcat please complete your account with the following details:</h5>
    8         <div class="container-fluid">
    9             <div class="row-fluid">
    10                 <div class="span6">
    11                     <form name="userDetailsForm">
    12                         <label>Display name:</label>
    13                         <input name="displayNameInput" type="text" required="required" data-ng-model="displayNameInput.text"/>
    14                         <div class="control-group error" data-ng-if="userDetailsForm.displayNameInput.$dirty &amp;&amp; userDetailsForm.displayNameInput.$invalid">
    15                             <small class="help-block" data-ng-if="userDetailsForm.displayNameInput.$error.required">
    16                                 Your display name cannot be empty.
    17                             </small>
     8        <div>
     9            <div class="row">
     10                <div class="col-md-8">
     11                    <br/>
     12                    <form name="userDetailsForm" class="form-horizontal">
     13                        <div class="form-group">
     14                            <label class="col-md-4 control-label">Display name:</label>
     15                            <div class="col-md-8">
     16                                <input name="displayNameInput" class="form-control" type="text" required="required" data-ng-model="displayNameInput.text"/>
     17                            </div>
     18                            <div class="col-md-8 col-md-offset-4 has-error small" data-ng-if="userDetailsForm.displayNameInput.$dirty &amp;&amp; userDetailsForm.displayNameInput.$invalid">
     19                                <span class="help-block" data-ng-if="userDetailsForm.displayNameInput.$error.required">
     20                                    Your display name cannot be empty.
     21                                </span>
     22                            </div>
    1823                        </div>
    19                         <div>
    20                             <label>Contact email:</label>
    21                             <input name="emailInput" type="email" required="required" data-ng-model="emailInput.text"/>
    22                             <div class="control-group error" data-ng-if="userDetailsForm.emailInput.$dirty &amp;&amp; userDetailsForm.emailInput.$invalid">
    23                                 <small class="help-block" data-ng-if="userDetailsForm.emailInput.$error.required">
     24                        <div class="form-group">
     25                            <label class="col-md-4 control-label">Contact email:</label>
     26                            <div class="col-md-8">
     27                                <input name="emailInput" class="col-md-8 form-control" type="email" required="required" data-ng-model="emailInput.text"/>
     28                            </div>
     29                            <div class="col-md-8 col-md-offset-4 has-error small" data-ng-if="userDetailsForm.emailInput.$dirty &amp;&amp; userDetailsForm.emailInput.$invalid">
     30                                <span class="help-block" data-ng-if="userDetailsForm.emailInput.$error.required">
    2431                                    Your contact email cannot be empty.
    25                                 </small>
     32                                </span>
    2633                            </div>
    27                             <div class="control-group error" data-ng-if="userDetailsForm.emailInput.$dirty &amp;&amp; userDetailsForm.emailInput.$invalid">
    28                                 <small class="help-block" data-ng-if="userDetailsForm.emailInput.$error.email">
     34                            <div class="col-md-8 col-md-offset-4 has-error small" data-ng-if="userDetailsForm.emailInput.$dirty &amp;&amp; userDetailsForm.emailInput.$invalid">
     35                                <span class="help-block" data-ng-if="userDetailsForm.emailInput.$error.email">
    2936                                    Please provide a vaid email address.
    30                                 </small>
     37                                </span>
    3138                            </div>
    3239                        </div>
    3340                    </form>
    3441                </div>
    35                 <div class="span6">
     42                <div class="col-md-4">
    3643                    <div class="text-center" data-ng-if="waitingForServer">
    3744                        <div class="hidden-phone"><br/><br/></div>
    3845                        <img src="images/spinner.gif" alt="Loading..."/>
    3946                    </div>
    40                     <span class="control-group error" data-ng-if="ajaxError">
    41                         <small class="help-block">
     47                    <span class="form-group has-error small" data-ng-if="ajaxError">
     48                        <span class="help-block">
    4249                            <div>The server responded with an error. Please try again!</div>
    4350                            <br/>
    4451                            <div>If the problem persists contact us at:</div>
    4552                            <div><a href="mailto:tla@mpi.nl">isocat@mpi.nl</a></div>
    46                         </small>
     53                        </span>
    4754                    </span>
    4855                </div>
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.site/site/partials/loginModal.html

    r4111 r4300  
    66    </div>
    77    <div class="modal-body">
    8         <form name="loginForm">
    9             <div>
    10                 <label>User</label>
    11                 <input name="loginNameInput" type="text" required="required" data-ng-model="loginNameInput.text"/>
    12                 <div class="control-group error" data-ng-if="loginForm.loginNameInput.$dirty &amp;&amp; loginForm.loginNameInput.$invalid">
    13                     <small class="help-block" data-ng-if="loginForm.loginNameInput.$error.required">
     8        <form name="loginForm" class="form-horizontal">
     9            <div class="form-group">
     10                <label class="col-sm-2 control-label">Principal</label>
     11                <div class="col-sm-7">
     12                    <input name="loginNameInput" type="text" class="form-control" required="required" data-ng-model="loginNameInput.text"/>
     13                </div>
     14                <div class="col-sm-10 col-sm-offset-2 has-error small" data-ng-if="loginForm.loginNameInput.$dirty &amp;&amp; loginForm.loginNameInput.$invalid">
     15                    <span class="help-block" data-ng-if="loginForm.loginNameInput.$error.required">
    1416                        Your Shibboleth principal cannot be empty.
    15                     </small>
     17                    </span>
    1618                </div>
    1719            </div>
     
    1921    </div>
    2022    <div class="modal-footer">
    21         <button class="btn" data-ng-click="loginClose()">Cancel</button>
     23        <button class="btn btn-default" data-ng-click="loginClose()">Cancel</button>
    2224        <button id="login" class="btn btn-primary" data-ng-click="loginSubmit()" data-ng-disabled="loginForm.$invalid">Login</button>
    2325    </div>
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.site/site/partials/workspace.html

    r4200 r4300  
    1 <div id="workspace" data-ng-class="animateWorkspacePageChange" class="container-fluid" >
    2     <div id="workspace-main-row" class="row-fluid">
    3         <div class="span3 workspace-master-div">
     1<div id="workspace" data-ng-class="animateWorkspacePageChange" class="schemacat-fluid-container">
     2    <div id="workspace-main-row" class="row">
     3        <div class="col-md-3">
    44            <div class="sidebar-nav-fixed">
    55                <!--<form class="form-search">
     
    99                    </div>
    1010                </form>-->
    11                 <table class="table table-bordered table-condensed table-hover">
    12                     <thead>
    13                         <tr>
    14                             <th>Schema</th>
    15                             <th>Version</th>
    16                             <th>Status</th>
    17                         </tr>
    18                     </thead>
    19                     <tbody>
    20                         <tr data-ng-class="{'selected': $index==selectedSchemaIndex,'cursor-pointer': $index!=selectedSchemaIndex}" data-ng-repeat="schema in schemasList" data-ng-click="selectSchema($index)">
    21                             <td data-ng-bind="schema['sc:name']"></td>
    22                             <td data-ng-if="schema['sc:version'] != '[object Object]'" data-ng-bind="schema['sc:version']"/>
    23                             <td data-ng-if="schema['sc:version'] == '[object Object]'"/>
    24                             <td data-ng-bind="schema['sc:status']"/>
    25                         </tr>
    26                     </tbody>
    27                 </table>
     11                <div class="panel panel-default">
     12                    <table class="table table-bordered table-condensed table-hover">
     13                        <thead>
     14                            <tr>
     15                                <th>Schema</th>
     16                                <th>Version</th>
     17                                <th>Status</th>
     18                            </tr>
     19                        </thead>
     20                        <tbody>
     21                            <tr data-ng-class="{'active': $index==selectedSchemaIndex,'cursor-pointer': $index!=selectedSchemaIndex}" data-ng-repeat="schema in schemasList" data-ng-click="selectSchema($index)">
     22                                <td data-ng-bind="schema['sc:name']"></td>
     23                                <td data-ng-if="schema['sc:version'] != '[object Object]'" data-ng-bind="schema['sc:version']"/>
     24                                <td data-ng-if="schema['sc:version'] == '[object Object]'"/>
     25                                <td data-ng-bind="schema['sc:status']"/>
     26                            </tr>
     27                        </tbody>
     28                    </table>
     29                </div>
    2830                <div data-ng-if="schemasResult['sc:result']['sc:total-schemas'] &gt; pageSize"  class="paginator centered">
    29                     <div data-pagination="" data-page="currentPage" data-total-items="totalSchemaItems" data-items-per-page="pageSize" data-max-size="5" class="pagination-small cursor-pointer" data-on-select-page="selectPage(page)"
     31                    <div data-pagination="" data-page="currentPage" data-total-items="totalSchemaItems" data-items-per-page="pageSize" data-max-size="5" class="pagination-sm cursor-pointer" data-on-select-page="selectPage(page)"
    3032                        data-boundary-links="true" data-previous-text="‹" data-next-text="›" data-first-text="«" data-last-text="»"></div>
    3133                </div>
    3234            </div>
    3335        </div>
    34         <div class="span9 workspace-master-div">
    35             <div id="schema-background" class="hero-unit">
    36                 <div id="schema-div" class="container-fluid" data-ng-class="animateSchemaChange">
     36        <div class="col-md-9">
     37            <div id="schema-background" class="jumbotron">
     38                <div id="schema-div" data-ng-class="animateSchemaChange" class="small">
    3739                    <h1 id="schema-name" data-ng-bind="selectedSchema['sc:schema']['sc:name']"></h1>
    3840                    <p data-ng-if="selectedSchema['sc:schema']['sc:description'] != '[object Object]'" data-ng-bind="selectedSchema['sc:schema']['sc:description']"/>
    3941                    <p data-ng-if="selectedSchema['sc:schema']['sc:description'] == '[object Object]'">--</p>
    40                     <div class="row-fluid">
    41                         <div class="span2">
     42                    <div class="row">
     43                        <div class="col-md-2">
    4244                            <h4>Version:</h4>
    4345                            <p data-ng-if="selectedSchema['sc:schema']['sc:version'] != '[object Object]'" data-ng-bind="selectedSchema['sc:schema']['sc:version']"/>
    4446                            <p data-ng-if="selectedSchema['sc:schema']['sc:version'] == '[object Object]'">--</p>
    4547                        </div>
    46                         <div class="span2">
     48                        <div class="col-md-2">
    4749                            <h4>Status:</h4>
    4850                            <p data-ng-if="selectedSchema['sc:schema']['sc:status'] != '[object Object]'" data-ng-bind="selectedSchema['sc:schema']['sc:status']"/>
    4951                            <p data-ng-if="selectedSchema['sc:schema']['sc:status'] == '[object Object]'">--</p>
    5052                        </div>
    51                         <div class="span2">
     53                        <div class="col-md-2">
    5254                            <h4>Access:</h4>
    5355                            <p data-ng-if="selectedSchema['sc:schema']['sc:access']['sc:all']['actions'] == 'r'">shared URL</p>
    5456                            <p data-ng-if="selectedSchema['sc:schema']['sc:access']['sc:all']['actions'] != 'r'">private</p>
    5557                        </div>
    56                         <div class="span2">
     58                        <div class="col-md-2">
    5759                            <h4>License:</h4>
    58                             <a data-ng-if="selectedSchema['sc:schema']['sc:license'] != undefined"  href="{{selectedSchema['sc:schema']['sc:license']['sc:license-text']}}" data-tooltip-append-to-body="true" data-tooltip-placement="right" data-tooltip-html-unsafe="{{selectedSchema['sc:schema']['sc:license']['sc:full-name']}}<br/><span>OSI approved: </span><span>{{selectedSchema['sc:schema']['sc:license']['sc:OSI-approved']}}</span><br/><br/><span>Click to view license text...</span>">
    59                                 <small><span data-ng-bind="selectedSchema['sc:schema']['sc:license']['xml:id']"/></small>
    60                             </a>                           
     60                            <p data-ng-if="selectedSchema['sc:schema']['sc:license'] != undefined">
     61                                <a href="{{selectedSchema['sc:schema']['sc:license']['sc:license-text']}}" data-tooltip-append-to-body="true" data-tooltip-placement="right" data-tooltip-html-unsafe="{{selectedSchema['sc:schema']['sc:license']['sc:full-name']}}<br/><span>OSI approved: </span><span>{{selectedSchema['sc:schema']['sc:license']['sc:OSI-approved']}}</span><br/><br/><span>Click to view license text...</span>">
     62                                    <small data-ng-bind="selectedSchema['sc:schema']['sc:license']['xml:id']"></small>
     63                                </a>
     64                            </p>                           
    6165                            <p data-ng-if="selectedSchema['sc:schema']['sc:license'] == undefined">--</p>
    6266                        </div>
    6367                    </div>
    64                     <div class="row-fluid">
    65                         <div class="span2">
     68                    <div class="row">
     69                        <div class="col-md-2">
    6670                            <h5>Group tags:</h5>
    6771                        </div>
     
    7478                                <span>
    7579                                    <span data-ng-bind="file['sc:name']"></span><span>&nbsp;&nbsp;&nbsp;&nbsp;</span>
    76                                     <button type="button" class="btn btn-success btn-mini" data-ng-model="showSchemaBtn" data-btn-checkbox="" data-ng-click="showFile(file['sc:name']);">
     80                                    <button type="button" class="btn btn-success btn-xs" data-ng-model="showSchemaBtn" data-btn-checkbox="" data-ng-click="showFile(file['sc:name']);">
    7781                                        <span data-ng-hide="showSchemaBtn">Show</span><span data-ng-show="showSchemaBtn">Hide</span>
    7882                                    </button>
    79                                     <a href="/schemacat/schemas/{{selectedSchema['sc:schema']['xml:id']}}/files/{{file['sc:name']}}" class="btn btn-primary btn-mini">Open</a>
    80                                     <a href="/schemacat/schemas/{{selectedSchema['sc:schema']['xml:id']}}/download/files/{{file['sc:name']}}" class="btn btn-danger btn-mini" download>Download</a>
     83                                    <a href="/schemacat/schemas/{{selectedSchema['sc:schema']['xml:id']}}/files/{{file['sc:name']}}" class="btn btn-primary btn-xs">Open</a>
     84                                    <a href="/schemacat/schemas/{{selectedSchema['sc:schema']['xml:id']}}/download/files/{{file['sc:name']}}" class="btn btn-danger btn-xs" download>Download</a>
    8185                                    <span data-ng-show="showSchemaBtn &amp;&amp; !file.open">
    8286                                        <span>&nbsp;&nbsp;</span>
     
    8791                                    <pre><code data-ng-class="prettify" data-ng-bind="schemaFileContent"></code></pre>
    8892                                </div>
    89                                 <div class="control-group error" data-ng-show="showFileAjaxError">
     93                                <div class="has-error small" data-ng-show="showFileAjaxError">
    9094                                    <small class="help-block">
    9195                                        <div>The server responded with an error. Please try again!</div>
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.site/site/scripts/controllers.js

    r4200 r4300  
    5959            $location.search().schemaIndex = '0';
    6060            delete $location.search().show;
    61             $location.path('workspace/page/' + page + '/').search($location.search());
     61            $location.path('workspace.html/page/' + page + '/').search($location.search());
    6262        };
    6363
     
    344344
    345345        $scope.isActive = function(viewLocation) {
    346             if (viewLocation === '/workspace' && $location.path().indexOf('/workspace/') !== -1)
     346            if (viewLocation === '/workspace.html' && $location.path().indexOf('/workspace.html/') !== -1)
    347347                return true;
    348348            return viewLocation === $location.path();
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.site/site/scripts/controllers.min.js

    r4200 r4300  
    1 "use strict";SCHEMAcat.controller("WorkspaceCtrl",["$scope","$location","$routeParams","$timeout","SchemasList","Schema","UserService","Settings",function(a,b,c,d,e,f,g,h){function k(c){return isNaN(parseInt(c,10))||1>c?(b.path("workspace/page/1/").search({schemaIndex:0}),void 0):(e.get({userID:g.id,startPage:c,pageSize:a.pageSize},function(d){return c>Math.ceil(d["sc:result"]["sc:total-schemas"]/a.pageSize)?(b.path("workspace/page/1/").search({schemaIndex:0}),void 0):(i.totalSchemaItems=d["sc:result"]["sc:total-schemas"],i.currentPage=Number(c),i.schemasList=m(d["sc:result"]["sc:schemas"]["sc:schema"]),l(b.search().schemaIndex),i.schemasResult=d,void 0)}),void 0)}function l(c){if("invisible"!==a.animateWorkspacePageChange&&(a.animateSchemaChange="invisible"),isNaN(parseInt(c,10))||0>c||c>a.schemasList.length-1)return a.selectedSchemaIndex=void 0,b.search({schemaIndex:0}),void 0;a.selectedSchemaIndex=c;var d=i.schemasList[Number(c)];f.get({schemaID:d["xml:id"]},function(b){if(i.filesList=m(b["sc:schema"]["sc:files"]["sc:file"]),h.getAnimationStatus())switch(a.toNextSchema){case!0:a.animateSchemaChange="animated fadeInUp";break;case!1:a.animateSchemaChange="animated fadeInDown";break;case void 0:a.animateSchemaChange="animated fadeInDown"}else a.animateSchemaChange="";i.selectedSchema=b,i.resultHasArrived=!0})}function m(a){var b;return b=a instanceof Array?a:new Array(a)}var i=a.$parent;i.pageSize=10,a.selectedSchemaIndex=c.schemaIndex,a.animateWorkspacePageChange="invisible";var j=a.$watch("resultHasArrived",function(b){if(b){if(h.getAnimationStatus()){switch(i.toNextPage){case!1:a.animateWorkspacePageChange="animated slideInLeft";break;case!0:a.animateWorkspacePageChange="animated slideInRight";break;default:a.animateWorkspacePageChange="animated fadeInDown"}d(function(){a.animateWorkspacePageChange=""},250)}else a.animateWorkspacePageChange="";j()}});i.workspaceFirstLoaded||k(c.pageNumber),a.selectPage=function(a){b.search().schemaIndex="0",delete b.search().show,b.path("workspace/page/"+a+"/").search(b.search())},a.selectSchema=function(a){b.search().schemaIndex=a.toString(),delete b.search().show,b.search(b.search())},a.$on("$routeChangeStart",function(b,c,d){if(i.resultHasArrived=!1,h.getAnimationStatus())switch(i.toNextPage=void 0!==c.params&&void 0!==c.params.pageNumber&&c.params.pageNumber>d.params.pageNumber?!0:!1,c.templateUrl){case"partials/workspace.html":a.animateWorkspacePageChange=i.toNextPage?"animated slideOutLeft":"animated slideOutRight";break;case"partials/contact.html":case"partials/about.html":a.animateWorkspacePageChange="animated slideOutLeft";break;default:a.animateWorkspacePageChange="animated fadeOutDown"}"partials/workspace.html"===c.templateUrl?k(c.params.pageNumber):i.workspaceFirstLoaded=!1}),a.$on("$routeChangeSuccess",function(a,b,c){h.getAnimationStatus()&&(void 0===c||void 0===c.templateUrl||"partials/accountDetails.html"===c.templateUrl)&&(i.toNextPage=void 0)}),a.$on("$routeUpdate",function(b,c){"partials/workspace.html"===c.templateUrl&&c.params.schemaIndex!==a.selectedSchemaIndex&&(i.resultHasArrived=!1,h.getAnimationStatus()?(a.toNextSchema=c.params.schemaIndex>a.selectedSchemaIndex?!0:!1,a.animateSchemaChange=a.toNextSchema?"animated fadeOutUp":"animated fadeOutDown",d(function(){l(c.params.schemaIndex)},250)):l(c.params.schemaIndex))}),i.workspaceFirstLoaded=!0}]),SCHEMAcat.controller("FileController",["$scope","$http","$timeout","$location",function(a,b,c,d){function e(){void 0!==d.search().show&&-1!==d.search().show.indexOf(a.file["sc:name"])?(a.showSchemaBtn=!0,f(a.selectedSchema["sc:schema"]["xml:id"],a.file["sc:name"])):(a.showSchemaBtn=!1,a.file.open=!1)}function f(d,e){void 0===a.schemaFileContent?b.get("/schemacat/schemas/"+d+"/files/"+e).success(function(b){a.prettify="prettyprint linenums",c(function(){prettyPrint(),a.file.open=!0}),a.schemaFileContent=b}).error(function(){a.showSchemaBtn=!1,a.showFile(e),a.showFileAjaxError=!0}):a.file.open=!0}e(),a.showFile=function(b){a.showFileAjaxError=!1,c(function(){var c=d.search();if(a.showSchemaBtn===!0)void 0===c.show?c.show="#"+b:-1===c.show.indexOf(b)&&(c.show=c.show+"#"+b);else for(var e in c)if("show"===e){var f=c[e].split("#");for(var g in f)f[g]===b&&f.splice(g,1);var h=f.join("#");""!==h?c[e]=h:delete c[e]}d.search(c)})},a.$on("$routeUpdate",function(){a.resultHasArrived&&e()})}]),SCHEMAcat.controller("TopMenuCtrl",["$scope","$modal","$location","UserService","Settings","ShibService",function(a,b,c,d,e,f){function g(){a.topMenuCollapsed=!c.search().topMenuExpanded,e.setAnimationStatus(!c.search().animationsDisabled),a.animationsChecked=e.getAnimationStatus()}a.displayName=d.displayName,a.shibURL=f.url,a.$watch(function(){return d.displayName},function(b,c){b!==c&&(a.displayName=b)}),g(),a.isActive=function(a){return"/workspace"===a&&-1!==c.path().indexOf("/workspace/")?!0:a===c.path()},a.updateAnimationStatus=function(){a.animationsChecked=!a.animationsChecked,a.animationsChecked?delete c.search().animationsDisabled:c.search().animationsDisabled=!0,c.search(c.search())},a.toggleTopMenu=function(){a.topMenuCollapsed=!a.topMenuCollapsed,a.topMenuCollapsed?delete c.search().topMenuExpanded:c.search().topMenuExpanded=!0,c.search(c.search())},a.animationsUrlPart=function(){return c.search().animationsDisabled?"animationsDisabled":""},a.topMenuExpandedUrlPart=function(){return c.search().topMenuExpanded?"topMenuExpanded":""},a.$on("$routeUpdate",function(){g()}),a.loginClick=function(){var c=b.open({scope:a,templateUrl:"partials/loginModal.html",controller:"LoginModalCtrl"});c.result.then(function(a){alert("Now set the user cookie to ["+a+"]"),document.cookie="USER="+a+";domain=;path=/",document.location.hash="",document.location.reload(!0)})}}]),SCHEMAcat.controller("LoginModalCtrl",["$scope","$modalInstance",function(a,b){a.loginClose=function(){b.dismiss("cancel")},a.loginSubmit=function(){b.close(this.loginNameInput.text)}}]),SCHEMAcat.controller("AboutPageCtrl",["$scope","Settings",function(a,b){a.$parent.toNextPage=!1,b.getAnimationStatus()&&(a.animateInOut="animated slideInRight"),a.$on("$routeChangeStart",function(c,d){if(b.getAnimationStatus())switch(d.templateUrl){case"partials/workspace.html":a.animateInOut="animated slideOutRight";break;case"partials/contact.html":a.animateInOut="animated slideOutLeft";break;default:a.animateInOut="animated fadeOutDown"}}),a.$on("$routeChangeSuccess",function(c,d,e){if(b.getAnimationStatus()){var f=void 0!==e?e.templateUrl:void 0;switch(f){case"partials/workspace.html":a.animateInOut="animated slideInRight";break;case"partials/contact.html":a.animateInOut="animated slideInLeft";break;default:a.animateInOut="animated fadeInDown"}}})}]),SCHEMAcat.controller("ContactPageCtrl",["$scope","Settings",function(a,b){a.$parent.toNextPage=!1,b.getAnimationStatus()&&(a.animateInOut="animated slideInRight"),a.$on("$routeChangeStart",function(c,d){if(b.getAnimationStatus())switch(d.templateUrl){case"partials/about.html":case"partials/contact.html":case"partials/workspace.html":a.animateInOut="animated slideOutRight";break;default:a.animateInOut="animated fadeOutDown"}}),a.$on("$routeChangeSuccess",function(c,d,e){if(b.getAnimationStatus()){var f=void 0!==e?e.templateUrl:void 0;switch(f){case"partials/about.html":case"partials/contact.html":case"partials/workspace.html":a.animateInOut="animated slideInRight";break;default:a.animateInOut="animated fadeInDown"}}})}]),SCHEMAcat.controller("AccountDetailsPageCtrl",["$scope","$location","User","UserService","Settings",function(a,b,c,d,e){function f(){var a=b.search();for(var c in a)if("edditingEmail"===c){for(var e=a[c].split("#"),f=0;f<e.length;f++){for(var g=!1,h=0;h<d.email.length;h++)e[f]===d.email[h]&&(g=!0);g||e.splice(f,1)}var i=e.join("#");""!==i?a[c]=i:delete a[c]}b.search(a)}function g(){a.waitingForServerEditDisplayName=!1,a.editDisplayNameAjaxError=!1,b.search().edditingDisplayName?(a.editDisplayNameText=a.displayName,a.edditingDisplayName=!0):a.edditingDisplayName=!1}function h(){a.waitingForServer=!1,a.addingEmail=b.search().addingEmail?!0:!1}a.principal=d.principal,a.displayName=d.displayName,a.email=d.email,a.addingEmail=!1,a.addNewEmail=function(){b.search().addingEmail=!0,b.search(b.search())},a.terminateAddEmail=function(){a.ajaxError=!1,delete b.search().addingEmail,b.search(b.search())},a.addEmail=function(b){a.waitingForServer=!0;var e=new c;e.emails=d.email.slice(0),e.emails.push(b),e.$save({userID:d.id},function(c){void 0!==c["sc:response"]&&c["sc:response"].success?(d.email.push(b),a.terminateAddEmail()):(a.waitingForServer=!1,a.ajaxError=!0)},function(){a.waitingForServer=!1,a.ajaxError=!0})},a.editDisplayName=function(){b.search().edditingDisplayName=!0,b.search(b.search())},a.terminateEditDisplayName=function(){delete b.search().edditingDisplayName,b.search(b.search())},a.updateDisplayName=function(b){a.waitingForServerEditDisplayName=!0;var e=new c;e.displayName=b,e.$save({userID:d.id},function(c){void 0!==c["sc:response"]&&c["sc:response"].success?(a.displayName=d.displayName=b,a.terminateEditDisplayName()):(a.waitingForServerEditDisplayName=!1,a.editDisplayNameAjaxError=!0)},function(){a.waitingForServerEditDisplayName=!1,a.editDisplayNameAjaxError=!0})},e.getAnimationStatus()&&(a.animateAccountDetails="animated fadeInDown"),a.$on("$routeChangeStart",function(){e.getAnimationStatus()&&(a.animateAccountDetails="animated fadeOutUp")}),a.$on("$routeChangeSuccess",function(){e.getAnimationStatus()&&(a.animateAccountDetails="animated fadeInDown"),h(),g(),f()}),a.$on("$routeUpdate",function(){h(),g(),f()})}]),SCHEMAcat.controller("EmailInstanceCtrl",["$scope","$location","User","UserService",function(a,b,c,d){function e(){a.waitingForServerEditEmail=!1,void 0!==b.search().edditingEmail&&-1!==b.search().edditingEmail.indexOf(a.emailInstance)?(a.editEmailText=a.emailInstance,a.edditingEmail=!0):a.edditingEmail=!1}e(),a.editEmail=function(c){var d=b.search();a.removeEmailAjaxError=!1,d.edditingEmail=void 0===d.edditingEmail?c:b.search().edditingEmail+"#"+c,b.search(d)},a.removeEmail=function(b){a.waitingForServerEditEmail=!0;var e=new c;e.emails=d.email.slice(0),e.emails.splice(b,1),e.$save({userID:d.id},function(c){void 0!==c["sc:response"]&&c["sc:response"].success?d.email.splice(b,1):(a.waitingForServerEditEmail=!1,a.removeEmailAjaxError=!0)},function(){a.waitingForServerEditEmail=!1,a.removeEmailAjaxError=!0})},a.updateEmail=function(b){a.waitingForServerEditEmail=!0;var e=new c;e.emails=d.email.slice(0),e.emails[b]=a.editEmailText,e.$save({userID:d.id},function(c){if(void 0!==c["sc:response"]&&c["sc:response"].success){var e=a.editEmailText;a.cancelEditEmail(d.email[b]),d.email[b]=e}else a.waitingForServerEditEmail=!1,a.editEmailAjaxError=!0},function(){a.waitingForServerEditEmail=!1,a.editEmailAjaxError=!0})},a.cancelEditEmail=function(c){var d=b.search();a.editEmailAjaxError=!1;for(var e in d)if("edditingEmail"===e){var f=d[e].split("#");for(var g in f)f[g]===c&&f.splice(g,1);var h=f.join("#");""!==h?d[e]=h:delete d[e]}b.search(d)},a.$on("$routeChangeSuccess",function(){e()}),a.$on("$routeUpdate",function(){e()})}]),SCHEMAcat.controller("CompleteUserDetailsCtrl",["$scope","$modal",function(a,b){a.ajaxError=!1,a.waitingForServer=!1,b.open({scope:a,backdrop:"static",templateUrl:"partials/fillDetailsModal.html",controller:"CompleteUserDetailsModalCtrl"})}]),SCHEMAcat.controller("CompleteUserDetailsModalCtrl",["$scope","$modalInstance","User","UserService",function(a,b,c,d){a.userDetailsSubmit=function(){a.waitingForServer=!0,a.ajaxError=!1;var b=new c;b.emails=[],b.emails[0]=this.emailInput.text,b.displayName=this.displayNameInput.text,b.$save({userID:d.id},function(b){void 0!==b["sc:response"]&&b["sc:response"].success?document.location.pathname="schemacat/site/index.html":(a.waitingForServer=!1,a.ajaxError=!0)},function(){a.waitingForServer=!1,a.ajaxError=!0})}}]);
     1"use strict";SCHEMAcat.controller("WorkspaceCtrl",["$scope","$location","$routeParams","$timeout","SchemasList","Schema","UserService","Settings",function(a,b,c,d,e,f,g,h){function k(c){return isNaN(parseInt(c,10))||1>c?(b.path("workspace/page/1/").search({schemaIndex:0}),void 0):(e.get({userID:g.id,startPage:c,pageSize:a.pageSize},function(d){return c>Math.ceil(d["sc:result"]["sc:total-schemas"]/a.pageSize)?(b.path("workspace/page/1/").search({schemaIndex:0}),void 0):(i.totalSchemaItems=d["sc:result"]["sc:total-schemas"],i.currentPage=Number(c),i.schemasList=m(d["sc:result"]["sc:schemas"]["sc:schema"]),l(b.search().schemaIndex),i.schemasResult=d,void 0)}),void 0)}function l(c){if("invisible"!==a.animateWorkspacePageChange&&(a.animateSchemaChange="invisible"),isNaN(parseInt(c,10))||0>c||c>a.schemasList.length-1)return a.selectedSchemaIndex=void 0,b.search({schemaIndex:0}),void 0;a.selectedSchemaIndex=c;var d=i.schemasList[Number(c)];f.get({schemaID:d["xml:id"]},function(b){if(i.filesList=m(b["sc:schema"]["sc:files"]["sc:file"]),h.getAnimationStatus())switch(a.toNextSchema){case!0:a.animateSchemaChange="animated fadeInUp";break;case!1:a.animateSchemaChange="animated fadeInDown";break;case void 0:a.animateSchemaChange="animated fadeInDown"}else a.animateSchemaChange="";i.selectedSchema=b,i.resultHasArrived=!0})}function m(a){var b;return b=a instanceof Array?a:new Array(a)}var i=a.$parent;i.pageSize=10,a.selectedSchemaIndex=c.schemaIndex,a.animateWorkspacePageChange="invisible";var j=a.$watch("resultHasArrived",function(b){if(b){if(h.getAnimationStatus()){switch(i.toNextPage){case!1:a.animateWorkspacePageChange="animated slideInLeft";break;case!0:a.animateWorkspacePageChange="animated slideInRight";break;default:a.animateWorkspacePageChange="animated fadeInDown"}d(function(){a.animateWorkspacePageChange=""},250)}else a.animateWorkspacePageChange="";j()}});i.workspaceFirstLoaded||k(c.pageNumber),a.selectPage=function(a){b.search().schemaIndex="0",delete b.search().show,b.path("workspace.html/page/"+a+"/").search(b.search())},a.selectSchema=function(a){b.search().schemaIndex=a.toString(),delete b.search().show,b.search(b.search())},a.$on("$routeChangeStart",function(b,c,d){if(i.resultHasArrived=!1,h.getAnimationStatus())switch(i.toNextPage=void 0!==c.params&&void 0!==c.params.pageNumber&&c.params.pageNumber>d.params.pageNumber?!0:!1,c.templateUrl){case"partials/workspace.html":a.animateWorkspacePageChange=i.toNextPage?"animated slideOutLeft":"animated slideOutRight";break;case"partials/contact.html":case"partials/about.html":a.animateWorkspacePageChange="animated slideOutLeft";break;default:a.animateWorkspacePageChange="animated fadeOutDown"}"partials/workspace.html"===c.templateUrl?k(c.params.pageNumber):i.workspaceFirstLoaded=!1}),a.$on("$routeChangeSuccess",function(a,b,c){h.getAnimationStatus()&&(void 0===c||void 0===c.templateUrl||"partials/accountDetails.html"===c.templateUrl)&&(i.toNextPage=void 0)}),a.$on("$routeUpdate",function(b,c){"partials/workspace.html"===c.templateUrl&&c.params.schemaIndex!==a.selectedSchemaIndex&&(i.resultHasArrived=!1,h.getAnimationStatus()?(a.toNextSchema=c.params.schemaIndex>a.selectedSchemaIndex?!0:!1,a.animateSchemaChange=a.toNextSchema?"animated fadeOutUp":"animated fadeOutDown",d(function(){l(c.params.schemaIndex)},250)):l(c.params.schemaIndex))}),i.workspaceFirstLoaded=!0}]),SCHEMAcat.controller("FileController",["$scope","$http","$timeout","$location",function(a,b,c,d){function e(){void 0!==d.search().show&&-1!==d.search().show.indexOf(a.file["sc:name"])?(a.showSchemaBtn=!0,f(a.selectedSchema["sc:schema"]["xml:id"],a.file["sc:name"])):(a.showSchemaBtn=!1,a.file.open=!1)}function f(d,e){void 0===a.schemaFileContent?b.get("/schemacat/schemas/"+d+"/files/"+e).success(function(b){a.prettify="prettyprint linenums",c(function(){prettyPrint(),a.file.open=!0}),a.schemaFileContent=b}).error(function(){a.showSchemaBtn=!1,a.showFile(e),a.showFileAjaxError=!0}):a.file.open=!0}e(),a.showFile=function(b){a.showFileAjaxError=!1,c(function(){var c=d.search();if(a.showSchemaBtn===!0)void 0===c.show?c.show="#"+b:-1===c.show.indexOf(b)&&(c.show=c.show+"#"+b);else for(var e in c)if("show"===e){var f=c[e].split("#");for(var g in f)f[g]===b&&f.splice(g,1);var h=f.join("#");""!==h?c[e]=h:delete c[e]}d.search(c)})},a.$on("$routeUpdate",function(){a.resultHasArrived&&e()})}]),SCHEMAcat.controller("TopMenuCtrl",["$scope","$modal","$location","UserService","Settings","ShibService",function(a,b,c,d,e,f){function g(){a.topMenuCollapsed=!c.search().topMenuExpanded,e.setAnimationStatus(!c.search().animationsDisabled),a.animationsChecked=e.getAnimationStatus()}a.displayName=d.displayName,a.shibURL=f.url,a.$watch(function(){return d.displayName},function(b,c){b!==c&&(a.displayName=b)}),g(),a.isActive=function(a){return"/workspace.html"===a&&-1!==c.path().indexOf("/workspace.html/")?!0:a===c.path()},a.updateAnimationStatus=function(){a.animationsChecked=!a.animationsChecked,a.animationsChecked?delete c.search().animationsDisabled:c.search().animationsDisabled=!0,c.search(c.search())},a.toggleTopMenu=function(){a.topMenuCollapsed=!a.topMenuCollapsed,a.topMenuCollapsed?delete c.search().topMenuExpanded:c.search().topMenuExpanded=!0,c.search(c.search())},a.animationsUrlPart=function(){return c.search().animationsDisabled?"animationsDisabled":""},a.topMenuExpandedUrlPart=function(){return c.search().topMenuExpanded?"topMenuExpanded":""},a.$on("$routeUpdate",function(){g()}),a.loginClick=function(){var c=b.open({scope:a,templateUrl:"partials/loginModal.html",controller:"LoginModalCtrl"});c.result.then(function(a){alert("Now set the user cookie to ["+a+"]"),document.cookie="USER="+a+";domain=;path=/",document.location.hash="",document.location.reload(!0)})}}]),SCHEMAcat.controller("LoginModalCtrl",["$scope","$modalInstance",function(a,b){a.loginClose=function(){b.dismiss("cancel")},a.loginSubmit=function(){b.close(this.loginNameInput.text)}}]),SCHEMAcat.controller("AboutPageCtrl",["$scope","Settings",function(a,b){a.$parent.toNextPage=!1,b.getAnimationStatus()&&(a.animateInOut="animated slideInRight"),a.$on("$routeChangeStart",function(c,d){if(b.getAnimationStatus())switch(d.templateUrl){case"partials/workspace.html":a.animateInOut="animated slideOutRight";break;case"partials/contact.html":a.animateInOut="animated slideOutLeft";break;default:a.animateInOut="animated fadeOutDown"}}),a.$on("$routeChangeSuccess",function(c,d,e){if(b.getAnimationStatus()){var f=void 0!==e?e.templateUrl:void 0;switch(f){case"partials/workspace.html":a.animateInOut="animated slideInRight";break;case"partials/contact.html":a.animateInOut="animated slideInLeft";break;default:a.animateInOut="animated fadeInDown"}}})}]),SCHEMAcat.controller("ContactPageCtrl",["$scope","Settings",function(a,b){a.$parent.toNextPage=!1,b.getAnimationStatus()&&(a.animateInOut="animated slideInRight"),a.$on("$routeChangeStart",function(c,d){if(b.getAnimationStatus())switch(d.templateUrl){case"partials/about.html":case"partials/contact.html":case"partials/workspace.html":a.animateInOut="animated slideOutRight";break;default:a.animateInOut="animated fadeOutDown"}}),a.$on("$routeChangeSuccess",function(c,d,e){if(b.getAnimationStatus()){var f=void 0!==e?e.templateUrl:void 0;switch(f){case"partials/about.html":case"partials/contact.html":case"partials/workspace.html":a.animateInOut="animated slideInRight";break;default:a.animateInOut="animated fadeInDown"}}})}]),SCHEMAcat.controller("AccountDetailsPageCtrl",["$scope","$location","User","UserService","Settings",function(a,b,c,d,e){function f(){var a=b.search();for(var c in a)if("edditingEmail"===c){for(var e=a[c].split("#"),f=0;f<e.length;f++){for(var g=!1,h=0;h<d.email.length;h++)e[f]===d.email[h]&&(g=!0);g||e.splice(f,1)}var i=e.join("#");""!==i?a[c]=i:delete a[c]}b.search(a)}function g(){a.waitingForServerEditDisplayName=!1,a.editDisplayNameAjaxError=!1,b.search().edditingDisplayName?(a.editDisplayNameText=a.displayName,a.edditingDisplayName=!0):a.edditingDisplayName=!1}function h(){a.waitingForServer=!1,a.addingEmail=b.search().addingEmail?!0:!1}a.principal=d.principal,a.displayName=d.displayName,a.email=d.email,a.addingEmail=!1,a.addNewEmail=function(){b.search().addingEmail=!0,b.search(b.search())},a.terminateAddEmail=function(){a.ajaxError=!1,delete b.search().addingEmail,b.search(b.search())},a.addEmail=function(b){a.waitingForServer=!0;var e=new c;e.emails=d.email.slice(0),e.emails.push(b),e.$save({userID:d.id},function(c){void 0!==c["sc:response"]&&c["sc:response"].success?(d.email.push(b),a.terminateAddEmail()):(a.waitingForServer=!1,a.ajaxError=!0)},function(){a.waitingForServer=!1,a.ajaxError=!0})},a.editDisplayName=function(){b.search().edditingDisplayName=!0,b.search(b.search())},a.terminateEditDisplayName=function(){delete b.search().edditingDisplayName,b.search(b.search())},a.updateDisplayName=function(b){a.waitingForServerEditDisplayName=!0;var e=new c;e.displayName=b,e.$save({userID:d.id},function(c){void 0!==c["sc:response"]&&c["sc:response"].success?(a.displayName=d.displayName=b,a.terminateEditDisplayName()):(a.waitingForServerEditDisplayName=!1,a.editDisplayNameAjaxError=!0)},function(){a.waitingForServerEditDisplayName=!1,a.editDisplayNameAjaxError=!0})},e.getAnimationStatus()&&(a.animateAccountDetails="animated fadeInDown"),a.$on("$routeChangeStart",function(){e.getAnimationStatus()&&(a.animateAccountDetails="animated fadeOutUp")}),a.$on("$routeChangeSuccess",function(){e.getAnimationStatus()&&(a.animateAccountDetails="animated fadeInDown"),h(),g(),f()}),a.$on("$routeUpdate",function(){h(),g(),f()})}]),SCHEMAcat.controller("EmailInstanceCtrl",["$scope","$location","User","UserService",function(a,b,c,d){function e(){a.waitingForServerEditEmail=!1,void 0!==b.search().edditingEmail&&-1!==b.search().edditingEmail.indexOf(a.emailInstance)?(a.editEmailText=a.emailInstance,a.edditingEmail=!0):a.edditingEmail=!1}e(),a.editEmail=function(c){var d=b.search();a.removeEmailAjaxError=!1,d.edditingEmail=void 0===d.edditingEmail?c:b.search().edditingEmail+"#"+c,b.search(d)},a.removeEmail=function(b){a.waitingForServerEditEmail=!0;var e=new c;e.emails=d.email.slice(0),e.emails.splice(b,1),e.$save({userID:d.id},function(c){void 0!==c["sc:response"]&&c["sc:response"].success?d.email.splice(b,1):(a.waitingForServerEditEmail=!1,a.removeEmailAjaxError=!0)},function(){a.waitingForServerEditEmail=!1,a.removeEmailAjaxError=!0})},a.updateEmail=function(b){a.waitingForServerEditEmail=!0;var e=new c;e.emails=d.email.slice(0),e.emails[b]=a.editEmailText,e.$save({userID:d.id},function(c){if(void 0!==c["sc:response"]&&c["sc:response"].success){var e=a.editEmailText;a.cancelEditEmail(d.email[b]),d.email[b]=e}else a.waitingForServerEditEmail=!1,a.editEmailAjaxError=!0},function(){a.waitingForServerEditEmail=!1,a.editEmailAjaxError=!0})},a.cancelEditEmail=function(c){var d=b.search();a.editEmailAjaxError=!1;for(var e in d)if("edditingEmail"===e){var f=d[e].split("#");for(var g in f)f[g]===c&&f.splice(g,1);var h=f.join("#");""!==h?d[e]=h:delete d[e]}b.search(d)},a.$on("$routeChangeSuccess",function(){e()}),a.$on("$routeUpdate",function(){e()})}]),SCHEMAcat.controller("CompleteUserDetailsCtrl",["$scope","$modal",function(a,b){a.ajaxError=!1,a.waitingForServer=!1,b.open({scope:a,backdrop:"static",templateUrl:"partials/fillDetailsModal.html",controller:"CompleteUserDetailsModalCtrl"})}]),SCHEMAcat.controller("CompleteUserDetailsModalCtrl",["$scope","$modalInstance","User","UserService",function(a,b,c,d){a.userDetailsSubmit=function(){a.waitingForServer=!0,a.ajaxError=!1;var b=new c;b.emails=[],b.emails[0]=this.emailInput.text,b.displayName=this.displayNameInput.text,b.$save({userID:d.id},function(b){void 0!==b["sc:response"]&&b["sc:response"].success?document.location.pathname="schemacat/site/index.html":(a.waitingForServer=!1,a.ajaxError=!0)},function(){a.waitingForServer=!1,a.ajaxError=!0})}}]);
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.site/site/scripts/modules.js

    r4127 r4300  
    88        var loadDelay = 250; //ms
    99        $routeProvider
    10             .when('/workspace/page/:pageNumber/', {
     10            .when('/workspace.html/page/:pageNumber/', {
    1111                controller: 'WorkspaceCtrl',
    1212                templateUrl: 'partials/workspace.html',
     
    3737                }
    3838            })
    39             .when('/about', {
     39            .when('/about.html', {
    4040                controller: 'AboutPageCtrl',
    4141                templateUrl: 'partials/about.html',
     
    5454                }
    5555            })
    56             .when('/contact', {
     56            .when('/contact.html', {
    5757                controller: 'ContactPageCtrl',
    5858                templateUrl: 'partials/contact.html',
     
    7171                }
    7272            })
    73             .when('/accountDetails', {
     73            .when('/accountDetails.html', {
    7474                controller: 'AccountDetailsPageCtrl',
    7575                templateUrl: 'partials/accountDetails.html',
     
    9090            .otherwise({
    9191                redirectTo: function(routeParams, path, search) {
    92                     return '/workspace/page/1/?schemaIndex=0';
     92                    return '/workspace.html/page/1/?schemaIndex=0';
    9393                }
    9494            });
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.site/site/scripts/modules.min.js

    r4126 r4300  
    1 "use strict";var SCHEMAcat=angular.module("SCHEMAcat",["ui.bootstrap","ngRoute","ngResource"]);SCHEMAcat.config(["$routeProvider",function(a){var b=250;a.when("/workspace/page/:pageNumber/",{controller:"WorkspaceCtrl",templateUrl:"partials/workspace.html",reloadOnSearch:!1,resolve:{delay:["$q","$timeout","Settings",function(a,c,d){if(d.getAnimationStatus()){var e=a.defer();return c(e.resolve,b),e.promise}}]}}).when("/about",{controller:"AboutPageCtrl",templateUrl:"partials/about.html",reloadOnSearch:!1,resolve:{delay:["$q","$timeout","Settings",function(a,c,d){if(d.getAnimationStatus()){var e=a.defer();return c(e.resolve,b),e.promise}}]}}).when("/contact",{controller:"ContactPageCtrl",templateUrl:"partials/contact.html",reloadOnSearch:!1,resolve:{delay:["$q","$timeout","Settings",function(a,c,d){if(d.getAnimationStatus()){var e=a.defer();return c(e.resolve,b),e.promise}}]}}).when("/accountDetails",{controller:"AccountDetailsPageCtrl",templateUrl:"partials/accountDetails.html",reloadOnSearch:!1,resolve:{delay:["$q","$timeout","Settings",function(a,c,d){if(d.getAnimationStatus()){var e=a.defer();return c(e.resolve,b),e.promise}}]}}).otherwise({redirectTo:function(){return"/workspace/page/1/?schemaIndex=0"}})}]);
     1"use strict";var SCHEMAcat=angular.module("SCHEMAcat",["ui.bootstrap","ngRoute","ngResource"]);SCHEMAcat.config(["$routeProvider",function(a){var b=250;a.when("/workspace.html/page/:pageNumber/",{controller:"WorkspaceCtrl",templateUrl:"partials/workspace.html",reloadOnSearch:!1,resolve:{delay:["$q","$timeout","Settings",function(a,c,d){if(d.getAnimationStatus()){var e=a.defer();return c(e.resolve,b),e.promise}}]}}).when("/about.html",{controller:"AboutPageCtrl",templateUrl:"partials/about.html",reloadOnSearch:!1,resolve:{delay:["$q","$timeout","Settings",function(a,c,d){if(d.getAnimationStatus()){var e=a.defer();return c(e.resolve,b),e.promise}}]}}).when("/contact.html",{controller:"ContactPageCtrl",templateUrl:"partials/contact.html",reloadOnSearch:!1,resolve:{delay:["$q","$timeout","Settings",function(a,c,d){if(d.getAnimationStatus()){var e=a.defer();return c(e.resolve,b),e.promise}}]}}).when("/accountDetails.html",{controller:"AccountDetailsPageCtrl",templateUrl:"partials/accountDetails.html",reloadOnSearch:!1,resolve:{delay:["$q","$timeout","Settings",function(a,c,d){if(d.getAnimationStatus()){var e=a.defer();return c(e.resolve,b),e.promise}}]}}).otherwise({redirectTo:function(){return"/workspace.html/page/1/?schemaIndex=0"}})}]);
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.site/site/styles/SCHEMAcat.css

    r4078 r4300  
    55}
    66
     7body {
     8    overflow-y: scroll;
     9}
     10
    711.centered{
    812    text-align:center;
    9 }
    10 
    11 .selected{
    12     background-color:#f5f5f5;
    1313}
    1414
     
    4949    position:fixed;
    5050    width:21.97%;
    51     min-width: 241px;
     51    min-width: 246px;
    5252}
    5353
     
    5555    white-space:nowrap;
    5656    min-width: 241px;
     57}
     58
     59.img-responsive-inline{
     60  display: inline-block;
     61  height: auto;
     62  max-width: 100%;
    5763}
    5864
     
    8187    height:100%;
    8288    /* Negative indent footer by it's height */
    83     margin:0 auto -60px;
     89    margin:0 auto -71px;
    8490}
    8591
     
    8894#pushf,
    8995#footer{
    90     height:60px;
     96    height:71px;
    9197}
    9298#footer{
    9399    background-color:#f5f5f5;
    94100    padding-top:20px;
     101}
     102
     103.schemacat-fluid-container {
     104  padding-left: 15px;
     105  padding-right: 15px;
     106  margin-left: auto;
     107  margin-right: auto;
     108}
     109
     110.schemacat-fluid-container .jumbotron {
     111    border-radius: 6px;
     112}
     113
     114.modal {
     115    overflow-y: auto;
     116}
     117
     118body.modal-open {
     119    overflow: scroll;
    95120}
    96121
     
    103128        padding-right:20px;
    104129    }
    105 }
    106 
    107 @media (max-width: 979px) {
     130   
     131    .navbar-fixed-top {
     132        position: relative;
     133        top: auto;
     134    }
     135   
    108136    #pushh{
    109137        height:0px;
     
    112140
    113141@media (max-width: 1009px) {
    114 /* override the class definition for the first level divs of the workspace
    115    so that they stack instead of overlaping when the media width is too low */
    116   #workspace-main-row .workspace-master-div {
    117     display: block;
    118     float: none;
    119     width: 100%;
    120     margin-left: 0;
    121     -webkit-box-sizing: border-box;
    122        -moz-box-sizing: border-box;
    123             box-sizing: border-box;
    124   }
    125142  .sidebar-nav-fixed {
    126143      position:static;
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.site/site/styles/SCHEMAcat.min.css

    r4126 r4300  
    1 body,html{height:100%}.centered{text-align:center}.selected{background-color:#f5f5f5}#about,#accountDetails,#contact,#schema-div,#workspace{-webkit-animation-duration:.25s;-moz-animation-duration:.25s;-o-animation-duration:.25s;animation-duration:.25s}#schema-background{min-height:350px}input.ng-dirty.ng-invalid{color:#b94a48;border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.sidebar-nav-fixed{position:fixed;width:21.97%;min-width:241px}.paginator{white-space:nowrap;min-width:241px}pre{overflow-x:auto;overflow-wrap:normal;word-wrap:normal}pre code{background-color:inherit;white-space:pre;float:left;min-width:100%}#wrap{min-height:100%;height:auto!important;height:100%;margin:0 auto -60px}#footer,#pushf,#pushh{height:60px}#footer{background-color:#f5f5f5;padding-top:20px}@media (max-width:767px){#footer{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}}@media (max-width:979px){#pushh{height:0}}@media (max-width:1009px){#workspace-main-row .workspace-master-div{display:block;float:none;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.sidebar-nav-fixed{position:static;width:auto}}
     1body,html{height:100%}body{overflow-y:scroll}.centered{text-align:center}#about,#accountDetails,#contact,#schema-div,#workspace{-webkit-animation-duration:.25s;-moz-animation-duration:.25s;-o-animation-duration:.25s;animation-duration:.25s}#schema-background{min-height:350px}input.ng-dirty.ng-invalid{color:#b94a48;border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.sidebar-nav-fixed{position:fixed;width:21.97%;min-width:246px}.paginator{white-space:nowrap;min-width:241px}.img-responsive-inline{display:inline-block;height:auto;max-width:100%}pre{overflow-x:auto;overflow-wrap:normal;word-wrap:normal}pre code{background-color:inherit;white-space:pre;float:left;min-width:100%}#wrap{min-height:100%;height:auto!important;height:100%;margin:0 auto -71px}#footer,#pushf,#pushh{height:71px}#footer{background-color:#f5f5f5;padding-top:20px}.schemacat-fluid-container{padding-left:15px;padding-right:15px;margin-left:auto;margin-right:auto}.schemacat-fluid-container .jumbotron{border-radius:6px}.modal{overflow-y:auto}body.modal-open{overflow:scroll}@media (max-width:767px){#footer{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}.navbar-fixed-top{position:relative;top:auto}#pushh{height:0}}@media (max-width:1009px){.sidebar-nav-fixed{position:static;width:auto}}
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.site/site/test/e2e/runner.html

    r4246 r4300  
    1 <!doctype html>
    2 <html lang="en">
     1<!DOCTYPE html>
     2<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
    33  <head>
    44    <title>SCHEMAcat end2end Test Runner</title>
    5     <meta charset="utf-8">
    6     <script src="../lib/AngularJS-1.2.7/angular-scenario.js" ng-autotest></script>
    7     <script src="../lib/window-dialog-commands.js" ng-autotest></script>
     5    <meta charset="utf-8"/>
     6    <script src="../lib/AngularJS-1.2.8/angular-scenario.js" data-ng-autotest=""></script>
     7    <script src="../lib/window-dialog-commands.js" data-ng-autotest=""></script>
    88    <script src="scenarios.js"></script>
    99  </head>
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.site/site/test/e2e/scenarios.js

    r4191 r4300  
    66                afterEach(function() {
    77                                //load the default initial page
    8                                 browser().navigateTo('/schemacat/site/index.html#/workspace/page/1/?schemaIndex=0');
    9                 });
    10 
    11                 it('should jump to "/workspace/page/1/?schemaIndex=0" when loading <serverURL>/schemacat/site/', function() {
     8                                browser().navigateTo('/schemacat/site/index.html#/workspace.html/page/1/?schemaIndex=0');
     9                });
     10
     11                /*it('should jump to "/workspace.html/page/1/?schemaIndex=0" when loading <serverURL>/schemacat/site/', function() {
    1212                        browser().navigateTo('/schemacat/site/');
    13                         expect(browser().location().url()).toBe('/workspace/page/1/?schemaIndex=0');
    14                 });
    15 
    16                 it('should jump to "/workspace/page/1/?schemaIndex=0" when location path and hash are empty', function() {
     13                        expect(browser().location().url()).toBe('/workspace.html/page/1/?schemaIndex=0');
     14                });*/
     15
     16                it('should jump to "/workspace.html/page/1/?schemaIndex=0" when location path and hash are empty', function() {
    1717                        browser().navigateTo('/schemacat/site/index.html');
    18                         expect(browser().location().url()).toBe('/workspace/page/1/?schemaIndex=0');
    19                 });
    20 
    21                 it('should have a working /workspace/<page> route', function() {
    22                         browser().navigateTo('#/workspace/page/1/');
    23                         expect(browser().location().path()).toBe('/workspace/page/1/');
    24                 });
    25 
    26                 it('should have a working /about route', function() {
    27                         browser().navigateTo('#/about');
    28                         expect(browser().location().url()).toBe('/about');
    29                 });
    30 
    31                 it('should have a working /contact route', function() {
    32                         browser().navigateTo('#/contact');
    33                         expect(browser().location().url()).toBe('/contact');
    34                 });
    35 
    36                 it('should have a working /accountDetails route', function() {
    37                         browser().navigateTo('#/accountDetails');
    38                         expect(browser().location().url()).toBe('/accountDetails');
     18                        expect(browser().location().url()).toBe('/workspace.html/page/1/?schemaIndex=0');
     19                });
     20
     21                it('should have a working /workspace.html/<page> route', function() {
     22                        browser().navigateTo('#/workspace.html/page/1/');
     23                        expect(browser().location().path()).toBe('/workspace.html/page/1/');
     24                });
     25
     26                it('should have a working /about.html route', function() {
     27                        browser().navigateTo('#/about.html');
     28                        expect(browser().location().url()).toBe('/about.html');
     29                });
     30
     31                it('should have a working /contact.html route', function() {
     32                        browser().navigateTo('#/contact.html');
     33                        expect(browser().location().url()).toBe('/contact.html');
     34                });
     35
     36                it('should have a working /accountDetails.html route', function() {
     37                        browser().navigateTo('#/accountDetails.html');
     38                        expect(browser().location().url()).toBe('/accountDetails.html');
    3939                });
    4040
    4141                it('should jump to a different schema when schemaIndex changes', function() {
    42                         browser().navigateTo('#/workspace/page/1/?schemaIndex=1');
     42                        browser().navigateTo('#/workspace.html/page/1/?schemaIndex=1');
    4343                        expect(browser().location().search()).toEqual({schemaIndex: '1'});
    44                         browser().navigateTo('#/workspace/page/1/?schemaIndex=2');
     44                        browser().navigateTo('#/workspace.html/page/1/?schemaIndex=2');
    4545                        expect(browser().location().search()).toEqual({schemaIndex: '2'});
    4646                });
     
    5252                        alertOK();
    5353                        element('#login').click();
    54                         sleep(0.25);
    55                         expect(browser().location().url()).toBe('/workspace/page/1/?schemaIndex=0');
     54                        sleep(0.30);
     55                        expect(browser().location().url()).toBe('/workspace.html/page/1/?schemaIndex=0');
    5656                        expect(element('li[title="userMenu"] span[data-ng-bind="displayName"]').text()).toBe('Menzo Windhouwer');
    5757                });
    5858
    5959                it('should jump to a different page when page path changes', function() {
    60                         browser().navigateTo('#/workspace/page/2/');
    61                         expect(browser().location().path()).toBe('/workspace/page/2/');
     60                        browser().navigateTo('#/workspace.html/page/2/');
     61                        expect(browser().location().path()).toBe('/workspace.html/page/2/');
    6262                });
    6363
     
    6868                        alertOK();
    6969                        element('#login').click();
    70                         sleep(0.25);
    71                         expect(browser().location().url()).toBe('/workspace/page/1/?schemaIndex=0');
     70                        sleep(0.30);
     71                        expect(browser().location().url()).toBe('/workspace.html/page/1/?schemaIndex=0');
    7272                        expect(element('li[title="userMenu"] span[data-ng-bind="displayName"]').text()).toBe('guest');
    7373                });
     
    7878                        beforeEach(function() {
    7979                                //load the default initial page
    80                                 browser().navigateTo('/schemacat/site/index.html#/workspace/page/1/?schemaIndex=0');
    81                         });
    82                         it('should redirect to "/workspace/page/1/?schemaIndex=0" when page is invalid (page="a")', function() {
    83                                 browser().navigateTo('#/workspace/page/a/?schemaIndex=0');
    84                                 expect(browser().location().url()).toBe('/workspace/page/1/?schemaIndex=0');
    85                         });
    86 
    87                         it('should redirect to "/workspace/page/1/?schemaIndex=0" when page is out of range (page=3)', function() {
    88                                 browser().navigateTo('#/workspace/page/3/?schemaIndex=0');
    89                                 expect(browser().location().url()).toBe('/workspace/page/1/?schemaIndex=0');
    90                         });
    91 
    92                         it('should redirect to "/workspace/page/1/?schemaIndex=0" when page is out of range (page<1)', function() {
    93                                 browser().navigateTo('#/workspace/page/0/?schemaIndex=0');
    94                                 expect(browser().location().url()).toBe('/workspace/page/1/?schemaIndex=0');
    95                         });
    96 
    97                         it('should redirect to "/workspace/page/1/?schemaIndex=0" when schemaIndex is invalid (schemaIndex="a")', function() {
    98                                 browser().navigateTo('#/workspace/page/1/?schemaIndex=a');
    99                                 expect(browser().location().url()).toBe('/workspace/page/1/?schemaIndex=0');
    100                         });
    101 
    102                         it('should redirect to "/workspace/page/1/?schemaIndex=0" when schemaIndex is out of range (schemaIndex>9)', function() {
    103                                 browser().navigateTo('#/workspace/page/1/?schemaIndex=10');
    104                                 expect(browser().location().url()).toBe('/workspace/page/1/?schemaIndex=0');
    105                         });
    106 
    107                         it('should redirect to "/workspace/page/1/?schemaIndex=0" when schemaIndex is out of range (schemaIndex=-1)', function() {
    108                                 browser().navigateTo('#/workspace/page/1/?schemaIndex=-1');
    109                                 expect(browser().location().url()).toBe('/workspace/page/1/?schemaIndex=0');
     80                                browser().navigateTo('/schemacat/site/index.html#/workspace.html/page/1/?schemaIndex=0');
     81                        });
     82                        it('should redirect to "/workspace.html/page/1/?schemaIndex=0" when page is invalid (page="a")', function() {
     83                                browser().navigateTo('#/workspace.html/page/a/?schemaIndex=0');
     84                                expect(browser().location().url()).toBe('/workspace.html/page/1/?schemaIndex=0');
     85                        });
     86
     87                        it('should redirect to "/workspace.html/page/1/?schemaIndex=0" when page is out of range (page=3)', function() {
     88                                browser().navigateTo('#/workspace.html/page/3/?schemaIndex=0');
     89                                expect(browser().location().url()).toBe('/workspace.html/page/1/?schemaIndex=0');
     90                        });
     91
     92                        it('should redirect to "/workspace.html/page/1/?schemaIndex=0" when page is out of range (page<1)', function() {
     93                                browser().navigateTo('#/workspace.html/page/0/?schemaIndex=0');
     94                                expect(browser().location().url()).toBe('/workspace.html/page/1/?schemaIndex=0');
     95                        });
     96
     97                        it('should redirect to "/workspace.html/page/1/?schemaIndex=0" when schemaIndex is invalid (schemaIndex="a")', function() {
     98                                browser().navigateTo('#/workspace.html/page/1/?schemaIndex=a');
     99                                expect(browser().location().url()).toBe('/workspace.html/page/1/?schemaIndex=0');
     100                        });
     101
     102                        it('should redirect to "/workspace.html/page/1/?schemaIndex=0" when schemaIndex is out of range (schemaIndex>9)', function() {
     103                                browser().navigateTo('#/workspace.html/page/1/?schemaIndex=10');
     104                                expect(browser().location().url()).toBe('/workspace.html/page/1/?schemaIndex=0');
     105                        });
     106
     107                        it('should redirect to "/workspace.html/page/1/?schemaIndex=0" when schemaIndex is out of range (schemaIndex=-1)', function() {
     108                                browser().navigateTo('#/workspace.html/page/1/?schemaIndex=-1');
     109                                expect(browser().location().url()).toBe('/workspace.html/page/1/?schemaIndex=0');
    110110                        });
    111111
    112112                        it('should show the schema with index=0 if schemaIndex is not supplied on the route', function() {
    113                                 browser().navigateTo('#/workspace/page/1/');
     113                                browser().navigateTo('#/workspace.html/page/1/');
    114114                                expect(element('#schema-name').html()).not().toEqual('');
    115115                                expect(element('#schema-name').css('visibility')).toBe('visible');
     
    121121                        beforeEach(function() {
    122122                                //load the default initial page
    123                                 browser().navigateTo('/schemacat/site/index.html#/workspace/page/1/?schemaIndex=0');
     123                                browser().navigateTo('/schemacat/site/index.html#/workspace.html/page/1/?schemaIndex=0');
    124124                        });
    125125
     
    141141
    142142                        it('should show the clicked schema and update route (not animated)', function() {
    143                                 browser().navigateTo('/schemacat/site/index.html#/workspace/page/1/?schemaIndex=0&animationsDisabled');
     143                                browser().navigateTo('/schemacat/site/index.html#/workspace.html/page/1/?schemaIndex=0&animationsDisabled');
    144144                                element('#workspace-main-row table tbody tr:eq(1)').click();
    145145
     
    161161                        beforeEach(function() {
    162162                                //load the default initial page
    163                                 browser().navigateTo('/schemacat/site/index.html#/workspace/page/1/?schemaIndex=0');
     163                                browser().navigateTo('/schemacat/site/index.html#/workspace.html/page/1/?schemaIndex=0');
    164164                        });
    165165                        it('should navigate to the schema file url', function() {
     
    173173                describe('Load page scenario (animated)', function() {
    174174                        beforeEach(function() {
    175                                 browser().navigateTo('/schemacat/site/index.html#/workspace/page/1/?schemaIndex=0');
     175                                browser().navigateTo('/schemacat/site/index.html#/workspace.html/page/1/?schemaIndex=0');
    176176                        });
    177177
    178178                        it('should load the contact page and slide it from the right when url changes from the workspace page', function() {
    179                                 browser().navigateTo('#/contact');
    180                                 expect(browser().location().url()).toBe('/contact');
     179                                browser().navigateTo('#/contact.html');
     180                                expect(browser().location().url()).toBe('/contact.html');
    181181                                expect(element('#contact').html()).not().toEqual('');
    182182                                expect(element('#contact').attr('class')).toContain('animated slideInRight');
     
    184184
    185185                        it('should load the contact page and slide it from the right when url changes from the about page', function() {
    186                                 browser().navigateTo('#/about');
    187                                 browser().navigateTo('#/contact');
    188                                 expect(browser().location().url()).toBe('/contact');
     186                                browser().navigateTo('#/about.html');
     187                                browser().navigateTo('#/contact.html');
     188                                expect(browser().location().url()).toBe('/contact.html');
    189189                                expect(element('#contact').html()).not().toEqual('');
    190190                                expect(element('#contact').attr('class')).toContain('animated slideInRight');
     
    192192
    193193                        it('should load the contact page and fade it down when url changes from the accountDetails page', function() {
    194                                 browser().navigateTo('#/accountDetails');
    195                                 browser().navigateTo('#/contact');
    196                                 expect(browser().location().url()).toBe('/contact');
     194                                browser().navigateTo('#/accountDetails.html');
     195                                browser().navigateTo('#/contact.html');
     196                                expect(browser().location().url()).toBe('/contact.html');
    197197                                expect(element('#contact').html()).not().toEqual('');
    198198                                expect(element('#contact').attr('class')).toContain('animated fadeInDown');
     
    200200
    201201                        it('should load the contact page and fade it down when reload is clicked', function() {
    202                                 browser().navigateTo('#/contact');
     202                                browser().navigateTo('#/contact.html');
    203203                                browser().reload();
    204                                 expect(browser().location().url()).toBe('/contact');
     204                                expect(browser().location().url()).toBe('/contact.html');
    205205                                expect(element('#contact').html()).not().toEqual('');
    206206                                expect(element('#contact').attr('class')).toContain('animated fadeInDown');
     
    209209                        it('should load the contact page and fade it down when landing on this page from an external location', function() {
    210210                                browser().navigateTo('/');
    211                                 browser().navigateTo('/schemacat/site/index.html#/contact');
    212                                 expect(browser().location().url()).toBe('/contact');
     211                                browser().navigateTo('/schemacat/site/index.html#/contact.html');
     212                                expect(browser().location().url()).toBe('/contact.html');
    213213                                expect(element('#contact').html()).not().toEqual('');
    214214                                expect(element('#contact').attr('class')).toContain('animated fadeInDown');
     
    217217                describe('Load page scenario (not animated)', function() {
    218218                        beforeEach(function() {
    219                                 browser().navigateTo('/schemacat/site/index.html#/workspace/page/1/?schemaIndex=0&animationsDisabled');
     219                                browser().navigateTo('/schemacat/site/index.html#/workspace.html/page/1/?schemaIndex=0&animationsDisabled');
    220220                        });
    221221
    222222                        it('should load the contact page without animations when url changes from the workspace page', function() {
    223                                 browser().navigateTo('#/contact?animationsDisabled');
    224                                 expect(browser().location().url()).toBe('/contact?animationsDisabled');
     223                                browser().navigateTo('#/contact.html?animationsDisabled');
     224                                expect(browser().location().url()).toBe('/contact.html?animationsDisabled');
    225225                                expect(element('#contact').html()).not().toEqual('');
    226226                                expect(element('#contact').attr('class')).not().toContain('animated');
     
    228228
    229229                        it('should load the contact page without animations when url changes from the about page', function() {
    230                                 browser().navigateTo('#/about?animationsDisabled');
    231                                 browser().navigateTo('#/contact?animationsDisabled');
    232                                 expect(browser().location().url()).toBe('/contact?animationsDisabled');
     230                                browser().navigateTo('#/about.html?animationsDisabled');
     231                                browser().navigateTo('#/contact.html?animationsDisabled');
     232                                expect(browser().location().url()).toBe('/contact.html?animationsDisabled');
    233233                                expect(element('#contact').html()).not().toEqual('');
    234234                                expect(element('#contact').attr('class')).not().toContain('animated');
     
    236236
    237237                        it('should load the contact page without animations when url changes from the accountDetails page', function() {
    238                                 browser().navigateTo('#/accountDetails?animationsDisabled');
    239                                 browser().navigateTo('#/contact?animationsDisabled');
    240                                 expect(browser().location().url()).toBe('/contact?animationsDisabled');
     238                                browser().navigateTo('#/accountDetails.html?animationsDisabled');
     239                                browser().navigateTo('#/contact.html?animationsDisabled');
     240                                expect(browser().location().url()).toBe('/contact.html?animationsDisabled');
    241241                                expect(element('#contact').html()).not().toEqual('');
    242242                                expect(element('#contact').attr('class')).not().toContain('animated');
     
    244244
    245245                        it('should load the contact page without animations when reload is clicked', function() {
    246                                 browser().navigateTo('#/contact?animationsDisabled');
     246                                browser().navigateTo('#/contact.html?animationsDisabled');
    247247                                browser().reload();
    248                                 expect(browser().location().url()).toBe('/contact?animationsDisabled');
     248                                expect(browser().location().url()).toBe('/contact.html?animationsDisabled');
    249249                                expect(element('#contact').html()).not().toEqual('');
    250250                                expect(element('#contact').attr('class')).not().toContain('animated');
     
    253253                        it('should load the contact page without animations when landing on this page from an external location', function() {
    254254                                browser().navigateTo('/');
    255                                 browser().navigateTo('/schemacat/site/index.html#/contact?animationsDisabled');
    256                                 expect(browser().location().url()).toBe('/contact?animationsDisabled');
     255                                browser().navigateTo('/schemacat/site/index.html#/contact.html?animationsDisabled');
     256                                expect(browser().location().url()).toBe('/contact.html?animationsDisabled');
    257257                                expect(element('#contact').html()).not().toEqual('');
    258258                                expect(element('#contact').attr('class')).not().toContain('animated');
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.site/site/test/karma/karma-e2e.conf.js

    r4159 r4300  
    4747            type: 'html',
    4848            dir: 'test/karma/test_out/coverage-e2e/'
    49         },
     49        }
    5050    });
    5151};
  • cats/SCHEMAcat/trunk/urn.org.isocat.schemacat.site/site/test/karma/karma.config.js

    r4246 r4300  
    1515    // list of files / patterns to load in the browser
    1616    files: [
    17       'lib/AngularJS-1.2.7/angular.js',
    18       'lib/AngularJS-1.2.7/angular-route.js',
    19       'lib/AngularJS-1.2.7/angular-resource.js',
    20       'lib/UI-bootstrap/ui-bootstrap-tpls-0.8.0.js',
    21       'test/lib/AngularJS-1.2.7/angular-mocks.js',
     17      'lib/AngularJS-1.2.8/angular.js',
     18      'lib/AngularJS-1.2.8/angular-route.js',
     19      'lib/AngularJS-1.2.8/angular-resource.js',
     20      'lib/UI-bootstrap/ui-bootstrap-tpls-0.10.0.js',
     21      'test/lib/AngularJS-1.2.8/angular-mocks.js',
    2222      'scripts/modules.js',
    2323      'scripts/controllers.js',
Note: See TracChangeset for help on using the changeset viewer.