new features

main
Steve Nyemba 6 days ago
parent 07bcba0b71
commit a96340171e

@ -22,8 +22,8 @@
} }
], ],
"header": { "header": {
"title": "Data Wrangler Workbench", "title": "Data Bridge Studio",
"subtitle": "Open Workbench: Read, write & wrangle data"}, "subtitle": "Universal Data Access Made Simple"},
"index": "index.html", "index": "index.html",
"on": { "on": {
"load": { "load": {
@ -31,6 +31,7 @@
"www/html/menu.html" "www/html/menu.html"
], ],
"studio-intro":["www/html/about.html"] "studio-intro":["www/html/about.html"]
} }
}, },
"order": { "order": {

@ -15,7 +15,7 @@
} }
.gradient {background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%);}
.studio-expand { .studio-expand {
display:grid; display:grid;
grid-template-rows: 50px calc(100% - 55px); gap:8px; grid-template-rows: 50px calc(100% - 55px); gap:8px;

@ -3,6 +3,8 @@ from io import StringIO
import cms import cms
import copy import copy
import json import json
import os
import smart.cmd
@cms.Plugin(mimetype='application/json',method='GET') @cms.Plugin(mimetype='application/json',method='GET')
def get (**_args) : def get (**_args) :
@ -29,7 +31,8 @@ def get (**_args) :
else: else:
continue continue
return _labels return _labels
def gethostname ():
return
@cms.Plugin(mimetype="application/json",method="POST") @cms.Plugin(mimetype="application/json",method="POST")
def add(**_args): def add(**_args):
""" """
@ -43,6 +46,14 @@ def add(**_args):
# #
# @TODO: We need to test the parameters and return the response to the client # @TODO: We need to test the parameters and return the response to the client
# #
#
# Let us make sure the registry exists
if not transport.registry.exists() :
_host = smart.cmd.read(cmd='hostname').replace("\\n'",'').replace("\n","")
# _host = os.environ['HOSTNAME'] if 'HOSTNAME' in os.environ else os.environ['COMPUTERNAME']
_email = _host+'@data-transport.co'
transport.registry.init(_email)
transport.registry.set(_label,f) transport.registry.set(_label,f)
# #

@ -42,30 +42,33 @@
color: #009879; color: #009879;
} }
.warning{display:grid; grid-template-columns: 80px auto; gap:8px;} .warning{display:grid; grid-template-columns: 80px auto; gap:8px;}
iframe {width:100%; height:100%;}
</style> </style>
<script> <script>
uri = 'api/register/technologies' // uri = 'api/register/technologies'
var http = HttpClient.instance() // var http = HttpClient.instance()
http.get(uri,(x)=>{ // http.get(uri,(x)=>{
$('#support').html(x.responseText) // $('#support').html(x.responseText)
$('.powered').html('Powered By data-transport '+sessionStorage.wb_powered) // $('.powered').html('Powered By data-transport '+sessionStorage.wb_powered)
// })
$(document).ready(()=>{
var layout = {on:{load:{}}}
layout.on.load.intro = ['www/html/features.html']
bootup.init('{{system.context}}',layout)
}) })
</script> </script>
<div style="align-self:center; display:grid; grid-template-columns: 50% 50%; gap:8px;"> <div class="" style="height:80vh;align-self:center; display:grid; grid-template-columns: 60% 40%; gap:8px;">
<div> <div id="intro" class="intro" style="align-self:end;">
<h4>Supported Technologies</h4>
<div id="support" class="supported"></div>
<div class="powered small" align="center"></div>
</div> </div>
<div class="about" style="align-self:end; padding:8px;"> <div class="about" style="align-self:end; padding:8px;">
<div class="get-started border-round border shadow warning" style=""> <div class="get-started border-round border shadow warning" style="padding:8px;">
<i class="fa-solid fa-triangle-exclamation" style="font-size:64px; color:#ff6500;"> </i> <i class="fa-solid fa-triangle-exclamation" style="font-size:64px; color:#ff6500;"> </i>
<div> <div>
Your system is missing a database <b>registry</b> Your system is missing a database <b>registry</b>
<br>Click <span class="active" onclick="dialog.show({uri:'www/html/wizard.html',context:'{{system.context}}'})"> <br>Click <span class="active" onclick="dialog.show({uri:'www/html/wizard.html',title:'Create New Connection',context:'{{system.context}}'})">
<i class="fa-solid fa-plug-circle-plus" style="color:#4682B4;"></i> <i class="fa-solid fa-plug-circle-plus" style="color:#4682B4;"></i>
here </span> to get started here </span> to get started
</div> </div>
@ -111,7 +114,7 @@ http.get(uri,(x)=>{
<i class="fa-solid fa-minus"></i> Iconfinder <i class="fa-solid fa-minus"></i> Iconfinder
</li> </li>
<li> <li>
<i class="fa-solid fa-minus"></i> freepik.com | iconfuck <i class="fa-solid fa-minus"></i> freepik.com | iconduck
</li> </li>

@ -0,0 +1,76 @@
<link href="http://localhost:8082/api/disk/read?uri=www/html/_assets/themes/default/layout.css" rel="stylesheet" type="text/css">
<link href="http://localhost:8082/api/disk/read?uri=www/html/_assets/themes/default/header.css" rel="stylesheet" type="text/css">
<link href="http://localhost:8082/api/disk/read?uri=www/html/_assets/themes/default/menu.css" rel="stylesheet" type="text/css">
<link href="http://localhost:8082/api/disk/read?uri=www/html/_assets/themes/default/borders.css" rel="stylesheet" type="text/css">
<link href="http://localhost:8082/api/disk/read?uri=www/html/_assets/themes/default/footer.css" rel="stylesheet" type="text/css">
<link href="http://localhost:8082/api/disk/read?uri=www/html/_assets/themes/default/pane.css" rel="stylesheet" type="text/css">
<link href="http://localhost:8082/api/disk/read?uri=www/html/_assets/themes/default/responsive.css" rel="stylesheet" type="text/css">
<style>
.features {display:grid; grid-template-columns: repeat(2,1fr); gap:4px; padding:4px ;
}
.features .section { background-color:#FFFFFF; padding:8px;
}
.features div:nth-child(odd){
border-right:1px SOLID #CAD5E0;
}
ul {margin-left:10px; list-style: none; padding-left:0px; }
.fa-check {color:green;}
</style>
<div>
<p>
<div align="center" class="large-text" _style="background-color:#4682b4; color:#ffffff; padding:20px; text-align: center;">
Why Use {{layout.header.title}}
</div>
</p>
<div class="features">
<div class="section gradient _border-round _border _shadow">
<h4>Powered by data-transport</h4>
Open python framework for reading/writing ont multiple databases
<ul>
<li><i class="fa-solid fa-check"></i> Uses Pandas & SQLAlchemy 2.x</li>
<li><i class="fa-solid fa-check"></i> Simplifies syntax to data access</li>
</ul>
</div>
<div class="section gradient ">
<h4>Universal Connectivity</h4>
Seamless connection to multiple database technologies
<ul>
<li><i class="fa-solid fa-check"></i> SQL, NoSQL and Cloud databases </li>
<li><i class="fa-solid fa-check"></i> Built-in drivers</li>
</ul>
</div>
<div class="section gradient _shadow _border-round _border">
<h4>Smart Authentication</h4>
Uses a registry to reference connections using simple labels.
<ul>
<li><i class="fa-solid fa-check"></i> Label based authentication</li>
<li><i class="fa-solid fa-check"></i> Simplified connectivity setup.</li>
</ul>
</div>
<div class="section gradient _border-round _border _shadow">
<h4>Integrated Spreadsheet</h4>
Better data wraninging with integrated spreadsheet functions
<ul>
<li><i class="fa-solid fa-check"></i> Better data wrangling experience</li>
<li><i class="fa-solid fa-check"></i> Augmenting and exporting data</li>
</ul>
</div>
</div>
<p>
<div class="_border-round border" style="width:40%; margin-left:30%; background-color: #f3f3f3; padding:4px;" onclick="window.open('https://dev.the-phi.com/git/data-transport')">
<div class="active bold button-x" align="center" style="align-content:center"> github</div>
</div>
</p>
</div>

@ -54,8 +54,10 @@
} }
$(document).ready(function (){ $(document).ready(function (){
$('.studio-pane').css({display:'none'}) $('.studio-pane').css({display:'none'})
Initialize() Initialize()
$('.footer').css({'grid-template-columns':'100%','font-weight':'bold'}) $('.footer').css({'grid-template-columns':'100%','font-weight':'bold'})
}) })
</script> </script>

