mirror of
https://github.com/Armored-Dragon/overte.git
synced 2025-03-11 16:13:16 +01:00
Inital version of reworked explore
This commit is contained in:
parent
e3d4856415
commit
d10f02d02e
10 changed files with 560 additions and 954 deletions
|
@ -1,178 +0,0 @@
|
|||
<!--
|
||||
// addLocation.html
|
||||
//
|
||||
// Created by Darlingnotin in 2019.
|
||||
// Copyright 2019 Darlingnotin
|
||||
//
|
||||
// Distributed under the ISC license.
|
||||
// See the accompanying file LICENSE or https://opensource.org/licenses/ISC
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>Explore</title>
|
||||
<link href="bootstrap.min.css" rel="stylesheet">
|
||||
<style>
|
||||
.myButton {
|
||||
box-shadow: 3px 4px 0px 0px #899599;
|
||||
background: linear-gradient(to bottom, #ededed 5%, #bab1ba 100%);
|
||||
background-color: #ededed;
|
||||
border-radius: 15px;
|
||||
border: 1px solid #d6bcd6;
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
color: #3a8a9e;
|
||||
font-family: Arial;
|
||||
font-size: 17px;
|
||||
padding: 2px 19px;
|
||||
text-decoration: none;
|
||||
text-shadow: 0px 1px 0px #e1e2ed;
|
||||
}
|
||||
|
||||
.myButton:hover {
|
||||
background: linear-gradient(to bottom, #bab1ba 5%, #ededed 100%);
|
||||
background-color: #bab1ba;
|
||||
}
|
||||
|
||||
.myButton:active {
|
||||
position: relative;
|
||||
top: 1px;
|
||||
}
|
||||
|
||||
.myButtonB {
|
||||
box-shadow: 3px 4px 0px 0px #899599;
|
||||
background: linear-gradient(to bottom, #ededed 5%, #bab1ba 100%);
|
||||
background-color: #ededed;
|
||||
border-radius: 15px;
|
||||
border: 1px solid #d6bcd6;
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
color: #3a8a9e;
|
||||
font-family: Arial;
|
||||
font-size: 17px;
|
||||
padding: 2px 19px;
|
||||
text-decoration: none;
|
||||
text-shadow: 0px 1px 0px #e1e2ed;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.myButtonB:hover {
|
||||
background: linear-gradient(to bottom, #bab1ba 5%, #ededed 100%);
|
||||
background-color: #bab1ba;
|
||||
}
|
||||
|
||||
.myButtonB:active {
|
||||
position: relative;
|
||||
top: 1px;
|
||||
}
|
||||
|
||||
table {
|
||||
font-family: arial, sans-serif;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
td,
|
||||
th {
|
||||
border: 1px solid #dddddd;
|
||||
text-align: left;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
tr:nth-child(even) {
|
||||
background-color: #EFEFEF;
|
||||
}
|
||||
|
||||
input[type=text],
|
||||
select {
|
||||
width: 450px;
|
||||
padding: 12px 20px;
|
||||
margin: 8px 0;
|
||||
display: inline-block;
|
||||
border: 1px solid #dddddd;
|
||||
border-radius: 4px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body onload="retrieveInformation()">
|
||||
|
||||
<h1>Add Location</h1><br>
|
||||
<h3>Location List Provider URL</h3>
|
||||
<select id="javascriptURL">
|
||||
</select>
|
||||
|
||||
<h3>Domain Name</h3>
|
||||
<input type="text" id="domainName" placeholder="Enter Domain Name here">
|
||||
|
||||
<h3>Owner</h3>
|
||||
<input type="text" id="owner" placeholder="Enter Owner here">
|
||||
|
||||
<h3>Port</h3>
|
||||
<input type="text" id="port" placeholder="Enter Port here (default 40102)"><br><br>
|
||||
|
||||
<button class="myButton" onclick="addLocation()">Add</button>
|
||||
|
||||
<script>
|
||||
var retrievePortInformationResponse;
|
||||
var metaverseProviderList = [];
|
||||
function retrieveInformation() {
|
||||
var readyEvent = {
|
||||
"action": "retrievePortInformation",
|
||||
};
|
||||
EventBridge.emitWebEvent(JSON.stringify(readyEvent));
|
||||
}
|
||||
|
||||
function addToSelect() {
|
||||
for (let i = 0; i < metaverseProviderList.length; i++) {
|
||||
var x = document.getElementById("javascriptURL");
|
||||
var option = document.createElement("option");
|
||||
option.text = metaverseProviderList[i];
|
||||
x.add(option);
|
||||
}
|
||||
}
|
||||
|
||||
function addLocation() {
|
||||
var domainName = document.getElementById("domainName").value;
|
||||
if (domainName == "") {
|
||||
domainName = "Enter domain name";
|
||||
}
|
||||
var owner = document.getElementById("owner").value;
|
||||
if (owner == "") {
|
||||
owner = "Enter owner of domain";
|
||||
}
|
||||
var port = document.getElementById("port").value;
|
||||
var javascriptURL = document.getElementById("javascriptURL").value;
|
||||
if (port == "") {
|
||||
port = 40102;
|
||||
}
|
||||
var readyEvent = {
|
||||
"action": "addLocation",
|
||||
"domainName": domainName,
|
||||
"owner": owner,
|
||||
"Port": port,
|
||||
"script": javascriptURL
|
||||
};
|
||||
EventBridge.emitWebEvent(JSON.stringify(readyEvent));
|
||||
}
|
||||
|
||||
EventBridge.scriptEventReceived.connect(function (message) {
|
||||
var messageData = JSON.parse(message);
|
||||
if (messageData.action == "retrievePortInformationResponse") {
|
||||
retrievePortInformationResponse = messageData.goToAddresses;
|
||||
for (let i = 0; i < retrievePortInformationResponse.length; i++) {
|
||||
metaverseProvider = retrievePortInformationResponse[i].split("/")[2].split(":")[0];
|
||||
metaverseProviderList[metaverseProviderList.length] = "https://" + metaverseProvider + "/interim/d-goto/app/decentralizedGoToServerScript.js";
|
||||
}
|
||||
addToSelect();
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
</bodyonload="retrieveAddressList()">
|
||||
|
||||
</html>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,59 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="Layer_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 50 50"
|
||||
style="enable-background:new 0 0 50 50;"
|
||||
xml:space="preserve"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)"
|
||||
sodipodi:docname="explore-a.svg"><metadata
|
||||
id="metadata18"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs16" /><sodipodi:namedview
|
||||
pagecolor="#ff0000"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1062"
|
||||
inkscape:window-height="481"
|
||||
id="namedview14"
|
||||
showgrid="false"
|
||||
inkscape:zoom="4.72"
|
||||
inkscape:cx="29.375221"
|
||||
inkscape:cy="25"
|
||||
inkscape:window-x="759"
|
||||
inkscape:window-y="32"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="Layer_1" /><style
|
||||
type="text/css"
|
||||
id="style3">
|
||||
.st0{fill:#FFFFFF;}
|
||||
</style><g
|
||||
id="Layer_2" /><g
|
||||
style="display:inline;fill:#aaccff;stroke:#000000"
|
||||
id="g5138"
|
||||
transform="matrix(0.09456523,0,0,0.09456523,5.5165215,5.1539559)"><path
|
||||
id="path5124"
|
||||
d="m 209,15 a 195,195 0 1 0 2,0 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#aaccff;stroke-width:26" /><path
|
||||
id="path5126"
|
||||
d="M 210,15 V 405 M 405,210 H 15 M 59,90 a 260,260 0 0 0 302,0 m 0,240 A 260,260 0 0 0 59,330 M 195,20 a 250,250 0 0 0 0,382 m 30,0 a 250,250 0 0 0 0,-382"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#aaccff;stroke-width:18" /></g></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M17.9,17.39C17.64,16.59 16.89,16 16,16H15V13A1,1 0 0,0 14,12H8V10H10A1,1 0 0,0 11,9V7H13A2,2 0 0,0 15,5V4.59C17.93,5.77 20,8.64 20,12C20,14.08 19.2,15.97 17.9,17.39M11,19.93C7.05,19.44 4,16.08 4,12C4,11.38 4.08,10.78 4.21,10.21L9,15V16A2,2 0 0,0 11,18M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z" /></svg>
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 622 B |
|
@ -1,59 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="Layer_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 50 50"
|
||||
style="enable-background:new 0 0 50 50;"
|
||||
xml:space="preserve"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)"
|
||||
sodipodi:docname="explore-a.svg"><metadata
|
||||
id="metadata18"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs16" /><sodipodi:namedview
|
||||
pagecolor="#ff0000"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1062"
|
||||
inkscape:window-height="481"
|
||||
id="namedview14"
|
||||
showgrid="false"
|
||||
inkscape:zoom="4.72"
|
||||
inkscape:cx="29.375221"
|
||||
inkscape:cy="25"
|
||||
inkscape:window-x="759"
|
||||
inkscape:window-y="32"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="Layer_1" /><style
|
||||
type="text/css"
|
||||
id="style3">
|
||||
.st0{fill:#FFFFFF;}
|
||||
</style><g
|
||||
id="Layer_2" /><g
|
||||
style="display:inline;fill:#aaccff;stroke:#FFFFFF"
|
||||
id="g5138"
|
||||
transform="matrix(0.09456523,0,0,0.09456523,5.5165215,5.1539559)"><path
|
||||
id="path5124"
|
||||
d="m 209,15 a 195,195 0 1 0 2,0 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#aaccff;stroke-width:26" /><path
|
||||
id="path5126"
|
||||
d="M 210,15 V 405 M 405,210 H 15 M 59,90 a 260,260 0 0 0 302,0 m 0,240 A 260,260 0 0 0 59,330 M 195,20 a 250,250 0 0 0 0,382 m 30,0 a 250,250 0 0 0 0,-382"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#aaccff;stroke-width:18" /></g></svg>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24">
|
||||
<path fill="#ffffff" d="M17.9,17.39C17.64,16.59 16.89,16 16,16H15V13A1,1 0 0,0 14,12H8V10H10A1,1 0 0,0 11,9V7H13A2,2 0 0,0 15,5V4.59C17.93,5.77 20,8.64 20,12C20,14.08 19.2,15.97 17.9,17.39M11,19.93C7.05,19.44 4,16.08 4,12C4,11.38 4.08,10.78 4.21,10.21L9,15V16A2,2 0 0,0 11,18M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z" />
|
||||
</svg>
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 649 B |
|
@ -1,188 +1,562 @@
|
|||
<!--
|
||||
// explore.html
|
||||
//
|
||||
// Created by Darlingnotin in 2019.
|
||||
// Copyright 2019 Darlingnotin
|
||||
//
|
||||
// Distributed under the ISC license.
|
||||
// See the accompanying file LICENSE or https://opensource.org/licenses/ISC
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>Explore</title>
|
||||
<link href="bootstrap.min.css" rel="stylesheet">
|
||||
<link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900" rel="stylesheet">
|
||||
<link href="https://cdn.jsdelivr.net/npm/@mdi/font@5.x/css/materialdesignicons.min.css" rel="stylesheet">
|
||||
<link href="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.min.css" rel="stylesheet">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui">
|
||||
<style>
|
||||
.myButton {
|
||||
box-shadow: 3px 4px 0px 0px #899599;
|
||||
background: linear-gradient(to bottom, #ededed 5%, #bab1ba 100%);
|
||||
background-color: #ededed;
|
||||
border-radius: 15px;
|
||||
border: 1px solid #d6bcd6;
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
color: #3a8a9e;
|
||||
font-family: Arial;
|
||||
font-size: 17px;
|
||||
padding: 2px 19px;
|
||||
text-decoration: none;
|
||||
text-shadow: 0px 1px 0px #e1e2ed;
|
||||
html {
|
||||
overflow: hidden;
|
||||
background: black;
|
||||
}
|
||||
|
||||
.myButton:hover {
|
||||
background: linear-gradient(to bottom, #bab1ba 5%, #ededed 100%);
|
||||
background-color: #bab1ba;
|
||||
}
|
||||
|
||||
.myButton:active {
|
||||
position: relative;
|
||||
top: 1px;
|
||||
}
|
||||
|
||||
table {
|
||||
font-family: arial, sans-serif;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
td,
|
||||
th {
|
||||
border: 1px solid #dddddd;
|
||||
text-align: left;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
tr:nth-child(even) {
|
||||
background-color: #EFEFEF;
|
||||
}
|
||||
|
||||
input[type=text],
|
||||
select {
|
||||
width: 100%;
|
||||
padding: 12px 20px;
|
||||
margin: 8px 0;
|
||||
display: inline-block;
|
||||
border: 1px solid #dddddd;
|
||||
border-radius: 4px;
|
||||
box-sizing: border-box;
|
||||
#component-templates {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
<!--<script src="js/TestEventBridge.js"></script>-->
|
||||
</head>
|
||||
<body>
|
||||
<div id="component-templates">
|
||||
<div id="add-location-template">
|
||||
<v-dialog v-model="dialog" fullscreen hide-overlay transition="dialog-bottom-transition">
|
||||
<template v-slot:activator="{ on, attrs }">
|
||||
<v-btn v-show="permission" value="animations" v-bind="attrs" v-on="on" fab small>
|
||||
<v-icon color="purple">mdi-map-plus</v-icon>
|
||||
</v-btn>
|
||||
</template>
|
||||
<v-card>
|
||||
<v-toolbar dark color="purple">
|
||||
<v-btn icon dark @click="closeDialog();">
|
||||
<v-icon>mdi-close</v-icon>
|
||||
</v-btn>
|
||||
<v-toolbar-title>Add Location</v-toolbar-title>
|
||||
<v-spacer></v-spacer>
|
||||
<v-toolbar-items>
|
||||
<v-btn dark text @click="addLocation()">Save</v-btn>
|
||||
</v-toolbar-items>
|
||||
</v-toolbar>
|
||||
<v-card-text>
|
||||
<v-container>
|
||||
<v-form ref="form"
|
||||
v-model="valid"
|
||||
lazy-validation>
|
||||
<v-row>
|
||||
<v-col cols="12" sm="6" md="4">
|
||||
<v-text-field v-model="domainName" :rules="domainNameRules" label="Domain Display Name *" required hint="This is the name that shows on the listing" persistent-hint></v-text-field>
|
||||
</v-col>
|
||||
<v-col cols="12" sm="6" md="4">
|
||||
<v-text-field v-model="owner" :rules="ownerRules" label="Owner *" hint="Owner name to show in listing" required persistent-hint></v-text-field>
|
||||
</v-col>
|
||||
<v-col cols="12">
|
||||
<v-text-field v-model="port" :rules="portRules" label="Port *" hint="Domain server port number (default 40102)" required persistent-hint></v-text-field>
|
||||
</v-col>
|
||||
<v-col cols="12">
|
||||
<v-select v-model="locationProvider" :rules="locationProviderRules" :items="locationProviders"
|
||||
label="Location Provider *" required persistent-hint hint="The location provider to use when adding domain."></v-select>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-form>
|
||||
</v-container>
|
||||
<small>*indicates required field</small>
|
||||
</v-card-text>
|
||||
<v-card-text>
|
||||
When you add a location, you are actually creating a location beacon wherever you are currently standing. By default this will show up as a red cube.
|
||||
If you need to amend the details of your listing at a later date, simply open the Create app in your domain, find the entity with name like "Explore Marker (Your domain name)"
|
||||
and modify it's userData values.
|
||||
You can also hide the marker easily by setting the entities Alpha to 0.00
|
||||
</v-card-text>
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
</div>
|
||||
<div id="add-bookmark-template"></div>
|
||||
<div id="explore-template">
|
||||
<div>
|
||||
<v-container fluid class="pa-0">
|
||||
<v-data-iterator :items="items"
|
||||
:items-per-page.sync="itemsPerPage"
|
||||
:page.sync="page"
|
||||
:search="search"
|
||||
:sort-by="sortBy"
|
||||
:sort-desc="sortDesc"
|
||||
:loading="loading"
|
||||
@page-count="pageCount = $event"
|
||||
hide-default-footer>
|
||||
<template v-slot:header>
|
||||
<v-row dense>
|
||||
<v-col cols="7"
|
||||
sm="6"
|
||||
md="5"
|
||||
lg="3">
|
||||
<v-text-field v-model="visit" clearable
|
||||
flat
|
||||
solo-inverted
|
||||
hide-details
|
||||
label="Visit"
|
||||
class="pb-3"
|
||||
append-icon="mdi-location-enter"
|
||||
@click:append="visitIconCallback">
|
||||
|
||||
<body onload="retrieveAddressList()">
|
||||
</v-text-field>
|
||||
</v-col>
|
||||
<v-col cols="5"
|
||||
sm="6"
|
||||
md="4"
|
||||
lg="3">
|
||||
<v-text-field v-model="search"
|
||||
clearable
|
||||
flat
|
||||
solo-inverted
|
||||
hide-details
|
||||
label="Search"
|
||||
class="pb-3"></v-text-field>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</template>
|
||||
|
||||
<h3>Explore</h3>
|
||||
<template v-slot:default="props">
|
||||
<v-row dense>
|
||||
<v-col v-for="item in props.items"
|
||||
:key="item.name"
|
||||
cols="12"
|
||||
sm="6"
|
||||
md="4"
|
||||
lg="3">
|
||||
<v-card hover @click.native="openLocation(item['Visit'])">
|
||||
<!--<v-card-title class="headline">{{ item["Domain Name"] }}</v-card-title>-->
|
||||
<div class="d-flex flex-no-wrap justify-space-between">
|
||||
<div>
|
||||
<v-card-title class="text-h6 d-block text-truncate pa-2" v-text="item['Domain Name']" style="max-width: 400px;"></v-card-title>
|
||||
<v-card-subtitle class="pa-2 d-block text-truncate" style="max-width: 400px;" v-text="item.Owner"></v-card-subtitle>
|
||||
</div>
|
||||
<div style="text-align: right;">
|
||||
<v-card-title class="" v-text="item['People']"></v-card-title>
|
||||
</div>
|
||||
</div>
|
||||
</v-card>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</template>
|
||||
|
||||
<input type="text" id="domainAddressInput" placeholder="Type domain address here">
|
||||
<template v-slot:footer>
|
||||
<v-footer absolute dense class="font-weight-medium " color="black">
|
||||
<v-col class="text-center pa-0"
|
||||
cols="12">
|
||||
<v-pagination v-model="page"
|
||||
color="purple"
|
||||
:total-visible="8"
|
||||
:length="pageCount"
|
||||
prev-icon="mdi-menu-left"
|
||||
next-icon="mdi-menu-right"></v-pagination>
|
||||
</v-col>
|
||||
|
||||
<button class="myButton" onclick="myDomainAddressInputGoTo()">Visit</button>
|
||||
|
||||
<p id="showData"></p>
|
||||
</v-footer>
|
||||
</template>
|
||||
</v-data-iterator>
|
||||
</v-container>
|
||||
</div>
|
||||
</div>
|
||||
<div id="bookmarks-template">
|
||||
<div>
|
||||
<v-container fluid class="pa-0">
|
||||
<v-data-iterator :items="items"
|
||||
:items-per-page.sync="itemsPerPage"
|
||||
:page.sync="page"
|
||||
:search="search"
|
||||
:sort-by="sortBy"
|
||||
:sort-desc="sortDesc"
|
||||
:loading="loading"
|
||||
@page-count="pageCount = $event"
|
||||
hide-default-footer>
|
||||
<template v-slot:header>
|
||||
<v-row dense>
|
||||
<v-col cols="12"
|
||||
sm="6"
|
||||
md="4"
|
||||
lg="3">
|
||||
<v-text-field v-model="search"
|
||||
clearable
|
||||
flat
|
||||
solo-inverted
|
||||
hide-details
|
||||
label="Search"
|
||||
class="pb-3"></v-text-field>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</template>
|
||||
|
||||
<p id="addLocation"></p>
|
||||
<template v-slot:default="props">
|
||||
<v-row dense>
|
||||
<v-col v-for="item in props.items"
|
||||
:key="item.name"
|
||||
cols="12"
|
||||
sm="6"
|
||||
md="4"
|
||||
lg="3">
|
||||
<v-card hover @click.native="openLocation(item['location'])">
|
||||
<div class="d-flex flex-no-wrap justify-space-between">
|
||||
<div>
|
||||
<v-card-title class="text-h6 d-block text-truncate pa-2" v-text="item['name']" style="max-width: 400px;"></v-card-title>
|
||||
</div>
|
||||
</div>
|
||||
</v-card>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</template>
|
||||
|
||||
<template v-slot:footer>
|
||||
<v-footer absolute dense class="font-weight-medium " color="black">
|
||||
<v-col class="text-center pa-0"
|
||||
cols="12">
|
||||
<v-pagination v-model="page"
|
||||
color="purple"
|
||||
:total-visible="8"
|
||||
:length="pageCount"
|
||||
prev-icon="mdi-menu-left"
|
||||
next-icon="mdi-menu-right"></v-pagination>
|
||||
</v-col>
|
||||
|
||||
</v-footer>
|
||||
</template>
|
||||
</v-data-iterator>
|
||||
</v-container>
|
||||
</div>
|
||||
</div>
|
||||
<div id="events-template">
|
||||
<div>events from template</div>
|
||||
</div>
|
||||
<div id="settings-template">
|
||||
<div>settings from template</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="app">
|
||||
<v-app>
|
||||
<div>
|
||||
<v-app-bar dark dense>
|
||||
<v-toolbar-title>Explore</v-toolbar-title>
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn v-show="isHomeSet" value="animations" fab small @click="navigateHome()">
|
||||
<v-icon color="purple">mdi-home</v-icon>
|
||||
</v-btn>
|
||||
<v-btn value="animations" fab small @click="navigateBack()">
|
||||
<v-icon color="purple">mdi-arrow-left-bold</v-icon>
|
||||
</v-btn>
|
||||
<v-btn value="animations" fab small @click="navigateForward()">
|
||||
<v-icon color="purple">mdi-arrow-right-bold</v-icon>
|
||||
</v-btn>
|
||||
<!--<v-btn value="animations" fab small>
|
||||
<v-icon color="purple">mdi-map-marker-plus</v-icon>
|
||||
</v-btn>-->
|
||||
<add-location ref="addLocation" :permission="permission"></add-location>
|
||||
</v-app-bar>
|
||||
</div>
|
||||
<v-main>
|
||||
<v-container>
|
||||
<router-view></router-view>
|
||||
</v-container>
|
||||
</v-main>
|
||||
<v-bottom-navigation grow color="purple lighten-1" shift v-model="activeItem">
|
||||
<v-btn value="explore" :to="{ path: '/'}">
|
||||
<span>Explore</span>
|
||||
<v-icon>mdi-map-search-outline</v-icon>
|
||||
</v-btn>
|
||||
<!--<v-btn value="bookmarks" :to="{ path: '/bookmarks'}">
|
||||
<span>Bookmarks</span>
|
||||
<v-icon>mdi-map-marker</v-icon>
|
||||
</v-btn>-->
|
||||
<!--<v-btn value="events" :to="{ path: '/events'}" >
|
||||
<span>Events</span>
|
||||
<v-icon>mdi-calendar-month</v-icon>
|
||||
</v-btn>-->
|
||||
<!--<v-btn value="settings" :to="{ path: '/settings'}">
|
||||
<span>Settings</span>
|
||||
<v-icon>mdi-cog</v-icon>
|
||||
</v-btn>-->
|
||||
</v-bottom-navigation>
|
||||
</v-app>
|
||||
</div>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/vue@2.x/dist/vue.js"></script>
|
||||
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.js"></script>
|
||||
|
||||
<!--<script src="js/testData.js"></script>-->
|
||||
|
||||
<script>
|
||||
var exploreComponent = null;
|
||||
var locationData = null;
|
||||
function getAddressListData(component) {
|
||||
exploreComponent = component;
|
||||
|
||||
function myDomainAddressInputGoTo() {
|
||||
var hifiUrl = document.getElementById("domainAddressInput").value;
|
||||
if (hifiUrl != "") {
|
||||
var readyEvent = {
|
||||
"action": "goToUrl",
|
||||
"visit": hifiUrl,
|
||||
};
|
||||
EventBridge.emitWebEvent(JSON.stringify(readyEvent));
|
||||
if (locationData != null) {
|
||||
exploreComponent.updateData(locationData);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
function navigateTo(url) {
|
||||
var readyEvent = {
|
||||
"action": "goToUrl",
|
||||
"visit": url,
|
||||
};
|
||||
EventBridge.emitWebEvent(JSON.stringify(readyEvent));
|
||||
}
|
||||
|
||||
function retrieveAddressList() {
|
||||
var readyEvent = {
|
||||
"action": "requestAddressList",
|
||||
};
|
||||
EventBridge.emitWebEvent(JSON.stringify(readyEvent));
|
||||
}
|
||||
|
||||
EventBridge.scriptEventReceived.connect(function (message) {
|
||||
var messageData = JSON.parse(message);
|
||||
if (messageData.action == "addressList") {
|
||||
myAddress = messageData.myAddress;
|
||||
createTableFromJSON();
|
||||
if (messageData.permission) {
|
||||
document.getElementById("addLocation").innerHTML = "<button class=\"myButton\" onclick=\"window.location.href = 'addLocation.html';\">Add Location To Explore</button>";
|
||||
var bookmarksComponent = null;
|
||||
var bookmarksData = null;
|
||||
function getBookmarkListData(component) {
|
||||
bookmarksComponent = component;
|
||||
|
||||
if (bookmarksData != null) {
|
||||
bookmarksComponent.updateData(bookmarksData);
|
||||
return;
|
||||
}
|
||||
|
||||
var readyEvent = {
|
||||
"action": "requestBookmarksList",
|
||||
};
|
||||
EventBridge.emitWebEvent(JSON.stringify(readyEvent));
|
||||
}
|
||||
|
||||
var addLocationComponent = null;
|
||||
var addLocationData = null;
|
||||
function getAddLocationData(component) {
|
||||
addLocationComponent = component;
|
||||
|
||||
if (addLocationData != null) {
|
||||
addLocationComponent.updateData(addLocationData);
|
||||
return;
|
||||
}
|
||||
|
||||
var readyEvent = {
|
||||
"action": "retrievePortInformation",
|
||||
};
|
||||
EventBridge.emitWebEvent(JSON.stringify(readyEvent));
|
||||
}
|
||||
|
||||
const Explore = {
|
||||
data() {
|
||||
return {
|
||||
loading: true,
|
||||
search: '',
|
||||
visit: '',
|
||||
filter: {},
|
||||
sortDesc: true,
|
||||
page: 1,
|
||||
pageCount: 0,
|
||||
itemsPerPage: 6,
|
||||
sortBy: 'People',
|
||||
items: [],
|
||||
}
|
||||
},
|
||||
template: document.getElementById("explore-template").innerHTML,
|
||||
created() {
|
||||
this.fetchData();
|
||||
},
|
||||
methods: {
|
||||
openLocation(url) {
|
||||
var readyEvent = {
|
||||
"action": "goToUrl",
|
||||
"visit": url,
|
||||
};
|
||||
EventBridge.emitWebEvent(JSON.stringify(readyEvent));
|
||||
},
|
||||
visitIconCallback() {
|
||||
if (this.visit !== "") {
|
||||
this.openLocation(this.visit);
|
||||
}
|
||||
},
|
||||
fetchData() {
|
||||
this.error = this.post = null;
|
||||
this.loading = true;
|
||||
getAddressListData(this);
|
||||
},
|
||||
updateData(data) {
|
||||
this.items = data;
|
||||
this.loading = false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const Bookmarks =
|
||||
{
|
||||
data() {
|
||||
return {
|
||||
loading: true,
|
||||
search: '',
|
||||
visit: '',
|
||||
filter: {},
|
||||
sortDesc: true,
|
||||
page: 1,
|
||||
pageCount: 0,
|
||||
itemsPerPage: 6,
|
||||
sortBy: 'name',
|
||||
items: [], //testLocationData,
|
||||
}
|
||||
},
|
||||
template: document.getElementById("bookmarks-template").innerHTML,
|
||||
created() {
|
||||
this.fetchData();
|
||||
},
|
||||
methods: {
|
||||
openLocation(url) {
|
||||
var readyEvent = {
|
||||
"action": "goToUrl",
|
||||
"visit": url,
|
||||
};
|
||||
EventBridge.emitWebEvent(JSON.stringify(readyEvent));
|
||||
},
|
||||
fetchData() {
|
||||
this.error = this.post = null;
|
||||
this.loading = true;
|
||||
getBookmarkListData(this);
|
||||
},
|
||||
updateData(data) {
|
||||
this.items = data;
|
||||
this.loading = false;
|
||||
}
|
||||
}
|
||||
};
|
||||
const Events = { template: document.getElementById("events-template").innerHTML };
|
||||
const Settings = { template: document.getElementById("settings-template").innerHTML }
|
||||
const AddLocation = {
|
||||
data() {
|
||||
return {
|
||||
valid: true,
|
||||
//permission: false,
|
||||
dialog: false,
|
||||
domainName: "",
|
||||
domainNameRules: [
|
||||
v => !!v || 'Domain Display Name is required',
|
||||
],
|
||||
owner: "",
|
||||
ownerRules: [
|
||||
v => !!v || 'Owner is required',
|
||||
],
|
||||
port: "40102",
|
||||
portRules: [
|
||||
v => !!v || 'Port is required',
|
||||
v => /^[0-9]{1,5}$/.test(v) || 'Must be a valid port number'
|
||||
],
|
||||
locationProvider: "",
|
||||
locationProviderRules: [
|
||||
v => !!v || 'Location Provider is required',
|
||||
],
|
||||
locationProviders: []
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
dialog: function (val) {
|
||||
if (val) {
|
||||
this.opening();
|
||||
}
|
||||
},
|
||||
},
|
||||
props: {
|
||||
permission: false
|
||||
},
|
||||
template: document.getElementById("add-location-template").innerHTML,
|
||||
methods: {
|
||||
opening() {
|
||||
getAddLocationData(this);
|
||||
},
|
||||
updateData(data) {
|
||||
this.locationProviders = data;
|
||||
this.locationProvider = data[0];
|
||||
},
|
||||
addLocation() {
|
||||
if (this.$refs.form.validate()) {
|
||||
var readyEvent = {
|
||||
"action": "addLocation",
|
||||
"domainName": this.domainName,
|
||||
"owner": this.owner,
|
||||
"Port": this.port,
|
||||
"script": this.locationProvider
|
||||
};
|
||||
EventBridge.emitWebEvent(JSON.stringify(readyEvent));
|
||||
|
||||
this.closeDialog();
|
||||
}
|
||||
},
|
||||
closeDialog() {
|
||||
this.domainName = "";
|
||||
this.owner = "";
|
||||
this.port = "40102";
|
||||
this.locationProvider = "Current";
|
||||
this.dialog = false;
|
||||
this.$refs.form.resetValidation();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const routes = [
|
||||
{ path: '/', component: Explore },
|
||||
{ path: '/bookmarks', component: Bookmarks },
|
||||
{ path: '/events', component: Events },
|
||||
{ path: '/settings', component: Settings }
|
||||
];
|
||||
|
||||
const router = new VueRouter({ routes });
|
||||
|
||||
const vm = new Vue({
|
||||
router,
|
||||
el: '#app',
|
||||
data: {
|
||||
activeItem: string = 'explore',
|
||||
permission: false,
|
||||
isHomeSet: false,
|
||||
},
|
||||
vuetify: new Vuetify({
|
||||
theme: {
|
||||
dark: true,
|
||||
},
|
||||
}),
|
||||
components: {
|
||||
'add-location': AddLocation
|
||||
},
|
||||
methods: {
|
||||
navigateHome() {
|
||||
var readyEvent = {
|
||||
"action": "navigateHome"
|
||||
}
|
||||
EventBridge.emitWebEvent(JSON.stringify(readyEvent));
|
||||
},
|
||||
navigateBack() {
|
||||
var readyEvent = {
|
||||
"action": "navigateBack"
|
||||
}
|
||||
EventBridge.emitWebEvent(JSON.stringify(readyEvent));
|
||||
},
|
||||
navigateForward() {
|
||||
var readyEvent = {
|
||||
"action": "navigateForward"
|
||||
}
|
||||
EventBridge.emitWebEvent(JSON.stringify(readyEvent));
|
||||
}
|
||||
},
|
||||
created: function () {
|
||||
|
||||
const self = this;
|
||||
|
||||
EventBridge.scriptEventReceived.connect(function (message) {
|
||||
var messageData = JSON.parse(message);
|
||||
if (messageData.action == "addressListv2") {
|
||||
self.permission = messageData.permission;
|
||||
locationData = messageData.myAddress;
|
||||
exploreComponent.updateData(locationData);
|
||||
self.isHomeSet = messageData.isHomeSet;
|
||||
}
|
||||
if (messageData.action == "bookmarksList") {
|
||||
bookmarksData = messageData.bookmarks;
|
||||
bookmarksComponent.updateData(bookmarksData);
|
||||
}
|
||||
if (messageData.action == "retrievePortInformationResponse") {
|
||||
addLocationData = messageData.goToAddresses;
|
||||
addLocationComponent.updateData(addLocationData);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
var myAddress = [{}];
|
||||
|
||||
function createTableFromJSON() {
|
||||
|
||||
var col = [];
|
||||
for (var i = 0; i < myAddress.length; i++) {
|
||||
for (var key in myAddress[i]) {
|
||||
if (col.indexOf(key) === -1) {
|
||||
col.push(key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var table = document.createElement("table");
|
||||
table.setAttribute('id', 'domains');
|
||||
table.setAttribute('class', 'table table-striped sampleTable domains');
|
||||
|
||||
var thead = table.createTHead();
|
||||
|
||||
//var tr = table.insertRow(-1);
|
||||
|
||||
for (var i = 0; i < col.length; i++) {
|
||||
var th = document.createElement("th");
|
||||
if (col[i] === 'People') th.setAttribute('data-sortas', 'numeric');
|
||||
th.innerHTML = col[i];
|
||||
thead.appendChild(th);
|
||||
}
|
||||
|
||||
var tbdy = document.createElement('tbody');
|
||||
for (var i = 0; i < myAddress.length; i++) {
|
||||
|
||||
tr = table.insertRow(-1);
|
||||
|
||||
for (var j = 0; j < col.length; j++) {
|
||||
var tabCell = tr.insertCell(-1);
|
||||
if (j == 2) {
|
||||
var url = "<input id=\"Button\" class=\"myButton\" type=\"button\" onclick=\"navigateTo('" + myAddress[i][col[j]] + "')\" value=\"Visit\" />";
|
||||
tabCell.innerHTML = url;
|
||||
} else {
|
||||
tabCell.innerHTML = myAddress[i][col[j]];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var divContainer = document.getElementById("showData");
|
||||
divContainer.innerHTML = "";
|
||||
divContainer.appendChild(table);
|
||||
$("#domains").fancyTable({
|
||||
sortColumn: 3, // column number for initial sorting
|
||||
sortOrder: 'desc', // 'desc', 'descending', 'asc', 'ascending', -1 (descending) and 1 (ascending)
|
||||
sortable: true,
|
||||
pagination: true, // default: false
|
||||
perPage: 7,
|
||||
searchable: true,
|
||||
globalSearch: true,
|
||||
globalSearchExcludeColumns: [3] // exclude column 2 & 5
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<script src="jquery.min.js"></script>
|
||||
<script src="bootstrap.min.js"></script>
|
||||
<script src="fancyTable.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
</html>
|
|
@ -42,13 +42,14 @@
|
|||
ui = new AppUi({
|
||||
buttonName: "EXPLORE",
|
||||
home: Script.resolvePath("explore.html"),
|
||||
graphicsDirectory: scriptDir
|
||||
graphicsDirectory: scriptDir,
|
||||
sortOrder: 8
|
||||
});
|
||||
}
|
||||
|
||||
function onWebEventReceived(event) {
|
||||
messageData = JSON.parse(event);
|
||||
if (messageData.action == "requestAddressList") {
|
||||
if (messageData.action === "requestAddressList") {
|
||||
goToAddresses = Settings.getValue("goToDecentral", "");
|
||||
for (var i = 0; i < goToAddresses.length; i++) {
|
||||
|
||||
|
@ -73,21 +74,35 @@
|
|||
permission = Entities.canRez()
|
||||
|
||||
var readyEvent = {
|
||||
"action": "addressList",
|
||||
"action": "addressListv2",
|
||||
"myAddress": children,
|
||||
"permission": permission
|
||||
"permission": permission,
|
||||
"isHomeSet": LocationBookmarks.getHomeLocationAddress().length > 0
|
||||
};
|
||||
|
||||
tablet.emitScriptEvent(JSON.stringify(readyEvent));
|
||||
|
||||
} else if (messageData.action == "goToUrl") {
|
||||
} else if (messageData.action === "goToUrl") {
|
||||
Window.location = messageData.visit;
|
||||
} else if (messageData.action == "addLocation") {
|
||||
} else if (messageData.action === "navigateBack") {
|
||||
location.goBack();
|
||||
} else if (messageData.action === "navigateHome") {
|
||||
if (LocationBookmarks.getHomeLocationAddress()) {
|
||||
location.handleLookupString(LocationBookmarks.getHomeLocationAddress());
|
||||
} else {
|
||||
location.goToLocalSandbox();
|
||||
}
|
||||
} else if (messageData.action === "navigateForward") {
|
||||
location.goForward();
|
||||
} else if (messageData.action === "addLocation") {
|
||||
|
||||
var locationBoxUserData = {
|
||||
owner: messageData.owner,
|
||||
domainName: messageData.domainName,
|
||||
port: messageData.Port,
|
||||
ipAddress: null,
|
||||
avatarCountRadius: null,
|
||||
customPath: null,
|
||||
grabbableKey: {
|
||||
grabbable: false
|
||||
}
|
||||
|
@ -105,7 +120,7 @@
|
|||
collisionless: true,
|
||||
grabbable: false
|
||||
});
|
||||
} else if (messageData.action == "retrievePortInformation") {
|
||||
} else if (messageData.action === "retrievePortInformation") {
|
||||
var readyEvent = {
|
||||
"action": "retrievePortInformationResponse",
|
||||
"goToAddresses": goToAddresses
|
||||
|
|
|
@ -1,260 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 50 200.1"
|
||||
style="enable-background:new 0 0 50 200.1;"
|
||||
xml:space="preserve"
|
||||
id="svg125"
|
||||
sodipodi:docname="Explore.svg"
|
||||
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"><metadata
|
||||
id="metadata131"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs129" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
id="namedview127"
|
||||
showgrid="false"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
inkscape:zoom="5.6568542"
|
||||
inkscape:cx="18.340874"
|
||||
inkscape:cy="67.670896"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer6"><sodipodi:guide
|
||||
position="14.125,99.999998"
|
||||
orientation="0,1"
|
||||
id="guide204"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
|
||||
position="-85.689885,150"
|
||||
orientation="0,1"
|
||||
id="guide206"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
|
||||
position="-93.693885,49.999999"
|
||||
orientation="0,1"
|
||||
id="guide208"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
|
||||
position="-93.458473,0"
|
||||
orientation="0,1"
|
||||
id="guide210"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
|
||||
position="-62.619531,200"
|
||||
orientation="0,1"
|
||||
id="guide212"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
|
||||
position="20.995787,157.79945"
|
||||
orientation="0,1"
|
||||
id="guide214"
|
||||
inkscape:locked="false" /><sodipodi:guide
|
||||
position="22.746663,107.80388"
|
||||
orientation="0,1"
|
||||
id="guide216"
|
||||
inkscape:locked="false" /><sodipodi:guide
|
||||
position="22.776089,57.704999"
|
||||
orientation="0,1"
|
||||
id="guide218"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
|
||||
position="20.716236,7.5989999"
|
||||
orientation="0,1"
|
||||
id="guide220"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
|
||||
position="13.21875,164.20312"
|
||||
orientation="0,1"
|
||||
id="guide230"
|
||||
inkscape:locked="false" /><sodipodi:guide
|
||||
position="18.292969,164.20703"
|
||||
orientation="0,1"
|
||||
id="guide5167"
|
||||
inkscape:locked="false" /><sodipodi:guide
|
||||
position="19.776893,114.21984"
|
||||
orientation="0,1"
|
||||
id="guide5169"
|
||||
inkscape:locked="false" /><sodipodi:guide
|
||||
position="18.473165,64.114696"
|
||||
orientation="0,1"
|
||||
id="guide5171"
|
||||
inkscape:locked="false" /><sodipodi:guide
|
||||
position="18.649941,14.009553"
|
||||
orientation="0,1"
|
||||
id="guide5173"
|
||||
inkscape:locked="false" /></sodipodi:namedview>
|
||||
<style
|
||||
type="text/css"
|
||||
id="style10">
|
||||
.st0{fill:#414042;}
|
||||
.st1{fill:#FFFFFF;}
|
||||
.st2{fill:#1E1E1E;}
|
||||
.st3{fill:#333333;}
|
||||
</style>
|
||||
|
||||
<g
|
||||
id="Layer_3">
|
||||
</g>
|
||||
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
inkscape:label="Base"
|
||||
style="display:inline"><g
|
||||
id="Layer_2">
|
||||
<g
|
||||
id="g16">
|
||||
<g
|
||||
id="g14">
|
||||
<path
|
||||
class="st0"
|
||||
d="m 50.1,146.1 c 0,2.2 -1.8,4 -4,4 h -42 c -2.2,0 -4,-1.8 -4,-4 v -42 c 0,-2.2 1.8,-4 4,-4 h 42 c 2.2,0 4,1.8 4,4 z"
|
||||
id="path12"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#414042" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g22">
|
||||
<g
|
||||
id="g20">
|
||||
<path
|
||||
class="st0"
|
||||
d="m 50,196.1 c 0,2.2 -1.8,4 -4,4 H 4 c -2.2,0 -4,-1.8 -4,-4 v -42 c 0,-2.2 1.8,-4 4,-4 h 42 c 2.2,0 4,1.8 4,4 z"
|
||||
id="path18"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#414042" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g28">
|
||||
<g
|
||||
id="g26">
|
||||
<path
|
||||
class="st1"
|
||||
d="m 50,46 c 0,2.2 -1.8,4 -4,4 H 4 C 1.8,50 0,48.2 0,46 V 4 C 0,1.8 1.8,0 4,0 h 42 c 2.2,0 4,1.8 4,4 z"
|
||||
id="path24"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g32">
|
||||
<path
|
||||
class="st2"
|
||||
d="m 50,96.1 c 0,2.2 -1.8,4 -4,4 H 4 c -2.2,0 -4,-1.8 -4,-4 v -42 c 0,-2.2 1.8,-4 4,-4 h 42 c 2.2,0 4,1.8 4,4 z"
|
||||
id="path30"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#1e1e1e" />
|
||||
</g>
|
||||
</g></g><g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer4"
|
||||
inkscape:label="Text"
|
||||
style="display:none"
|
||||
sodipodi:insensitive="true" /><g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer6"
|
||||
inkscape:label="World"
|
||||
style="display:inline"><g
|
||||
style="fill:#aaccff;stroke:#000000"
|
||||
id="g5138"
|
||||
transform="matrix(0.06304349,0,0,0.06304349,11.1413,6.36036)"><path
|
||||
id="path5124"
|
||||
d="m 209,15 a 195,195 0 1 0 2,0 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="stroke-width:26;fill:#aaccff" /><path
|
||||
id="path5126"
|
||||
d="M 210,15 V 405 M 405,210 H 15 M 59,90 a 260,260 0 0 0 302,0 m 0,240 A 260,260 0 0 0 59,330 M 195,20 a 250,250 0 0 0 0,382 m 30,0 a 250,250 0 0 0 0,-382"
|
||||
inkscape:connector-curvature="0"
|
||||
style="stroke-width:18;fill:#aaccff" /></g><g
|
||||
transform="matrix(0.06304349,0,0,0.06304349,11.1413,56.347551)"
|
||||
id="g5155"
|
||||
style="fill:#aaccff;stroke:#000000"><path
|
||||
style="fill:#aaccff;stroke-width:26"
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 209,15 a 195,195 0 1 0 2,0 z"
|
||||
id="path5151" /><path
|
||||
style="fill:#aaccff;stroke-width:18"
|
||||
inkscape:connector-curvature="0"
|
||||
d="M 210,15 V 405 M 405,210 H 15 M 59,90 a 260,260 0 0 0 302,0 m 0,240 A 260,260 0 0 0 59,330 M 195,20 a 250,250 0 0 0 0,382 m 30,0 a 250,250 0 0 0 0,-382"
|
||||
id="path5153" /></g><g
|
||||
style="fill:#aaccff;stroke:#000000"
|
||||
id="g5161"
|
||||
transform="matrix(0.06304349,0,0,0.06304349,12.025183,106.4527)"><path
|
||||
id="path5157"
|
||||
d="m 209,15 a 195,195 0 1 0 2,0 z"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#aaccff;stroke-width:26" /><path
|
||||
id="path5159"
|
||||
d="M 210,15 V 405 M 405,210 H 15 M 59,90 a 260,260 0 0 0 302,0 m 0,240 A 260,260 0 0 0 59,330 M 195,20 a 250,250 0 0 0 0,382 m 30,0 a 250,250 0 0 0 0,-382"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#aaccff;stroke-width:18" /></g><g
|
||||
transform="matrix(0.06304349,0,0,0.06304349,12.025183,156.55784)"
|
||||
id="g5190"
|
||||
style="fill:#aaccff;stroke:#000000"><path
|
||||
style="fill:#aaccff;stroke-width:26"
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 209,15 a 195,195 0 1 0 2,0 z"
|
||||
id="path5186" /><path
|
||||
style="fill:#aaccff;stroke-width:18"
|
||||
inkscape:connector-curvature="0"
|
||||
d="M 210,15 V 405 M 405,210 H 15 M 59,90 a 260,260 0 0 0 302,0 m 0,240 A 260,260 0 0 0 59,330 M 195,20 a 250,250 0 0 0 0,382 m 30,0 a 250,250 0 0 0 0,-382"
|
||||
id="path5188" /></g></g><text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:53.33333206px;line-height:1.5;font-family:Verdana;-inkscape-font-specification:Verdana;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="3.625"
|
||||
y="42.300552"
|
||||
id="text236"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan234"
|
||||
x="3.625"
|
||||
y="97.624832" /></text>
|
||||
|
||||
<path
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.22626972px;line-height:1.5;font-family:Verdana;-inkscape-font-specification:Verdana;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.31582576"
|
||||
d="m 30.032087,35.765146 c -0.941155,0 -1.679424,0.297877 -2.214236,0.897073 -0.534805,0.59633 -0.803088,1.408963 -0.803088,2.438204 0,1.020642 0.268283,1.831959 0.803088,2.434022 0.534812,0.599197 1.273081,0.899166 2.214236,0.899166 0.943776,0 1.683255,-0.299969 2.218061,-0.899166 0.534805,-0.602063 0.801179,-1.41338 0.801179,-2.434022 0,-1.029241 -0.267577,-1.841874 -0.805004,-2.438204 -0.537428,-0.599196 -1.275703,-0.897073 -2.214236,-0.897073 z M 4.6754597,35.896884 v 6.404989 H 8.9108061 V 41.06186 H 6.1783862 v -1.582951 h 2.535472 v -1.237921 h -2.535472 v -1.104092 h 2.7324199 v -1.240012 z m 4.8950284,0 2.0344959,3.178447 -2.0765627,3.226542 h 1.6673697 l 1.284944,-2.107813 1.261999,2.107813 h 1.747679 l -2.076563,-3.291366 2.044056,-3.113623 h -1.671192 l -1.254351,1.996984 -1.218021,-1.996984 z m 6.7612579,0 v 6.404989 h 1.508663 v -2.086901 h 0.940763 c 0.427322,0 0.78312,-0.06337 1.068875,-0.19238 0.288377,-0.129014 0.550647,-0.320664 0.783969,-0.572957 0.170406,-0.186354 0.300229,-0.415605 0.391986,-0.687967 0.09175,-0.275228 0.137672,-0.55601 0.137672,-0.842708 0,-0.369839 -0.06155,-0.687681 -0.187386,-0.951442 C 20.853071,36.703757 20.673012,36.488432 20.437067,36.319282 20.240449,36.178801 20.01327,36.074426 19.756353,36.00562 19.502058,35.93395 19.187858,35.896884 18.81559,35.896884 Z m 5.898892,0 v 6.404989 H 26.4526 V 41.06186 h -2.7133 v -5.164976 z m 11.96987,0 v 6.404989 h 1.501016 v -2.348287 h 0.696013 l 1.59662,2.348287 h 1.845202 l -1.954193,-2.745594 c 0.372269,-0.197819 0.657391,-0.44417 0.856629,-0.742334 0.201861,-0.298166 0.302115,-0.685411 0.302115,-1.15846 0,-0.344036 -0.06395,-0.628763 -0.195036,-0.855253 -0.128457,-0.229358 -0.303703,-0.414972 -0.523913,-0.558321 -0.217597,-0.143348 -0.450791,-0.237199 -0.699839,-0.280205 -0.249056,-0.04301 -0.546916,-0.06483 -0.892962,-0.06483 z m 6.306174,0 v 6.404989 h 4.235349 V 41.06186 h -2.732419 v -1.582951 h 2.537381 v -1.237921 h -2.537381 v -1.104092 h 2.732419 v -1.240012 z m -10.47077,1.074817 c 0.18876,0 0.370017,0.03969 0.543047,0.1171 0.175645,0.07741 0.329031,0.202285 0.462731,0.374303 0.131078,0.166285 0.238053,0.385016 0.31932,0.65451 0.08127,0.269496 0.12238,0.594454 0.12238,0.978628 0,0.358371 -0.03627,0.672267 -0.107079,0.938896 -0.07075,0.263762 -0.180163,0.493012 -0.326977,0.687967 -0.131079,0.172017 -0.283263,0.299526 -0.458907,0.382668 -0.175644,0.08027 -0.360513,0.119192 -0.554515,0.119192 -0.193995,0 -0.378864,-0.03892 -0.554516,-0.119192 -0.175644,-0.08027 -0.32974,-0.205152 -0.460818,-0.374304 -0.131078,-0.169152 -0.23614,-0.387881 -0.317415,-0.654509 -0.07864,-0.269495 -0.118547,-0.59523 -0.118547,-0.976537 0,-0.372706 0.04113,-0.697664 0.122372,-0.978627 0.0839,-0.28383 0.190155,-0.506505 0.32124,-0.667055 0.141565,-0.172019 0.296865,-0.29558 0.464644,-0.370124 0.170402,-0.07454 0.351665,-0.112916 0.54304,-0.112916 z m 5.665612,0.104557 h 0.546865 c 0.180896,0 0.339799,0.0052 0.476121,0.01673 0.136327,0.0086 0.255325,0.03568 0.357565,0.08155 0.146807,0.06594 0.251382,0.157162 0.311677,0.27184 0.06026,0.114679 0.08987,0.251394 0.08987,0.411944 0,0.18062 -0.02473,0.326001 -0.07457,0.434946 -0.04719,0.106078 -0.122675,0.203875 -0.227537,0.292751 -0.110113,0.09175 -0.246664,0.149848 -0.4092,0.175651 -0.162536,0.0258 -0.36495,0.03974 -0.606141,0.03974 H 35.70153 Z m -17.861115,0.01673 h 0.260049 c 0.249052,0 0.449062,0.0039 0.598493,0.01255 0.149431,0.0058 0.301612,0.04411 0.458909,0.112918 0.117972,0.05161 0.222541,0.142051 0.311676,0.273932 0.08914,0.129013 0.133847,0.283602 0.133847,0.464221 0,0.183485 -0.02236,0.34148 -0.06693,0.470494 -0.04193,0.126146 -0.111421,0.234466 -0.208421,0.326208 -0.112729,0.103209 -0.252883,0.172614 -0.420667,0.207018 -0.165161,0.0344 -0.375994,0.05019 -0.632911,0.05019 h -0.434052 z"
|
||||
id="text240"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.22626972px;line-height:1.5;font-family:Verdana;-inkscape-font-specification:Verdana;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.31582576"
|
||||
d="m 30.03125,85.759766 c -0.941155,0 -1.678079,0.297288 -2.212891,0.896484 -0.534805,0.59633 -0.802734,1.408259 -0.802734,2.4375 0,1.020642 0.267929,1.833484 0.802734,2.435547 0.534812,0.599197 1.271736,0.898437 2.212891,0.898437 0.943776,0 1.683944,-0.29924 2.21875,-0.898437 0.534805,-0.602063 0.800781,-1.414905 0.800781,-2.435547 0,-1.029241 -0.26726,-1.84117 -0.804687,-2.4375 -0.537428,-0.599196 -1.276311,-0.896484 -2.214844,-0.896484 z M 4.6757812,85.890625 v 6.40625 h 4.234375 V 91.056641 H 6.1777344 V 89.472656 H 8.7128906 V 88.234375 H 6.1777344 v -1.103516 h 2.7324218 v -1.240234 z m 4.8945313,0 2.0351565,3.179687 -2.0761721,3.226563 h 1.6660151 l 1.285157,-2.109375 1.261719,2.109375 h 1.748046 l -2.076172,-3.292969 2.042969,-3.113281 h -1.669922 l -1.253906,1.998047 -1.21875,-1.998047 z m 6.7617185,0 v 6.40625 h 1.507813 v -2.087891 h 0.941406 c 0.427322,0 0.782604,-0.0624 1.068359,-0.191406 0.288377,-0.129014 0.551835,-0.321926 0.785157,-0.574219 0.170406,-0.186354 0.298868,-0.415138 0.390625,-0.6875 0.09175,-0.275228 0.138672,-0.555099 0.138671,-0.841797 0,-0.369838 -0.06166,-0.689363 -0.1875,-0.953124 C 20.853345,86.697176 20.673445,86.483603 20.4375,86.314453 20.240882,86.173972 20.012776,86.068806 19.755859,86 19.501564,85.92833 19.188674,85.890625 18.816406,85.890625 Z m 5.898438,0 v 6.40625 h 4.222656 v -1.240234 h -2.712891 v -5.166016 z m 11.970703,0 v 6.40625 h 1.5 v -2.349609 h 0.697266 l 1.595703,2.349609 h 1.845703 l -1.955078,-2.746094 c 0.372269,-0.197819 0.658183,-0.444023 0.857422,-0.742187 0.201861,-0.298166 0.300781,-0.685154 0.300781,-1.158203 0,-0.344036 -0.06227,-0.628979 -0.19336,-0.855469 -0.128457,-0.229358 -0.30518,-0.415245 -0.52539,-0.558594 -0.217597,-0.143348 -0.450171,-0.238244 -0.699219,-0.28125 -0.249056,-0.04301 -0.546532,-0.06445 -0.892578,-0.06445 z m 6.304687,0 v 6.40625 h 4.236329 v -1.240234 h -2.732422 v -1.583985 h 2.537109 v -1.238281 h -2.537109 v -1.103516 h 2.732422 v -1.240234 z m -10.470703,1.076172 c 0.18876,0 0.369939,0.03978 0.542969,0.117187 0.175645,0.07741 0.329191,0.201029 0.462891,0.373047 0.131078,0.166285 0.239045,0.384803 0.320312,0.654297 0.08127,0.269496 0.121094,0.594342 0.121094,0.978516 0,0.358371 -0.03466,0.672824 -0.105469,0.939453 -0.07075,0.263762 -0.181311,0.492545 -0.328125,0.6875 -0.131079,0.172017 -0.28334,0.29967 -0.458984,0.382812 -0.175644,0.08027 -0.360686,0.119141 -0.554688,0.119141 -0.193995,0 -0.379035,-0.03887 -0.554687,-0.119141 -0.175644,-0.08027 -0.327907,-0.203894 -0.458985,-0.373047 -0.131078,-0.169151 -0.237084,-0.389621 -0.318359,-0.65625 -0.07864,-0.269495 -0.119141,-0.595255 -0.119141,-0.976562 0,-0.372706 0.04181,-0.697553 0.123047,-0.978516 0.0839,-0.28383 0.189228,-0.505465 0.320313,-0.666015 0.141565,-0.172019 0.297065,-0.29655 0.464844,-0.371094 0.170401,-0.07454 0.351593,-0.111328 0.542968,-0.111328 z m 5.666016,0.103515 h 0.546875 c 0.180896,0 0.34024,0.006 0.476562,0.01758 0.136327,0.0086 0.255182,0.03421 0.357422,0.08008 0.146807,0.06594 0.252205,0.158759 0.3125,0.273437 0.06026,0.114679 0.08984,0.25156 0.08984,0.41211 0,0.18062 -0.02633,0.324648 -0.07617,0.433593 -0.04719,0.106078 -0.1217,0.204093 -0.226562,0.292969 -0.110113,0.09175 -0.247621,0.149978 -0.410157,0.175781 -0.162536,0.0258 -0.364277,0.03906 -0.605468,0.03906 H 35.70117 Z m -17.861328,0.01758 h 0.259765 c 0.249052,0 0.450179,0.0031 0.59961,0.01172 0.149431,0.0058 0.301687,0.04447 0.458984,0.113282 0.117972,0.05161 0.221412,0.141556 0.310547,0.273437 0.08914,0.129013 0.134766,0.284225 0.134766,0.464844 0,0.183485 -0.02184,0.341689 -0.06641,0.470703 -0.04193,0.126146 -0.111984,0.23443 -0.208984,0.326172 -0.112729,0.103209 -0.252138,0.172627 -0.419922,0.207031 -0.165161,0.0344 -0.375895,0.04883 -0.632812,0.04883 h -0.435547 z"
|
||||
id="path4755"
|
||||
inkscape:connector-curvature="0" /><path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4758"
|
||||
d="m 30.03125,135.8579 c -0.941155,0 -1.678079,0.29729 -2.212891,0.89648 -0.534805,0.59633 -0.802734,1.40826 -0.802734,2.4375 0,1.02064 0.267929,1.83349 0.802734,2.43555 0.534812,0.5992 1.271736,0.89844 2.212891,0.89844 0.943776,0 1.683944,-0.29924 2.21875,-0.89844 0.534805,-0.60206 0.800781,-1.41491 0.800781,-2.43555 0,-1.02924 -0.26726,-1.84117 -0.804687,-2.4375 -0.537428,-0.59919 -1.276311,-0.89648 -2.214844,-0.89648 z m -25.3554688,0.13086 v 6.40625 h 4.234375 v -1.24024 H 6.1777344 v -1.58398 h 2.5351562 v -1.23828 H 6.1777344 v -1.10352 h 2.7324218 v -1.24023 z m 4.8945313,0 2.0351565,3.17968 -2.0761721,3.22657 h 1.6660151 l 1.285157,-2.10938 1.261719,2.10938 h 1.748046 l -2.076172,-3.29297 2.042969,-3.11328 h -1.669922 l -1.253906,1.99804 -1.21875,-1.99804 z m 6.7617185,0 v 6.40625 h 1.507813 v -2.08789 h 0.941406 c 0.427322,0 0.782604,-0.0624 1.068359,-0.19141 0.288377,-0.12901 0.551835,-0.32193 0.785157,-0.57422 0.170406,-0.18635 0.298868,-0.41514 0.390625,-0.6875 0.09175,-0.27523 0.138672,-0.5551 0.138671,-0.8418 0,-0.36983 -0.06166,-0.68936 -0.1875,-0.95312 -0.123217,-0.26376 -0.303117,-0.47734 -0.539062,-0.64649 -0.196618,-0.14048 -0.424724,-0.24564 -0.681641,-0.31445 -0.254295,-0.0717 -0.567185,-0.10937 -0.939453,-0.10937 z m 5.898438,0 v 6.40625 h 4.222656 v -1.24024 h -2.712891 v -5.16601 z m 11.970703,0 v 6.40625 h 1.5 v -2.34961 h 0.697266 l 1.595703,2.34961 h 1.845703 l -1.955078,-2.7461 c 0.372269,-0.19782 0.658183,-0.44402 0.857422,-0.74218 0.201861,-0.29817 0.300781,-0.68516 0.300781,-1.15821 0,-0.34403 -0.06227,-0.62898 -0.19336,-0.85547 -0.128457,-0.22935 -0.30518,-0.41524 -0.52539,-0.55859 -0.217597,-0.14335 -0.450171,-0.23824 -0.699219,-0.28125 -0.249056,-0.043 -0.546532,-0.0644 -0.892578,-0.0644 z m 6.304687,0 v 6.40625 h 4.236329 v -1.24024 h -2.732422 v -1.58398 h 2.537109 v -1.23828 h -2.537109 v -1.10352 h 2.732422 v -1.24023 z m -10.470703,1.07617 c 0.18876,0 0.369939,0.0398 0.542969,0.11719 0.175645,0.0774 0.329191,0.20102 0.462891,0.37304 0.131078,0.16629 0.239045,0.38481 0.320312,0.6543 0.08127,0.2695 0.121094,0.59434 0.121094,0.97852 0,0.35837 -0.03466,0.67282 -0.105469,0.93945 -0.07075,0.26376 -0.181311,0.49254 -0.328125,0.6875 -0.131079,0.17202 -0.28334,0.29967 -0.458984,0.38281 -0.175644,0.0803 -0.360686,0.11914 -0.554688,0.11914 -0.193995,0 -0.379035,-0.0389 -0.554687,-0.11914 -0.175644,-0.0803 -0.327907,-0.20389 -0.458985,-0.37305 -0.131078,-0.16915 -0.237084,-0.38962 -0.318359,-0.65625 -0.07864,-0.26949 -0.119141,-0.59525 -0.119141,-0.97656 0,-0.3727 0.04181,-0.69755 0.123047,-0.97851 0.0839,-0.28383 0.189228,-0.50547 0.320313,-0.66602 0.141565,-0.17202 0.297065,-0.29655 0.464844,-0.37109 0.170401,-0.0745 0.351593,-0.11133 0.542968,-0.11133 z m 5.666016,0.10351 h 0.546875 c 0.180896,0 0.34024,0.006 0.476562,0.0176 0.136327,0.009 0.255182,0.0342 0.357422,0.0801 0.146807,0.0659 0.252205,0.15876 0.3125,0.27344 0.06026,0.11468 0.08984,0.25156 0.08984,0.41211 0,0.18062 -0.02633,0.32465 -0.07617,0.43359 -0.04719,0.10608 -0.1217,0.2041 -0.226562,0.29297 -0.110113,0.0917 -0.247621,0.14998 -0.410157,0.17578 -0.162536,0.0258 -0.364277,0.0391 -0.605468,0.0391 H 35.70117 Z m -17.861328,0.0176 h 0.259765 c 0.249052,0 0.450179,0.003 0.59961,0.0117 0.149431,0.006 0.301687,0.0445 0.458984,0.11329 0.117972,0.0516 0.221412,0.14155 0.310547,0.27343 0.08914,0.12902 0.134766,0.28423 0.134766,0.46485 0,0.18348 -0.02184,0.34169 -0.06641,0.4707 -0.04193,0.12615 -0.111984,0.23443 -0.208984,0.32617 -0.112729,0.10321 -0.252138,0.17263 -0.419922,0.20703 -0.165161,0.0344 -0.375895,0.0488 -0.632812,0.0488 h -0.435547 z"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.22626972px;line-height:1.5;font-family:Verdana;-inkscape-font-specification:Verdana;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.31582576" /><path
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.22626972px;line-height:1.5;font-family:Verdana;-inkscape-font-specification:Verdana;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.31582576"
|
||||
d="m 30.03125,185.9639 c -0.941155,0 -1.678079,0.29729 -2.212891,0.89648 -0.534805,0.59633 -0.802734,1.40826 -0.802734,2.4375 0,1.02064 0.267929,1.83349 0.802734,2.43555 0.534812,0.5992 1.271736,0.89844 2.212891,0.89844 0.943776,0 1.683944,-0.29924 2.21875,-0.89844 0.534805,-0.60206 0.800781,-1.41491 0.800781,-2.43555 0,-1.02924 -0.26726,-1.84117 -0.804687,-2.4375 -0.537428,-0.59919 -1.276311,-0.89648 -2.214844,-0.89648 z m -25.3554688,0.13086 v 6.40625 h 4.234375 v -1.24024 H 6.1777344 v -1.58398 h 2.5351562 v -1.23828 H 6.1777344 v -1.10352 h 2.7324218 v -1.24023 z m 4.8945313,0 2.0351565,3.17968 -2.0761721,3.22657 h 1.6660151 l 1.285157,-2.10938 1.261719,2.10938 h 1.748046 l -2.076172,-3.29297 2.042969,-3.11328 h -1.669922 l -1.253906,1.99804 -1.21875,-1.99804 z m 6.7617185,0 v 6.40625 h 1.507813 v -2.08789 h 0.941406 c 0.427322,0 0.782604,-0.0624 1.068359,-0.19141 0.288377,-0.12901 0.551835,-0.32193 0.785157,-0.57422 0.170406,-0.18635 0.298868,-0.41514 0.390625,-0.6875 0.09175,-0.27523 0.138672,-0.5551 0.138671,-0.8418 0,-0.36983 -0.06166,-0.68936 -0.1875,-0.95312 -0.123217,-0.26376 -0.303117,-0.47734 -0.539062,-0.64649 -0.196618,-0.14048 -0.424724,-0.24564 -0.681641,-0.31445 -0.254295,-0.0717 -0.567185,-0.10937 -0.939453,-0.10937 z m 5.898438,0 v 6.40625 h 4.222656 v -1.24024 h -2.712891 v -5.16601 z m 11.970703,0 v 6.40625 h 1.5 v -2.34961 h 0.697266 l 1.595703,2.34961 h 1.845703 l -1.955078,-2.7461 c 0.372269,-0.19782 0.658183,-0.44402 0.857422,-0.74218 0.201861,-0.29817 0.300781,-0.68516 0.300781,-1.15821 0,-0.34403 -0.06227,-0.62898 -0.19336,-0.85547 -0.128457,-0.22935 -0.30518,-0.41524 -0.52539,-0.55859 -0.217597,-0.14335 -0.450171,-0.23824 -0.699219,-0.28125 -0.249056,-0.043 -0.546532,-0.0644 -0.892578,-0.0644 z m 6.304687,0 v 6.40625 h 4.236329 v -1.24024 h -2.732422 v -1.58398 h 2.537109 v -1.23828 h -2.537109 v -1.10352 h 2.732422 v -1.24023 z m -10.470703,1.07617 c 0.18876,0 0.369939,0.0398 0.542969,0.11719 0.175645,0.0774 0.329191,0.20102 0.462891,0.37304 0.131078,0.16629 0.239045,0.38481 0.320312,0.6543 0.08127,0.2695 0.121094,0.59434 0.121094,0.97852 0,0.35837 -0.03466,0.67282 -0.105469,0.93945 -0.07075,0.26376 -0.181311,0.49254 -0.328125,0.6875 -0.131079,0.17202 -0.28334,0.29967 -0.458984,0.38281 -0.175644,0.0803 -0.360686,0.11914 -0.554688,0.11914 -0.193995,0 -0.379035,-0.0389 -0.554687,-0.11914 -0.175644,-0.0803 -0.327907,-0.20389 -0.458985,-0.37305 -0.131078,-0.16915 -0.237084,-0.38962 -0.318359,-0.65625 -0.07864,-0.26949 -0.119141,-0.59525 -0.119141,-0.97656 0,-0.3727 0.04181,-0.69755 0.123047,-0.97851 0.0839,-0.28383 0.189228,-0.50547 0.320313,-0.66602 0.141565,-0.17202 0.297065,-0.29655 0.464844,-0.37109 0.170401,-0.0745 0.351593,-0.11133 0.542968,-0.11133 z m 5.666016,0.10351 h 0.546875 c 0.180896,0 0.34024,0.006 0.476562,0.0176 0.136327,0.009 0.255182,0.0342 0.357422,0.0801 0.146807,0.0659 0.252205,0.15876 0.3125,0.27344 0.06026,0.11468 0.08984,0.25156 0.08984,0.41211 0,0.18062 -0.02633,0.32465 -0.07617,0.43359 -0.04719,0.10608 -0.1217,0.2041 -0.226562,0.29297 -0.110113,0.0917 -0.247621,0.14998 -0.410157,0.17578 -0.162536,0.0258 -0.364277,0.0391 -0.605468,0.0391 H 35.70117 Z m -17.861328,0.0176 h 0.259765 c 0.249052,0 0.450179,0.003 0.59961,0.0117 0.149431,0.006 0.301687,0.0445 0.458984,0.11329 0.117972,0.0516 0.221412,0.14155 0.310547,0.27343 0.08914,0.12902 0.134766,0.28423 0.134766,0.46485 0,0.18348 -0.02184,0.34169 -0.06641,0.4707 -0.04193,0.12615 -0.111984,0.23443 -0.208984,0.32617 -0.112729,0.10321 -0.252138,0.17263 -0.419922,0.20703 -0.165161,0.0344 -0.375895,0.0488 -0.632812,0.0488 h -0.435547 z"
|
||||
id="path4760"
|
||||
inkscape:connector-curvature="0" /></svg>
|
Before Width: | Height: | Size: 24 KiB |
|
@ -1,217 +0,0 @@
|
|||
/*!
|
||||
* jQuery fancyTable plugin
|
||||
* https://github.com/myspace-nu
|
||||
*
|
||||
* Copyright 2018 Johan Johansson
|
||||
* Released under the MIT license
|
||||
*/
|
||||
(function($) {
|
||||
$.fn.fancyTable = function(options) {
|
||||
var settings = $.extend({
|
||||
inputStyle: "",
|
||||
inputPlaceholder: "Search...",
|
||||
pagination: false,
|
||||
paginationClass: "btn btn-light",
|
||||
paginationClassActive: "active",
|
||||
pagClosest: 3,
|
||||
perPage: 10,
|
||||
sortable: true,
|
||||
searchable: true,
|
||||
onInit: function(){ },
|
||||
onUpdate: function(){ },
|
||||
testing: false
|
||||
}, options);
|
||||
var instance = this;
|
||||
this.settings = settings;
|
||||
this.tableUpdate = function (elm) {
|
||||
elm.fancyTable.matches = 0;
|
||||
$(elm).find("tbody tr").each(function() {
|
||||
var n=0;
|
||||
var match = true;
|
||||
var globalMatch = false;
|
||||
$(this).find("td").each(function() {
|
||||
if(!settings.globalSearch && elm.fancyTable.searchArr[n] && !(new RegExp(elm.fancyTable.searchArr[n],"i").test($(this).html()))){
|
||||
match = false;
|
||||
} else if(settings.globalSearch && (!elm.fancyTable.search || (new RegExp(elm.fancyTable.search,"i").test($(this).html())))){
|
||||
if(!Array.isArray(settings.globalSearchExcludeColumns) || !settings.globalSearchExcludeColumns.includes(n+1)){
|
||||
globalMatch = true;
|
||||
}
|
||||
}
|
||||
n++;
|
||||
});
|
||||
if((settings.globalSearch && globalMatch) || (!settings.globalSearch && match)){
|
||||
elm.fancyTable.matches++
|
||||
if(!settings.pagination || (elm.fancyTable.matches>(elm.fancyTable.perPage*(elm.fancyTable.page-1)) && elm.fancyTable.matches<=(elm.fancyTable.perPage*elm.fancyTable.page))){
|
||||
$(this).show();
|
||||
} else {
|
||||
$(this).hide();
|
||||
}
|
||||
} else {
|
||||
$(this).hide();
|
||||
}
|
||||
});
|
||||
elm.fancyTable.pages = Math.ceil(elm.fancyTable.matches/elm.fancyTable.perPage);
|
||||
if(settings.pagination){
|
||||
var paginationElement = (elm.fancyTable.paginationElement) ? $(elm.fancyTable.paginationElement) : $(elm).find(".pag");
|
||||
paginationElement.empty();
|
||||
for(var n=1; n<=elm.fancyTable.pages; n++){
|
||||
if(n==1 || (n>(elm.fancyTable.page-(settings.pagClosest+1)) && n<(elm.fancyTable.page+(settings.pagClosest+1))) || n==elm.fancyTable.pages){
|
||||
var a = $("<a>",{
|
||||
html:n,
|
||||
"data-n": n,
|
||||
style:"margin:0.2em",
|
||||
class:settings.paginationClass+" "+((n==elm.fancyTable.page)?settings.paginationClassActive:"")
|
||||
}).css("cursor","pointer").bind("click",function(){
|
||||
elm.fancyTable.page = $(this).data("n");
|
||||
instance.tableUpdate(elm);
|
||||
});
|
||||
if(n==elm.fancyTable.pages && elm.fancyTable.page<(elm.fancyTable.pages-settings.pagClosest-1)){
|
||||
paginationElement.append($("<span>...</span>"));
|
||||
}
|
||||
paginationElement.append(a);
|
||||
if(n==1 && elm.fancyTable.page>settings.pagClosest+2){
|
||||
paginationElement.append($("<span>...</span>"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
settings.onUpdate.call(this,elm);
|
||||
};
|
||||
this.reinit = function(elm){
|
||||
$(this).each(function(){
|
||||
$(this).find("th a").contents().unwrap();
|
||||
$(this).find("tr.fancySearchRow").remove();
|
||||
});
|
||||
$(this).fancyTable(this.settings);
|
||||
};
|
||||
this.tableSort = function (elm) {
|
||||
if(typeof elm.fancyTable.sortColumn !== "undefined" && elm.fancyTable.sortColumn < elm.fancyTable.nColumns){
|
||||
$(elm).find("thead th div.sortArrow").each(function(){
|
||||
$(this).remove();
|
||||
});
|
||||
var sortArrow = $("<div>",{"class":"sortArrow"}).css({"margin":"0.1em","display":"inline-block","width":0,"height":0,"border-left":"0.4em solid transparent","border-right":"0.4em solid transparent"});
|
||||
sortArrow.css(
|
||||
(elm.fancyTable.sortOrder>0) ?
|
||||
{"border-top":"0.4em solid #000"} :
|
||||
{"border-bottom":"0.4em solid #000"}
|
||||
);
|
||||
$(elm).find("thead th a").eq(elm.fancyTable.sortColumn).append(sortArrow);
|
||||
var rows = $(elm).find("tbody tr").toArray().sort(
|
||||
function(a, b) {
|
||||
var stra = $(a).find("td").eq(elm.fancyTable.sortColumn).html();
|
||||
var strb = $(b).find("td").eq(elm.fancyTable.sortColumn).html();
|
||||
if(elm.fancyTable.sortAs[elm.fancyTable.sortColumn] == 'numeric'){
|
||||
return((elm.fancyTable.sortOrder>0) ? parseFloat(stra)-parseFloat(strb) : parseFloat(strb)-parseFloat(stra));
|
||||
} else {
|
||||
return((stra<strb)?-elm.fancyTable.sortOrder:(stra>strb)?elm.fancyTable.sortOrder:0);
|
||||
}
|
||||
}
|
||||
);
|
||||
$(elm).find("tbody").empty().append(rows);
|
||||
}
|
||||
};
|
||||
this.each(function() {
|
||||
if($(this).prop("tagName")!=="TABLE"){
|
||||
console.warn("fancyTable: Element is not a table.");
|
||||
return true;
|
||||
}
|
||||
var elm = this;
|
||||
elm.fancyTable = {
|
||||
nColumns: $(elm).find("td").first().parent().find("td").length,
|
||||
nRows : $(this).find("tbody tr").length,
|
||||
perPage : settings.perPage,
|
||||
page : 1,
|
||||
pages : 0,
|
||||
matches : 0,
|
||||
searchArr : [],
|
||||
search : "",
|
||||
sortColumn : settings.sortColumn,
|
||||
sortOrder : (typeof settings.sortOrder === "undefined") ? 1 : (new RegExp("desc","i").test(settings.sortOrder) || settings.sortOrder == -1) ? -1 : 1,
|
||||
sortAs:[], // undefined or numeric
|
||||
paginationElement : settings.paginationElement
|
||||
};
|
||||
if($(elm).find("tbody").length==0){
|
||||
var content = $(elm).html();
|
||||
$(elm).empty();
|
||||
$(elm).append("<tbody>").append($(content));
|
||||
}
|
||||
if($(elm).find("thead").length==0){
|
||||
$(elm).prepend($("<thead>"));
|
||||
// Maybe add generated headers at some point
|
||||
//var c=$(elm).find("tr").first().find("td").length;
|
||||
//for(var n=0; n<c; n++){
|
||||
// $(elm).find("thead").append($("<th></th>"));
|
||||
//}
|
||||
}
|
||||
if(settings.sortable){
|
||||
var n=0;
|
||||
$(elm).find("thead th").each(function() {
|
||||
elm.fancyTable.sortAs.push(($(this).data('sortas')=='numeric')?'numeric':'');
|
||||
var content = $(this).html();
|
||||
var a = $("<a>",{
|
||||
html:content,
|
||||
"data-n": n,
|
||||
class:""
|
||||
}).css("cursor","pointer").bind("click",function(){
|
||||
if(elm.fancyTable.sortColumn == $(this).data("n")){
|
||||
elm.fancyTable.sortOrder=-elm.fancyTable.sortOrder;
|
||||
} else {
|
||||
elm.fancyTable.sortOrder=1;
|
||||
}
|
||||
elm.fancyTable.sortColumn = $(this).data("n");
|
||||
instance.tableSort(elm);
|
||||
instance.tableUpdate(elm);
|
||||
});
|
||||
$(this).empty();
|
||||
$(this).append(a);
|
||||
n++;
|
||||
});
|
||||
}
|
||||
if(settings.searchable){
|
||||
var searchHeader = $("<tr>").addClass("fancySearchRow");
|
||||
if(settings.globalSearch){
|
||||
var searchField = $("<input>",{
|
||||
"placeholder": settings.inputPlaceholder,
|
||||
style:"width:100%;"+settings.inputStyle
|
||||
}).bind("change paste keyup",function(){
|
||||
elm.fancyTable.search = $(this).val();
|
||||
elm.fancyTable.page = 1;
|
||||
instance.tableUpdate(elm);
|
||||
});
|
||||
var th = $("<th>",{ style:"padding:2px;" }).attr("colspan",elm.fancyTable.nColumns);
|
||||
$(searchField).appendTo($(th));
|
||||
$(th).appendTo($(searchHeader));
|
||||
} else {
|
||||
var n=0;
|
||||
$(elm).find("td").first().parent().find("td").each(function() {
|
||||
elm.fancyTable.searchArr.push("");
|
||||
var searchField = $("<input>",{
|
||||
"data-n": n,
|
||||
"placeholder": settings.inputPlaceholder,
|
||||
style:"width:100%;"+settings.inputStyle
|
||||
}).bind("change paste keyup",function(){
|
||||
elm.fancyTable.searchArr[$(this).data("n")] = $(this).val();
|
||||
elm.fancyTable.page = 1;
|
||||
instance.tableUpdate(elm);
|
||||
});
|
||||
var th = $("<th>",{ style:"padding:2px;" });
|
||||
$(searchField).appendTo($(th));
|
||||
$(th).appendTo($(searchHeader));
|
||||
n++;
|
||||
});
|
||||
}
|
||||
searchHeader.appendTo($(elm).find("thead"));
|
||||
}
|
||||
// Sort
|
||||
instance.tableSort(elm);
|
||||
if(settings.pagination && !settings.paginationElement){
|
||||
$(elm).find("tfoot").remove();
|
||||
$(elm).append($("<tfoot><tr></tr></tfoot>"));
|
||||
$(elm).find("tfoot tr").append($("<td class='pag'></td>",{ }).attr("colspan",elm.fancyTable.nColumns));
|
||||
}
|
||||
instance.tableUpdate(elm);
|
||||
settings.onInit.call(this,elm);
|
||||
});
|
||||
return this;
|
||||
};
|
||||
}(jQuery));
|
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue