[serveur] Ajout d'un tableau de commande pour la cuisine
3
.gitignore
vendored
@ -7,3 +7,6 @@
|
|||||||
#Ignoring target folders
|
#Ignoring target folders
|
||||||
**/target/
|
**/target/
|
||||||
Workspace/.idea/codeStyles/codeStyleConfig.xml
|
Workspace/.idea/codeStyles/codeStyleConfig.xml
|
||||||
|
Workspace/pqt_logs/
|
||||||
|
|
||||||
|
.DS_Store
|
||||||
|
@ -3,6 +3,9 @@
|
|||||||
<component name="FrameworkDetectionExcludesConfiguration">
|
<component name="FrameworkDetectionExcludesConfiguration">
|
||||||
<file type="web" url="file://$PROJECT_DIR$/server" />
|
<file type="web" url="file://$PROJECT_DIR$/server" />
|
||||||
</component>
|
</component>
|
||||||
|
<component name="JavaScriptSettings">
|
||||||
|
<option name="languageLevel" value="JS_1_7" />
|
||||||
|
</component>
|
||||||
<component name="MavenProjectsManager">
|
<component name="MavenProjectsManager">
|
||||||
<option name="originalFiles">
|
<option name="originalFiles">
|
||||||
<list>
|
<list>
|
||||||
|
@ -35,5 +35,22 @@ public enum MessageType {
|
|||||||
ACK_PING,
|
ACK_PING,
|
||||||
|
|
||||||
QUERY_CONFIG_LIST,
|
QUERY_CONFIG_LIST,
|
||||||
MSG_CONFIG_LIST
|
MSG_CONFIG_LIST,
|
||||||
|
|
||||||
|
// no fields, permission at least Waiter
|
||||||
|
QUERY_SIMPLIFIED_PRODUCT_LIST,
|
||||||
|
ACK_SIMPLIFIED_PRODUCT_LIST,
|
||||||
|
|
||||||
|
// no fields, permission at least Waiter
|
||||||
|
QUERY_SERVING_LIST,
|
||||||
|
ACK_SERVING_LIST,
|
||||||
|
|
||||||
|
// fields (sale), permission at least Waiter
|
||||||
|
QUERY_SERVING_DONE,
|
||||||
|
ACK_SERVING_DONE,
|
||||||
|
|
||||||
|
// no fields, permission at least Waiter
|
||||||
|
QUERY_SERVING_VERSION,
|
||||||
|
ACK_SERVING_VERSION
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,31 @@
|
|||||||
|
package com.pqt.core.entities.product;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Cette version de produit a pour but de communiquer avec une interface en javascript
|
||||||
|
* Le javascript ne supporte pas les long, ils sont donc remplacés ici par des String
|
||||||
|
* On se moque également ici de la catégorie puisque c'est destiné au panneau d'affichage en cuisine
|
||||||
|
*/
|
||||||
|
public class SimplifiedProduct {
|
||||||
|
private String id;
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
public SimplifiedProduct() {}
|
||||||
|
|
||||||
|
public SimplifiedProduct(LightweightProduct product){
|
||||||
|
this.id = String.valueOf(product.getId());
|
||||||
|
this.name = product.getName();
|
||||||
|
}
|
||||||
|
|
||||||
|
public SimplifiedProduct(Product product){
|
||||||
|
this(new LightweightProduct(product));
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -14,6 +14,7 @@ public class LightweightSale {
|
|||||||
|
|
||||||
private int id;
|
private int id;
|
||||||
private Map<Long, Integer> products;
|
private Map<Long, Integer> products;
|
||||||
|
private Map<Long, Boolean> serving;
|
||||||
private Client orderedWith;
|
private Client orderedWith;
|
||||||
private Account orderedBy;
|
private Account orderedBy;
|
||||||
private Account orderedFor;
|
private Account orderedFor;
|
||||||
@ -29,9 +30,11 @@ public class LightweightSale {
|
|||||||
this.orderedFor = sale.getOrderedFor();
|
this.orderedFor = sale.getOrderedFor();
|
||||||
this.type = sale.getType();
|
this.type = sale.getType();
|
||||||
this.status = sale.getStatus();
|
this.status = sale.getStatus();
|
||||||
|
serving = new HashMap<>();
|
||||||
products = new HashMap<>();
|
products = new HashMap<>();
|
||||||
for(Product product : sale.getProducts().keySet()){
|
for(Product product : sale.getProducts().keySet()){
|
||||||
products.put(product.getId(), sale.getProducts().get(product));
|
products.put(product.getId(), sale.getProducts().get(product));
|
||||||
|
serving.put(product.getId(), sale.getServing().get(product));
|
||||||
}
|
}
|
||||||
price = sale.getTotalPrice();
|
price = sale.getTotalPrice();
|
||||||
worth = sale.getTotalWorth();
|
worth = sale.getTotalWorth();
|
||||||
@ -109,6 +112,10 @@ public class LightweightSale {
|
|||||||
this.worth = worth;
|
this.worth = worth;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Map<Long, Boolean> getServing() {
|
||||||
|
return serving;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return Objects.hash(id, products, orderedBy, orderedFor, orderedWith, type);
|
return Objects.hash(id, products, orderedBy, orderedFor, orderedWith, type);
|
||||||
|
@ -7,6 +7,7 @@ import com.pqt.core.entities.user_account.Account;
|
|||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@ -17,6 +18,7 @@ public class Sale implements ILoggable, Serializable{
|
|||||||
|
|
||||||
private int id;
|
private int id;
|
||||||
private Map<Product, Integer> products;
|
private Map<Product, Integer> products;
|
||||||
|
private Map<Product, Boolean> serving;
|
||||||
private Client orderedWith;
|
private Client orderedWith;
|
||||||
private Account orderedBy;
|
private Account orderedBy;
|
||||||
private Account orderedFor;
|
private Account orderedFor;
|
||||||
@ -28,12 +30,23 @@ public class Sale implements ILoggable, Serializable{
|
|||||||
|
|
||||||
public Sale(int id, Map<Product, Integer> products, Client orderedWith, Account orderedBy, Account orderedFor, SaleType type, SaleStatus status) {
|
public Sale(int id, Map<Product, Integer> products, Client orderedWith, Account orderedBy, Account orderedFor, SaleType type, SaleStatus status) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.products = products;
|
|
||||||
this.orderedWith = orderedWith;
|
this.orderedWith = orderedWith;
|
||||||
this.orderedBy = orderedBy;
|
this.orderedBy = orderedBy;
|
||||||
this.orderedFor = orderedFor;
|
this.orderedFor = orderedFor;
|
||||||
this.type = type;
|
this.type = type;
|
||||||
this.status = status;
|
this.status = status;
|
||||||
|
setProducts(products);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Sale(int id, Map<Product, Integer> products, Client orderedWith, Account orderedBy, Account orderedFor, SaleType type, SaleStatus status, Map<Product, Boolean> serving) {
|
||||||
|
this.id = id;
|
||||||
|
this.orderedWith = orderedWith;
|
||||||
|
this.orderedBy = orderedBy;
|
||||||
|
this.orderedFor = orderedFor;
|
||||||
|
this.type = type;
|
||||||
|
this.status = status;
|
||||||
|
this.products = products;
|
||||||
|
this.serving = serving;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getId() {
|
public int getId() {
|
||||||
@ -49,7 +62,20 @@ public class Sale implements ILoggable, Serializable{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setProducts(Map<Product, Integer> products) {
|
public void setProducts(Map<Product, Integer> products) {
|
||||||
|
serving = new HashMap<>();
|
||||||
this.products = products;
|
this.products = products;
|
||||||
|
for (Product prod: this.products.keySet()){
|
||||||
|
serving.put(prod, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isAllServed(){
|
||||||
|
for (Product prod: serving.keySet()){
|
||||||
|
if (!serving.get(prod)){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Client getOrderedWith() {
|
public Client getOrderedWith() {
|
||||||
@ -127,4 +153,8 @@ public class Sale implements ILoggable, Serializable{
|
|||||||
}
|
}
|
||||||
return totalWorth;
|
return totalWorth;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Map<Product, Boolean> getServing() {
|
||||||
|
return serving;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,29 @@
|
|||||||
|
package com.pqt.core.entities.sale;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class SaleEdit {
|
||||||
|
private int id;
|
||||||
|
private Map<Long, Boolean> products;
|
||||||
|
|
||||||
|
public SaleEdit(int id, Map<Long, Boolean> products) {
|
||||||
|
this.id = id;
|
||||||
|
this.products = products;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "SaleEdit{" +
|
||||||
|
"id=" + id +
|
||||||
|
", products=" + products +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<Long, Boolean> getProducts() {
|
||||||
|
return products;
|
||||||
|
}
|
||||||
|
}
|
@ -5,7 +5,7 @@ package com.pqt.core.entities.sale;
|
|||||||
*/
|
*/
|
||||||
public enum SaleStatus {
|
public enum SaleStatus {
|
||||||
|
|
||||||
PENDING(0), REFUSED(1), ACCEPTED(2), ABORTED(3);
|
PENDING(0), REFUSED(1), ACCEPTED(2), ABORTED(3), SERVICE_PENDING(4);
|
||||||
|
|
||||||
private int id;
|
private int id;
|
||||||
|
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
</modules>
|
</modules>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
|
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
|
58
Workspace/server/WebContent/serving/index.jsp
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
<%@ page pageEncoding="UTF-8" %>
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<title>Test</title>
|
||||||
|
<link rel="stylesheet" href="statics/css/theme.css">
|
||||||
|
<script src="statics/jquery/jquery.min.js"></script>
|
||||||
|
<script src="statics/js/js.cookie.js"></script>
|
||||||
|
<script src="statics/js/communication.js"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<iframe hidden width="0" height="0" border="0" name="dummyframe" id="dummyframe"></iframe>
|
||||||
|
<span id="logged-user" hidden></span>
|
||||||
|
<form onsubmit="login();" target="dummyframe">
|
||||||
|
<input title="login" id="server-login" type="text">
|
||||||
|
<input title="password" id="server-password" type="password">
|
||||||
|
<button id="login-button" type="submit">Connexion</button>
|
||||||
|
</form>
|
||||||
|
<button id="logout-button" hidden onclick="logout(false);">Déconnexion</button>
|
||||||
|
|
||||||
|
<div hidden id="error-box" class="alert">
|
||||||
|
<span></span>
|
||||||
|
<span class="closebtn" onclick="this.parentElement.style.display='none';"><i class="material-icons">close</i></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div hidden id="note-board">
|
||||||
|
<ul class="note" id="note-list">
|
||||||
|
<%--<li class="note">--%>
|
||||||
|
<%--<div class="note-content">--%>
|
||||||
|
<%--<a href=""><i class="material-icons delete">done</i></a>--%>
|
||||||
|
<%--<h2>Commande #1 </h2>--%>
|
||||||
|
<%--<ul>--%>
|
||||||
|
<%--<li>numéro 1</li>--%>
|
||||||
|
<%--<li>numéro 2</li>--%>
|
||||||
|
<%--<li>numéro 2</li>--%>
|
||||||
|
<%--<li>numéro 2tsretiaurnetaursneitrnaeuitn</li>--%>
|
||||||
|
<%--<li>numéro 2</li>--%>
|
||||||
|
<%--<li>numéro 2</li>--%>
|
||||||
|
<%--<li>numéro 2</li>--%>
|
||||||
|
<%--<li>numéro 2</li>--%>
|
||||||
|
<%--</ul>--%>
|
||||||
|
<%--</div>--%>
|
||||||
|
<%--</li>--%>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<script>
|
||||||
|
var cookies = Cookies.get();
|
||||||
|
if (typeof cookies['pqtServerUsername'] !== "undefined")
|
||||||
|
$('#server-login').val(cookies['pqtServerUsername']);
|
||||||
|
</script>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</html>
|
130
Workspace/server/WebContent/serving/statics/css/theme.css
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: 'Material Icons';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
src: url(/pqt-server/serving/statics/material-design-icons/iconfont/MaterialIcons-Regular.eot); /* For IE6-8 */
|
||||||
|
src: local('Material Icons'),
|
||||||
|
local('MaterialIcons-Regular'),
|
||||||
|
url(/pqt-server/serving/statics/material-design-icons/iconfont/MaterialIcons-Regular.woff2) format('woff2'),
|
||||||
|
url(/pqt-server/serving/statics/material-design-icons/iconfont/MaterialIcons-Regular.woff) format('woff'),
|
||||||
|
url(/pqt-server/serving/statics/material-design-icons/iconfont/MaterialIcons-Regular.ttf) format('truetype');
|
||||||
|
}
|
||||||
|
|
||||||
|
.material-icons {
|
||||||
|
font-family: 'Material Icons';
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
font-size: 24px; /* Preferred icon size */
|
||||||
|
display: inline-block;
|
||||||
|
line-height: 1;
|
||||||
|
text-transform: none;
|
||||||
|
letter-spacing: normal;
|
||||||
|
word-wrap: normal;
|
||||||
|
white-space: nowrap;
|
||||||
|
direction: ltr;
|
||||||
|
|
||||||
|
/* Support for all WebKit browsers. */
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
/* Support for Safari and Chrome. */
|
||||||
|
text-rendering: optimizeLegibility;
|
||||||
|
|
||||||
|
/* Support for Firefox. */
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
|
||||||
|
/* Support for IE. */
|
||||||
|
font-feature-settings: 'liga';
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
margin:0;
|
||||||
|
padding:0;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family:arial, sans-serif;
|
||||||
|
font-size:100%;
|
||||||
|
margin:3em;
|
||||||
|
background:#666;
|
||||||
|
color:#fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2, p {
|
||||||
|
font-size:100%;
|
||||||
|
font-weight:normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.note,li.note {
|
||||||
|
list-style:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.note {
|
||||||
|
overflow:hidden;
|
||||||
|
padding:3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.note-content {
|
||||||
|
position: relative;
|
||||||
|
color:#000;
|
||||||
|
background:#ffc;
|
||||||
|
display:block;
|
||||||
|
min-height:10em;
|
||||||
|
min-width:10em;
|
||||||
|
padding:1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.note-content h2 {
|
||||||
|
padding-bottom: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.note-content ul {
|
||||||
|
margin-left: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.note {
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.note li.note {
|
||||||
|
margin:1em;
|
||||||
|
float:left;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.delete {
|
||||||
|
position: absolute;
|
||||||
|
top: 10px;
|
||||||
|
right: 10px;
|
||||||
|
font-size: 24px;
|
||||||
|
color: green;
|
||||||
|
border: none;
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#error-box {
|
||||||
|
margin-top: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* The alert message box */
|
||||||
|
.alert {
|
||||||
|
padding: 20px;
|
||||||
|
background-color: #f44336; /* Red */
|
||||||
|
color: white;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* The close button */
|
||||||
|
.closebtn {
|
||||||
|
margin-left: 15px;
|
||||||
|
color: white;
|
||||||
|
font-weight: bold;
|
||||||
|
float: right;
|
||||||
|
font-size: 22px;
|
||||||
|
line-height: 20px;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: 0.3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* When moving the mouse over the close button */
|
||||||
|
.closebtn:hover {
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
Try it Yourself »
|
333
Workspace/server/WebContent/serving/statics/jquery/AUTHORS.txt
Normal file
@ -0,0 +1,333 @@
|
|||||||
|
Authors ordered by first contribution
|
||||||
|
A list of current team members is available at http://jqueryui.com/about
|
||||||
|
|
||||||
|
Paul Bakaus <paul.bakaus@gmail.com>
|
||||||
|
Richard Worth <rdworth@gmail.com>
|
||||||
|
Yehuda Katz <wycats@gmail.com>
|
||||||
|
Sean Catchpole <sean@sunsean.com>
|
||||||
|
John Resig <jeresig@gmail.com>
|
||||||
|
Tane Piper <piper.tane@gmail.com>
|
||||||
|
Dmitri Gaskin <dmitrig01@gmail.com>
|
||||||
|
Klaus Hartl <klaus.hartl@gmail.com>
|
||||||
|
Stefan Petre <stefan.petre@gmail.com>
|
||||||
|
Gilles van den Hoven <gilles@webunity.nl>
|
||||||
|
Micheil Bryan Smith <micheil@brandedcode.com>
|
||||||
|
Jörn Zaefferer <joern.zaefferer@gmail.com>
|
||||||
|
Marc Grabanski <m@marcgrabanski.com>
|
||||||
|
Keith Wood <kbwood@iinet.com.au>
|
||||||
|
Brandon Aaron <brandon.aaron@gmail.com>
|
||||||
|
Scott González <scott.gonzalez@gmail.com>
|
||||||
|
Eduardo Lundgren <eduardolundgren@gmail.com>
|
||||||
|
Aaron Eisenberger <aaronchi@gmail.com>
|
||||||
|
Joan Piedra <theneojp@gmail.com>
|
||||||
|
Bruno Basto <b.basto@gmail.com>
|
||||||
|
Remy Sharp <remy@leftlogic.com>
|
||||||
|
Bohdan Ganicky <bohdan.ganicky@gmail.com>
|
||||||
|
David Bolter <david.bolter@gmail.com>
|
||||||
|
Chi Cheng <cloudream@gmail.com>
|
||||||
|
Ca-Phun Ung <pazu2k@gmail.com>
|
||||||
|
Ariel Flesler <aflesler@gmail.com>
|
||||||
|
Maggie Wachs <maggie@filamentgroup.com>
|
||||||
|
Scott Jehl <scottjehl@gmail.com>
|
||||||
|
Todd Parker <todd@filamentgroup.com>
|
||||||
|
Andrew Powell <andrew@shellscape.org>
|
||||||
|
Brant Burnett <btburnett3@gmail.com>
|
||||||
|
Douglas Neiner <doug@dougneiner.com>
|
||||||
|
Paul Irish <paul.irish@gmail.com>
|
||||||
|
Ralph Whitbeck <ralph.whitbeck@gmail.com>
|
||||||
|
Thibault Duplessis <thibault.duplessis@gmail.com>
|
||||||
|
Dominique Vincent <dominique.vincent@toitl.com>
|
||||||
|
Jack Hsu <jack.hsu@gmail.com>
|
||||||
|
Adam Sontag <ajpiano@ajpiano.com>
|
||||||
|
Carl Fürstenberg <carl@excito.com>
|
||||||
|
Kevin Dalman <development@allpro.net>
|
||||||
|
Alberto Fernández Capel <afcapel@gmail.com>
|
||||||
|
Jacek Jędrzejewski (http://jacek.jedrzejewski.name)
|
||||||
|
Ting Kuei <ting@kuei.com>
|
||||||
|
Samuel Cormier-Iijima <sam@chide.it>
|
||||||
|
Jon Palmer <jonspalmer@gmail.com>
|
||||||
|
Ben Hollis <bhollis@amazon.com>
|
||||||
|
Justin MacCarthy <Justin@Rubystars.biz>
|
||||||
|
Eyal Kobrigo <kobrigo@hotmail.com>
|
||||||
|
Tiago Freire <tiago.freire@gmail.com>
|
||||||
|
Diego Tres <diegotres@gmail.com>
|
||||||
|
Holger Rüprich <holger@rueprich.de>
|
||||||
|
Ziling Zhao <zilingzhao@gmail.com>
|
||||||
|
Mike Alsup <malsup@gmail.com>
|
||||||
|
Robson Braga Araujo <robsonbraga@gmail.com>
|
||||||
|
Pierre-Henri Ausseil <ph.ausseil@gmail.com>
|
||||||
|
Christopher McCulloh <cmcculloh@gmail.com>
|
||||||
|
Andrew Newcomb <ext.github@preceptsoftware.co.uk>
|
||||||
|
Lim Chee Aun <cheeaun@gmail.com>
|
||||||
|
Jorge Barreiro <yortx.barry@gmail.com>
|
||||||
|
Daniel Steigerwald <daniel@steigerwald.cz>
|
||||||
|
John Firebaugh <john_firebaugh@bigfix.com>
|
||||||
|
John Enters <github@darkdark.net>
|
||||||
|
Andrey Kapitcyn <ru.m157y@gmail.com>
|
||||||
|
Dmitry Petrov <dpetroff@gmail.com>
|
||||||
|
Eric Hynds <eric@hynds.net>
|
||||||
|
Chairat Sunthornwiphat <pipo@sixhead.com>
|
||||||
|
Josh Varner <josh.varner@gmail.com>
|
||||||
|
Stéphane Raimbault <stephane.raimbault@gmail.com>
|
||||||
|
Jay Merrifield <fracmak@gmail.com>
|
||||||
|
J. Ryan Stinnett <jryans@gmail.com>
|
||||||
|
Peter Heiberg <peter@heiberg.se>
|
||||||
|
Alex Dovenmuehle <adovenmuehle@gmail.com>
|
||||||
|
Jamie Gegerson <git@jamiegegerson.com>
|
||||||
|
Raymond Schwartz <skeetergraphics@gmail.com>
|
||||||
|
Phillip Barnes <philbar@gmail.com>
|
||||||
|
Kyle Wilkinson <kai@wikyd.org>
|
||||||
|
Khaled AlHourani <me@khaledalhourani.com>
|
||||||
|
Marian Rudzynski <mr@impaled.org>
|
||||||
|
Jean-Francois Remy <jeff@melix.org>
|
||||||
|
Doug Blood <dougblood@gmail.com>
|
||||||
|
Filippo Cavallarin <filippo.cavallarin@codseq.it>
|
||||||
|
Heiko Henning <heiko@thehennings.ch>
|
||||||
|
Aliaksandr Rahalevich <saksmlz@gmail.com>
|
||||||
|
Mario Visic <mario@mariovisic.com>
|
||||||
|
Xavi Ramirez <xavi.rmz@gmail.com>
|
||||||
|
Max Schnur <max.schnur@gmail.com>
|
||||||
|
Saji Nediyanchath <saji89@gmail.com>
|
||||||
|
Corey Frang <gnarf37@gmail.com>
|
||||||
|
Aaron Peterson <aaronp123@yahoo.com>
|
||||||
|
Ivan Peters <ivan@ivanpeters.com>
|
||||||
|
Mohamed Cherif Bouchelaghem <cherifbouchelaghem@yahoo.fr>
|
||||||
|
Marcos Sousa <falecomigo@marcossousa.com>
|
||||||
|
Michael DellaNoce <mdellanoce@mailtrust.com>
|
||||||
|
George Marshall <echosx@gmail.com>
|
||||||
|
Tobias Brunner <tobias@strongswan.org>
|
||||||
|
Martin Solli <msolli@gmail.com>
|
||||||
|
David Petersen <public@petersendidit.com>
|
||||||
|
Dan Heberden <danheberden@gmail.com>
|
||||||
|
William Kevin Manire <williamkmanire@gmail.com>
|
||||||
|
Gilmore Davidson <gilmoreorless@gmail.com>
|
||||||
|
Michael Wu <michaelmwu@gmail.com>
|
||||||
|
Adam Parod <mystic414@gmail.com>
|
||||||
|
Guillaume Gautreau <guillaume+github@ghusse.com>
|
||||||
|
Marcel Toele <EleotleCram@gmail.com>
|
||||||
|
Dan Streetman <ddstreet@ieee.org>
|
||||||
|
Matt Hoskins <matt@nipltd.com>
|
||||||
|
Giovanni Giacobbi <giovanni@giacobbi.net>
|
||||||
|
Kyle Florence <kyle.florence@gmail.com>
|
||||||
|
Pavol Hluchý <lopo@losys.sk>
|
||||||
|
Hans Hillen <hans.hillen@gmail.com>
|
||||||
|
Mark Johnson <virgofx@live.com>
|
||||||
|
Trey Hunner <treyhunner@gmail.com>
|
||||||
|
Shane Whittet <whittet@gmail.com>
|
||||||
|
Edward A Faulkner <ef@alum.mit.edu>
|
||||||
|
Adam Baratz <adam@adambaratz.com>
|
||||||
|
Kato Kazuyoshi <kato.kazuyoshi@gmail.com>
|
||||||
|
Eike Send <eike.send@gmail.com>
|
||||||
|
Kris Borchers <kris.borchers@gmail.com>
|
||||||
|
Eddie Monge <eddie@eddiemonge.com>
|
||||||
|
Israel Tsadok <itsadok@gmail.com>
|
||||||
|
Carson McDonald <carson@ioncannon.net>
|
||||||
|
Jason Davies <jason@jasondavies.com>
|
||||||
|
Garrison Locke <gplocke@gmail.com>
|
||||||
|
David Murdoch <david@davidmurdoch.com>
|
||||||
|
Benjamin Scott Boyle <benjamins.boyle@gmail.com>
|
||||||
|
Jesse Baird <jebaird@gmail.com>
|
||||||
|
Jonathan Vingiano <jvingiano@gmail.com>
|
||||||
|
Dylan Just <dev@ephox.com>
|
||||||
|
Hiroshi Tomita <tomykaira@gmail.com>
|
||||||
|
Glenn Goodrich <glenn.goodrich@gmail.com>
|
||||||
|
Tarafder Ashek-E-Elahi <mail.ashek@gmail.com>
|
||||||
|
Ryan Neufeld <ryan@neufeldmail.com>
|
||||||
|
Marc Neuwirth <marc.neuwirth@gmail.com>
|
||||||
|
Philip Graham <philip.robert.graham@gmail.com>
|
||||||
|
Benjamin Sterling <benjamin.sterling@kenzomedia.com>
|
||||||
|
Wesley Walser <waw325@gmail.com>
|
||||||
|
Kouhei Sutou <kou@clear-code.com>
|
||||||
|
Karl Kirch <karlkrch@gmail.com>
|
||||||
|
Chris Kelly <ckdake@ckdake.com>
|
||||||
|
Jason Oster <jay@kodewerx.org>
|
||||||
|
Felix Nagel <info@felixnagel.com>
|
||||||
|
Alexander Polomoshnov <alex.polomoshnov@gmail.com>
|
||||||
|
David Leal <dgleal@gmail.com>
|
||||||
|
Igor Milla <igor.fsp.milla@gmail.com>
|
||||||
|
Dave Methvin <dave.methvin@gmail.com>
|
||||||
|
Florian Gutmann <f.gutmann@chronimo.com>
|
||||||
|
Marwan Al Jubeh <marwan.aljubeh@gmail.com>
|
||||||
|
Milan Broum <midlis@googlemail.com>
|
||||||
|
Sebastian Sauer <info@dynpages.de>
|
||||||
|
Gaëtan Muller <m.gaetan89@gmail.com>
|
||||||
|
Michel Weimerskirch <michel@weimerskirch.net>
|
||||||
|
William Griffiths <william@ycymro.com>
|
||||||
|
Stojce Slavkovski <stojce@gmail.com>
|
||||||
|
David Soms <david.soms@gmail.com>
|
||||||
|
David De Sloovere <david.desloovere@outlook.com>
|
||||||
|
Michael P. Jung <michael.jung@terreon.de>
|
||||||
|
Shannon Pekary <spekary@gmail.com>
|
||||||
|
Dan Wellman <danwellman@hotmail.com>
|
||||||
|
Matthew Edward Hutton <meh@corefiling.co.uk>
|
||||||
|
James Khoury <james@jameskhoury.com>
|
||||||
|
Rob Loach <robloach@gmail.com>
|
||||||
|
Alberto Monteiro <betimbrasil@gmail.com>
|
||||||
|
Alex Rhea <alex.rhea@gmail.com>
|
||||||
|
Krzysztof Rosiński <rozwell69@gmail.com>
|
||||||
|
Ryan Olton <oltonr@gmail.com>
|
||||||
|
Genie <386@mail.com>
|
||||||
|
Rick Waldron <waldron.rick@gmail.com>
|
||||||
|
Ian Simpson <spoonlikesham@gmail.com>
|
||||||
|
Lev Kitsis <spam4lev@gmail.com>
|
||||||
|
TJ VanToll <tj.vantoll@gmail.com>
|
||||||
|
Justin Domnitz <jdomnitz@gmail.com>
|
||||||
|
Douglas Cerna <douglascerna@yahoo.com>
|
||||||
|
Bert ter Heide <bertjh@hotmail.com>
|
||||||
|
Jasvir Nagra <jasvir@gmail.com>
|
||||||
|
Yuriy Khabarov <13real008@gmail.com>
|
||||||
|
Harri Kilpiö <harri.kilpio@gmail.com>
|
||||||
|
Lado Lomidze <lado.lomidze@gmail.com>
|
||||||
|
Amir E. Aharoni <amir.aharoni@mail.huji.ac.il>
|
||||||
|
Simon Sattes <simon.sattes@gmail.com>
|
||||||
|
Jo Liss <joliss42@gmail.com>
|
||||||
|
Guntupalli Karunakar <karunakarg@yahoo.com>
|
||||||
|
Shahyar Ghobadpour <shahyar@gmail.com>
|
||||||
|
Lukasz Lipinski <uzza17@gmail.com>
|
||||||
|
Timo Tijhof <krinklemail@gmail.com>
|
||||||
|
Jason Moon <jmoon@socialcast.com>
|
||||||
|
Martin Frost <martinf55@hotmail.com>
|
||||||
|
Eneko Illarramendi <eneko@illarra.com>
|
||||||
|
EungJun Yi <semtlenori@gmail.com>
|
||||||
|
Courtland Allen <courtlandallen@gmail.com>
|
||||||
|
Viktar Varvanovich <non4eg@gmail.com>
|
||||||
|
Danny Trunk <dtrunk90@gmail.com>
|
||||||
|
Pavel Stetina <pavel.stetina@nangu.tv>
|
||||||
|
Michael Stay <metaweta@gmail.com>
|
||||||
|
Steven Roussey <sroussey@gmail.com>
|
||||||
|
Michael Hollis <hollis21@gmail.com>
|
||||||
|
Lee Rowlands <lee.rowlands@previousnext.com.au>
|
||||||
|
Timmy Willison <timmywillisn@gmail.com>
|
||||||
|
Karl Swedberg <kswedberg@gmail.com>
|
||||||
|
Baoju Yuan <the_guy_1987@hotmail.com>
|
||||||
|
Maciej Mroziński <maciej.k.mrozinski@gmail.com>
|
||||||
|
Luis Dalmolin <luis.nh@gmail.com>
|
||||||
|
Mark Aaron Shirley <maspwr@gmail.com>
|
||||||
|
Martin Hoch <martin@fidion.de>
|
||||||
|
Jiayi Yang <tr870829@gmail.com>
|
||||||
|
Philipp Benjamin Köppchen <xgxtpbk@gws.ms>
|
||||||
|
Sindre Sorhus <sindresorhus@gmail.com>
|
||||||
|
Bernhard Sirlinger <bernhard.sirlinger@tele2.de>
|
||||||
|
Jared A. Scheel <jared@jaredscheel.com>
|
||||||
|
Rafael Xavier de Souza <rxaviers@gmail.com>
|
||||||
|
John Chen <zhang.z.chen@intel.com>
|
||||||
|
Robert Beuligmann <robertbeuligmann@gmail.com>
|
||||||
|
Dale Kocian <dale.kocian@gmail.com>
|
||||||
|
Mike Sherov <mike.sherov@gmail.com>
|
||||||
|
Andrew Couch <andy@couchand.com>
|
||||||
|
Marc-Andre Lafortune <github@marc-andre.ca>
|
||||||
|
Nate Eagle <nate.eagle@teamaol.com>
|
||||||
|
David Souther <davidsouther@gmail.com>
|
||||||
|
Mathias Stenbom <mathias@stenbom.com>
|
||||||
|
Sergey Kartashov <ebishkek@yandex.ru>
|
||||||
|
Avinash R <nashpapa@gmail.com>
|
||||||
|
Ethan Romba <ethanromba@gmail.com>
|
||||||
|
Cory Gackenheimer <cory.gack@gmail.com>
|
||||||
|
Juan Pablo Kaniefsky <jpkaniefsky@gmail.com>
|
||||||
|
Roman Salnikov <bardt.dz@gmail.com>
|
||||||
|
Anika Henke <anika@selfthinker.org>
|
||||||
|
Samuel Bovée <samycookie2000@yahoo.fr>
|
||||||
|
Fabrício Matté <ult_combo@hotmail.com>
|
||||||
|
Viktor Kojouharov <vkojouharov@gmail.com>
|
||||||
|
Pawel Maruszczyk (http://hrabstwo.net)
|
||||||
|
Pavel Selitskas <p.selitskas@gmail.com>
|
||||||
|
Bjørn Johansen <post@bjornjohansen.no>
|
||||||
|
Matthieu Penant <thieum22@hotmail.com>
|
||||||
|
Dominic Barnes <dominic@dbarnes.info>
|
||||||
|
David Sullivan <david.sullivan@gmail.com>
|
||||||
|
Thomas Jaggi <thomas@responsive.ch>
|
||||||
|
Vahid Sohrabloo <vahid4134@gmail.com>
|
||||||
|
Travis Carden <travis.carden@gmail.com>
|
||||||
|
Bruno M. Custódio <bruno@brunomcustodio.com>
|
||||||
|
Nathanael Silverman <nathanael.silverman@gmail.com>
|
||||||
|
Christian Wenz <christian@wenz.org>
|
||||||
|
Steve Urmston <steve@urm.st>
|
||||||
|
Zaven Muradyan <megalivoithos@gmail.com>
|
||||||
|
Woody Gilk <shadowhand@deviantart.com>
|
||||||
|
Zbigniew Motyka <zbigniew.motyka@gmail.com>
|
||||||
|
Suhail Alkowaileet <xsoh.k7@gmail.com>
|
||||||
|
Toshi MARUYAMA <marutosijp2@yahoo.co.jp>
|
||||||
|
David Hansen <hansede@gmail.com>
|
||||||
|
Brian Grinstead <briangrinstead@gmail.com>
|
||||||
|
Christian Klammer <christian314159@gmail.com>
|
||||||
|
Steven Luscher <jquerycla@steveluscher.com>
|
||||||
|
Gan Eng Chin <engchin.gan@gmail.com>
|
||||||
|
Gabriel Schulhof <gabriel.schulhof@intel.com>
|
||||||
|
Alexander Schmitz <arschmitz@gmail.com>
|
||||||
|
Vilhjálmur Skúlason <vis@dmm.is>
|
||||||
|
Siebrand Mazeland <siebrand@kitano.nl>
|
||||||
|
Mohsen Ekhtiari <mohsenekhtiari@yahoo.com>
|
||||||
|
Pere Orga <gotrunks@gmail.com>
|
||||||
|
Jasper de Groot <mail@ugomobi.com>
|
||||||
|
Stephane Deschamps <stephane.deschamps@gmail.com>
|
||||||
|
Jyoti Deka <dekajp@gmail.com>
|
||||||
|
Andrei Picus <office.nightcrawler@gmail.com>
|
||||||
|
Ondrej Novy <novy@ondrej.org>
|
||||||
|
Jacob McCutcheon <jacob.mccutcheon@gmail.com>
|
||||||
|
Monika Piotrowicz <monika.piotrowicz@gmail.com>
|
||||||
|
Imants Horsts <imants.horsts@inbox.lv>
|
||||||
|
Eric Dahl <eric.c.dahl@gmail.com>
|
||||||
|
Dave Stein <dave@behance.com>
|
||||||
|
Dylan Barrell <dylan@barrell.com>
|
||||||
|
Daniel DeGroff <djdegroff@gmail.com>
|
||||||
|
Michael Wiencek <mwtuea@gmail.com>
|
||||||
|
Thomas Meyer <meyertee@gmail.com>
|
||||||
|
Ruslan Yakhyaev <ruslan@ruslan.io>
|
||||||
|
Brian J. Dowling <bjd-dev@simplicity.net>
|
||||||
|
Ben Higgins <ben@extrahop.com>
|
||||||
|
Yermo Lamers <yml@yml.com>
|
||||||
|
Patrick Stapleton <github@gdi2290.com>
|
||||||
|
Trisha Crowley <trisha.crowley@gmail.com>
|
||||||
|
Usman Akeju <akeju00+github@gmail.com>
|
||||||
|
Rodrigo Menezes <rod333@gmail.com>
|
||||||
|
Jacques Perrault <jacques_perrault@us.ibm.com>
|
||||||
|
Frederik Elvhage <frederik.elvhage@googlemail.com>
|
||||||
|
Will Holley <willholley@gmail.com>
|
||||||
|
Uri Gilad <antishok@gmail.com>
|
||||||
|
Richard Gibson <richard.gibson@gmail.com>
|
||||||
|
Simen Bekkhus <sbekkhus91@gmail.com>
|
||||||
|
Chen Eshchar <eshcharc@gmail.com>
|
||||||
|
Bruno Pérel <brunoperel@gmail.com>
|
||||||
|
Mohammed Alshehri <m@dralshehri.com>
|
||||||
|
Lisa Seacat DeLuca <ldeluca@us.ibm.com>
|
||||||
|
Anne-Gaelle Colom <coloma@westminster.ac.uk>
|
||||||
|
Adam Foster <slimfoster@gmail.com>
|
||||||
|
Luke Page <luke.a.page@gmail.com>
|
||||||
|
Daniel Owens <daniel@matchstickmixup.com>
|
||||||
|
Michael Orchard <morchard@scottlogic.co.uk>
|
||||||
|
Marcus Warren <marcus@envoke.com>
|
||||||
|
Nils Heuermann <nils@world-of-scripts.de>
|
||||||
|
Marco Ziech <marco@ziech.net>
|
||||||
|
Patricia Juarez <patrixd@gmail.com>
|
||||||
|
Ben Mosher <me@benmosher.com>
|
||||||
|
Ablay Keldibek <atomio.ak@gmail.com>
|
||||||
|
Thomas Applencourt <thomas.applencourt@irsamc.ups-tlse.fr>
|
||||||
|
Jiabao Wu <jiabao.foss@gmail.com>
|
||||||
|
Eric Lee Carraway <github@ericcarraway.com>
|
||||||
|
Victor Homyakov <vkhomyackov@gmail.com>
|
||||||
|
Myeongjin Lee <aranet100@gmail.com>
|
||||||
|
Liran Sharir <lsharir@gmail.com>
|
||||||
|
Weston Ruter <weston@xwp.co>
|
||||||
|
Mani Mishra <manimishra902@gmail.com>
|
||||||
|
Hannah Methvin <hannahmethvin@gmail.com>
|
||||||
|
Leonardo Balter <leonardo.balter@gmail.com>
|
||||||
|
Benjamin Albert <benjamin_a5@yahoo.com>
|
||||||
|
Michał Gołębiowski <m.goleb@gmail.com>
|
||||||
|
Alyosha Pushak <alyosha.pushak@gmail.com>
|
||||||
|
Fahad Ahmad <fahadahmad41@hotmail.com>
|
||||||
|
Matt Brundage <github@mattbrundage.com>
|
||||||
|
Francesc Baeta <francesc.baeta@gmail.com>
|
||||||
|
Piotr Baran <piotros@wp.pl>
|
||||||
|
Mukul Hase <mukulhase@gmail.com>
|
||||||
|
Konstantin Dinev <kdinev@mail.bw.edu>
|
||||||
|
Rand Scullard <rand@randscullard.com>
|
||||||
|
Dan Strohl <dan@wjcg.net>
|
||||||
|
Maksim Ryzhikov <rv.maksim@gmail.com>
|
||||||
|
Amine HADDAD <haddad@allegorie.tv>
|
||||||
|
Amanpreet Singh <apsdehal@gmail.com>
|
||||||
|
Alexey Balchunas <bleshik@gmail.com>
|
||||||
|
Peter Kehl <peter.kehl@gmail.com>
|
||||||
|
Peter Dave Hello <hsu@peterdavehello.org>
|
||||||
|
Johannes Schäfer <johnschaefer@gmx.de>
|
||||||
|
Ville Skyttä <ville.skytta@iki.fi>
|
||||||
|
Ryan Oriecuia <ryan.oriecuia@visioncritical.com>
|
@ -0,0 +1,43 @@
|
|||||||
|
Copyright jQuery Foundation and other contributors, https://jquery.org/
|
||||||
|
|
||||||
|
This software consists of voluntary contributions made by many
|
||||||
|
individuals. For exact contribution history, see the revision history
|
||||||
|
available at https://github.com/jquery/jquery-ui
|
||||||
|
|
||||||
|
The following license applies to all parts of this software except as
|
||||||
|
documented below:
|
||||||
|
|
||||||
|
====
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be
|
||||||
|
included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||||
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||||
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
====
|
||||||
|
|
||||||
|
Copyright and related rights for sample code are waived via CC0. Sample
|
||||||
|
code is defined as all source code contained within the demos directory.
|
||||||
|
|
||||||
|
CC0: http://creativecommons.org/publicdomain/zero/1.0/
|
||||||
|
|
||||||
|
====
|
||||||
|
|
||||||
|
All files located in the node_modules and external directories are
|
||||||
|
externally maintained libraries used by this software which have their
|
||||||
|
own licenses; we recommend you read them, as their terms may differ from
|
||||||
|
the terms above.
|
11008
Workspace/server/WebContent/serving/statics/jquery/external/jquery/jquery.js
vendored
Normal file
After Width: | Height: | Size: 6.8 KiB |
After Width: | Height: | Size: 6.8 KiB |
After Width: | Height: | Size: 4.4 KiB |
After Width: | Height: | Size: 6.8 KiB |
After Width: | Height: | Size: 4.4 KiB |
After Width: | Height: | Size: 6.2 KiB |
1312
Workspace/server/WebContent/serving/statics/jquery/jquery-ui.css
vendored
Normal file
18706
Workspace/server/WebContent/serving/statics/jquery/jquery-ui.js
vendored
Normal file
7
Workspace/server/WebContent/serving/statics/jquery/jquery-ui.min.css
vendored
Normal file
13
Workspace/server/WebContent/serving/statics/jquery/jquery-ui.min.js
vendored
Normal file
886
Workspace/server/WebContent/serving/statics/jquery/jquery-ui.structure.css
vendored
Normal file
@ -0,0 +1,886 @@
|
|||||||
|
/*!
|
||||||
|
* jQuery UI CSS Framework 1.12.1
|
||||||
|
* http://jqueryui.com
|
||||||
|
*
|
||||||
|
* Copyright jQuery Foundation and other contributors
|
||||||
|
* Released under the MIT license.
|
||||||
|
* http://jquery.org/license
|
||||||
|
*
|
||||||
|
* http://api.jqueryui.com/category/theming/
|
||||||
|
*/
|
||||||
|
.ui-draggable-handle {
|
||||||
|
-ms-touch-action: none;
|
||||||
|
touch-action: none;
|
||||||
|
}
|
||||||
|
/* Layout helpers
|
||||||
|
----------------------------------*/
|
||||||
|
.ui-helper-hidden {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.ui-helper-hidden-accessible {
|
||||||
|
border: 0;
|
||||||
|
clip: rect(0 0 0 0);
|
||||||
|
height: 1px;
|
||||||
|
margin: -1px;
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 0;
|
||||||
|
position: absolute;
|
||||||
|
width: 1px;
|
||||||
|
}
|
||||||
|
.ui-helper-reset {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
border: 0;
|
||||||
|
outline: 0;
|
||||||
|
line-height: 1.3;
|
||||||
|
text-decoration: none;
|
||||||
|
font-size: 100%;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
.ui-helper-clearfix:before,
|
||||||
|
.ui-helper-clearfix:after {
|
||||||
|
content: "";
|
||||||
|
display: table;
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
.ui-helper-clearfix:after {
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
.ui-helper-zfix {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
position: absolute;
|
||||||
|
opacity: 0;
|
||||||
|
filter:Alpha(Opacity=0); /* support: IE8 */
|
||||||
|
}
|
||||||
|
|
||||||
|
.ui-front {
|
||||||
|
z-index: 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Interaction Cues
|
||||||
|
----------------------------------*/
|
||||||
|
.ui-state-disabled {
|
||||||
|
cursor: default !important;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Icons
|
||||||
|
----------------------------------*/
|
||||||
|
.ui-icon {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
margin-top: -.25em;
|
||||||
|
position: relative;
|
||||||
|
text-indent: -99999px;
|
||||||
|
overflow: hidden;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ui-widget-icon-block {
|
||||||
|
left: 50%;
|
||||||
|
margin-left: -8px;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Misc visuals
|
||||||
|
----------------------------------*/
|
||||||
|
|
||||||
|
/* Overlays */
|
||||||
|
.ui-widget-overlay {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.ui-resizable {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.ui-resizable-handle {
|
||||||
|
position: absolute;
|
||||||
|
font-size: 0.1px;
|
||||||
|
display: block;
|
||||||
|
-ms-touch-action: none;
|
||||||
|
touch-action: none;
|
||||||
|
}
|
||||||
|
.ui-resizable-disabled .ui-resizable-handle,
|
||||||
|
.ui-resizable-autohide .ui-resizable-handle {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.ui-resizable-n {
|
||||||
|
cursor: n-resize;
|
||||||
|
height: 7px;
|
||||||
|
width: 100%;
|
||||||
|
top: -5px;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
.ui-resizable-s {
|
||||||
|
cursor: s-resize;
|
||||||
|
height: 7px;
|
||||||
|
width: 100%;
|
||||||
|
bottom: -5px;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
.ui-resizable-e {
|
||||||
|
cursor: e-resize;
|
||||||
|
width: 7px;
|
||||||
|
right: -5px;
|
||||||
|
top: 0;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.ui-resizable-w {
|
||||||
|
cursor: w-resize;
|
||||||
|
width: 7px;
|
||||||
|
left: -5px;
|
||||||
|
top: 0;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.ui-resizable-se {
|
||||||
|
cursor: se-resize;
|
||||||
|
width: 12px;
|
||||||
|
height: 12px;
|
||||||
|
right: 1px;
|
||||||
|
bottom: 1px;
|
||||||
|
}
|
||||||
|
.ui-resizable-sw {
|
||||||
|
cursor: sw-resize;
|
||||||
|
width: 9px;
|
||||||
|
height: 9px;
|
||||||
|
left: -5px;
|
||||||
|
bottom: -5px;
|
||||||
|
}
|
||||||
|
.ui-resizable-nw {
|
||||||
|
cursor: nw-resize;
|
||||||
|
width: 9px;
|
||||||
|
height: 9px;
|
||||||
|
left: -5px;
|
||||||
|
top: -5px;
|
||||||
|
}
|
||||||
|
.ui-resizable-ne {
|
||||||
|
cursor: ne-resize;
|
||||||
|
width: 9px;
|
||||||
|
height: 9px;
|
||||||
|
right: -5px;
|
||||||
|
top: -5px;
|
||||||
|
}
|
||||||
|
.ui-selectable {
|
||||||
|
-ms-touch-action: none;
|
||||||
|
touch-action: none;
|
||||||
|
}
|
||||||
|
.ui-selectable-helper {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 100;
|
||||||
|
border: 1px dotted black;
|
||||||
|
}
|
||||||
|
.ui-sortable-handle {
|
||||||
|
-ms-touch-action: none;
|
||||||
|
touch-action: none;
|
||||||
|
}
|
||||||
|
.ui-accordion .ui-accordion-header {
|
||||||
|
display: block;
|
||||||
|
cursor: pointer;
|
||||||
|
position: relative;
|
||||||
|
margin: 2px 0 0 0;
|
||||||
|
padding: .5em .5em .5em .7em;
|
||||||
|
font-size: 100%;
|
||||||
|
}
|
||||||
|
.ui-accordion .ui-accordion-content {
|
||||||
|
padding: 1em 2.2em;
|
||||||
|
border-top: 0;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
.ui-autocomplete {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
.ui-menu {
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
display: block;
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
.ui-menu .ui-menu {
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
.ui-menu .ui-menu-item {
|
||||||
|
margin: 0;
|
||||||
|
cursor: pointer;
|
||||||
|
/* support: IE10, see #8844 */
|
||||||
|
list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
|
||||||
|
}
|
||||||
|
.ui-menu .ui-menu-item-wrapper {
|
||||||
|
position: relative;
|
||||||
|
padding: 3px 1em 3px .4em;
|
||||||
|
}
|
||||||
|
.ui-menu .ui-menu-divider {
|
||||||
|
margin: 5px 0;
|
||||||
|
height: 0;
|
||||||
|
font-size: 0;
|
||||||
|
line-height: 0;
|
||||||
|
border-width: 1px 0 0 0;
|
||||||
|
}
|
||||||
|
.ui-menu .ui-state-focus,
|
||||||
|
.ui-menu .ui-state-active {
|
||||||
|
margin: -1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* icon support */
|
||||||
|
.ui-menu-icons {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.ui-menu-icons .ui-menu-item-wrapper {
|
||||||
|
padding-left: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* left-aligned */
|
||||||
|
.ui-menu .ui-icon {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: .2em;
|
||||||
|
margin: auto 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* right-aligned */
|
||||||
|
.ui-menu .ui-menu-icon {
|
||||||
|
left: auto;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
.ui-button {
|
||||||
|
padding: .4em 1em;
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
line-height: normal;
|
||||||
|
margin-right: .1em;
|
||||||
|
cursor: pointer;
|
||||||
|
vertical-align: middle;
|
||||||
|
text-align: center;
|
||||||
|
-webkit-user-select: none;
|
||||||
|
-moz-user-select: none;
|
||||||
|
-ms-user-select: none;
|
||||||
|
user-select: none;
|
||||||
|
|
||||||
|
/* Support: IE <= 11 */
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ui-button,
|
||||||
|
.ui-button:link,
|
||||||
|
.ui-button:visited,
|
||||||
|
.ui-button:hover,
|
||||||
|
.ui-button:active {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* to make room for the icon, a width needs to be set here */
|
||||||
|
.ui-button-icon-only {
|
||||||
|
width: 2em;
|
||||||
|
box-sizing: border-box;
|
||||||
|
text-indent: -9999px;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* no icon support for input elements */
|
||||||
|
input.ui-button.ui-button-icon-only {
|
||||||
|
text-indent: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* button icon element(s) */
|
||||||
|
.ui-button-icon-only .ui-icon {
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
margin-top: -8px;
|
||||||
|
margin-left: -8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ui-button.ui-icon-notext .ui-icon {
|
||||||
|
padding: 0;
|
||||||
|
width: 2.1em;
|
||||||
|
height: 2.1em;
|
||||||
|
text-indent: -9999px;
|
||||||
|
white-space: nowrap;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
input.ui-button.ui-icon-notext .ui-icon {
|
||||||
|
width: auto;
|
||||||
|
height: auto;
|
||||||
|
text-indent: 0;
|
||||||
|
white-space: normal;
|
||||||
|
padding: .4em 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* workarounds */
|
||||||
|
/* Support: Firefox 5 - 40 */
|
||||||
|
input.ui-button::-moz-focus-inner,
|
||||||
|
button.ui-button::-moz-focus-inner {
|
||||||
|
border: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.ui-controlgroup {
|
||||||
|
vertical-align: middle;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.ui-controlgroup > .ui-controlgroup-item {
|
||||||
|
float: left;
|
||||||
|
margin-left: 0;
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
.ui-controlgroup > .ui-controlgroup-item:focus,
|
||||||
|
.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus {
|
||||||
|
z-index: 9999;
|
||||||
|
}
|
||||||
|
.ui-controlgroup-vertical > .ui-controlgroup-item {
|
||||||
|
display: block;
|
||||||
|
float: none;
|
||||||
|
width: 100%;
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
.ui-controlgroup-vertical .ui-controlgroup-item {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
.ui-controlgroup .ui-controlgroup-label {
|
||||||
|
padding: .4em 1em;
|
||||||
|
}
|
||||||
|
.ui-controlgroup .ui-controlgroup-label span {
|
||||||
|
font-size: 80%;
|
||||||
|
}
|
||||||
|
.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item {
|
||||||
|
border-left: none;
|
||||||
|
}
|
||||||
|
.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item {
|
||||||
|
border-top: none;
|
||||||
|
}
|
||||||
|
.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content {
|
||||||
|
border-right: none;
|
||||||
|
}
|
||||||
|
.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Spinner specific style fixes */
|
||||||
|
.ui-controlgroup-vertical .ui-spinner-input {
|
||||||
|
|
||||||
|
/* Support: IE8 only, Android < 4.4 only */
|
||||||
|
width: 75%;
|
||||||
|
width: calc( 100% - 2.4em );
|
||||||
|
}
|
||||||
|
.ui-controlgroup-vertical .ui-spinner .ui-spinner-up {
|
||||||
|
border-top-style: solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ui-checkboxradio-label .ui-icon-background {
|
||||||
|
box-shadow: inset 1px 1px 1px #ccc;
|
||||||
|
border-radius: .12em;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
.ui-checkboxradio-radio-label .ui-icon-background {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
border-radius: 1em;
|
||||||
|
overflow: visible;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,
|
||||||
|
.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon {
|
||||||
|
background-image: none;
|
||||||
|
width: 8px;
|
||||||
|
height: 8px;
|
||||||
|
border-width: 4px;
|
||||||
|
border-style: solid;
|
||||||
|
}
|
||||||
|
.ui-checkboxradio-disabled {
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
.ui-datepicker {
|
||||||
|
width: 17em;
|
||||||
|
padding: .2em .2em 0;
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.ui-datepicker .ui-datepicker-header {
|
||||||
|
position: relative;
|
||||||
|
padding: .2em 0;
|
||||||
|
}
|
||||||
|
.ui-datepicker .ui-datepicker-prev,
|
||||||
|
.ui-datepicker .ui-datepicker-next {
|
||||||
|
position: absolute;
|
||||||
|
top: 2px;
|
||||||
|
width: 1.8em;
|
||||||
|
height: 1.8em;
|
||||||
|
}
|
||||||
|
.ui-datepicker .ui-datepicker-prev-hover,
|
||||||
|
.ui-datepicker .ui-datepicker-next-hover {
|
||||||
|
top: 1px;
|
||||||
|
}
|
||||||
|
.ui-datepicker .ui-datepicker-prev {
|
||||||
|
left: 2px;
|
||||||
|
}
|
||||||
|
.ui-datepicker .ui-datepicker-next {
|
||||||
|
right: 2px;
|
||||||
|
}
|
||||||
|
.ui-datepicker .ui-datepicker-prev-hover {
|
||||||
|
left: 1px;
|
||||||
|
}
|
||||||
|
.ui-datepicker .ui-datepicker-next-hover {
|
||||||
|
right: 1px;
|
||||||
|
}
|
||||||
|
.ui-datepicker .ui-datepicker-prev span,
|
||||||
|
.ui-datepicker .ui-datepicker-next span {
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
margin-left: -8px;
|
||||||
|
top: 50%;
|
||||||
|
margin-top: -8px;
|
||||||
|
}
|
||||||
|
.ui-datepicker .ui-datepicker-title {
|
||||||
|
margin: 0 2.3em;
|
||||||
|
line-height: 1.8em;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.ui-datepicker .ui-datepicker-title select {
|
||||||
|
font-size: 1em;
|
||||||
|
margin: 1px 0;
|
||||||
|
}
|
||||||
|
.ui-datepicker select.ui-datepicker-month,
|
||||||
|
.ui-datepicker select.ui-datepicker-year {
|
||||||
|
width: 45%;
|
||||||
|
}
|
||||||
|
.ui-datepicker table {
|
||||||
|
width: 100%;
|
||||||
|
font-size: .9em;
|
||||||
|
border-collapse: collapse;
|
||||||
|
margin: 0 0 .4em;
|
||||||
|
}
|
||||||
|
.ui-datepicker th {
|
||||||
|
padding: .7em .3em;
|
||||||
|
text-align: center;
|
||||||
|
font-weight: bold;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
.ui-datepicker td {
|
||||||
|
border: 0;
|
||||||
|
padding: 1px;
|
||||||
|
}
|
||||||
|
.ui-datepicker td span,
|
||||||
|
.ui-datepicker td a {
|
||||||
|
display: block;
|
||||||
|
padding: .2em;
|
||||||
|
text-align: right;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.ui-datepicker .ui-datepicker-buttonpane {
|
||||||
|
background-image: none;
|
||||||
|
margin: .7em 0 0 0;
|
||||||
|
padding: 0 .2em;
|
||||||
|
border-left: 0;
|
||||||
|
border-right: 0;
|
||||||
|
border-bottom: 0;
|
||||||
|
}
|
||||||
|
.ui-datepicker .ui-datepicker-buttonpane button {
|
||||||
|
float: right;
|
||||||
|
margin: .5em .2em .4em;
|
||||||
|
cursor: pointer;
|
||||||
|
padding: .2em .6em .3em .6em;
|
||||||
|
width: auto;
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
|
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* with multiple calendars */
|
||||||
|
.ui-datepicker.ui-datepicker-multi {
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
.ui-datepicker-multi .ui-datepicker-group {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.ui-datepicker-multi .ui-datepicker-group table {
|
||||||
|
width: 95%;
|
||||||
|
margin: 0 auto .4em;
|
||||||
|
}
|
||||||
|
.ui-datepicker-multi-2 .ui-datepicker-group {
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
.ui-datepicker-multi-3 .ui-datepicker-group {
|
||||||
|
width: 33.3%;
|
||||||
|
}
|
||||||
|
.ui-datepicker-multi-4 .ui-datepicker-group {
|
||||||
|
width: 25%;
|
||||||
|
}
|
||||||
|
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
|
||||||
|
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
|
||||||
|
border-left-width: 0;
|
||||||
|
}
|
||||||
|
.ui-datepicker-multi .ui-datepicker-buttonpane {
|
||||||
|
clear: left;
|
||||||
|
}
|
||||||
|
.ui-datepicker-row-break {
|
||||||
|
clear: both;
|
||||||
|
width: 100%;
|
||||||
|
font-size: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* RTL support */
|
||||||
|
.ui-datepicker-rtl {
|
||||||
|
direction: rtl;
|
||||||
|
}
|
||||||
|
.ui-datepicker-rtl .ui-datepicker-prev {
|
||||||
|
right: 2px;
|
||||||
|
left: auto;
|
||||||
|
}
|
||||||
|
.ui-datepicker-rtl .ui-datepicker-next {
|
||||||
|
left: 2px;
|
||||||
|
right: auto;
|
||||||
|
}
|
||||||
|
.ui-datepicker-rtl .ui-datepicker-prev:hover {
|
||||||
|
right: 1px;
|
||||||
|
left: auto;
|
||||||
|
}
|
||||||
|
.ui-datepicker-rtl .ui-datepicker-next:hover {
|
||||||
|
left: 1px;
|
||||||
|
right: auto;
|
||||||
|
}
|
||||||
|
.ui-datepicker-rtl .ui-datepicker-buttonpane {
|
||||||
|
clear: right;
|
||||||
|
}
|
||||||
|
.ui-datepicker-rtl .ui-datepicker-buttonpane button {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
|
||||||
|
.ui-datepicker-rtl .ui-datepicker-group {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
|
||||||
|
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
|
||||||
|
border-right-width: 0;
|
||||||
|
border-left-width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Icons */
|
||||||
|
.ui-datepicker .ui-icon {
|
||||||
|
display: block;
|
||||||
|
text-indent: -99999px;
|
||||||
|
overflow: hidden;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
left: .5em;
|
||||||
|
top: .3em;
|
||||||
|
}
|
||||||
|
.ui-dialog {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
padding: .2em;
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
.ui-dialog .ui-dialog-titlebar {
|
||||||
|
padding: .4em 1em;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.ui-dialog .ui-dialog-title {
|
||||||
|
float: left;
|
||||||
|
margin: .1em 0;
|
||||||
|
white-space: nowrap;
|
||||||
|
width: 90%;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
.ui-dialog .ui-dialog-titlebar-close {
|
||||||
|
position: absolute;
|
||||||
|
right: .3em;
|
||||||
|
top: 50%;
|
||||||
|
width: 20px;
|
||||||
|
margin: -10px 0 0 0;
|
||||||
|
padding: 1px;
|
||||||
|
height: 20px;
|
||||||
|
}
|
||||||
|
.ui-dialog .ui-dialog-content {
|
||||||
|
position: relative;
|
||||||
|
border: 0;
|
||||||
|
padding: .5em 1em;
|
||||||
|
background: none;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
.ui-dialog .ui-dialog-buttonpane {
|
||||||
|
text-align: left;
|
||||||
|
border-width: 1px 0 0 0;
|
||||||
|
background-image: none;
|
||||||
|
margin-top: .5em;
|
||||||
|
padding: .3em 1em .5em .4em;
|
||||||
|
}
|
||||||
|
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
.ui-dialog .ui-dialog-buttonpane button {
|
||||||
|
margin: .5em .4em .5em 0;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.ui-dialog .ui-resizable-n {
|
||||||
|
height: 2px;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
.ui-dialog .ui-resizable-e {
|
||||||
|
width: 2px;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
.ui-dialog .ui-resizable-s {
|
||||||
|
height: 2px;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
.ui-dialog .ui-resizable-w {
|
||||||
|
width: 2px;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
.ui-dialog .ui-resizable-se,
|
||||||
|
.ui-dialog .ui-resizable-sw,
|
||||||
|
.ui-dialog .ui-resizable-ne,
|
||||||
|
.ui-dialog .ui-resizable-nw {
|
||||||
|
width: 7px;
|
||||||
|
height: 7px;
|
||||||
|
}
|
||||||
|
.ui-dialog .ui-resizable-se {
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
.ui-dialog .ui-resizable-sw {
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
.ui-dialog .ui-resizable-ne {
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
.ui-dialog .ui-resizable-nw {
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
.ui-draggable .ui-dialog-titlebar {
|
||||||
|
cursor: move;
|
||||||
|
}
|
||||||
|
.ui-progressbar {
|
||||||
|
height: 2em;
|
||||||
|
text-align: left;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.ui-progressbar .ui-progressbar-value {
|
||||||
|
margin: -1px;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.ui-progressbar .ui-progressbar-overlay {
|
||||||
|
background: url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");
|
||||||
|
height: 100%;
|
||||||
|
filter: alpha(opacity=25); /* support: IE8 */
|
||||||
|
opacity: 0.25;
|
||||||
|
}
|
||||||
|
.ui-progressbar-indeterminate .ui-progressbar-value {
|
||||||
|
background-image: none;
|
||||||
|
}
|
||||||
|
.ui-selectmenu-menu {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.ui-selectmenu-menu .ui-menu {
|
||||||
|
overflow: auto;
|
||||||
|
overflow-x: hidden;
|
||||||
|
padding-bottom: 1px;
|
||||||
|
}
|
||||||
|
.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {
|
||||||
|
font-size: 1em;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 1.5;
|
||||||
|
padding: 2px 0.4em;
|
||||||
|
margin: 0.5em 0 0 0;
|
||||||
|
height: auto;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
.ui-selectmenu-open {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.ui-selectmenu-text {
|
||||||
|
display: block;
|
||||||
|
margin-right: 20px;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
.ui-selectmenu-button.ui-button {
|
||||||
|
text-align: left;
|
||||||
|
white-space: nowrap;
|
||||||
|
width: 14em;
|
||||||
|
}
|
||||||
|
.ui-selectmenu-icon.ui-icon {
|
||||||
|
float: right;
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
.ui-slider {
|
||||||
|
position: relative;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
.ui-slider .ui-slider-handle {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 2;
|
||||||
|
width: 1.2em;
|
||||||
|
height: 1.2em;
|
||||||
|
cursor: default;
|
||||||
|
-ms-touch-action: none;
|
||||||
|
touch-action: none;
|
||||||
|
}
|
||||||
|
.ui-slider .ui-slider-range {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 1;
|
||||||
|
font-size: .7em;
|
||||||
|
display: block;
|
||||||
|
border: 0;
|
||||||
|
background-position: 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* support: IE8 - See #6727 */
|
||||||
|
.ui-slider.ui-state-disabled .ui-slider-handle,
|
||||||
|
.ui-slider.ui-state-disabled .ui-slider-range {
|
||||||
|
filter: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ui-slider-horizontal {
|
||||||
|
height: .8em;
|
||||||
|
}
|
||||||
|
.ui-slider-horizontal .ui-slider-handle {
|
||||||
|
top: -.3em;
|
||||||
|
margin-left: -.6em;
|
||||||
|
}
|
||||||
|
.ui-slider-horizontal .ui-slider-range {
|
||||||
|
top: 0;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.ui-slider-horizontal .ui-slider-range-min {
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
.ui-slider-horizontal .ui-slider-range-max {
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ui-slider-vertical {
|
||||||
|
width: .8em;
|
||||||
|
height: 100px;
|
||||||
|
}
|
||||||
|
.ui-slider-vertical .ui-slider-handle {
|
||||||
|
left: -.3em;
|
||||||
|
margin-left: 0;
|
||||||
|
margin-bottom: -.6em;
|
||||||
|
}
|
||||||
|
.ui-slider-vertical .ui-slider-range {
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.ui-slider-vertical .ui-slider-range-min {
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
.ui-slider-vertical .ui-slider-range-max {
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
.ui-spinner {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 0;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.ui-spinner-input {
|
||||||
|
border: none;
|
||||||
|
background: none;
|
||||||
|
color: inherit;
|
||||||
|
padding: .222em 0;
|
||||||
|
margin: .2em 0;
|
||||||
|
vertical-align: middle;
|
||||||
|
margin-left: .4em;
|
||||||
|
margin-right: 2em;
|
||||||
|
}
|
||||||
|
.ui-spinner-button {
|
||||||
|
width: 1.6em;
|
||||||
|
height: 50%;
|
||||||
|
font-size: .5em;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
text-align: center;
|
||||||
|
position: absolute;
|
||||||
|
cursor: default;
|
||||||
|
display: block;
|
||||||
|
overflow: hidden;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
/* more specificity required here to override default borders */
|
||||||
|
.ui-spinner a.ui-spinner-button {
|
||||||
|
border-top-style: none;
|
||||||
|
border-bottom-style: none;
|
||||||
|
border-right-style: none;
|
||||||
|
}
|
||||||
|
.ui-spinner-up {
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
.ui-spinner-down {
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
.ui-tabs {
|
||||||
|
position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
|
||||||
|
padding: .2em;
|
||||||
|
}
|
||||||
|
.ui-tabs .ui-tabs-nav {
|
||||||
|
margin: 0;
|
||||||
|
padding: .2em .2em 0;
|
||||||
|
}
|
||||||
|
.ui-tabs .ui-tabs-nav li {
|
||||||
|
list-style: none;
|
||||||
|
float: left;
|
||||||
|
position: relative;
|
||||||
|
top: 0;
|
||||||
|
margin: 1px .2em 0 0;
|
||||||
|
border-bottom-width: 0;
|
||||||
|
padding: 0;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
.ui-tabs .ui-tabs-nav .ui-tabs-anchor {
|
||||||
|
float: left;
|
||||||
|
padding: .5em 1em;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.ui-tabs .ui-tabs-nav li.ui-tabs-active {
|
||||||
|
margin-bottom: -1px;
|
||||||
|
padding-bottom: 1px;
|
||||||
|
}
|
||||||
|
.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,
|
||||||
|
.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,
|
||||||
|
.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {
|
||||||
|
cursor: text;
|
||||||
|
}
|
||||||
|
.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.ui-tabs .ui-tabs-panel {
|
||||||
|
display: block;
|
||||||
|
border-width: 0;
|
||||||
|
padding: 1em 1.4em;
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
.ui-tooltip {
|
||||||
|
padding: 8px;
|
||||||
|
position: absolute;
|
||||||
|
z-index: 9999;
|
||||||
|
max-width: 300px;
|
||||||
|
}
|
||||||
|
body .ui-tooltip {
|
||||||
|
border-width: 2px;
|
||||||
|
}
|
5
Workspace/server/WebContent/serving/statics/jquery/jquery-ui.structure.min.css
vendored
Normal file
443
Workspace/server/WebContent/serving/statics/jquery/jquery-ui.theme.css
vendored
Normal file
@ -0,0 +1,443 @@
|
|||||||
|
/*!
|
||||||
|
* jQuery UI CSS Framework 1.12.1
|
||||||
|
* http://jqueryui.com
|
||||||
|
*
|
||||||
|
* Copyright jQuery Foundation and other contributors
|
||||||
|
* Released under the MIT license.
|
||||||
|
* http://jquery.org/license
|
||||||
|
*
|
||||||
|
* http://api.jqueryui.com/category/theming/
|
||||||
|
*
|
||||||
|
* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/* Component containers
|
||||||
|
----------------------------------*/
|
||||||
|
.ui-widget {
|
||||||
|
font-family: Arial,Helvetica,sans-serif;
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
.ui-widget .ui-widget {
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
.ui-widget input,
|
||||||
|
.ui-widget select,
|
||||||
|
.ui-widget textarea,
|
||||||
|
.ui-widget button {
|
||||||
|
font-family: Arial,Helvetica,sans-serif;
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
.ui-widget.ui-widget-content {
|
||||||
|
border: 1px solid #c5c5c5;
|
||||||
|
}
|
||||||
|
.ui-widget-content {
|
||||||
|
border: 1px solid #dddddd;
|
||||||
|
background: #ffffff;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
.ui-widget-content a {
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
.ui-widget-header {
|
||||||
|
border: 1px solid #dddddd;
|
||||||
|
background: #e9e9e9;
|
||||||
|
color: #333333;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.ui-widget-header a {
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Interaction states
|
||||||
|
----------------------------------*/
|
||||||
|
.ui-state-default,
|
||||||
|
.ui-widget-content .ui-state-default,
|
||||||
|
.ui-widget-header .ui-state-default,
|
||||||
|
.ui-button,
|
||||||
|
|
||||||
|
/* We use html here because we need a greater specificity to make sure disabled
|
||||||
|
works properly when clicked or hovered */
|
||||||
|
html .ui-button.ui-state-disabled:hover,
|
||||||
|
html .ui-button.ui-state-disabled:active {
|
||||||
|
border: 1px solid #c5c5c5;
|
||||||
|
background: #f6f6f6;
|
||||||
|
font-weight: normal;
|
||||||
|
color: #454545;
|
||||||
|
}
|
||||||
|
.ui-state-default a,
|
||||||
|
.ui-state-default a:link,
|
||||||
|
.ui-state-default a:visited,
|
||||||
|
a.ui-button,
|
||||||
|
a:link.ui-button,
|
||||||
|
a:visited.ui-button,
|
||||||
|
.ui-button {
|
||||||
|
color: #454545;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.ui-state-hover,
|
||||||
|
.ui-widget-content .ui-state-hover,
|
||||||
|
.ui-widget-header .ui-state-hover,
|
||||||
|
.ui-state-focus,
|
||||||
|
.ui-widget-content .ui-state-focus,
|
||||||
|
.ui-widget-header .ui-state-focus,
|
||||||
|
.ui-button:hover,
|
||||||
|
.ui-button:focus {
|
||||||
|
border: 1px solid #cccccc;
|
||||||
|
background: #ededed;
|
||||||
|
font-weight: normal;
|
||||||
|
color: #2b2b2b;
|
||||||
|
}
|
||||||
|
.ui-state-hover a,
|
||||||
|
.ui-state-hover a:hover,
|
||||||
|
.ui-state-hover a:link,
|
||||||
|
.ui-state-hover a:visited,
|
||||||
|
.ui-state-focus a,
|
||||||
|
.ui-state-focus a:hover,
|
||||||
|
.ui-state-focus a:link,
|
||||||
|
.ui-state-focus a:visited,
|
||||||
|
a.ui-button:hover,
|
||||||
|
a.ui-button:focus {
|
||||||
|
color: #2b2b2b;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ui-visual-focus {
|
||||||
|
box-shadow: 0 0 3px 1px rgb(94, 158, 214);
|
||||||
|
}
|
||||||
|
.ui-state-active,
|
||||||
|
.ui-widget-content .ui-state-active,
|
||||||
|
.ui-widget-header .ui-state-active,
|
||||||
|
a.ui-button:active,
|
||||||
|
.ui-button:active,
|
||||||
|
.ui-button.ui-state-active:hover {
|
||||||
|
border: 1px solid #003eff;
|
||||||
|
background: #007fff;
|
||||||
|
font-weight: normal;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
.ui-icon-background,
|
||||||
|
.ui-state-active .ui-icon-background {
|
||||||
|
border: #003eff;
|
||||||
|
background-color: #ffffff;
|
||||||
|
}
|
||||||
|
.ui-state-active a,
|
||||||
|
.ui-state-active a:link,
|
||||||
|
.ui-state-active a:visited {
|
||||||
|
color: #ffffff;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Interaction Cues
|
||||||
|
----------------------------------*/
|
||||||
|
.ui-state-highlight,
|
||||||
|
.ui-widget-content .ui-state-highlight,
|
||||||
|
.ui-widget-header .ui-state-highlight {
|
||||||
|
border: 1px solid #dad55e;
|
||||||
|
background: #fffa90;
|
||||||
|
color: #777620;
|
||||||
|
}
|
||||||
|
.ui-state-checked {
|
||||||
|
border: 1px solid #dad55e;
|
||||||
|
background: #fffa90;
|
||||||
|
}
|
||||||
|
.ui-state-highlight a,
|
||||||
|
.ui-widget-content .ui-state-highlight a,
|
||||||
|
.ui-widget-header .ui-state-highlight a {
|
||||||
|
color: #777620;
|
||||||
|
}
|
||||||
|
.ui-state-error,
|
||||||
|
.ui-widget-content .ui-state-error,
|
||||||
|
.ui-widget-header .ui-state-error {
|
||||||
|
border: 1px solid #f1a899;
|
||||||
|
background: #fddfdf;
|
||||||
|
color: #5f3f3f;
|
||||||
|
}
|
||||||
|
.ui-state-error a,
|
||||||
|
.ui-widget-content .ui-state-error a,
|
||||||
|
.ui-widget-header .ui-state-error a {
|
||||||
|
color: #5f3f3f;
|
||||||
|
}
|
||||||
|
.ui-state-error-text,
|
||||||
|
.ui-widget-content .ui-state-error-text,
|
||||||
|
.ui-widget-header .ui-state-error-text {
|
||||||
|
color: #5f3f3f;
|
||||||
|
}
|
||||||
|
.ui-priority-primary,
|
||||||
|
.ui-widget-content .ui-priority-primary,
|
||||||
|
.ui-widget-header .ui-priority-primary {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.ui-priority-secondary,
|
||||||
|
.ui-widget-content .ui-priority-secondary,
|
||||||
|
.ui-widget-header .ui-priority-secondary {
|
||||||
|
opacity: .7;
|
||||||
|
filter:Alpha(Opacity=70); /* support: IE8 */
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
.ui-state-disabled,
|
||||||
|
.ui-widget-content .ui-state-disabled,
|
||||||
|
.ui-widget-header .ui-state-disabled {
|
||||||
|
opacity: .35;
|
||||||
|
filter:Alpha(Opacity=35); /* support: IE8 */
|
||||||
|
background-image: none;
|
||||||
|
}
|
||||||
|
.ui-state-disabled .ui-icon {
|
||||||
|
filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Icons
|
||||||
|
----------------------------------*/
|
||||||
|
|
||||||
|
/* states and images */
|
||||||
|
.ui-icon {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
}
|
||||||
|
.ui-icon,
|
||||||
|
.ui-widget-content .ui-icon {
|
||||||
|
background-image: url("images/ui-icons_444444_256x240.png");
|
||||||
|
}
|
||||||
|
.ui-widget-header .ui-icon {
|
||||||
|
background-image: url("images/ui-icons_444444_256x240.png");
|
||||||
|
}
|
||||||
|
.ui-state-hover .ui-icon,
|
||||||
|
.ui-state-focus .ui-icon,
|
||||||
|
.ui-button:hover .ui-icon,
|
||||||
|
.ui-button:focus .ui-icon {
|
||||||
|
background-image: url("images/ui-icons_555555_256x240.png");
|
||||||
|
}
|
||||||
|
.ui-state-active .ui-icon,
|
||||||
|
.ui-button:active .ui-icon {
|
||||||
|
background-image: url("images/ui-icons_ffffff_256x240.png");
|
||||||
|
}
|
||||||
|
.ui-state-highlight .ui-icon,
|
||||||
|
.ui-button .ui-state-highlight.ui-icon {
|
||||||
|
background-image: url("images/ui-icons_777620_256x240.png");
|
||||||
|
}
|
||||||
|
.ui-state-error .ui-icon,
|
||||||
|
.ui-state-error-text .ui-icon {
|
||||||
|
background-image: url("images/ui-icons_cc0000_256x240.png");
|
||||||
|
}
|
||||||
|
.ui-button .ui-icon {
|
||||||
|
background-image: url("images/ui-icons_777777_256x240.png");
|
||||||
|
}
|
||||||
|
|
||||||
|
/* positioning */
|
||||||
|
.ui-icon-blank { background-position: 16px 16px; }
|
||||||
|
.ui-icon-caret-1-n { background-position: 0 0; }
|
||||||
|
.ui-icon-caret-1-ne { background-position: -16px 0; }
|
||||||
|
.ui-icon-caret-1-e { background-position: -32px 0; }
|
||||||
|
.ui-icon-caret-1-se { background-position: -48px 0; }
|
||||||
|
.ui-icon-caret-1-s { background-position: -65px 0; }
|
||||||
|
.ui-icon-caret-1-sw { background-position: -80px 0; }
|
||||||
|
.ui-icon-caret-1-w { background-position: -96px 0; }
|
||||||
|
.ui-icon-caret-1-nw { background-position: -112px 0; }
|
||||||
|
.ui-icon-caret-2-n-s { background-position: -128px 0; }
|
||||||
|
.ui-icon-caret-2-e-w { background-position: -144px 0; }
|
||||||
|
.ui-icon-triangle-1-n { background-position: 0 -16px; }
|
||||||
|
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
|
||||||
|
.ui-icon-triangle-1-e { background-position: -32px -16px; }
|
||||||
|
.ui-icon-triangle-1-se { background-position: -48px -16px; }
|
||||||
|
.ui-icon-triangle-1-s { background-position: -65px -16px; }
|
||||||
|
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
|
||||||
|
.ui-icon-triangle-1-w { background-position: -96px -16px; }
|
||||||
|
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
|
||||||
|
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
|
||||||
|
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
|
||||||
|
.ui-icon-arrow-1-n { background-position: 0 -32px; }
|
||||||
|
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
|
||||||
|
.ui-icon-arrow-1-e { background-position: -32px -32px; }
|
||||||
|
.ui-icon-arrow-1-se { background-position: -48px -32px; }
|
||||||
|
.ui-icon-arrow-1-s { background-position: -65px -32px; }
|
||||||
|
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
|
||||||
|
.ui-icon-arrow-1-w { background-position: -96px -32px; }
|
||||||
|
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
|
||||||
|
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
|
||||||
|
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
|
||||||
|
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
|
||||||
|
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
|
||||||
|
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
|
||||||
|
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
|
||||||
|
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
|
||||||
|
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
|
||||||
|
.ui-icon-arrowthick-1-n { background-position: 1px -48px; }
|
||||||
|
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
|
||||||
|
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
|
||||||
|
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
|
||||||
|
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
|
||||||
|
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
|
||||||
|
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
|
||||||
|
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
|
||||||
|
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
|
||||||
|
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
|
||||||
|
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
|
||||||
|
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
|
||||||
|
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
|
||||||
|
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
|
||||||
|
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
|
||||||
|
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
|
||||||
|
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
|
||||||
|
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
|
||||||
|
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
|
||||||
|
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
|
||||||
|
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
|
||||||
|
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
|
||||||
|
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
|
||||||
|
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
|
||||||
|
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
|
||||||
|
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
|
||||||
|
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
|
||||||
|
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
|
||||||
|
.ui-icon-arrow-4 { background-position: 0 -80px; }
|
||||||
|
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
|
||||||
|
.ui-icon-extlink { background-position: -32px -80px; }
|
||||||
|
.ui-icon-newwin { background-position: -48px -80px; }
|
||||||
|
.ui-icon-refresh { background-position: -64px -80px; }
|
||||||
|
.ui-icon-shuffle { background-position: -80px -80px; }
|
||||||
|
.ui-icon-transfer-e-w { background-position: -96px -80px; }
|
||||||
|
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
|
||||||
|
.ui-icon-folder-collapsed { background-position: 0 -96px; }
|
||||||
|
.ui-icon-folder-open { background-position: -16px -96px; }
|
||||||
|
.ui-icon-document { background-position: -32px -96px; }
|
||||||
|
.ui-icon-document-b { background-position: -48px -96px; }
|
||||||
|
.ui-icon-note { background-position: -64px -96px; }
|
||||||
|
.ui-icon-mail-closed { background-position: -80px -96px; }
|
||||||
|
.ui-icon-mail-open { background-position: -96px -96px; }
|
||||||
|
.ui-icon-suitcase { background-position: -112px -96px; }
|
||||||
|
.ui-icon-comment { background-position: -128px -96px; }
|
||||||
|
.ui-icon-person { background-position: -144px -96px; }
|
||||||
|
.ui-icon-print { background-position: -160px -96px; }
|
||||||
|
.ui-icon-trash { background-position: -176px -96px; }
|
||||||
|
.ui-icon-locked { background-position: -192px -96px; }
|
||||||
|
.ui-icon-unlocked { background-position: -208px -96px; }
|
||||||
|
.ui-icon-bookmark { background-position: -224px -96px; }
|
||||||
|
.ui-icon-tag { background-position: -240px -96px; }
|
||||||
|
.ui-icon-home { background-position: 0 -112px; }
|
||||||
|
.ui-icon-flag { background-position: -16px -112px; }
|
||||||
|
.ui-icon-calendar { background-position: -32px -112px; }
|
||||||
|
.ui-icon-cart { background-position: -48px -112px; }
|
||||||
|
.ui-icon-pencil { background-position: -64px -112px; }
|
||||||
|
.ui-icon-clock { background-position: -80px -112px; }
|
||||||
|
.ui-icon-disk { background-position: -96px -112px; }
|
||||||
|
.ui-icon-calculator { background-position: -112px -112px; }
|
||||||
|
.ui-icon-zoomin { background-position: -128px -112px; }
|
||||||
|
.ui-icon-zoomout { background-position: -144px -112px; }
|
||||||
|
.ui-icon-search { background-position: -160px -112px; }
|
||||||
|
.ui-icon-wrench { background-position: -176px -112px; }
|
||||||
|
.ui-icon-gear { background-position: -192px -112px; }
|
||||||
|
.ui-icon-heart { background-position: -208px -112px; }
|
||||||
|
.ui-icon-star { background-position: -224px -112px; }
|
||||||
|
.ui-icon-link { background-position: -240px -112px; }
|
||||||
|
.ui-icon-cancel { background-position: 0 -128px; }
|
||||||
|
.ui-icon-plus { background-position: -16px -128px; }
|
||||||
|
.ui-icon-plusthick { background-position: -32px -128px; }
|
||||||
|
.ui-icon-minus { background-position: -48px -128px; }
|
||||||
|
.ui-icon-minusthick { background-position: -64px -128px; }
|
||||||
|
.ui-icon-close { background-position: -80px -128px; }
|
||||||
|
.ui-icon-closethick { background-position: -96px -128px; }
|
||||||
|
.ui-icon-key { background-position: -112px -128px; }
|
||||||
|
.ui-icon-lightbulb { background-position: -128px -128px; }
|
||||||
|
.ui-icon-scissors { background-position: -144px -128px; }
|
||||||
|
.ui-icon-clipboard { background-position: -160px -128px; }
|
||||||
|
.ui-icon-copy { background-position: -176px -128px; }
|
||||||
|
.ui-icon-contact { background-position: -192px -128px; }
|
||||||
|
.ui-icon-image { background-position: -208px -128px; }
|
||||||
|
.ui-icon-video { background-position: -224px -128px; }
|
||||||
|
.ui-icon-script { background-position: -240px -128px; }
|
||||||
|
.ui-icon-alert { background-position: 0 -144px; }
|
||||||
|
.ui-icon-info { background-position: -16px -144px; }
|
||||||
|
.ui-icon-notice { background-position: -32px -144px; }
|
||||||
|
.ui-icon-help { background-position: -48px -144px; }
|
||||||
|
.ui-icon-check { background-position: -64px -144px; }
|
||||||
|
.ui-icon-bullet { background-position: -80px -144px; }
|
||||||
|
.ui-icon-radio-on { background-position: -96px -144px; }
|
||||||
|
.ui-icon-radio-off { background-position: -112px -144px; }
|
||||||
|
.ui-icon-pin-w { background-position: -128px -144px; }
|
||||||
|
.ui-icon-pin-s { background-position: -144px -144px; }
|
||||||
|
.ui-icon-play { background-position: 0 -160px; }
|
||||||
|
.ui-icon-pause { background-position: -16px -160px; }
|
||||||
|
.ui-icon-seek-next { background-position: -32px -160px; }
|
||||||
|
.ui-icon-seek-prev { background-position: -48px -160px; }
|
||||||
|
.ui-icon-seek-end { background-position: -64px -160px; }
|
||||||
|
.ui-icon-seek-start { background-position: -80px -160px; }
|
||||||
|
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
|
||||||
|
.ui-icon-seek-first { background-position: -80px -160px; }
|
||||||
|
.ui-icon-stop { background-position: -96px -160px; }
|
||||||
|
.ui-icon-eject { background-position: -112px -160px; }
|
||||||
|
.ui-icon-volume-off { background-position: -128px -160px; }
|
||||||
|
.ui-icon-volume-on { background-position: -144px -160px; }
|
||||||
|
.ui-icon-power { background-position: 0 -176px; }
|
||||||
|
.ui-icon-signal-diag { background-position: -16px -176px; }
|
||||||
|
.ui-icon-signal { background-position: -32px -176px; }
|
||||||
|
.ui-icon-battery-0 { background-position: -48px -176px; }
|
||||||
|
.ui-icon-battery-1 { background-position: -64px -176px; }
|
||||||
|
.ui-icon-battery-2 { background-position: -80px -176px; }
|
||||||
|
.ui-icon-battery-3 { background-position: -96px -176px; }
|
||||||
|
.ui-icon-circle-plus { background-position: 0 -192px; }
|
||||||
|
.ui-icon-circle-minus { background-position: -16px -192px; }
|
||||||
|
.ui-icon-circle-close { background-position: -32px -192px; }
|
||||||
|
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
|
||||||
|
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
|
||||||
|
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
|
||||||
|
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
|
||||||
|
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
|
||||||
|
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
|
||||||
|
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
|
||||||
|
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
|
||||||
|
.ui-icon-circle-zoomin { background-position: -176px -192px; }
|
||||||
|
.ui-icon-circle-zoomout { background-position: -192px -192px; }
|
||||||
|
.ui-icon-circle-check { background-position: -208px -192px; }
|
||||||
|
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
|
||||||
|
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
|
||||||
|
.ui-icon-circlesmall-close { background-position: -32px -208px; }
|
||||||
|
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
|
||||||
|
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
|
||||||
|
.ui-icon-squaresmall-close { background-position: -80px -208px; }
|
||||||
|
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
|
||||||
|
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
|
||||||
|
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
|
||||||
|
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
|
||||||
|
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
|
||||||
|
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
|
||||||
|
|
||||||
|
|
||||||
|
/* Misc visuals
|
||||||
|
----------------------------------*/
|
||||||
|
|
||||||
|
/* Corner radius */
|
||||||
|
.ui-corner-all,
|
||||||
|
.ui-corner-top,
|
||||||
|
.ui-corner-left,
|
||||||
|
.ui-corner-tl {
|
||||||
|
border-top-left-radius: 3px;
|
||||||
|
}
|
||||||
|
.ui-corner-all,
|
||||||
|
.ui-corner-top,
|
||||||
|
.ui-corner-right,
|
||||||
|
.ui-corner-tr {
|
||||||
|
border-top-right-radius: 3px;
|
||||||
|
}
|
||||||
|
.ui-corner-all,
|
||||||
|
.ui-corner-bottom,
|
||||||
|
.ui-corner-left,
|
||||||
|
.ui-corner-bl {
|
||||||
|
border-bottom-left-radius: 3px;
|
||||||
|
}
|
||||||
|
.ui-corner-all,
|
||||||
|
.ui-corner-bottom,
|
||||||
|
.ui-corner-right,
|
||||||
|
.ui-corner-br {
|
||||||
|
border-bottom-right-radius: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Overlays */
|
||||||
|
.ui-widget-overlay {
|
||||||
|
background: #aaaaaa;
|
||||||
|
opacity: .3;
|
||||||
|
filter: Alpha(Opacity=30); /* support: IE8 */
|
||||||
|
}
|
||||||
|
.ui-widget-shadow {
|
||||||
|
-webkit-box-shadow: 0px 0px 5px #666666;
|
||||||
|
box-shadow: 0px 0px 5px #666666;
|
||||||
|
}
|
5
Workspace/server/WebContent/serving/statics/jquery/jquery-ui.theme.min.css
vendored
Normal file
2
Workspace/server/WebContent/serving/statics/jquery/jquery.min.js
vendored
Normal file
254
Workspace/server/WebContent/serving/statics/js/communication.js
Normal file
@ -0,0 +1,254 @@
|
|||||||
|
var MessageType = {
|
||||||
|
ERROR_QUERY: "ERROR_QUERY",
|
||||||
|
REFUSED_QUERY: "REFUSED_QUERY",
|
||||||
|
|
||||||
|
QUERY_SIMPLIFIED_PRODUCT_LIST: "QUERY_SIMPLIFIED_PRODUCT_LIST",
|
||||||
|
ACK_SIMPLIFIED_PRODUCT_LIST: "ACK_SIMPLIFIED_PRODUCT_LIST",
|
||||||
|
|
||||||
|
QUERY_ACCOUNT_LIST: "QUERY_ACCOUNT_LIST",
|
||||||
|
MSG_ACCOUNT_LIST: "MSG_ACCOUNT_LIST",
|
||||||
|
|
||||||
|
QUERY_CONNECT_ACCOUNT: "QUERY_CONNECT_ACCOUNT",
|
||||||
|
ACK_CONNECT_ACCOUNT: "ACK_CONNECT_ACCOUNT",
|
||||||
|
|
||||||
|
QUERY_SERVING_LIST: "QUERY_SERVING_LIST",
|
||||||
|
ACK_SERVING_LIST: "ACK_SERVING_LIST",
|
||||||
|
|
||||||
|
QUERY_SERVING_DONE: "QUERY_SERVING_DONE",
|
||||||
|
ACK_SERVING_DONE: "ACK_SERVING_DONE",
|
||||||
|
|
||||||
|
QUERY_SERVING_VERSION: "QUERY_SERVING_VERSION",
|
||||||
|
ACK_SERVING_VERSION: "ACK_SERVING_VERSION"
|
||||||
|
};
|
||||||
|
|
||||||
|
var permissionLevel = null;
|
||||||
|
var products = {};
|
||||||
|
var version = 0;
|
||||||
|
var autoUpdate = false;
|
||||||
|
var sales = [];
|
||||||
|
|
||||||
|
function getUser(){
|
||||||
|
return $('#server-login').val();
|
||||||
|
}
|
||||||
|
|
||||||
|
function getPassword() {
|
||||||
|
return $('#server-password').val();
|
||||||
|
}
|
||||||
|
|
||||||
|
function login() {
|
||||||
|
var user = getUser();
|
||||||
|
var password = getPassword();
|
||||||
|
console.log("connecting user " + user);
|
||||||
|
$.get(messageFactory(MessageType.QUERY_ACCOUNT_LIST, {}), function(data, status) {
|
||||||
|
// First get the permission level of the user
|
||||||
|
if (status === "success" && data['type'] === MessageType.MSG_ACCOUNT_LIST) {
|
||||||
|
var userList = JSON.parse(data['fields']['accounts']);
|
||||||
|
userList.forEach(function (value) {
|
||||||
|
if (value['username'] === user)
|
||||||
|
permissionLevel = value['permissionLevel'];
|
||||||
|
});
|
||||||
|
// Then finally login
|
||||||
|
if (permissionLevel !== "LOWEST") {
|
||||||
|
logout(true);
|
||||||
|
$.get(messageFactory(MessageType.QUERY_CONNECT_ACCOUNT, {
|
||||||
|
"desired_state": "true",
|
||||||
|
"account": JSON.stringify({
|
||||||
|
"username": user,
|
||||||
|
"password": password,
|
||||||
|
"permissionLevel": permissionLevel
|
||||||
|
})
|
||||||
|
}), function (data, status) {
|
||||||
|
if (status === "success") {
|
||||||
|
if (data['type'] === MessageType.REFUSED_QUERY) {
|
||||||
|
console.log("Wrong login or password");
|
||||||
|
sendError(decodeURIComponent(data['fields']['Detail_refus']));
|
||||||
|
} else {
|
||||||
|
updateProducts();
|
||||||
|
// Auto update
|
||||||
|
if (!autoUpdate) {
|
||||||
|
autoUpdate = true;
|
||||||
|
setInterval(function () {
|
||||||
|
updateSales();
|
||||||
|
}, 500);
|
||||||
|
}
|
||||||
|
$('#server-login').hide();
|
||||||
|
$('#server-password').hide();
|
||||||
|
$('#login-button').hide();
|
||||||
|
$('#logout-button').show();
|
||||||
|
$('#logged-user').show().empty().append(user);
|
||||||
|
$('#note-board').show();
|
||||||
|
Cookies.remove('pqtServerUsername');
|
||||||
|
Cookies.set('pqtServerUsername', user, {"expires": 30});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}, "json").fail(function () {
|
||||||
|
console.log("Failed to login");
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
console.log("Permission too low");
|
||||||
|
sendError("Votre compte n'est pas autorisé à accéder à cette application");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, "json").fail(function () {
|
||||||
|
console.log("Could not connect to the server");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function writeNote(container, sale) {
|
||||||
|
var noteContent = '';
|
||||||
|
Object.keys(sale['products']).forEach(function (key) {
|
||||||
|
noteContent += '<li><input id="order-' + sale['id'] + '-product-' + key +'" type="checkbox" onclick="completePartSale('+ sale['id'] + ', \'' + key.toString() + '\')"';
|
||||||
|
if (sale['serving'][key]) {
|
||||||
|
noteContent += ' checked ><del>';
|
||||||
|
} else noteContent += '>';
|
||||||
|
noteContent += products[key] + ' x ' + sale['products'][key];
|
||||||
|
if (sale['serving'][key])
|
||||||
|
noteContent += '</del>';
|
||||||
|
noteContent += '</input></li>';
|
||||||
|
});
|
||||||
|
container.html(container.html() +
|
||||||
|
'<li class="note">' +
|
||||||
|
'<div class="note-content">' +
|
||||||
|
|
||||||
|
'<button onclick="completeWholeSale(' + sale['id'] + ')" class="delete"><i class="material-icons">done</i></button>' +
|
||||||
|
'<h2>Commande #' + sale['id'] + '</h2>' +
|
||||||
|
'<form id="order-' + sale['id'] + '">' +
|
||||||
|
'<ul>' +
|
||||||
|
noteContent +
|
||||||
|
'</ul>' +
|
||||||
|
'</form>' +
|
||||||
|
'</div>' +
|
||||||
|
'</li>');
|
||||||
|
}
|
||||||
|
|
||||||
|
function findSaleById(id) {
|
||||||
|
var sale = null;
|
||||||
|
sales.forEach(function (s) {
|
||||||
|
if (s['id'] === id)
|
||||||
|
sale = s;
|
||||||
|
});
|
||||||
|
return sale;
|
||||||
|
}
|
||||||
|
|
||||||
|
function completeWholeSale(id) {
|
||||||
|
var sale = findSaleById(id);
|
||||||
|
if (sale != null) {
|
||||||
|
Object.keys(sale['serving']).forEach(function (key) {
|
||||||
|
sale['serving'][key] = true;
|
||||||
|
});
|
||||||
|
completeSale(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function completePartSale(id, productId) {
|
||||||
|
var sale = findSaleById(id);
|
||||||
|
console.log(id);
|
||||||
|
console.log(productId);
|
||||||
|
if (sale != null){
|
||||||
|
sale['serving'][productId] = $('#order-' + id + '-product-' + productId).is(':checked');
|
||||||
|
completeSale(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function completeSale(id) {
|
||||||
|
var sale = findSaleById(id);
|
||||||
|
if (sale != null){
|
||||||
|
$.get(messageFactory(MessageType.QUERY_SERVING_DONE, {"sale": JSON.stringify({
|
||||||
|
"id": sale['id'], "products": sale['serving']
|
||||||
|
})}), function (data, status) {
|
||||||
|
/* we do nothing */
|
||||||
|
}, "json").fail(function () {
|
||||||
|
sendError("Problème de communication avec le serveur");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function updateProducts() {
|
||||||
|
$.get(messageFactory(MessageType.QUERY_SIMPLIFIED_PRODUCT_LIST, {}), function (data, status) {
|
||||||
|
if (status === "success" && data['type'] === MessageType.ACK_SIMPLIFIED_PRODUCT_LIST){
|
||||||
|
var stock = JSON.parse(data['fields']['list']);
|
||||||
|
stock.forEach(function (value) {
|
||||||
|
products[value['id']] = value['name'];
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
console.log("Error updating product list");
|
||||||
|
}
|
||||||
|
}, "json").fail(function () {
|
||||||
|
sendError("Problème de communication avec le serveur");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function updateSales() {
|
||||||
|
$.get(messageFactory(MessageType.QUERY_SERVING_VERSION, {}), function (data, status) {
|
||||||
|
if (status === "success" && data['type'] === MessageType.ACK_SERVING_VERSION && Number(data['fields']['version']) > version){
|
||||||
|
version = Number(data['fields']['version']);
|
||||||
|
$.get(messageFactory(MessageType.QUERY_SERVING_LIST, {}), function (data, status) {
|
||||||
|
if (status === "success" && data['type'] === MessageType.ACK_SERVING_LIST){
|
||||||
|
var saleList = JSON.parse(data['fields']['sales']);
|
||||||
|
var displayBoard = $('#note-list');
|
||||||
|
|
||||||
|
// Keep up to date the list of sales
|
||||||
|
saleList.forEach(function (value) { sales[sales.length] = value;});
|
||||||
|
|
||||||
|
displayBoard.empty();
|
||||||
|
saleList.forEach(function (value) {
|
||||||
|
writeNote(displayBoard, value);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}, "json").fail(function () {
|
||||||
|
sendError("Problème de communication avec le serveur");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, "json").fail(function () {
|
||||||
|
sendError("Problème de communication avec le serveur");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function logout(silent) {
|
||||||
|
var user = getUser();
|
||||||
|
var password = getPassword();
|
||||||
|
$.get(messageFactory(MessageType.QUERY_CONNECT_ACCOUNT, {
|
||||||
|
"desired_state": "false",
|
||||||
|
"account": JSON.stringify({"username": user, "password": password, "permissionLevel": permissionLevel})
|
||||||
|
}), function (data, status) {
|
||||||
|
|
||||||
|
if (status === "success") {
|
||||||
|
if (data['type'] === MessageType.REFUSED_QUERY) {
|
||||||
|
console.log(data['fields']['Detail_refus']);
|
||||||
|
if (!silent)
|
||||||
|
sendError(data['fields']['Detail_refus']);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
permissionLevel = null;
|
||||||
|
$('#server-login').show();
|
||||||
|
$('#server-password').show();
|
||||||
|
$('#login-button').show();
|
||||||
|
$('#logout-button').hide();
|
||||||
|
$('#logged-user').hide();
|
||||||
|
$('#note-board').hide();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}, "json").fail(function () {
|
||||||
|
sendError("Problème de communication avec le serveur");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function sendError(message) {
|
||||||
|
$('#error-box').show().find('span:first-child').empty().append(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
function messageFactory(messageType, fieldMap) {
|
||||||
|
function encodeToUrl(message) {
|
||||||
|
return "/pqt-server/?format=UTF-8&message=" + encodeURIComponent(message);
|
||||||
|
}
|
||||||
|
var request = {
|
||||||
|
"fields": fieldMap,
|
||||||
|
"type": messageType,
|
||||||
|
"user": {"username": getUser(), "permissionLevel": permissionLevel}
|
||||||
|
};
|
||||||
|
console.log(JSON.stringify(request));
|
||||||
|
return encodeToUrl(JSON.stringify(request));
|
||||||
|
}
|
165
Workspace/server/WebContent/serving/statics/js/js.cookie.js
Normal file
@ -0,0 +1,165 @@
|
|||||||
|
/*!
|
||||||
|
* JavaScript Cookie v2.2.0
|
||||||
|
* https://github.com/js-cookie/js-cookie
|
||||||
|
*
|
||||||
|
* Copyright 2006, 2015 Klaus Hartl & Fagner Brack
|
||||||
|
* Released under the MIT license
|
||||||
|
*/
|
||||||
|
;(function (factory) {
|
||||||
|
var registeredInModuleLoader = false;
|
||||||
|
if (typeof define === 'function' && define.amd) {
|
||||||
|
define(factory);
|
||||||
|
registeredInModuleLoader = true;
|
||||||
|
}
|
||||||
|
if (typeof exports === 'object') {
|
||||||
|
module.exports = factory();
|
||||||
|
registeredInModuleLoader = true;
|
||||||
|
}
|
||||||
|
if (!registeredInModuleLoader) {
|
||||||
|
var OldCookies = window.Cookies;
|
||||||
|
var api = window.Cookies = factory();
|
||||||
|
api.noConflict = function () {
|
||||||
|
window.Cookies = OldCookies;
|
||||||
|
return api;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}(function () {
|
||||||
|
function extend () {
|
||||||
|
var i = 0;
|
||||||
|
var result = {};
|
||||||
|
for (; i < arguments.length; i++) {
|
||||||
|
var attributes = arguments[ i ];
|
||||||
|
for (var key in attributes) {
|
||||||
|
result[key] = attributes[key];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
function init (converter) {
|
||||||
|
function api (key, value, attributes) {
|
||||||
|
var result;
|
||||||
|
if (typeof document === 'undefined') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Write
|
||||||
|
|
||||||
|
if (arguments.length > 1) {
|
||||||
|
attributes = extend({
|
||||||
|
path: '/'
|
||||||
|
}, api.defaults, attributes);
|
||||||
|
|
||||||
|
if (typeof attributes.expires === 'number') {
|
||||||
|
var expires = new Date();
|
||||||
|
expires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5);
|
||||||
|
attributes.expires = expires;
|
||||||
|
}
|
||||||
|
|
||||||
|
// We're using "expires" because "max-age" is not supported by IE
|
||||||
|
attributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';
|
||||||
|
|
||||||
|
try {
|
||||||
|
result = JSON.stringify(value);
|
||||||
|
if (/^[\{\[]/.test(result)) {
|
||||||
|
value = result;
|
||||||
|
}
|
||||||
|
} catch (e) {}
|
||||||
|
|
||||||
|
if (!converter.write) {
|
||||||
|
value = encodeURIComponent(String(value))
|
||||||
|
.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);
|
||||||
|
} else {
|
||||||
|
value = converter.write(value, key);
|
||||||
|
}
|
||||||
|
|
||||||
|
key = encodeURIComponent(String(key));
|
||||||
|
key = key.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent);
|
||||||
|
key = key.replace(/[\(\)]/g, escape);
|
||||||
|
|
||||||
|
var stringifiedAttributes = '';
|
||||||
|
|
||||||
|
for (var attributeName in attributes) {
|
||||||
|
if (!attributes[attributeName]) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
stringifiedAttributes += '; ' + attributeName;
|
||||||
|
if (attributes[attributeName] === true) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
stringifiedAttributes += '=' + attributes[attributeName];
|
||||||
|
}
|
||||||
|
return (document.cookie = key + '=' + value + stringifiedAttributes);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Read
|
||||||
|
|
||||||
|
if (!key) {
|
||||||
|
result = {};
|
||||||
|
}
|
||||||
|
|
||||||
|
// To prevent the for loop in the first place assign an empty array
|
||||||
|
// in case there are no cookies at all. Also prevents odd result when
|
||||||
|
// calling "get()"
|
||||||
|
var cookies = document.cookie ? document.cookie.split('; ') : [];
|
||||||
|
var rdecode = /(%[0-9A-Z]{2})+/g;
|
||||||
|
var i = 0;
|
||||||
|
|
||||||
|
for (; i < cookies.length; i++) {
|
||||||
|
var parts = cookies[i].split('=');
|
||||||
|
var cookie = parts.slice(1).join('=');
|
||||||
|
|
||||||
|
if (!this.json && cookie.charAt(0) === '"') {
|
||||||
|
cookie = cookie.slice(1, -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
var name = parts[0].replace(rdecode, decodeURIComponent);
|
||||||
|
cookie = converter.read ?
|
||||||
|
converter.read(cookie, name) : converter(cookie, name) ||
|
||||||
|
cookie.replace(rdecode, decodeURIComponent);
|
||||||
|
|
||||||
|
if (this.json) {
|
||||||
|
try {
|
||||||
|
cookie = JSON.parse(cookie);
|
||||||
|
} catch (e) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (key === name) {
|
||||||
|
result = cookie;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!key) {
|
||||||
|
result[name] = cookie;
|
||||||
|
}
|
||||||
|
} catch (e) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
api.set = api;
|
||||||
|
api.get = function (key) {
|
||||||
|
return api.call(api, key);
|
||||||
|
};
|
||||||
|
api.getJSON = function () {
|
||||||
|
return api.apply({
|
||||||
|
json: true
|
||||||
|
}, [].slice.call(arguments));
|
||||||
|
};
|
||||||
|
api.defaults = {};
|
||||||
|
|
||||||
|
api.remove = function (key, attributes) {
|
||||||
|
api(key, '', extend(attributes, {
|
||||||
|
expires: -1
|
||||||
|
}));
|
||||||
|
};
|
||||||
|
|
||||||
|
api.withConverter = init;
|
||||||
|
|
||||||
|
return api;
|
||||||
|
}
|
||||||
|
|
||||||
|
return init(function () {});
|
||||||
|
}));
|
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"presets": ["es2015"]
|
||||||
|
}
|
1
Workspace/server/WebContent/serving/statics/material-design-icons/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
node_modules
|
202
Workspace/server/WebContent/serving/statics/material-design-icons/LICENSE
Executable file
@ -0,0 +1,202 @@
|
|||||||
|
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
APPENDIX: How to apply the Apache License to your work.
|
||||||
|
|
||||||
|
To apply the Apache License to your work, attach the following
|
||||||
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||||
|
replaced with your own identifying information. (Don't include
|
||||||
|
the brackets!) The text should be enclosed in the appropriate
|
||||||
|
comment syntax for the file format. We also recommend that a
|
||||||
|
file or class name and description of purpose be included on the
|
||||||
|
same "printed page" as the copyright notice for easier
|
||||||
|
identification within third-party archives.
|
||||||
|
|
||||||
|
Copyright [yyyy] [name of copyright owner]
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
After Width: | Height: | Size: 270 B |
After Width: | Height: | Size: 351 B |
After Width: | Height: | Size: 547 B |
After Width: | Height: | Size: 706 B |
After Width: | Height: | Size: 293 B |
After Width: | Height: | Size: 381 B |
After Width: | Height: | Size: 582 B |
After Width: | Height: | Size: 738 B |
After Width: | Height: | Size: 135 B |
After Width: | Height: | Size: 120 B |
After Width: | Height: | Size: 163 B |
After Width: | Height: | Size: 163 B |
After Width: | Height: | Size: 139 B |
After Width: | Height: | Size: 124 B |
After Width: | Height: | Size: 167 B |
After Width: | Height: | Size: 166 B |
After Width: | Height: | Size: 251 B |
After Width: | Height: | Size: 254 B |
After Width: | Height: | Size: 400 B |
After Width: | Height: | Size: 461 B |
After Width: | Height: | Size: 250 B |
After Width: | Height: | Size: 251 B |
After Width: | Height: | Size: 396 B |
After Width: | Height: | Size: 451 B |
After Width: | Height: | Size: 182 B |
After Width: | Height: | Size: 156 B |
After Width: | Height: | Size: 216 B |
After Width: | Height: | Size: 235 B |
After Width: | Height: | Size: 164 B |
After Width: | Height: | Size: 164 B |
After Width: | Height: | Size: 222 B |
After Width: | Height: | Size: 243 B |
After Width: | Height: | Size: 167 B |
After Width: | Height: | Size: 173 B |
After Width: | Height: | Size: 235 B |
After Width: | Height: | Size: 252 B |
After Width: | Height: | Size: 188 B |
After Width: | Height: | Size: 158 B |
After Width: | Height: | Size: 216 B |
After Width: | Height: | Size: 240 B |
After Width: | Height: | Size: 157 B |
After Width: | Height: | Size: 201 B |
After Width: | Height: | Size: 241 B |
After Width: | Height: | Size: 328 B |
After Width: | Height: | Size: 160 B |
After Width: | Height: | Size: 207 B |
After Width: | Height: | Size: 252 B |
After Width: | Height: | Size: 342 B |
After Width: | Height: | Size: 266 B |
After Width: | Height: | Size: 331 B |
After Width: | Height: | Size: 495 B |
After Width: | Height: | Size: 633 B |
After Width: | Height: | Size: 270 B |
After Width: | Height: | Size: 331 B |
After Width: | Height: | Size: 496 B |
After Width: | Height: | Size: 632 B |
After Width: | Height: | Size: 263 B |
After Width: | Height: | Size: 262 B |
After Width: | Height: | Size: 400 B |
After Width: | Height: | Size: 479 B |
After Width: | Height: | Size: 279 B |
After Width: | Height: | Size: 273 B |
After Width: | Height: | Size: 409 B |
After Width: | Height: | Size: 494 B |
After Width: | Height: | Size: 320 B |
After Width: | Height: | Size: 368 B |