@ -127,14 +127,14 @@
}) })
</script> </script>
<div style="padding-left:10px;"> <div style="">
<div class="settings"> <div class="settings">
<div class="setting-frame lookup"> <div class="setting-frame lookup">
<div class="search-box border" style="margin-bottom:4px;"> <div class="search-box border" style="margin-bottom:4px; padding:1px;">
<input type="text" class="search-label" placeholder="[Search transport registry]" onkeyup="_find()"/> <input type="text" class="search-label" placeholder="[Search transport registry]" onkeyup="_find()"/>
<div class="border-left" align="center"> <div class="border-left" align="center">
<div class="active" onclick="_reset()"><i class="fa-solid fa-trash"></i> </div> <div class="active" onclick="_reset()"><i class="fa-solid fa-trash"></i> </div>
@ -153,15 +153,23 @@
</div> </div>
<p> <p>
<div class="border" style="padding:16px;"> <div class="border" style="padding:16px;">
<div class="active" style="margin:4px;" onclick="dialog.show({uri:'www/html/wizard.html',title:'Create New Connection',context:'{{system.context}}' })"> <div class="_border-round border" style="padding:4px; background-color: #f3f3f3;">
<i class="fa-solid fa-screwdriver-wrench"></i> Create a new database connection <div class="active" style="margin:4px;" onclick="dialog.show({uri:'www/html/wizard.html',title:'Create New Connection',context:'{{system.context}}' })">
<i class="fa-solid fa-plug-circle-plus" style="color:#4682b4;"></i> New connection
</div>
</div>
<div class="_border-round border" style="margin-top:4px;padding:4px; background-color: #f3f3f3;">
<div class="active" style="margin:4px" onclick='window.open("https://dev.the-phi.com/git/data-transport")'>
<i class="fa-brands fa-git-alt"></i> Check <b>github</b>
</div>
</div> </div>
<div class="active" style="margin:4px" onclick='window.open("https://dev.the-phi.com/git/data-transport")'> <div class="_border-round border" style="margin-top:4px;padding:4px; background-color: #f3f3f3;">
<i class="fa-solid fa-link"></i> Contribute to <i class="fa-brands fa-git-alt"></i> source code <div style="margin:4px">
<i class="fa-brands fa-docker"></i> Docker | Podman container install
</div>
</div> </div>
<div style="margin:4px">
<i class="fa-solid fa-link"></i> Install from <i class="fa-brands fa-docker"></i> docker/podman container</div>
</div> </div>

Loading…
Cancel
Save