Cumulative update to tour authoring. Numerous features added. Still in progress.
This commit is contained in:
Родитель
1904313c43
Коммит
5a8ec10ba7
189
Default.aspx
189
Default.aspx
|
@ -136,96 +136,14 @@
|
|||
css+="<link href=\"ext/introjs.css?v="+ResourcesVersion+"\" rel=\"stylesheet\" />";
|
||||
%>
|
||||
<%=css%>
|
||||
|
||||
<link href="https://cdnjs.cloudflare.com/ajax/libs/jScrollPane/2.0.23/style/jquery.jscrollpane.css" rel="stylesheet"/>
|
||||
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"/>
|
||||
|
||||
<style>
|
||||
html, body.fs-player, iframe {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
.finder-scope {
|
||||
|
||||
body .finder-scope {
|
||||
background: url(Images/finder-scope.png?v=<%= ResourcesVersion %>) no-repeat;
|
||||
}
|
||||
|
||||
body .contextmenu {
|
||||
background: rgba(25,30,43,.88);
|
||||
position: absolute;
|
||||
display: none;
|
||||
width: 240px;
|
||||
top: 400px;
|
||||
left: 400px;
|
||||
z-index: 1000;
|
||||
box-shadow: 0 0 4px #808080;
|
||||
background-clip: border-box;
|
||||
padding-left: 15px;
|
||||
border: solid 1px rgba(105,115,150,.7);
|
||||
}
|
||||
|
||||
body .contextmenuitem {
|
||||
border-left: solid 1px rgba(105,115,150,.7);
|
||||
padding: 2px 4px 2px 4px;
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
body .contextmenuitem:hover {
|
||||
background-color: rgba(1,14,23,.85);
|
||||
}
|
||||
|
||||
body .submenu:after {
|
||||
display: block;
|
||||
right: 6px;
|
||||
content: " ";
|
||||
float: right;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-color: transparent;
|
||||
border-style: solid;
|
||||
border-width: 5px 0 5px 5px;
|
||||
border-left-color: #cccccc;
|
||||
margin-top: 5px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
|
||||
body .checkedmenu:after {
|
||||
font-family: FontAwesome;
|
||||
content: "\f00c";
|
||||
font-size: 13px;
|
||||
color: rgba(255,255,255,.8);
|
||||
text-align: center;
|
||||
line-height: 15px;
|
||||
height: 15px;
|
||||
width: 15px;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
body .colorpicker {
|
||||
background: rgba(25,30,43,.88);
|
||||
position: absolute;
|
||||
display: none;
|
||||
width: 220px;
|
||||
height: 240px;
|
||||
top: 400px;
|
||||
left: 400px;
|
||||
z-index: 1000;
|
||||
box-shadow: 0 0 4px #808080;
|
||||
background-clip: border-box;
|
||||
padding-left: 15px;
|
||||
padding-top: 15px;
|
||||
border: solid 1px rgba(105,115,150,.7);
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
<script src="//js.live.net/v5.0/wl.js"></script>
|
||||
|
@ -239,6 +157,8 @@
|
|||
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.5/angular-animate.min.js"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/angular-strap/2.3.8/angular-strap.js"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/angular-strap/2.3.8/angular-strap.tpl.min.js"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.13/jquery.mousewheel.min.js"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/jScrollPane/2.0.23/script/jquery.jscrollpane.js"></script>
|
||||
<% if (Debug || DebugChrome)
|
||||
{ %>
|
||||
|
||||
|
@ -435,7 +355,7 @@
|
|||
<hr class="clearfix"/>
|
||||
</li>
|
||||
<li>
|
||||
<a ng-click="gotoPage('/')" target="_blank" localize="WorldWide Telescope Home"></a>
|
||||
<a ng-click="gotoPage('/home')" target="_blank" localize="WorldWide Telescope Home"></a>
|
||||
</li>
|
||||
<li>
|
||||
<a ng-click="gotoPage('/Learn')" target="_blank" localize="Getting Started (Help)"></a>
|
||||
|
@ -455,24 +375,43 @@
|
|||
</div>
|
||||
</div>
|
||||
<div ng-class="isLoading ? 'mobile-loading' : 'hide'">
|
||||
<img src='<%= ResourcesLocation%>/Images/wwtlogo.png'
|
||||
class="pull-left"
|
||||
localize="WorldWide Telescope Logo"
|
||||
localize-only="alt"
|
||||
/>
|
||||
<a href="http://aas.org" target="_blank" style="position:relative;left:3px;z-index:5"
|
||||
class="pull-right">
|
||||
<img ng-src="https://wwtweb.blob.core.windows.net/images/aas-white110.png"
|
||||
localize="American Astronomical Society (AAS) Logo"
|
||||
localize-only="alt" style="width:60px;height:60px;"/>
|
||||
</a>
|
||||
<a class="pull-left" href="/home" style="margin-left: -11px;">
|
||||
<img src='<%= ResourcesLocation%>/Images/wwtlogo.png'
|
||||
localize="WorldWide Telescope Logo"
|
||||
localize-only="alt"
|
||||
style="height:60px;width:60px"
|
||||
/>
|
||||
</a>
|
||||
<h3>
|
||||
|
||||
<div class="small text-white">American Astronomical Society</div>
|
||||
World<span class="brand-blue">Wide Telescope</span>
|
||||
</h3>
|
||||
<br />
|
||||
<h4 localize="Welcome to the WorldWide Telescope Web Client"></h4>
|
||||
<p>
|
||||
<br />
|
||||
<p style="text-align:center">
|
||||
<i class="fa fa-spin fa-spinner"></i>
|
||||
<span localize="WorldWide Telescope is loading. Please wait."></span>
|
||||
<span localize="WorldWide Telescope is loading."></span><br />
|
||||
<span localize="Please wait."></span>
|
||||
|
||||
</p>
|
||||
<br />
|
||||
<p class="small" localize="Please ensure you have a strong connection to the internet for the best experience.">
|
||||
(Please ensure you have a strong connection to the internet for the best experience.)
|
||||
Please ensure you have a strong connection to the internet for the best experience.
|
||||
</p>
|
||||
|
||||
<div class="checkbox pull-left">
|
||||
<label data-ng-class="iswebclientHome ? 'checked' : ''">
|
||||
<input type="checkbox" ng-model="iswebclientHome" ng-change="homePrefChange(iswebclientHome)" />
|
||||
<span localize="Show the web client as WWT landing page"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<ng-include src="'views/modals/mobile-nearby-objects.html'"></ng-include>
|
||||
<div class="context-panel">
|
||||
|
@ -548,11 +487,10 @@
|
|||
<li data-ng-class="activePanel == 'currentTour' ? 'active' : 'hide'">
|
||||
<div class="outer">
|
||||
<a href="javascript:void(0)">
|
||||
<span class="label" data-ng-click="tabClick(tab)" id="btnCurTour" localize="{{currentTour._title}}"></span>
|
||||
<%--<div class="menu" data-ng-click="menuClick(tab.menu)" id="tabMenu{{ribbon.tabs.length}}" data-target="#menu{{ribbon.tabs.length}}">
|
||||
<i class="fa fa-caret-down"></i>
|
||||
</div>--%>
|
||||
<span class="label" style="padding-right:22px" localize="{{currentTour._title}}"></span>
|
||||
<span ng-click="finishTour()" class="close-tour"><i class="fa fa-close"></i></span>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -952,15 +890,15 @@
|
|||
ng-show="!loadingUrlPlace"
|
||||
ng-switch-when="currentTour"
|
||||
id="currentTourPanel"
|
||||
class="explore-panel rel"
|
||||
class="explore-panel rel curtour-panel"
|
||||
ng-controller="CurrentTourController"
|
||||
ng-init="init(tour)"
|
||||
>
|
||||
<table>
|
||||
<table ng-if="escaped == true">
|
||||
<colgroup>
|
||||
<col style="width:80px"/>
|
||||
<col style="width:99%"/>
|
||||
<col style="width:16px"/>
|
||||
<col style="width:100%"/>
|
||||
<col style="width:2px"/>
|
||||
</colgroup>
|
||||
<tr>
|
||||
<td class="play-tour">
|
||||
|
@ -971,27 +909,54 @@
|
|||
<i class="fa fa-minus"></i>
|
||||
</div>
|
||||
</a><br/>
|
||||
{{tour.minuteDuration}}:{{tour.secDuration}}
|
||||
<div class="small" localize="Run Time"></div>
|
||||
<div class="small">{{tour.minuteDuration}}:{{tour.secDuration}}</div>
|
||||
|
||||
</td>
|
||||
<td class="tour-stops">
|
||||
<div class="scroller">
|
||||
<div class="scroller" data-jquery-scrollbar>
|
||||
<div class="stops-container">
|
||||
<div class="stop-arrow" ng-repeat="stop in tourStops">
|
||||
<div class="thumbwrap">
|
||||
<div class="stop-thumb thumbnail"
|
||||
<div class="stop-thumb thumbnail {{$index == activeIndex?'active':''}}"
|
||||
index="{{$index}}"
|
||||
ng-click="gotoStop($index, $event)"
|
||||
ng-click="selectStop($index, $event)"
|
||||
ng-dblclick="showStartCameraPosition($index)"
|
||||
ng-context-menu="showContextMenu">
|
||||
<a class="ear stop-start" ng-click="showStartCameraPosition($index)"></a>
|
||||
<a class="ear stop-end" ng-click="showEndCameraPosition($index)"></a>
|
||||
<a class="ear stop-start" ng-click="showStartCameraPosition($index)" ng-show="editingTour"></a>
|
||||
<a class="ear stop-end" ng-click="showEndCameraPosition($index)" ng-show="editingTour"></a>
|
||||
<img ng-src="{{stop.thumb.src}}" alt="{{stop.description}}"/>
|
||||
<label class="slide-label">{{stop.description}}</label>
|
||||
<label class="duration">{{stop.secDuration}}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right-arrow" ng-if="!$last" bs-popover template-url="/views/popovers/transition-type.html" trigger="hover" placement="bottom-left" data-content="{1}" title="Transition">
|
||||
<i class="arrow-line"></i><i class="arrow-head"></i>
|
||||
|
||||
<div class="transition-choice" ng-if="!$last" bs-popover template-url="views/popovers/transition-type.html" trigger="click" placement="bottom-left" data-content="{1}" title="Transition" data-container="body">
|
||||
|
||||
<div class="right-arrow choice" ng-if="stop.transitionType==0">
|
||||
<i class="arrow-line"></i><i class="arrow-head"></i>
|
||||
</div>
|
||||
|
||||
<div class="crossfade choice" ng-if="stop.transitionType==1">
|
||||
<span class="shape"></span>
|
||||
</div>
|
||||
|
||||
<div class="abrupt choice" ng-if="stop.transitionType==2">
|
||||
<span class="shape"></span>
|
||||
</div>
|
||||
|
||||
<div class="fadeout-in choice" ng-if="stop.transitionType==3">
|
||||
<span class="shape left"></span>
|
||||
<span class="shape right"></span>
|
||||
</div>
|
||||
|
||||
<div class="fadein choice" ng-if="stop.transitionType==4">
|
||||
<span class="shape"></span>
|
||||
</div>
|
||||
|
||||
<div class="fadeout choice" ng-if="stop.transitionType==5">
|
||||
<span class="shape"></span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
/// <binding ProjectOpened='watch' />
|
||||
/**!
|
||||
Gruntfile to perform wwt webclient less compilation,
|
||||
script concatenation/minification, and component updates
|
||||
|
|
|
@ -250,10 +250,13 @@ wwt.controllers.controller('MainController',
|
|||
label:'Guided Tours',
|
||||
button:'rbnTours',
|
||||
menu: {
|
||||
|
||||
'Tour Home Page': [util.nav, '/Learn/Exploring#guidedtours'],
|
||||
'Music and other Tour Resources': [util.nav, '/Download/TourAssets'],
|
||||
sep2: null,
|
||||
'Create a New Tour...': [$scope.createNewTour]
|
||||
sep2: null,
|
||||
|
||||
'Create a New Tour...': [$scope.createNewTour],
|
||||
|
||||
}
|
||||
}, {
|
||||
label: 'Search',
|
||||
|
@ -639,25 +642,43 @@ wwt.controllers.controller('MainController',
|
|||
$('#openModal').modal('show');
|
||||
};
|
||||
|
||||
$scope.playTour = function(url) {
|
||||
$scope.playTour = function (url) {
|
||||
console.log(encodeURIComponent(url));
|
||||
$('.finder-scope').hide();
|
||||
wwtlib.WWTControl.singleton.playTour(url);
|
||||
wwt.tourPlaying = $rootScope.tourPlaying = true;
|
||||
$rootScope.tourPaused = false;
|
||||
|
||||
wwt.wc.add_tourEnded(tourChangeHandler);
|
||||
wwt.wc.add_tourReady(function() {
|
||||
|
||||
$scope.$applyAsync(function () {
|
||||
$scope.activeItem = { label: 'currentTour' };
|
||||
$scope.activePanel = 'currentTour';
|
||||
wwt.wc.add_tourReady(function() {
|
||||
$('#ribbon,.top-panel,.context-panel,.layer-manager')
|
||||
.fadeOut(800, function () {
|
||||
$scope.$applyAsync(function () {
|
||||
$scope.activeItem = { label: 'currentTour' };
|
||||
$scope.activePanel = 'currentTour';
|
||||
$scope.ribbon.tabs[1].menu['Edit Tour'] = [$scope.editTour]
|
||||
});
|
||||
});
|
||||
//$('#ribbon,.top-panel,.context-panel,.layer-manager').fadeOut(800);
|
||||
|
||||
});
|
||||
//wwt.wc.add_tourPaused(tourChangeHandler);
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
$scope.editTour = function () {
|
||||
$rootScope.$applyAsync(function () {
|
||||
$rootScope.editingTour = true;
|
||||
});
|
||||
};
|
||||
|
||||
$rootScope.finishTour = function () {
|
||||
delete $scope.ribbon.tabs[1].menu['Edit Tour'];
|
||||
$rootScope.editingTour = false;
|
||||
$rootScope.tourPlaying = false;
|
||||
wwtlib.WWTControl.singleton.stopCurrentTour();
|
||||
$scope.activePanel = 'Guided Tours';
|
||||
$('#ribbon, .top-panel, .context-panel, .layer-manager').fadeIn(400);
|
||||
}
|
||||
|
||||
$scope.createNewTour = function() {
|
||||
//todo show dialog for tour properties
|
||||
|
@ -815,7 +836,6 @@ wwt.controllers.controller('MainController',
|
|||
$cookies.remove('homepage');
|
||||
if (!isWebclient) {
|
||||
$cookies.put('homepage', 'home', { expires: new Date(2050, 1, 1), path: "/" });
|
||||
//location.href = '/'
|
||||
} else {
|
||||
$cookies.put('homepage', 'webclient', { expires: new Date(2050, 1, 1), path: "/" });
|
||||
}
|
||||
|
@ -919,5 +939,8 @@ wwt.controllers.controller('MainController',
|
|||
$scope.contextPagerRight = function() {
|
||||
return /*$scope.fovClass() != 'hide' && */ $scope.showTrackingString() ? 0 : 50;
|
||||
}
|
||||
if (util.getQSParam('playTour')) {
|
||||
$scope.playTour(decodeURIComponent(util.getQSParam('playTour')))
|
||||
}
|
||||
}
|
||||
]);
|
||||
|
|
|
@ -1,20 +1,42 @@
|
|||
wwt.controllers.controller('CurrentTourController', ['$scope', '$rootScope', function($scope,$rootScope) {
|
||||
wwt.controllers.controller('CurrentTourController', ['$scope', '$rootScope','Util', function($scope,$rootScope,util) {
|
||||
var tourEdit = wwtlib.WWTControl.singleton.tourEdit;
|
||||
var tour;
|
||||
$scope.init = function (curTour) {
|
||||
$rootScope.currentTour = $scope.tour = tour = tourEdit.get_tour();
|
||||
tourEdit.tourStopList.refreshCallback = mapStops;
|
||||
mapStops();
|
||||
mapStops();
|
||||
$rootScope.$on('escKey', function () {
|
||||
$scope.$applyAsync(showTourSlides);
|
||||
});
|
||||
$rootScope.$watch('editingTour', function () { });
|
||||
if (util.isDebug) {
|
||||
showTourSlides();
|
||||
}
|
||||
};
|
||||
|
||||
var showTourSlides = function () {
|
||||
$('#ribbon,.top-panel').fadeIn(400);
|
||||
tourEdit.pauseTour();
|
||||
$rootScope.tourPaused = true;
|
||||
$scope.escaped = true;
|
||||
if (util.isDebug) {
|
||||
$rootScope.editingTour = true;
|
||||
}
|
||||
setTimeout(function () {
|
||||
$rootScope.stopScroller = $('.scroller').jScrollPane({ scrollByY: 155, horizontalDragMinWidth: 155 });
|
||||
}, 200);
|
||||
};
|
||||
|
||||
$scope.showContextMenu = function (index,e) {
|
||||
if (e) {
|
||||
tour.set_currentTourstopIndex(index);
|
||||
tourEdit.tourStopList_MouseClick(index, e);
|
||||
$scope.activeIndex = index;
|
||||
}
|
||||
};
|
||||
$scope.gotoStop = function (index, e) {
|
||||
$scope.selectStop = function (index, e) {
|
||||
tour.set_currentTourstopIndex(index);
|
||||
$scope.activeIndex = index;
|
||||
};
|
||||
|
||||
$scope.showStartCameraPosition = function (index) {
|
||||
|
@ -49,14 +71,23 @@
|
|||
}
|
||||
s.secDuration = '0:' + s.secDuration;
|
||||
tour.duration += s.duration;
|
||||
s.transitionType = s.get__transition();
|
||||
console.log(s);
|
||||
return s;
|
||||
});
|
||||
tour.minuteDuration = Math.floor(tour.duration / 60000);
|
||||
tour.secDuration = Math.floor((tour.duration % 60000) / 1000);
|
||||
$scope.tour = tour;
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
$scope.setStopTransition = function (index, transitionType) {
|
||||
var stop = $scope.tourStops[index];
|
||||
stop.set__transition(transitionType);
|
||||
stop.transitionType = transitionType;
|
||||
}
|
||||
|
||||
}]);
|
||||
|
||||
|
|
|
@ -108,7 +108,7 @@
|
|||
title: item.get_name(),
|
||||
target: $(event.currentTarget),
|
||||
id: 'tourpop',
|
||||
template:'views/popovers/tour-template.html',
|
||||
templateUrl:'views/popovers/tour-template.html',
|
||||
contentTemplate: 'views/popovers/tour-info.html',
|
||||
placement: 'bottom-left',
|
||||
scope: $scope,
|
||||
|
|
|
@ -0,0 +1,84 @@
|
|||
html, body.fs-player, iframe {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
body{
|
||||
|
||||
.contextmenu {
|
||||
background: rgba(25,30,43,.88);
|
||||
position: absolute;
|
||||
display: none;
|
||||
width: 240px;
|
||||
top: 400px;
|
||||
left: 400px;
|
||||
z-index: 1000;
|
||||
box-shadow: 0 0 4px #808080;
|
||||
background-clip: border-box;
|
||||
padding-left: 15px;
|
||||
border: solid 1px rgba(105,115,150,.7);
|
||||
}
|
||||
|
||||
.contextmenuitem {
|
||||
border-left: solid 1px rgba(105,115,150,.7);
|
||||
padding: 2px 4px 2px 4px;
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.contextmenuitem:hover {
|
||||
background-color: rgba(1,14,23,.85);
|
||||
}
|
||||
|
||||
.submenu:after {
|
||||
display: block;
|
||||
right: 6px;
|
||||
content: " ";
|
||||
float: right;
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-color: transparent;
|
||||
border-style: solid;
|
||||
border-width: 5px 0 5px 5px;
|
||||
border-left-color: #cccccc;
|
||||
margin-top: 5px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
|
||||
.checkedmenu:after {
|
||||
font-family: FontAwesome;
|
||||
content: "\f00c";
|
||||
font-size: 13px;
|
||||
color: rgba(255,255,255,.8);
|
||||
text-align: center;
|
||||
line-height: 15px;
|
||||
height: 15px;
|
||||
width: 15px;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.colorpicker {
|
||||
background: rgba(25,30,43,.88);
|
||||
position: absolute;
|
||||
display: none;
|
||||
width: 220px;
|
||||
height: 240px;
|
||||
top: 400px;
|
||||
left: 400px;
|
||||
z-index: 1000;
|
||||
box-shadow: 0 0 4px #808080;
|
||||
background-clip: border-box;
|
||||
padding-left: 15px;
|
||||
padding-top: 15px;
|
||||
border: solid 1px rgba(105,115,150,.7);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,376 @@
|
|||
body.wwt-webclient-wrapper {
|
||||
div.curtour-panel {
|
||||
padding-left: 0;
|
||||
max-height: 108px;
|
||||
height: 108px;
|
||||
//overflow: hidden;
|
||||
table{
|
||||
table-layout:fixed;
|
||||
width:100%;
|
||||
//margin:2px 8px 0 8px;
|
||||
height:108px;
|
||||
td.play-tour{
|
||||
background:fade(@bordercolor-opaque,30%);
|
||||
width:80px;
|
||||
vertical-align:middle;
|
||||
text-align:center;
|
||||
//height:102px;
|
||||
}
|
||||
td.tour-stops,td.tour-stops *{
|
||||
outline:none !important;
|
||||
}
|
||||
td.tour-stops{
|
||||
background:fade(#000,30%);
|
||||
height:102px;
|
||||
width:100%;
|
||||
//border: solid 1px @bordercolor;
|
||||
.scroller{
|
||||
height:108px;
|
||||
border-bottom:solid 8px rgba(78,86,114,.3);
|
||||
.jspVerticalBar,.jspCorner{
|
||||
display:none;
|
||||
}
|
||||
.jspContainer{
|
||||
border: 1px solid @bordercolor-opaque;
|
||||
}
|
||||
.jspPane{
|
||||
margin-left:0;
|
||||
|
||||
}
|
||||
.jspHorizontalBar{
|
||||
background:transparent;
|
||||
bottom:auto;
|
||||
top:0;
|
||||
height:8px;
|
||||
background:transparent;
|
||||
.jspTrack{
|
||||
background:fade(@bordercolor-opaque,60%);
|
||||
.jspDrag{
|
||||
background:@bordercolor-opaque;
|
||||
border-radius:3px;
|
||||
height:6px;
|
||||
.jspDragLeft,.jspdragRight{
|
||||
visibility:hidden;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
max-width: 100%;
|
||||
overflow-x: auto;
|
||||
overflow-y:hidden;
|
||||
div.stops-container{
|
||||
padding-left:5px;
|
||||
padding-top:16px;
|
||||
height:100px;
|
||||
white-space:nowrap;
|
||||
vertical-align:text-top;
|
||||
|
||||
.stop-arrow{
|
||||
white-space:nowrap;
|
||||
vertical-align:text-top;
|
||||
width:155px;
|
||||
display:inline-block;
|
||||
.transition-choice{
|
||||
position: relative;
|
||||
left: -10px;
|
||||
margin:0 0 0 6px;
|
||||
}
|
||||
}
|
||||
div.stop-thumb{
|
||||
position:relative;
|
||||
vertical-align:text-top;
|
||||
|
||||
img{
|
||||
display:inline-block;
|
||||
border:none;
|
||||
}
|
||||
.slide-label{
|
||||
position:absolute;
|
||||
bottom:0;
|
||||
left:4px;
|
||||
}
|
||||
.duration{
|
||||
position:absolute;
|
||||
bottom:-17px;
|
||||
left:0;
|
||||
width:99px;
|
||||
text-align:center;
|
||||
display:block;
|
||||
}
|
||||
.ear{
|
||||
height:0;
|
||||
width:0;
|
||||
position:absolute;
|
||||
top:-9px;
|
||||
display:inline-block;
|
||||
}
|
||||
.ear:hover, .ear.active{
|
||||
border-bottom-color:yellow;
|
||||
}
|
||||
.stop-start{
|
||||
left:-1px;
|
||||
border-bottom: 7px solid @bordercolor-opaque;
|
||||
border-right: 7px solid transparent;
|
||||
}
|
||||
|
||||
.stop-end{
|
||||
right:-1px;
|
||||
border-bottom: 7px solid @bordercolor-opaque;
|
||||
border-left: 7px solid transparent;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
tour-slides{
|
||||
overflow-x:scroll;
|
||||
}
|
||||
}
|
||||
|
||||
.transition-choice{
|
||||
border:solid 1px transparent;
|
||||
width:38px;
|
||||
height:65px;
|
||||
border-radius:3px;
|
||||
vertical-align:text-top;
|
||||
display:inline-block;
|
||||
.shape{
|
||||
height:0;
|
||||
width:0;
|
||||
position:absolute;
|
||||
top:0;
|
||||
}.choice{
|
||||
display:inline-block;
|
||||
height:100%;
|
||||
width:100%;
|
||||
}
|
||||
.choice:before{
|
||||
content:'A';
|
||||
position:absolute;
|
||||
color:white;
|
||||
}
|
||||
.choice:after{
|
||||
content:'B';
|
||||
position:absolute;
|
||||
color:white;
|
||||
}
|
||||
|
||||
.right-arrow{
|
||||
width:100%;
|
||||
padding:22px 0 21px 2px;
|
||||
i.arrow-line{
|
||||
display:inline-block;
|
||||
height:7px;
|
||||
width:23px;
|
||||
background:@bordercolor-opaque;
|
||||
}
|
||||
i.arrow-head{
|
||||
display:inline-block;
|
||||
border-top: 14px solid @bordercolor-opaque;
|
||||
border-left: 14px solid transparent;
|
||||
transform:rotate(45deg);
|
||||
margin-left:-8px;
|
||||
margin-bottom:-3px;
|
||||
}
|
||||
}
|
||||
.right-arrow:after,.right-arrow:before{visibility:hidden}
|
||||
.crossfade{
|
||||
background:fade(@bordercolor,30%);
|
||||
.shape{
|
||||
border-top: 63px solid @bordercolor;
|
||||
border-left: 36px solid transparent;
|
||||
right:0;
|
||||
}
|
||||
&:before{
|
||||
bottom:2px;
|
||||
left:4px;
|
||||
}
|
||||
&:after{
|
||||
top:3px;
|
||||
right:3px;
|
||||
}
|
||||
}
|
||||
.abrupt{
|
||||
background:fade(@bordercolor,30%);
|
||||
.shape{
|
||||
background: @bordercolor;
|
||||
width:50%;
|
||||
height:100%;
|
||||
right:0;
|
||||
}
|
||||
&:before{
|
||||
top:16px;
|
||||
left:4px;
|
||||
}
|
||||
&:after{
|
||||
top:16px;
|
||||
right:3px;
|
||||
}
|
||||
}
|
||||
.fadeout-in{
|
||||
.shape.right{
|
||||
border-bottom: 63px solid @bordercolor;
|
||||
border-left: 18px solid transparent;
|
||||
right:0;
|
||||
}
|
||||
.shape.left{
|
||||
border-bottom: 63px solid fade(@bordercolor,30%);
|
||||
border-right: 18px solid transparent;
|
||||
left:0;
|
||||
}
|
||||
&:before{
|
||||
bottom:3px;
|
||||
left:4px;
|
||||
}
|
||||
&:after{
|
||||
bottom:3px;
|
||||
right:3px;
|
||||
}
|
||||
}
|
||||
.fadein{
|
||||
.shape{
|
||||
border-bottom: 63px solid @bordercolor;
|
||||
border-left: 36px solid transparent;
|
||||
right:0;
|
||||
}
|
||||
|
||||
&:before{
|
||||
visibility:hidden;
|
||||
}
|
||||
&:after{
|
||||
bottom:3px;
|
||||
right:4px;
|
||||
}
|
||||
}
|
||||
.fadeout{
|
||||
.shape{
|
||||
border-bottom: 63px solid fade(@bordercolor,30%);
|
||||
border-right: 36px solid transparent;
|
||||
left:0;
|
||||
}
|
||||
&:before{
|
||||
bottom:3px;
|
||||
left:4px;
|
||||
}
|
||||
&:after{
|
||||
visibility:hidden;
|
||||
}
|
||||
}
|
||||
}
|
||||
.transition-choice.active,.transition-choice:hover{
|
||||
border-color:yellow;
|
||||
}
|
||||
|
||||
a.btn-play-tour{
|
||||
position:relative;
|
||||
height:48px;width:48px;
|
||||
border-radius:50%;
|
||||
display:inline-block;
|
||||
font-size: 20px;
|
||||
box-shadow:inset 0 -2px 6px #324272,
|
||||
inset 0 0 2px rgba(0,0,0,.5),
|
||||
0 0 3px rgba(0,0,0,.5),
|
||||
0 0 8px rgba(93, 144, 232, 0.80);
|
||||
background-color:rgba(0,0,0,.3);
|
||||
#gradient > .vertical-four-colors(rgba(255,255,255,.3), rgba(155,155,155,.01), 50%, rgba(155,155,155,.01), 75%, rgba(44,185,201,.7));
|
||||
border:solid 2px #000;
|
||||
i.fa-play{
|
||||
margin:14px 17px;
|
||||
}
|
||||
div.paused{
|
||||
display:inline-block;
|
||||
margin: 9px 0;
|
||||
white-space: nowrap;
|
||||
position: relative;
|
||||
left: -2px;
|
||||
i.fa.fa-minus{
|
||||
transform:rotate(90deg);
|
||||
height:10px;
|
||||
overflow:hidden;
|
||||
margin: 0 -12px 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
a.btn-play-tour:after {
|
||||
content:" ";
|
||||
position:absolute;
|
||||
top:2px;
|
||||
left:2px;
|
||||
background:linear-gradient(180deg, rgba(255,255,255,.5), rgba(255,255,255,.3) 40%, rgba(255,255,255,.1));
|
||||
height:22px;
|
||||
width:40px;
|
||||
border-radius: 50% 50% 50% 50%/75% 75% 25% 25%;
|
||||
box-shadow:inset 0 0 3px rgba(255,255,255,.3);
|
||||
}
|
||||
a.btn-play-tour:hover::after{
|
||||
background:linear-gradient(180deg, rgba(255,255,255,.6), rgba(255,255,255,.4) 40%, rgba(255,255,255,.15));
|
||||
}
|
||||
a.btn-play-tour:hover {
|
||||
box-shadow:inset 0 -2px 6px lighten(rgb(121,158,225),10%),
|
||||
inset 0 0 2px rgba(0,0,0,.3),
|
||||
0 0 2px rgba(0,0,0,.5),
|
||||
0 0 13px rgba(93, 144, 232, 1);
|
||||
border:solid 1px #000;
|
||||
background-color:rgba(23,56,156,.5);
|
||||
#gradient > .vertical-four-colors(rgba(255,255,255,.6), rgba(155,155,155,.01), 50%, rgba(155,155,155,.01), 75%, rgba(44,185,201,.7));
|
||||
|
||||
}
|
||||
|
||||
.tour-info h3 {
|
||||
|
||||
a.btn-play-tour{
|
||||
cursor: pointer;
|
||||
position:absolute;
|
||||
z-index: 10;
|
||||
top:3px;
|
||||
height:40px;width:40px;
|
||||
font-size: 18px;
|
||||
background-color:rgba(0,0,0,.8);
|
||||
i.fa-play{
|
||||
margin:10px 13px;
|
||||
}
|
||||
}
|
||||
a.btn-play-tour:after{
|
||||
content:" ";
|
||||
position:absolute;
|
||||
top:2px;
|
||||
left:2px;
|
||||
height:19px;
|
||||
width:34px;
|
||||
}
|
||||
}
|
||||
|
||||
.popover.slide-transition{
|
||||
margin-top:3px;
|
||||
width:290px;
|
||||
height:190px;
|
||||
border-radius:3px;
|
||||
.choose-transition{
|
||||
margin:12px;
|
||||
background:rgba(0,0,0,.7);
|
||||
.transition-choice{
|
||||
position:relative;
|
||||
width:38px;
|
||||
height:65px;
|
||||
overflow:hidden;
|
||||
cursor:pointer;
|
||||
margin-left:2.2px;
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
.col-md-4{
|
||||
padding-top:10px;
|
||||
text-align:center;
|
||||
input{
|
||||
width:40px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
@import '../../packages/bootstrap.less.3.3.6/content/Content/bootstrap/bootstrap.less';
|
||||
@import 'variables.less';
|
||||
|
||||
@import 'tours.less';
|
||||
@import 'contextmenu.less';
|
||||
html {
|
||||
-ms-content-zooming: none;
|
||||
.desktop{position:relative;}
|
||||
|
@ -64,7 +65,9 @@ body.wwt-webclient-wrapper.mobile{
|
|||
padding:16px;
|
||||
h3{
|
||||
position:relative;
|
||||
top:-2px;
|
||||
top: -12px;
|
||||
left:3px;
|
||||
white-space: nowrap;
|
||||
.text-white{color:white;}
|
||||
.brand-blue{color:@brand-blue;}
|
||||
}
|
||||
|
@ -473,172 +476,11 @@ body.wwt-webclient-wrapper.mobile{
|
|||
margin: -3px -8px -8px -8px;
|
||||
|
||||
}
|
||||
|
||||
div.explore-panel {
|
||||
div.explore-panel {
|
||||
padding-left: 4px;
|
||||
max-height: 97px;
|
||||
height: 97px;
|
||||
//overflow: hidden;
|
||||
table{
|
||||
table-layout:fixed;
|
||||
width:100%;
|
||||
margin:2px 8px 0 8px;
|
||||
td.play-tour{
|
||||
width:80px;
|
||||
vertical-align:middle;
|
||||
text-align:center;
|
||||
height:100px;
|
||||
}
|
||||
td.tour-stops{
|
||||
width:100%;
|
||||
border: solid 1px @bordercolor;
|
||||
.scroller{
|
||||
padding-left:5px;
|
||||
max-width: 100%;
|
||||
overflow-x: auto;
|
||||
overflow-y:hidden;
|
||||
div.stops-container{
|
||||
position:relative;
|
||||
top:10px;
|
||||
height:88px;
|
||||
white-space:nowrap;
|
||||
vertical-align:text-top;
|
||||
.stop-arrow{
|
||||
white-space:nowrap;
|
||||
vertical-align:text-top;
|
||||
width:155px;
|
||||
display:inline-block;
|
||||
}
|
||||
div.stop-thumb{
|
||||
position:relative;
|
||||
|
||||
img{
|
||||
display:inline-block;
|
||||
border:none;
|
||||
}
|
||||
.slide-label{
|
||||
position:absolute;
|
||||
bottom:0;
|
||||
left:4px;
|
||||
}
|
||||
.duration{
|
||||
position:absolute;
|
||||
bottom:-16px;
|
||||
left:0;
|
||||
width:99px;
|
||||
text-align:center;
|
||||
display:block;
|
||||
}
|
||||
.ear{
|
||||
height:0;
|
||||
width:0;
|
||||
position:absolute;
|
||||
top:-9px;
|
||||
display:inline-block;
|
||||
}
|
||||
.ear:hover, .ear.active{
|
||||
border-bottom-color:yellow;
|
||||
}
|
||||
.stop-start{
|
||||
left:-1px;
|
||||
border-bottom: 7px solid @bordercolor-opaque;
|
||||
border-right: 7px solid transparent;
|
||||
}
|
||||
|
||||
.stop-end{
|
||||
right:-1px;
|
||||
border-bottom: 7px solid @bordercolor-opaque;
|
||||
border-left: 7px solid transparent;
|
||||
}
|
||||
}
|
||||
.right-arrow{
|
||||
padding-top:29px;
|
||||
width:50px;
|
||||
vertical-align:middle;
|
||||
display:inline-block;
|
||||
position: relative;
|
||||
//top: 11px;
|
||||
left: -3px;
|
||||
i.arrow-line{
|
||||
display:inline-block;
|
||||
height:7px;
|
||||
width:23px;
|
||||
background:@bordercolor-opaque;
|
||||
}
|
||||
i.arrow-head{
|
||||
display:inline-block;
|
||||
border-top: 14px solid @bordercolor-opaque;
|
||||
border-left: 14px solid transparent;
|
||||
transform:rotate(45deg);
|
||||
margin-left:-8px;
|
||||
margin-bottom:-3px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
tour-slides{
|
||||
overflow-x:scroll;
|
||||
}
|
||||
}
|
||||
|
||||
a.btn-play-tour{
|
||||
height:48px;width:48px;
|
||||
border-radius:50%;
|
||||
display:inline-block;
|
||||
font-size: 20px;
|
||||
//padding: 10px 17px;
|
||||
//margin:16px 0 0 8px;
|
||||
box-shadow:inset 0 -2px 6px #324272,
|
||||
inset 0 0 2px rgba(0,0,0,.5),
|
||||
0 0 3px rgba(0,0,0,.5),
|
||||
0 0 6px rgba(44,185,201,.7);
|
||||
background-color:rgba(0,0,0,.3);
|
||||
#gradient > .vertical-four-colors(rgba(255,255,255,.3), rgba(155,155,155,.01), 50%, rgba(155,155,155,.01), 75%, rgba(44,185,201,.7));
|
||||
border:solid 1px #000;
|
||||
i.fa-play{
|
||||
margin:14px 17px;
|
||||
}
|
||||
div.paused{
|
||||
display:inline-block;
|
||||
margin: 9px 0;
|
||||
white-space: nowrap;
|
||||
position: relative;
|
||||
left: -2px;
|
||||
i.fa.fa-minus{
|
||||
transform:rotate(90deg);
|
||||
height:10px;
|
||||
overflow:hidden;
|
||||
margin: 0 -12px 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
a.btn-play-tour:after{
|
||||
content:" ";
|
||||
position:absolute;
|
||||
top:21px;
|
||||
left:32px;
|
||||
background:linear-gradient(180deg, rgba(255,255,255,.5), rgba(255,255,255,.3) 40%, rgba(255,255,255,.1));
|
||||
height:22px;
|
||||
width:42px;
|
||||
border-radius: 50% 50% 50% 50%/75% 75% 25% 25%;
|
||||
}
|
||||
a.btn-play-tour:hover::after{
|
||||
background:linear-gradient(180deg, rgba(255,255,255,.6), rgba(255,255,255,.4) 40%, rgba(255,255,255,.15));
|
||||
}
|
||||
a.btn-play-tour:hover {
|
||||
box-shadow:inset 0 -2px 6px lighten(rgba(44,185,201,1),10%),
|
||||
inset 0 0 2px rgba(0,0,0,.3),
|
||||
0 0 2px rgba(0,0,0,.5),
|
||||
0 0 9px lighten(rgba(44,185,201,1),10%);
|
||||
border:solid 1px #000;
|
||||
background-color:rgba(23,56,156,.5);
|
||||
#gradient > .vertical-four-colors(rgba(255,255,255,.6), rgba(155,155,155,.01), 50%, rgba(155,155,155,.01), 75%, rgba(44,185,201,.7));
|
||||
|
||||
}
|
||||
|
||||
|
||||
div.explore-panel.expanded {
|
||||
height: 377px;
|
||||
|
@ -697,7 +539,7 @@ body.wwt-webclient-wrapper.mobile{
|
|||
overflow: hidden;
|
||||
position: relative;
|
||||
|
||||
|
||||
|
||||
a {
|
||||
text-align: center;
|
||||
display: block;
|
||||
|
@ -747,6 +589,20 @@ body.wwt-webclient-wrapper.mobile{
|
|||
text-decoration: none;
|
||||
color: white;
|
||||
}
|
||||
.close-tour{
|
||||
font-weight:100;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
right: 2px;height:17px;
|
||||
background-color:transparent;
|
||||
width:14px;
|
||||
cursor:pointer;
|
||||
display:inline-block;
|
||||
}
|
||||
.close-tour:hover{
|
||||
background-color:#006;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1057,22 +913,25 @@ body.wwt-webclient-wrapper.mobile{
|
|||
margin: 1px 0 4px;
|
||||
}
|
||||
}
|
||||
|
||||
.popover.tour-preview{
|
||||
border-radius:3px;
|
||||
top:17px !important;
|
||||
}
|
||||
.tour-pop {
|
||||
padding: 0;
|
||||
width: 470px;
|
||||
margin-top:3px;
|
||||
.tour-info {
|
||||
margin: 0;
|
||||
margin:-3px 0 0 0;
|
||||
padding: 2px;
|
||||
|
||||
h3 {
|
||||
background-color: rgba(222,222,222,.2);
|
||||
background-color: rgba(114, 156, 208, 0.28);
|
||||
margin: -3px;
|
||||
padding: 2px 5px 6px;
|
||||
border-top-right-radius: 3px;
|
||||
border-top-left-radius: 3px;
|
||||
|
||||
/*border-top-right-radius: 3px;
|
||||
border-top-left-radius: 3px;*/
|
||||
height:45px;
|
||||
span.label {
|
||||
max-width: 380px;
|
||||
display: inline-block;
|
||||
|
@ -1086,6 +945,7 @@ body.wwt-webclient-wrapper.mobile{
|
|||
font-size: 12px;
|
||||
display: block;
|
||||
color:@text-color;
|
||||
margin-bottom:6px;
|
||||
.rating-container {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
|
@ -1417,6 +1277,9 @@ body.wwt-webclient-wrapper.mobile{
|
|||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
.thumbnail.active {
|
||||
border-color: yellow;
|
||||
}
|
||||
|
||||
.property-panel a.thumbnail, .finder-scope .thumbnail {
|
||||
height: 58px;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
wwt.app.directive("scrollBuffer", function ($window) {
|
||||
wwt.app.directive("scrollBuffer", ['$window',function ($window) {
|
||||
return function ($scope, element, attrs) {
|
||||
var buffer = parseInt(attrs.scrollBuffer);
|
||||
var scope = $scope;
|
||||
|
@ -22,4 +22,35 @@
|
|||
});
|
||||
|
||||
};
|
||||
});
|
||||
}]);
|
||||
|
||||
wwt.app.directive("jqueryScrollbar", ['$rootScope','$window', function ($rootScope,$window) {
|
||||
return function ($scope, element, attrs) {
|
||||
|
||||
var scope = $scope;
|
||||
var movable = $(element).find('.jspPane');
|
||||
$(element).on('mousewheel', function (event) {
|
||||
var e = event.originalEvent;
|
||||
movable = $(element).find('.jspPane');
|
||||
var delta = Math.max(-1, Math.min(1, (e.wheelDelta || -e.detail)));
|
||||
|
||||
var curLeft = movable.position().left;
|
||||
var increment = 155;
|
||||
var newLeft;
|
||||
|
||||
//scrolling down?
|
||||
if (delta < 0) {
|
||||
newLeft = Math.floor((curLeft - increment) / increment) * increment;
|
||||
}
|
||||
|
||||
//scrolling up?
|
||||
else {
|
||||
newLeft = Math.floor((curLeft + increment) / increment) * increment;
|
||||
}
|
||||
//movable.css('left', Math.max(newLeft,0));
|
||||
$(element).data('jsp').scrollToX(Math.abs(newLeft));
|
||||
})
|
||||
|
||||
};
|
||||
}
|
||||
])
|
|
@ -3,23 +3,10 @@
|
|||
init: init
|
||||
};
|
||||
var canvas, ctx;
|
||||
//var renderLog = [];
|
||||
//var avgs = [];
|
||||
//var getAvg = function () {
|
||||
// var sum = 0;
|
||||
// $.each(renderLog, function() {
|
||||
// sum += this;
|
||||
// });
|
||||
// avgs.push(sum / renderLog.length);
|
||||
// renderLog = [];
|
||||
//}
|
||||
|
||||
|
||||
function draw(event, viewport) {
|
||||
if (!viewport.isDirty && !viewport.init){ return;}
|
||||
//var d1 = new Date();
|
||||
/*if (canvas == undefined) {
|
||||
init();
|
||||
}*/
|
||||
|
||||
ctx.clearRect(0, 0, 100, 100);
|
||||
var sphereSize = $('#skyball').height();
|
||||
var radius = sphereSize / 2;
|
||||
|
@ -67,12 +54,6 @@
|
|||
ctx.fillStyle = (z / 4) > 0 ? 'rgba(255,255,0,.9)' : 'rgba(255,255,0,.5)';
|
||||
ctx.fill();
|
||||
ctx.stroke();
|
||||
//var renderTime = new Date().valueOf() - d1.valueOf();
|
||||
//renderLog.push(renderTime);
|
||||
//if (renderLog.length == 50) {
|
||||
// getAvg();
|
||||
// console.log('skyball avg: ', avgs);
|
||||
//}
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
isStaging: function() {
|
||||
return location.href.indexOf('worldwidetelescope') === -1;
|
||||
},
|
||||
isDebug:getQSParam('debug')!=null,
|
||||
nav: nav,
|
||||
log: log,
|
||||
resetCamera: resetCamera,
|
||||
|
@ -98,9 +99,6 @@
|
|||
return parseFloat(input);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function getAstroDetails(place) {
|
||||
var coords = wwtlib.Coordinates.fromRaDec(place.get_RA(), place.get_dec());
|
||||
|
@ -216,18 +214,7 @@
|
|||
}
|
||||
|
||||
var accelDevice = false;
|
||||
//window.ondevicemotion = function(event) {
|
||||
// if (event.acceleration &&
|
||||
// event.acceleration.x != null) {
|
||||
// log('devicemotionevent', event);
|
||||
// accelDevice = true;
|
||||
// if (!api.isMobile && minDimension < 500) {
|
||||
|
||||
// redirectClient('mobile');
|
||||
// }
|
||||
// window.ondevicemotion = null;
|
||||
// }
|
||||
//}
|
||||
|
||||
function redirectClient(val) {
|
||||
return;
|
||||
var qs = location.search.substr(1);
|
||||
|
@ -300,6 +287,16 @@
|
|||
|
||||
}
|
||||
|
||||
var keyHandler = function (e) {
|
||||
switch (e.keyCode) {
|
||||
case 27:
|
||||
$rootScope.$broadcast('escKey');
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
$(document).on('keyup', keyHandler);
|
||||
|
||||
var dirtyInterval,
|
||||
viewport = {
|
||||
isDirty: false,
|
||||
|
|
|
@ -59,18 +59,20 @@
|
|||
</div>
|
||||
<div class="modal-footer" style="border: none">
|
||||
<div class="pull-left">
|
||||
<div class="checkbox">
|
||||
<div class="checkbox pull-left">
|
||||
<label data-ng-class="iswebclientHome ? 'checked' : ''">
|
||||
<input type="checkbox" ng-model="iswebclientHome" ng-change="homePrefChange(iswebclientHome)" />
|
||||
<span localize="Show the web client as WWT landing page"></span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
<div class="checkbox pull-left">
|
||||
<label data-ng-class="hideIntroModal ? 'checked' : ''">
|
||||
<input type="checkbox" ng-model="hideIntroModal" ng-change="hideIntroModalChange(hideIntroModal)" />
|
||||
<span localize="Do not show me this dialog again"></span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox pull-left">
|
||||
<label data-ng-class="iswebclientHome ? 'checked' : ''">
|
||||
<input type="checkbox" ng-model="iswebclientHome" ng-change="homePrefChange(iswebclientHome)" />
|
||||
<span localize="Web client is WWT home page"></span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<a class="btn" ng-click="tourFeatures()">Tour WWT Features</a>
|
||||
<button type="button" class="btn" data-dismiss="modal" id="btnCloseIntro" style="width:80px" localize="Close"></button>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<div class="tour-info">
|
||||
<h3 class="rel">
|
||||
<a ng-click="playTour(tour.get_tourUrl())" class="iblock" style="cursor: pointer;position:absolute;z-index: 10">
|
||||
<!--<a ng-click="playTour(tour.get_tourUrl())" class="iblock" style="cursor: pointer;position:absolute;z-index: 10">
|
||||
<i class="fa fa-play-circle text-info"></i>
|
||||
</a>-->
|
||||
<a class="btn-play-tour iblock" ng-click="playTour(tour.get_tourUrl())">
|
||||
<i class="fa fa-play"></i>
|
||||
</a>
|
||||
|
||||
<span class="label" style="margin-left: 20px">{{tour.get_name()}}</span>
|
||||
<span class="label" style="margin-left: 42px">{{tour.get_name()}}</span>
|
||||
<div style="display: inline-block" class="pull-right">
|
||||
<span class="small">
|
||||
<span localize="Rating"></span>:
|
||||
|
@ -35,7 +37,7 @@
|
|||
<h4>{{tour.author}}</h4>
|
||||
<h5>{{tour.organizationName}}</h5>
|
||||
<p>{{tour.description}}</p>
|
||||
<div ng-if="relatedTours">
|
||||
<div ng-if="relatedTours" style="clear:left">
|
||||
<h4 localize="Related Tours"></h4>
|
||||
<hr />
|
||||
<div style="display: inline-block;vertical-align:top;" ng-repeat="item in relatedTours">
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
<div class="popover">
|
||||
<div class="popover tour-preview">
|
||||
<div class="arrow"></div>
|
||||
<h3 class="popover-title hide" ng-bind="title" ng-show="title"></h3>
|
||||
<div class="popover-content tour-pop" ng-bind="content"></div>
|
||||
|
|
|
@ -1,22 +1,37 @@
|
|||
<div class="popover">
|
||||
<div class="popover slide-transition" ng-show="editingTour">
|
||||
<div class="choose-transition">
|
||||
<div class="transition-container">
|
||||
<div class="right-arrow">
|
||||
<i class="arrow-line"></i><i class="arrow-head"></i>
|
||||
</div>
|
||||
<div class="right-arrow">
|
||||
<i class="arrow-line"></i><i class="arrow-head"></i>
|
||||
</div>
|
||||
<div class="right-arrow">
|
||||
<i class="arrow-line"></i><i class="arrow-head"></i>
|
||||
</div>
|
||||
<div class="right-arrow">
|
||||
<i class="arrow-line"></i><i class="arrow-head"></i>
|
||||
</div>
|
||||
<div class="right-arrow">
|
||||
<div class="transition-choice" ng-click="setStopTransition($index,0);$hide()">
|
||||
<div class="right-arrow choice">
|
||||
<i class="arrow-line"></i><i class="arrow-head"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="transition-choice" ng-click="setStopTransition($index,1);$hide()">
|
||||
<div class="crossfade choice">
|
||||
<span class="shape"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="transition-choice" ng-click="setStopTransition($index,2);$hide()">
|
||||
<div class="abrupt choice">
|
||||
<span class="shape"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="transition-choice" ng-click="setStopTransition($index,3);$hide()">
|
||||
<div class="fadeout-in choice">
|
||||
<span class="shape left"></span>
|
||||
<span class="shape right"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="transition-choice" ng-click="setStopTransition($index,4);$hide()">
|
||||
<div class="fadein choice">
|
||||
<span class="shape"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="transition-choice" ng-click="setStopTransition($index,5);$hide()">
|
||||
<div class="fadeout choice">
|
||||
<span class="shape"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row-fluid">
|
||||
<div class="col-md-4">
|
||||
<label>A Time</label>
|
||||
|
@ -24,10 +39,12 @@
|
|||
</div>
|
||||
<div class="col-md-4">
|
||||
<label>Hold Time</label>
|
||||
<input type="number" min="0" />
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label>B Time</label>
|
||||
<input type="number" min="0" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -271,6 +271,8 @@
|
|||
<Content Include="Content\bootstrap\alerts.less" />
|
||||
<Content Include="App_Data\wurfl-latest.zip" />
|
||||
<Content Include="Chandra.wtml" />
|
||||
<Content Include="css\contextmenu.less" />
|
||||
<Content Include="css\tours.less" />
|
||||
<None Include="Scripts\jquery-2.1.4.intellisense.js" />
|
||||
<Content Include="Scripts\bootstrap.js" />
|
||||
<Content Include="Scripts\bootstrap.min.js" />
|
||||
|
|
Загрузка…
Ссылка в новой задаче