mirror of
https://github.com/Dansen999/migor.git
synced 2026-01-11 05:24:16 +00:00
Initial import (partially)
This commit is contained in:
81
org.migor.webclient.mobile/pom.xml
Normal file
81
org.migor.webclient.mobile/pom.xml
Normal file
@@ -0,0 +1,81 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>org.migor.server</artifactId>
|
||||
<groupId>org.migor.server</groupId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>org.migor.webclient.mobile</artifactId>
|
||||
<packaging>war</packaging>
|
||||
|
||||
<build>
|
||||
<finalName>${project.artifactId}-${project.version}.war</finalName>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-war-plugin</artifactId>
|
||||
<version>2.3</version>
|
||||
<configuration>
|
||||
<failOnMissingWebXml>true</failOnMissingWebXml>
|
||||
<webResources>
|
||||
<resource>
|
||||
<directory>src/main/webapp</directory>
|
||||
<filtering>true</filtering>
|
||||
<includes>
|
||||
<include>**/*.xml</include>
|
||||
</includes>
|
||||
</resource>
|
||||
</webResources>
|
||||
<archive>
|
||||
<manifest>
|
||||
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
|
||||
</manifest>
|
||||
<manifestEntries>
|
||||
<!--suppress MavenModelInspection -->
|
||||
<Implementation-Build>${buildNumber}</Implementation-Build>
|
||||
</manifestEntries>
|
||||
</archive>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>com.samaxes.maven</groupId>
|
||||
<artifactId>minify-maven-plugin</artifactId>
|
||||
<version>1.6</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>default-minify</id>
|
||||
<phase>process-resources</phase>
|
||||
<configuration>
|
||||
<charset>utf-8</charset>
|
||||
<jsEngine>closure</jsEngine>
|
||||
|
||||
<!--CSS-->
|
||||
<cssSourceDir>css</cssSourceDir>
|
||||
<cssSourceFiles>
|
||||
<cssSourceFile>migor-mobile.css</cssSourceFile>
|
||||
|
||||
</cssSourceFiles>
|
||||
<cssFinalFile>migor-mobile-comb.css</cssFinalFile>
|
||||
|
||||
<!--JS-->
|
||||
<jsSourceDir>js</jsSourceDir>
|
||||
<jsSourceFiles>
|
||||
|
||||
<jsSourceFile>init.js</jsSourceFile>
|
||||
|
||||
</jsSourceFiles>
|
||||
<jsFinalFile>migor-mobile-comb.js</jsFinalFile>
|
||||
</configuration>
|
||||
<goals>
|
||||
<goal>minify</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="
|
||||
http://java.sun.com/xml/ns/javaee
|
||||
http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
|
||||
|
||||
|
||||
</beans>
|
||||
@@ -0,0 +1,3 @@
|
||||
<jboss-web>
|
||||
<context-root>migor/mobile</context-root>
|
||||
</jboss-web>
|
||||
@@ -0,0 +1,6 @@
|
||||
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
|
||||
<distributable/>
|
||||
|
||||
</web-app>
|
||||
79
org.migor.webclient.mobile/src/main/webapp/chat.jsp
Normal file
79
org.migor.webclient.mobile/src/main/webapp/chat.jsp
Normal file
@@ -0,0 +1,79 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Migor Location Chat</title>
|
||||
|
||||
<%
|
||||
String buildDate = "${timestamp}";
|
||||
%>
|
||||
|
||||
<link href="css/migor-mobile.css?_=<%=buildDate%>" rel="stylesheet" type="text/css"/>
|
||||
<link href="css/jquery.mobile-1.3.2.min.css?_=<%=buildDate%>" rel="stylesheet" type="text/css"/>
|
||||
|
||||
|
||||
|
||||
|
||||
<%-- Plugins --%>
|
||||
<script type="text/javascript" src="js/plugin/jquery-1.10.2.js?_=<%=buildDate%>"></script>
|
||||
<script type="text/javascript" src="js/plugin/jquery.mobile-1.3.2.js?_=<%=buildDate%>"></script>
|
||||
|
||||
|
||||
<script type="text/javascript" src="js/widget/widget-chat.js?_=<%=buildDate%>"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- EXECUTE INIT SCRIPT -->
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
$('#chat-content').chat();
|
||||
$('#send').on('click', function() {
|
||||
var message = $('#message').val();
|
||||
if (message.length > 0) {
|
||||
$('#chat-content').chat('send', message);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
version = '${project.version}';
|
||||
buildNumber = '${buildNumber}';
|
||||
socketPath = "ws://${socketURL}";
|
||||
try {
|
||||
timestamp = new Date(${timestamp});
|
||||
} catch (exception) {
|
||||
// ignore
|
||||
}
|
||||
</script>
|
||||
|
||||
<meta name="viewport" content="initial-scale=1, maximum-scale=1">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div data-role="page">
|
||||
|
||||
<div data-role="header" data-position="fixed">
|
||||
<h1>Migor Location Chat</h1>
|
||||
</div>
|
||||
|
||||
<div id="chat-content" data-role="content">
|
||||
|
||||
</div>
|
||||
|
||||
<div data-role="footer" data-position="fixed">
|
||||
<div class="ui-grid-a">
|
||||
<div class="ui-block-a" style="width: 70%;">
|
||||
<input id="message" type="text" value="" placeholder="Message..."/>
|
||||
</div>
|
||||
|
||||
<div class="ui-block-b" style="width: 30%;">
|
||||
<button id="send" data-role="button">send</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
12
org.migor.webclient.mobile/src/main/webapp/css/jquery.mobile-1.3.2.min.css
vendored
Normal file
12
org.migor.webclient.mobile/src/main/webapp/css/jquery.mobile-1.3.2.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1,9 @@
|
||||
#login-content {
|
||||
background: #FFFFFF url(../image/gps.gif) no-repeat fixed top;
|
||||
background-size: 200px;
|
||||
position:absolute;
|
||||
top:40px;
|
||||
right:0;
|
||||
bottom:0;
|
||||
left:0;
|
||||
}
|
||||
BIN
org.migor.webclient.mobile/src/main/webapp/image/gps.gif
Normal file
BIN
org.migor.webclient.mobile/src/main/webapp/image/gps.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
1
org.migor.webclient.mobile/src/main/webapp/index.html
Normal file
1
org.migor.webclient.mobile/src/main/webapp/index.html
Normal file
@@ -0,0 +1 @@
|
||||
<meta http-equiv="refresh" content="0;url=./index.jsp" />
|
||||
76
org.migor.webclient.mobile/src/main/webapp/index.jsp
Normal file
76
org.migor.webclient.mobile/src/main/webapp/index.jsp
Normal file
@@ -0,0 +1,76 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Migor Location Chat</title>
|
||||
|
||||
<%
|
||||
long buildDate = new Date().getTime();
|
||||
%>
|
||||
|
||||
<link href="css/migor-mobile.css?_=<%=buildDate%>" rel="stylesheet" type="text/css"/>
|
||||
<link href="css/jquery.mobile-1.3.2.min.css?_=<%=buildDate%>" rel="stylesheet" type="text/css"/>
|
||||
|
||||
<%-- Plugins --%>
|
||||
<script type="text/javascript" src="js/plugin/jquery-1.10.2.js?_=<%=buildDate%>"></script>
|
||||
<script type="text/javascript" src="js/plugin/jquery.mobile-1.3.2.js?_=<%=buildDate%>"></script>
|
||||
|
||||
|
||||
|
||||
<!-- EXECUTE INIT SCRIPT -->
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
$('#startButton')
|
||||
.button('disable')
|
||||
.on('click', function() {
|
||||
$.mobile.changePage( "chat.jsp", {
|
||||
transition: 'fade'
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
$('#username').on('change', function(event) {
|
||||
if ($('#username').val().length > 2) {
|
||||
$('#startButton').button('enable');
|
||||
} else {
|
||||
$('#startButton').button('disable');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
version = '${project.version}';
|
||||
buildNumber = '${buildNumber}';
|
||||
|
||||
try {
|
||||
timestamp = new Date(${timestamp});
|
||||
} catch (exception) {
|
||||
// ignore
|
||||
}
|
||||
</script>
|
||||
|
||||
<meta name="viewport" content="initial-scale=1, maximum-scale=1">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div data-role="page">
|
||||
|
||||
<div data-theme="a" data-role="header">
|
||||
<h1>Migor Location Chat</h1>
|
||||
</div>
|
||||
|
||||
<div id="login-content" data-role="content" style="padding-top: 120px;">
|
||||
<p>
|
||||
<input id="username" type="text" value="" placeholder="Username" />
|
||||
</p>
|
||||
<p>
|
||||
<button id="startButton" data-role="button">Start</button>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
263
org.migor.webclient.mobile/src/main/webapp/js/geolocation.js
Normal file
263
org.migor.webclient.mobile/src/main/webapp/js/geolocation.js
Normal file
@@ -0,0 +1,263 @@
|
||||
//
|
||||
// javascript-mobile-desktop-geolocation
|
||||
// https://github.com/estebanav/javascript-mobile-desktop-geolocation
|
||||
//
|
||||
// Copyright J. Esteban Acosta Villafañe
|
||||
// Licensed under the MIT licenses.
|
||||
//
|
||||
// Based on Stan Wiechers > geo-location-javascript v0.4.8 > http://code.google.com/p/geo-location-javascript/
|
||||
//
|
||||
// Revision: $Rev: 01 $:
|
||||
// Author: $Author: estebanav $:
|
||||
// Date: $Date: 2012-09-07 23:03:53 -0300 (Fri, 07 Sep 2012) $:
|
||||
|
||||
var bb = {
|
||||
success: 0,
|
||||
error: 0,
|
||||
blackberryTimeoutId : -1
|
||||
};
|
||||
|
||||
function handleBlackBerryLocationTimeout()
|
||||
{
|
||||
if(bb.blackberryTimeoutId!=-1) {
|
||||
bb.error({ message: "Timeout error",
|
||||
code: 3
|
||||
});
|
||||
}
|
||||
}
|
||||
function handleBlackBerryLocation()
|
||||
{
|
||||
clearTimeout(bb.blackberryTimeoutId);
|
||||
bb.blackberryTimeoutId=-1;
|
||||
if (bb.success && bb.error) {
|
||||
if(blackberry.location.latitude==0 && blackberry.location.longitude==0) {
|
||||
//http://dev.w3.org/geo/api/spec-source.html#position_unavailable_error
|
||||
//POSITION_UNAVAILABLE (numeric value 2)
|
||||
bb.error({message:"Position unavailable", code:2});
|
||||
}
|
||||
else
|
||||
{
|
||||
var timestamp=null;
|
||||
//only available with 4.6 and later
|
||||
//http://na.blackberry.com/eng/deliverables/8861/blackberry_location_568404_11.jsp
|
||||
if (blackberry.location.timestamp)
|
||||
{
|
||||
timestamp = new Date( blackberry.location.timestamp );
|
||||
}
|
||||
bb.success( { timestamp: timestamp ,
|
||||
coords: {
|
||||
latitude: blackberry.location.latitude,
|
||||
longitude: blackberry.location.longitude
|
||||
}
|
||||
});
|
||||
}
|
||||
//since blackberry.location.removeLocationUpdate();
|
||||
//is not working as described http://na.blackberry.com/eng/deliverables/8861/blackberry_location_removeLocationUpdate_568409_11.jsp
|
||||
//the callback are set to null to indicate that the job is done
|
||||
|
||||
bb.success = null;
|
||||
bb.error = null;
|
||||
}
|
||||
}
|
||||
|
||||
var geoPosition=function() {
|
||||
|
||||
var pub = {};
|
||||
var provider=null;
|
||||
var u="undefined";
|
||||
var ipGeolocationSrv = 'http://freegeoip.net/json/?callback=JSONPCallback';
|
||||
|
||||
pub.getCurrentPosition = function(success,error,opts)
|
||||
{
|
||||
provider.getCurrentPosition(success, error,opts);
|
||||
}
|
||||
|
||||
pub.jsonp = {
|
||||
callbackCounter: 0,
|
||||
|
||||
fetch: function(url, callback) {
|
||||
var fn = 'JSONPCallback_' + this.callbackCounter++;
|
||||
window[fn] = this.evalJSONP(callback);
|
||||
url = url.replace('=JSONPCallback', '=' + fn);
|
||||
|
||||
var scriptTag = document.createElement('SCRIPT');
|
||||
scriptTag.src = url;
|
||||
document.getElementsByTagName('HEAD')[0].appendChild(scriptTag);
|
||||
},
|
||||
|
||||
evalJSONP: function(callback) {
|
||||
return function(data) {
|
||||
callback(data);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
pub.confirmation = function()
|
||||
{
|
||||
return confirm('This Webpage wants to track your physical location.\nDo you allow it?');
|
||||
};
|
||||
|
||||
pub.init = function()
|
||||
{
|
||||
try
|
||||
{
|
||||
var hasGeolocation = typeof(navigator.geolocation)!=u;
|
||||
if( !hasGeolocation ){
|
||||
if( !pub.confirmation() ){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if ( ( typeof(geoPositionSimulator)!=u ) && (geoPositionSimulator.length > 0 ) ){
|
||||
provider=geoPositionSimulator;
|
||||
} else if (typeof(bondi)!=u && typeof(bondi.geolocation)!=u ) {
|
||||
provider=bondi.geolocation;
|
||||
} else if ( hasGeolocation ) {
|
||||
provider=navigator.geolocation;
|
||||
pub.getCurrentPosition = function(success, error, opts) {
|
||||
function _success(p) {
|
||||
//for mozilla geode,it returns the coordinates slightly differently
|
||||
var params;
|
||||
if(typeof(p.latitude)!=u) {
|
||||
params = {
|
||||
timestamp: p.timestamp,
|
||||
coords: {
|
||||
latitude: p.latitude,
|
||||
longitude: p.longitude
|
||||
}
|
||||
};
|
||||
} else {
|
||||
params = p;
|
||||
}
|
||||
success( params );
|
||||
}
|
||||
provider.getCurrentPosition(_success,error,opts);
|
||||
}
|
||||
} else if(typeof(window.blackberry)!=u && blackberry.location.GPSSupported) {
|
||||
// set to autonomous mode
|
||||
if(typeof(blackberry.location.setAidMode)==u) {
|
||||
return false;
|
||||
}
|
||||
blackberry.location.setAidMode(2);
|
||||
//override default method implementation
|
||||
pub.getCurrentPosition = function(success,error,opts)
|
||||
{
|
||||
//passing over callbacks as parameter didn't work consistently
|
||||
//In the onLocationUpdate method, thats why they have to be set outside
|
||||
bb.success = success;
|
||||
bb.error = error;
|
||||
//function needs to be a string according to
|
||||
//http://www.tonybunce.com/2008/05/08/Blackberry-Browser-Amp-GPS.aspx
|
||||
if(opts['timeout']) {
|
||||
bb.blackberryTimeoutId = setTimeout("handleBlackBerryLocationTimeout()",opts['timeout']);
|
||||
} else {
|
||||
//default timeout when none is given to prevent a hanging script
|
||||
bb.blackberryTimeoutId = setTimeout("handleBlackBerryLocationTimeout()",60000);
|
||||
}
|
||||
blackberry.location.onLocationUpdate("handleBlackBerryLocation()");
|
||||
blackberry.location.refreshLocation();
|
||||
}
|
||||
provider = blackberry.location;
|
||||
|
||||
} else if ( typeof(Mojo) !=u && typeof(Mojo.Service.Request)!="Mojo.Service.Request") {
|
||||
provider = true;
|
||||
pub.getCurrentPosition = function(success, error, opts) {
|
||||
parameters = {};
|
||||
if( opts ) {
|
||||
//http://developer.palm.com/index.php?option=com_content&view=article&id=1673#GPS-getCurrentPosition
|
||||
if (opts.enableHighAccuracy && opts.enableHighAccuracy == true ){
|
||||
parameters.accuracy = 1;
|
||||
}
|
||||
if ( opts.maximumAge ) {
|
||||
parameters.maximumAge = opts.maximumAge;
|
||||
}
|
||||
if (opts.responseTime) {
|
||||
if( opts.responseTime < 5 ) {
|
||||
parameters.responseTime = 1;
|
||||
} else if ( opts.responseTime < 20 ) {
|
||||
parameters.responseTime = 2;
|
||||
} else {
|
||||
parameters.timeout = 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
r = new Mojo.Service.Request( 'palm://com.palm.location' , {
|
||||
method:"getCurrentPosition",
|
||||
parameters:parameters,
|
||||
onSuccess: function( p ){
|
||||
success( { timestamp: p.timestamp,
|
||||
coords: {
|
||||
latitude: p.latitude,
|
||||
longitude: p.longitude,
|
||||
heading: p.heading
|
||||
}
|
||||
});
|
||||
},
|
||||
onFailure: function( e ){
|
||||
if (e.errorCode==1) {
|
||||
error({ code: 3,
|
||||
message: "Timeout"
|
||||
});
|
||||
} else if (e.errorCode==2){
|
||||
error({ code: 2,
|
||||
message: "Position unavailable"
|
||||
});
|
||||
} else {
|
||||
error({ code: 0,
|
||||
message: "Unknown Error: webOS-code" + errorCode
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
else if (typeof(device)!=u && typeof(device.getServiceObject)!=u) {
|
||||
provider=device.getServiceObject("Service.Location", "ILocation");
|
||||
|
||||
//override default method implementation
|
||||
pub.getCurrentPosition = function(success, error, opts){
|
||||
function callback(transId, eventCode, result) {
|
||||
if (eventCode == 4) {
|
||||
error({message:"Position unavailable", code:2});
|
||||
} else {
|
||||
//no timestamp of location given?
|
||||
success( { timestamp:null,
|
||||
coords: {
|
||||
latitude: result.ReturnValue.Latitude,
|
||||
longitude: result.ReturnValue.Longitude,
|
||||
altitude: result.ReturnValue.Altitude,
|
||||
heading: result.ReturnValue.Heading }
|
||||
});
|
||||
}
|
||||
}
|
||||
//location criteria
|
||||
|
||||
var criteria = new Object();
|
||||
criteria.LocationInformationClass = "BasicLocationInformation";
|
||||
//make the call
|
||||
provider.ILocation.GetLocation(criteria,callback);
|
||||
}
|
||||
} else {
|
||||
pub.getCurrentPosition = function(success, error, opts) {
|
||||
pub.jsonp.fetch(ipGeolocationSrv,
|
||||
function( p ){ success( { timestamp: p.timestamp,
|
||||
coords: {
|
||||
latitude: p.latitude,
|
||||
longitude: p.longitude,
|
||||
heading: p.heading
|
||||
}
|
||||
});});
|
||||
}
|
||||
provider = true;
|
||||
}
|
||||
}
|
||||
catch (e){
|
||||
if( typeof(console) != u ) console.log(e);
|
||||
return false;
|
||||
}
|
||||
return provider!=null;
|
||||
}
|
||||
return pub;
|
||||
}();
|
||||
9789
org.migor.webclient.mobile/src/main/webapp/js/plugin/jquery-1.10.2.js
vendored
Normal file
9789
org.migor.webclient.mobile/src/main/webapp/js/plugin/jquery-1.10.2.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
6
org.migor.webclient.mobile/src/main/webapp/js/plugin/jquery-1.10.2.min.js
vendored
Normal file
6
org.migor.webclient.mobile/src/main/webapp/js/plugin/jquery-1.10.2.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
9
org.migor.webclient.mobile/src/main/webapp/js/plugin/jquery.mobile-1.3.2.min.js
vendored
Normal file
9
org.migor.webclient.mobile/src/main/webapp/js/plugin/jquery.mobile-1.3.2.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1,51 @@
|
||||
$.widget("migor.chat", {
|
||||
|
||||
socket: null,
|
||||
|
||||
options: {
|
||||
endpoint: '/migor/services/client/socket/chat'
|
||||
},
|
||||
_create:function () {
|
||||
var self = this;
|
||||
|
||||
|
||||
if (window.WebSocket) {
|
||||
var endpoint = 'ws://192.168.0.18:8080' + self.options.endpoint;
|
||||
|
||||
self.socket = new WebSocket(endpoint);
|
||||
self.socket.onmessage = function(event) {
|
||||
self._onMessage(event.data);
|
||||
};
|
||||
self.socket.onerror = function(event) {
|
||||
self.element.prepend('<p class="message error">Cannot connect to web socket!!</p>');
|
||||
};
|
||||
} else {
|
||||
self.element.prepend('<p class="message error">Web sockets are not supported!!</p>');
|
||||
}
|
||||
|
||||
},
|
||||
_destroy: function() {
|
||||
var self = this;
|
||||
|
||||
if (self.socket) {
|
||||
self.socket.close();
|
||||
self.socket = null;
|
||||
}
|
||||
},
|
||||
_setOptions: function() {
|
||||
this._superApply( arguments );
|
||||
},
|
||||
_onMessage: function(message) {
|
||||
var self = this;
|
||||
|
||||
self.element.prepend('<p class="message received">'+message+'</p>');
|
||||
},
|
||||
send: function(message) {
|
||||
var self = this;
|
||||
|
||||
if (self.socket) {
|
||||
self.socket.send(message);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
$.widget("migor.mobile", {
|
||||
|
||||
user: null,
|
||||
|
||||
options: {
|
||||
|
||||
},
|
||||
_create:function () {
|
||||
var self = this;
|
||||
|
||||
if (!self.user) {
|
||||
|
||||
var loginTextField = $('<input class="ui-input-text ui-body-c ui-corner-all ui-shadow-inset" value="" placeholder="Username"/>').textinput({ preventFocusZoom: true });
|
||||
var loginButton = $('<a>Start</a>').buttonMarkup();
|
||||
|
||||
self.element.empty();
|
||||
self.element.append($('<p></p>').append('<div style="margin-top: 100px;"> </div>'));
|
||||
self.element.append($('<p></p>').append(loginTextField));
|
||||
self.element.append($('<p></p>').append(loginButton));
|
||||
}
|
||||
|
||||
},
|
||||
_setOptions: function() {
|
||||
this._superApply( arguments );
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user