Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Codecrew
/
Moya
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
30
Merge Requests
2
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 54a1900d
authored
Dec 15, 2014
by
Tuukka Kivilahti
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
reformat
1 parent
dbd353de
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
233 additions
and
230 deletions
code/moya-web/WebContent/neomap/reserve.xhtml
code/moya-web/WebContent/neomap/reserve.xhtml
View file @
54a1900
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns=
"http://www.w3.org/1999/xhtml"
xmlns:ui=
"http://java.sun.com/jsf/facelets"
xmlns:f=
"http://java.sun.com/jsf/core"
xmlns:h=
"http://java.sun.com/jsf/html"
xmlns:map=
"http://java.sun.com/jsf/composite/cditools/map"
xmlns:tools=
"http://java.sun.com/jsf/composite/cditools"
xmlns:c=
"http://java.sun.com/jsp/jstl/core"
xmlns:p=
"http://primefaces.org/ui"
>
xmlns:ui=
"http://java.sun.com/jsf/facelets"
xmlns:f=
"http://java.sun.com/jsf/core"
xmlns:h=
"http://java.sun.com/jsf/html"
xmlns:map=
"http://java.sun.com/jsf/composite/cditools/map"
xmlns:tools=
"http://java.sun.com/jsf/composite/cditools"
xmlns:c=
"http://java.sun.com/jsp/jstl/core"
xmlns:p=
"http://primefaces.org/ui"
>
<h:body>
<ui:composition
template=
"#{sessionHandler.template}"
>
<f:metadata>
<f:event
type=
"preRenderView"
listener=
"#{ajaxMapView.initReserveMap()}"
/>
</f:metadata>
<ui:param
name=
"thispage"
value=
"page.place.placemap"
/>
<ui:define
name=
"content"
>
<h:form>
<p:remoteCommand
name=
"updateWholePage"
update=
"@all"
action=
"#{ajaxMapView.initReserveMap()}"
/>
</h:form>
<p:dialog
rendered=
"#{ajaxMapView.isMgmtPermission()}"
visible=
"#{!empty ajaxMapView.place}"
id=
"fbdiag"
>
Clicked place name : #{ajaxMapView.place.name};
<h:link
rendered=
"#{!empty ajaxMapView.place}"
outcome=
"/place/edit"
>
<f:param
name=
"placeid"
value=
"#{ajaxMapView.place.id}"
/>
Muokkaa
</h:link>
</p:dialog>
<h:outputScript
target=
"head"
library=
"seatjs"
name=
"d3.min.js"
/>
<h:outputScript
target=
"head"
library=
"seatjs"
name=
"d3-tip.js"
/>
<h:outputScript
target=
"head"
library=
"seatjs"
name=
"seatmap.js"
/>
<h:outputStylesheet
library=
"seatjs"
name=
"placemap.css"
/>
<ui:fragment
rendered=
"#{layoutView.manageContent}"
>
<h:link
rendered=
"#{layoutView.manageContent}"
styleClass=
"editorlink"
value=
"Edit content for users in queue"
outcome=
"/pages/manage"
>
<f:param
name=
"pagename"
value=
"#{layoutView.pagepath}:inqueue"
/>
</h:link>
<br
/>
<h:link
rendered=
"#{layoutView.manageContent}"
styleClass=
"editorlink"
value=
"Edit content for user reserving places"
outcome=
"/pages/manage"
>
<f:param
name=
"pagename"
value=
"#{layoutView.pagepath}:reserving"
/>
</h:link>
<br
/>
</ui:fragment>
<ui:repeat
var=
"cont1"
rendered=
"#{ajaxMapView.queueEnabled and ajaxMapView.reserving}"
value=
"#{menuView.getPagecontent('reserving')}"
>
<h:outputText
value=
"#{cont1.content}"
escape=
"false"
/>
</ui:repeat>
<ui:repeat
var=
"cont1"
rendered=
"#{ajaxMapView.queueEnabled and not ajaxMapView.reserving}"
value=
"#{menuView.getPagecontent('inqueue')}"
>
<h:outputText
value=
"#{cont1.content}"
escape=
"false"
/>
</ui:repeat>
<br
/>
<h3>
<h:outputText
value=
"#{i18n['mapView.yourPlaces']}"
/>
</h3>
<p:dataTable
tableStyle=
"
<ui:composition
template=
"#{sessionHandler.template}"
>
<f:metadata>
<f:event
type=
"preRenderView"
listener=
"#{ajaxMapView.initReserveMap()}"
/>
</f:metadata>
<ui:param
name=
"thispage"
value=
"page.place.placemap"
/>
<ui:define
name=
"content"
>
<h:form>
<p:remoteCommand
name=
"updateWholePage"
update=
"@all"
action=
"#{ajaxMapView.initReserveMap()}"
/>
</h:form>
<p:dialog
rendered=
"#{ajaxMapView.isMgmtPermission()}"
visible=
"#{!empty ajaxMapView.place}"
id=
"fbdiag"
>
Clicked place name : #{ajaxMapView.place.name};
<h:link
rendered=
"#{!empty ajaxMapView.place}"
outcome=
"/place/edit"
>
<f:param
name=
"placeid"
value=
"#{ajaxMapView.place.id}"
/>
Muokkaa
</h:link>
</p:dialog>
<h:outputScript
target=
"head"
library=
"seatjs"
name=
"d3.min.js"
/>
<h:outputScript
target=
"head"
library=
"seatjs"
name=
"d3-tip.js"
/>
<h:outputScript
target=
"head"
library=
"seatjs"
name=
"seatmap.js"
/>
<h:outputStylesheet
library=
"seatjs"
name=
"placemap.css"
/>
<ui:fragment
rendered=
"#{layoutView.manageContent}"
>
<h:link
rendered=
"#{layoutView.manageContent}"
styleClass=
"editorlink"
value=
"Edit content for users in queue"
outcome=
"/pages/manage"
>
<f:param
name=
"pagename"
value=
"#{layoutView.pagepath}:inqueue"
/>
</h:link>
<br/>
<h:link
rendered=
"#{layoutView.manageContent}"
styleClass=
"editorlink"
value=
"Edit content for user reserving places"
outcome=
"/pages/manage"
>
<f:param
name=
"pagename"
value=
"#{layoutView.pagepath}:reserving"
/>
</h:link>
<br/>
</ui:fragment>
<ui:repeat
var=
"cont1"
rendered=
"#{ajaxMapView.queueEnabled and ajaxMapView.reserving}"
value=
"#{menuView.getPagecontent('reserving')}"
>
<h:outputText
value=
"#{cont1.content}"
escape=
"false"
/>
</ui:repeat>
<ui:repeat
var=
"cont1"
rendered=
"#{ajaxMapView.queueEnabled and not ajaxMapView.reserving}"
value=
"#{menuView.getPagecontent('inqueue')}"
>
<h:outputText
value=
"#{cont1.content}"
escape=
"false"
/>
</ui:repeat>
<br/>
<h3>
<h:outputText
value=
"#{i18n['mapView.yourPlaces']}"
/>
</h3>
<p:dataTable
tableStyle=
"
width: auto;"
var=
"cnt"
value=
"#{ajaxMapView.slotcount}"
>
<p:column
headerText=
"#{i18n['mapView.productcount.productname']}"
>
<h:outputText
value=
"#{cnt.product.name}"
/>
</p:column>
<p:column
headerText=
"#{i18n['mapView.productcount.productcount']}"
>
<h:outputText
value=
"#{cnt.count}"
/>
</p:column>
</p:dataTable>
<ui:fragment
rendered=
"#{ajaxMapView.reserving}"
>
<div
style=
"margin: 5px;"
>
<h:form
id=
"placeselectform"
>
<p:commandButton
rendered=
"#{ajaxMapView.canUserBuy()}"
value=
"#{i18n['mapView.buyPlaces']}"
action=
"#{ajaxMapView.buySelectedPlaces()}"
ajax=
"false"
/>
</h:form>
</div>
</ui:fragment>
<ui:fragment
rendered=
"#{ajaxMapView.queueEnabled and not ajaxMapView.reserving}"
>
<h3><h:outputText
value=
"#{i18n['mapView.youAreInQueue']}"
/></h3>
<div
style=
"margin: 1em;"
>
<h:outputText
value=
"#{i18n['mapView.queuePosition']}: "
/>
<span
id=
"queuepos"
/><br
/>
<h:outputText
value=
" #{i18n['mapView.queuePositionUpdated']}: "
/>
<span
id=
"queueupdated"
/>
<br
/>
</div>
</ui:fragment>
<svg
id=
"seatmap"
style=
"margin: auto; border: 1px solid black;"
width=
"#{ajaxMapView.map.width}px"
height=
"#{ajaxMapView.map.height}px"
/>
<script
type=
"text/javascript"
>
// Queue is enabled and we are reserving.
var
queueReserving
=
#
{(
ajaxMapView
.
queueEnabled
and
not
ajaxMapView
.
reserving
)?
"true"
:
"false"
};
function
updateMap
()
{
px
.
update
();
reloadQueue
();
}
function
reloadQueue
(){
if
(
queueReserving
){
$
.
getJSON
(
"#{request.contextPath}/rest/placemap/v1/queue/#{ajaxMapView.map.id}/#{ajaxMapView.eventuser.id}"
)
.
done
(
function
(
data
){
updateQueue
(
data
);
}
).
fail
(
function
(){
location
.
reload
();
});
}
}
function
updateQueue
(
data
)
{
if
(
data
===
undefined
)
{
alert
(
'not in queue'
);
return
;
}
if
(
data
.
value
==
0
)
{
updateWholePage
();
}
else
{
$
(
"#queuepos"
).
text
(
data
.
value
);
var
d
=
new
Date
();
$
(
"#queueupdated"
).
text
(
d
.
getHours
()
+
":"
+
d
.
getMinutes
()
+
":"
+
d
.
getSeconds
())
}
}
setInterval
(
function
()
{
updateMap
()
},
5000
);
var
pageEscapeAlert
=
queueReserving
;
$
().
ready
(
function
(){
reloadQueue
();
});
$
(
window
).
bind
(
'beforeunload'
,
function
()
{
if
(
pageEscapeAlert
)
{
alert
(
"#{i18n['mapView.lockPlacesBeforeLeaving']}"
);
}
});
</script>
<script
type=
"text/javascript"
>
px
=
placemap
({
element
:
document
.
getElementById
(
"seatmap"
),
moyaurl
:
"#{request.contextPath}"
,
map_id
:
#
{
ajaxMapView
.
map
.
id
},
placereserve
:
true
,
onclick
:
function
(
d
)
{
// px.update();
//alert(d);
// #{ajaxMapView.isMgmtPermission()?'placeClicker([{name: \'placeId\', value: d}])':''}
return
false
;
}
});
// document.getElementById("editbutton").addEventListener("click",
// function() {
// px.enable_edit();
// });
//px.enable_edit();
</script>
<h:panelGrid
columns=
"3"
cellpadding=
"10"
>
<h:panelGrid
columns=
"2"
>
<div
style=
"border-color: black; border-style: solid; border-width: 1px; background-color: rgb(83, 83, 83); width: 10px; height: 10px;"
>
</div>
<h:outputText
value=
"#{i18n['placeSelect.legend.grey']}"
/>
<div
style=
"border-color: black; border-style: solid; border-width: 1px; background-color: rgb(204, 204, 204); width: 10px; height: 10px;"
>
</div>
<h:outputText
value=
"#{i18n['placeSelect.legend.white']}"
/>
<div
style=
"border-color: black; border-style: solid; border-width: 1px; background-color: rgb(180, 1, 0); width: 10px; height: 10px;"
>
</div>
<h:outputText
value=
"#{i18n['placeSelect.legend.red']}"
/>
<div
style=
"border-color: black; border-style: solid; border-width: 1px; background-color: rgb(47, 165, 37); width: 10px; height: 10px;"
>
</div>
<h:outputText
value=
"#{i18n['placeSelect.legend.green']}"
/>
<div
style=
"border-color: black; border-style: solid; border-width: 1px; background-color: rgb(67, 66, 193); width: 10px; height: 10px;"
>
</div>
<h:outputText
value=
"#{i18n['placeSelect.legend.blue']}"
/>
</h:panelGrid>
<h:panelGrid
columnClasses=
",rightalign"
columns=
"2"
>
<h:outputLabel
value=
"#{i18n['placeSelect.totalPlaces']}:"
/>
<h:outputText
value=
"#{ajaxMapView.availablePlaces}"
/>
<h:outputLabel
value=
"#{i18n['placeSelect.placesleft']}:"
/>
<h:outputText
value=
"#{ajaxMapView.placesLeftToSelect}"
/>
</h:panelGrid>
</h:panelGrid>
<ui:fragment
rendered=
"#{ajaxMapView.reserving}"
>
<div
style=
"margin: 5px;"
>
<h:form
id=
"placeselectformBottom"
>
<p:commandButton
rendered=
"#{ajaxMapView.canUserBuy()}"
value=
"#{i18n['mapView.buyPlaces']}"
action=
"#{ajaxMapView.buySelectedPlaces()}"
ajax=
"false"
/>
</h:form>
</div>
</ui:fragment>
</ui:define>
</ui:composition>
value=
"#{ajaxMapView.slotcount}"
>
<p:column
headerText=
"#{i18n['mapView.productcount.productname']}"
>
<h:outputText
value=
"#{cnt.product.name}"
/>
</p:column>
<p:column
headerText=
"#{i18n['mapView.productcount.productcount']}"
>
<h:outputText
value=
"#{cnt.count}"
/>
</p:column>
</p:dataTable>
<ui:fragment
rendered=
"#{ajaxMapView.reserving}"
>
<div
style=
"margin: 5px;"
>
<h:form
id=
"placeselectform"
>
<p:commandButton
rendered=
"#{ajaxMapView.canUserBuy()}"
value=
"#{i18n['mapView.buyPlaces']}"
action=
"#{ajaxMapView.buySelectedPlaces()}"
ajax=
"false"
/>
</h:form>
</div>
</ui:fragment>
<ui:fragment
rendered=
"#{ajaxMapView.queueEnabled and not ajaxMapView.reserving}"
>
<h3><h:outputText
value=
"#{i18n['mapView.youAreInQueue']}"
/></h3>
<div
style=
"margin: 1em;"
>
<h:outputText
value=
"#{i18n['mapView.queuePosition']}: "
/>
<span
id=
"queuepos"
/><br/>
<h:outputText
value=
" #{i18n['mapView.queuePositionUpdated']}: "
/>
<span
id=
"queueupdated"
/>
<br/>
</div>
</ui:fragment>
<svg
id=
"seatmap"
style=
"margin: auto; border: 1px solid black;"
width=
"#{ajaxMapView.map.width}px"
height=
"#{ajaxMapView.map.height}px"
/>
<script
type=
"text/javascript"
>
// Queue is enabled and we are reserving.
var
queueReserving
=
#
{(
ajaxMapView
.
queueEnabled
and
not
ajaxMapView
.
reserving
)?
"true"
:
"false"
};
function
updateMap
()
{
px
.
update
();
reloadQueue
();
}
function
reloadQueue
()
{
if
(
queueReserving
)
{
$
.
getJSON
(
"#{request.contextPath}/rest/placemap/v1/queue/#{ajaxMapView.map.id}/#{ajaxMapView.eventuser.id}"
)
.
done
(
function
(
data
)
{
updateQueue
(
data
);
}).
fail
(
function
()
{
location
.
reload
();
});
}
}
function
updateQueue
(
data
)
{
if
(
data
===
undefined
)
{
alert
(
'not in queue'
);
return
;
}
if
(
data
.
value
==
0
)
{
updateWholePage
();
}
else
{
$
(
"#queuepos"
).
text
(
data
.
value
);
var
d
=
new
Date
();
$
(
"#queueupdated"
).
text
(
d
.
getHours
()
+
":"
+
d
.
getMinutes
()
+
":"
+
d
.
getSeconds
())
}
}
setInterval
(
function
()
{
updateMap
()
},
5000
);
var
pageEscapeAlert
=
queueReserving
;
$
().
ready
(
function
()
{
reloadQueue
();
});
// You cannot do alert or stuff before unloading, you can just return message what will be shown to user "are you sure you want to leave"
$
(
window
).
bind
(
'beforeunload'
,
function
()
{
if
(
pageEscapeAlert
)
{
alert
(
"#{i18n['mapView.lockPlacesBeforeLeaving']}"
);
}
});
</script>
<script
type=
"text/javascript"
>
px
=
placemap
({
element
:
document
.
getElementById
(
"seatmap"
),
moyaurl
:
"#{request.contextPath}"
,
map_id
:
#
{
ajaxMapView
.
map
.
id
},
placereserve
:
true
,
onclick
:
function
(
d
)
{
// px.update();
//alert(d);
// #{ajaxMapView.isMgmtPermission()?'placeClicker([{name: \'placeId\', value: d}])':''}
return
false
;
}
});
// document.getElementById("editbutton").addEventListener("click",
// function() {
// px.enable_edit();
// });
//px.enable_edit();
</script>
<h:panelGrid
columns=
"3"
cellpadding=
"10"
>
<h:panelGrid
columns=
"2"
>
<div
style=
"border-color: black; border-style: solid; border-width: 1px; background-color: rgb(83, 83, 83); width: 10px; height: 10px;"
>
</div>
<h:outputText
value=
"#{i18n['placeSelect.legend.grey']}"
/>
<div
style=
"border-color: black; border-style: solid; border-width: 1px; background-color: rgb(204, 204, 204); width: 10px; height: 10px;"
>
</div>
<h:outputText
value=
"#{i18n['placeSelect.legend.white']}"
/>
<div
style=
"border-color: black; border-style: solid; border-width: 1px; background-color: rgb(180, 1, 0); width: 10px; height: 10px;"
>
</div>
<h:outputText
value=
"#{i18n['placeSelect.legend.red']}"
/>
<div
style=
"border-color: black; border-style: solid; border-width: 1px; background-color: rgb(47, 165, 37); width: 10px; height: 10px;"
>
</div>
<h:outputText
value=
"#{i18n['placeSelect.legend.green']}"
/>
<div
style=
"border-color: black; border-style: solid; border-width: 1px; background-color: rgb(67, 66, 193); width: 10px; height: 10px;"
>
</div>
<h:outputText
value=
"#{i18n['placeSelect.legend.blue']}"
/>
</h:panelGrid>
<h:panelGrid
columnClasses=
",rightalign"
columns=
"2"
>
<h:outputLabel
value=
"#{i18n['placeSelect.totalPlaces']}:"
/>
<h:outputText
value=
"#{ajaxMapView.availablePlaces}"
/>
<h:outputLabel
value=
"#{i18n['placeSelect.placesleft']}:"
/>
<h:outputText
value=
"#{ajaxMapView.placesLeftToSelect}"
/>
</h:panelGrid>
</h:panelGrid>
<ui:fragment
rendered=
"#{ajaxMapView.reserving}"
>
<div
style=
"margin: 5px;"
>
<h:form
id=
"placeselectformBottom"
>
<p:commandButton
rendered=
"#{ajaxMapView.canUserBuy()}"
value=
"#{i18n['mapView.buyPlaces']}"
action=
"#{ajaxMapView.buySelectedPlaces()}"
ajax=
"false"
/>
</h:form>
</div>
</ui:fragment>
</ui:define>
</ui:composition>
</h:body>
</html>
\ No newline at end of file
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment