Files added to repository
This commit is contained in:
commit
8a331d18a6
12
README.md
Normal file
12
README.md
Normal file
@ -0,0 +1,12 @@
|
||||
# DataBank-Extension
|
||||
|
||||
|
||||
1. Clone this repository
|
||||
|
||||
```bash
|
||||
git clone http://git.wacanal.cloud/ernie/databank-extension.git
|
||||
```
|
||||
|
||||
2. Open Google Chrome and go to the option "Extensions->Manage Extensions"
|
||||
3. Once in the extension manager, select "Load unpacked"
|
||||
4. Select the cloned repository
|
5
background.js
Normal file
5
background.js
Normal file
@ -0,0 +1,5 @@
|
||||
chrome.browserAction.onClicked.addListener(function(tab){
|
||||
chrome.tabs.create({
|
||||
url: ("index.html")
|
||||
});
|
||||
});
|
0
content.js
Normal file
0
content.js
Normal file
325
estilo.css
Normal file
325
estilo.css
Normal file
@ -0,0 +1,325 @@
|
||||
/*
|
||||
Al cuerpo de la
|
||||
pagina se aplica el tamaño de fuente
|
||||
*/
|
||||
html{
|
||||
overflow: scroll;
|
||||
}
|
||||
body {
|
||||
font-size: 12px;
|
||||
background-size: cover;
|
||||
background: linear-gradient(rgba(255,255,255,0.7), rgba(255, 255, 255, 0.7)), url("https://images-ext-2.discordapp.net/external/I4WDr_mFwmEPpd1gYZpWqmZ8Fod844njMPCXgLycCfk/https/www.incimages.com/uploaded_files/image/1920x1080/getty_913017342_415366.jpg?width=1191&height=670");
|
||||
background-size: 1850px 850px;
|
||||
font-family: 'Varela Round', sans-serif;
|
||||
font-size: 13px;
|
||||
|
||||
}
|
||||
/**
|
||||
* se aplica el ancho, margen centrado
|
||||
* borde de un pixel con redondeado, y rellenado
|
||||
* a la izquierda y derecha
|
||||
*/
|
||||
#Contenedor{
|
||||
width: 400px;
|
||||
margin: 50px auto;
|
||||
height: 400px;
|
||||
border-radius:8px;
|
||||
padding: 0px 9px 0px 9px;
|
||||
}
|
||||
|
||||
/**
|
||||
* Aplicando al icono de usuario el color de fondo,
|
||||
* rellenado de 20px y un redondeado de 120px en forma
|
||||
* de un circulo
|
||||
*/
|
||||
.Icon span{
|
||||
background: #A8A6A6;
|
||||
padding: 20px;
|
||||
border-radius: 120px;
|
||||
}
|
||||
/**
|
||||
* Se aplica al contenedor madre un margen de tamaño 10px hacia la cabecera y pie,
|
||||
* color de fuente blanco,un tamaño de fuente 50px y texto centrado.
|
||||
*/
|
||||
.Icon{
|
||||
margin-top: 10px;
|
||||
margin-bottom:10px;
|
||||
color: #FFF;
|
||||
font-size: 50px;
|
||||
text-align: center;
|
||||
}
|
||||
/**
|
||||
* Se aplica al contenedor donde muestra en el pie
|
||||
* la opción de olvidaste tu contraseña?
|
||||
*/
|
||||
.opcioncontra{
|
||||
text-align: center;
|
||||
margin-top: 20px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
/**
|
||||
* En las siguientes lineas
|
||||
* se define el diseño adaptable, para que
|
||||
* se muestre en los dispositivos móviles
|
||||
*/
|
||||
|
||||
/******************************************/
|
||||
/*** DISEÑO PARA MOVILES 320 ****/
|
||||
/******************************************/
|
||||
@media only screen and (max-width:320px){
|
||||
#Contenedor{
|
||||
width: 100%;
|
||||
height: auto;
|
||||
margin: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
/******************************************/
|
||||
/*** DISEÑO PARA MOVILES 240 ****/
|
||||
/******************************************/
|
||||
@media only screen and (max-width:240px){
|
||||
|
||||
}
|
||||
|
||||
.buttonAddPass {
|
||||
position: relative;
|
||||
top: 100px;
|
||||
left: 1217px;
|
||||
}
|
||||
|
||||
.buttonAddUser {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Modal styles */
|
||||
.modal .modal-dialog {
|
||||
max-width: 450px;
|
||||
}
|
||||
.modal .modal-header, .modal .modal-body, .modal .modal-footer {
|
||||
padding: 20px 30px;
|
||||
}
|
||||
.modal .modal-content {
|
||||
border-radius: 3px;
|
||||
}
|
||||
.modal .modal-footer {
|
||||
background: #ecf0f1;
|
||||
border-radius: 0 0 3px 3px;
|
||||
}
|
||||
.modal .modal-title {
|
||||
display: inline-block;
|
||||
}
|
||||
.modal .form-control {
|
||||
border-radius: 2px;
|
||||
box-shadow: none;
|
||||
border-color: #dddddd;
|
||||
}
|
||||
.modal textarea.form-control {
|
||||
resize: vertical;
|
||||
}
|
||||
.modal .btn {
|
||||
border-radius: 2px;
|
||||
min-width: 100px;
|
||||
}
|
||||
.modal form label {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
|
||||
/* Table styles */
|
||||
.table-responsive {
|
||||
margin: 30px 0;
|
||||
}
|
||||
.table-wrapper {
|
||||
min-width: 1000px;
|
||||
background: #fff;
|
||||
padding: 20px 25px;
|
||||
border-radius: 3px;
|
||||
box-shadow: 0 1px 1px rgba(0,0,0,.05);
|
||||
}
|
||||
.table-title {
|
||||
padding-bottom: 15px;
|
||||
background: #435d7d;
|
||||
color: #fff;
|
||||
padding: 16px 30px;
|
||||
margin: -20px -25px 10px;
|
||||
border-radius: 3px 3px 0 0;
|
||||
}
|
||||
.table-title h2 {
|
||||
margin: 5px 0 0;
|
||||
font-size: 24px;
|
||||
}
|
||||
.table-title .btn-group {
|
||||
float: right;
|
||||
}
|
||||
.table-title .btn {
|
||||
color: #fff;
|
||||
float: right;
|
||||
font-size: 13px;
|
||||
border: none;
|
||||
min-width: 50px;
|
||||
border-radius: 2px;
|
||||
border: none;
|
||||
outline: none !important;
|
||||
margin-left: 10px;
|
||||
}
|
||||
.table-title .btn i {
|
||||
float: left;
|
||||
font-size: 21px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.table-title .btn span {
|
||||
float: left;
|
||||
margin-top: 2px;
|
||||
}
|
||||
table.table tr th, table.table tr td {
|
||||
border-color: #e9e9e9;
|
||||
padding: 12px 15px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
table.table tr th:first-child {
|
||||
width: 250px;
|
||||
}
|
||||
table.table tr th:last-child {
|
||||
width: 130px;
|
||||
}
|
||||
table.table-striped tbody tr:nth-of-type(odd) {
|
||||
background-color: #fcfcfc;
|
||||
}
|
||||
table.table-striped.table-hover tbody tr:hover {
|
||||
background: #f5f5f5;
|
||||
}
|
||||
table.table th i {
|
||||
font-size: 13px;
|
||||
margin: 0 5px;
|
||||
cursor: pointer;
|
||||
}
|
||||
table.table td:last-child i {
|
||||
opacity: 0.9;
|
||||
font-size: 22px;
|
||||
margin: 0 5px;
|
||||
}
|
||||
table.table td a {
|
||||
font-weight: bold;
|
||||
color: #566787;
|
||||
display: inline-block;
|
||||
text-decoration: none;
|
||||
outline: none !important;
|
||||
}
|
||||
table.table td a:hover {
|
||||
color: #2196F3;
|
||||
}
|
||||
table.table td a.edit {
|
||||
color: #FFC107;
|
||||
}
|
||||
table.table td a.delete {
|
||||
color: #F44336;
|
||||
}
|
||||
table.table td i {
|
||||
font-size: 19px;
|
||||
}
|
||||
table.table .avatar {
|
||||
border-radius: 50%;
|
||||
vertical-align: middle;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
a {
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
.passCaja{
|
||||
color:transparent;
|
||||
cursor:default;
|
||||
}
|
||||
|
||||
.ojo{
|
||||
cursor:pointer;
|
||||
color: #7e9ac7 ;
|
||||
}
|
||||
|
||||
#opcionesContraseña{
|
||||
height: 45px;
|
||||
}
|
||||
|
||||
.nav_menu{
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.nav_menu_tabs{
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.nav_menu_botones{
|
||||
float: right;
|
||||
}
|
||||
|
||||
/*mostrar y ocultar tablas compartido y privado*/
|
||||
.archivosOcultos{
|
||||
display:none !important;
|
||||
}
|
||||
|
||||
.modal-compartir{
|
||||
/*text-align: center;*/
|
||||
}
|
||||
|
||||
.multiselect-container{
|
||||
overflow:scroll;
|
||||
max-height: 200px;
|
||||
}
|
||||
|
||||
.isDisabled {
|
||||
color: currentColor;
|
||||
cursor: not-allowed;
|
||||
opacity: 0.5;
|
||||
text-decoration: none;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
#archivosCompartidosList{
|
||||
overflow:scroll;
|
||||
max-height: 200px;
|
||||
}
|
||||
|
||||
#archivosCompartidosConmigoList{
|
||||
overflow:scroll;
|
||||
max-height: 200px;
|
||||
}
|
||||
|
||||
|
||||
.qrCode{
|
||||
display: block;
|
||||
margin: auto;
|
||||
margin-top: 50px;
|
||||
}
|
||||
|
||||
.badgebox
|
||||
{
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.badgebox + .badge
|
||||
{
|
||||
/* Move the check mark away when unchecked */
|
||||
text-indent: -999999px;
|
||||
/* Makes the badge's width stay the same checked and unchecked */
|
||||
width: 27px;
|
||||
}
|
||||
|
||||
.badgebox:focus + .badge
|
||||
{
|
||||
/* Set something to make the badge looks focused */
|
||||
/* This really depends on the application, in my case it was: */
|
||||
|
||||
/* Adding a light border */
|
||||
box-shadow: inset 0px 0px 5px;
|
||||
/* Taking the difference out of the padding */
|
||||
}
|
||||
|
||||
.badgebox:checked + .badge
|
||||
{
|
||||
/* Move the check mark back when checked */
|
||||
text-indent: 0;
|
||||
}
|
BIN
icon128.png
Normal file
BIN
icon128.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.4 KiB |
BIN
icon16.png
Normal file
BIN
icon16.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 500 B |
BIN
icon32.png
Normal file
BIN
icon32.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 749 B |
BIN
icon48.png
Normal file
BIN
icon48.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.0 KiB |
72
index.html
Normal file
72
index.html
Normal file
@ -0,0 +1,72 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="es">
|
||||
<head>
|
||||
<title>Proyecto ES</title>
|
||||
<meta charset="UTF-8">
|
||||
<!-- vinculo a bootstrap -->
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
|
||||
<!-- Temas-->
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
|
||||
<!-- se vincula al hoja de estilo para definir el aspecto del formulario de login-->
|
||||
<link rel="stylesheet" type="text/css" href="./estilo.css">
|
||||
<link rel="stylesheet" href="http://cdn.datatables.net/1.10.20/css/jquery.dataTables.min.css">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto|Varela+Round">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.16/css/bootstrap-multiselect.css">
|
||||
|
||||
<!--<script src="https://unpkg.com/loglevel/dist/loglevel.min.js" defer>-->
|
||||
</script>
|
||||
<script type="module" src="./scripts/plog.js" defer></script>
|
||||
<script type="module" src="script.js" defer></script>
|
||||
<script type="text/javascript" src="./scripts/qrcode.js" defer></script>
|
||||
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js" defer></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js" defer></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.16/js/bootstrap-multiselect.js" defer></script>
|
||||
<script src="https://cdn.datatables.net/1.10.20/js/jquery.dataTables.min.js" defer></script>
|
||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous" defer></script>
|
||||
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div id="Contenedor">
|
||||
<div class="Icon">
|
||||
<!--Icono de usuario-->
|
||||
<span class="glyphicon glyphicon-user"></span>
|
||||
</div>
|
||||
<div class="input-group input-group-lg">
|
||||
<span class="input-group-addon" id="sizing-addon1"><i class="glyphicon glyphicon-user"></i></span>
|
||||
<input type="text" class="form-control" name="usuario" placeholder="Usuario" id="Usuario" aria-describedby="sizing-addon1" required>
|
||||
</div>
|
||||
<br>
|
||||
<div class="input-group input-group-lg">
|
||||
<span class="input-group-addon" id="Span1"><i class="glyphicon glyphicon-lock"></i></span>
|
||||
<input type="password" id= "Contraseña" name="contra" class="form-control" placeholder="Contraseña" aria-describedby="sizing-addon1" required>
|
||||
<span class="input-group-btn">
|
||||
<div class="btn-group">
|
||||
<button type="button" id="opcionesContraseña" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
|
||||
<span class="caret"></span>
|
||||
<span class="sr-only">Desplegar menú</span>
|
||||
</button>
|
||||
<ul class="dropdown-menu" role="menu">
|
||||
<li><a id = "generarContraseña" >Generar Contraseña</a></li>
|
||||
<li><a id = "verContraseña">Ver</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
<br>
|
||||
<button class="btn btn-lg btn-primary btn-block btn-signin" id="IngresoLog" type="submit">Entrar</button>
|
||||
<button class="btn btn-lg btn-primary btn-block btn-signup" id="RegistroLog" type="submit">Registrarse</button>
|
||||
</div>
|
||||
<!-- libreria Jquery <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>-->
|
||||
<!-- AES -->
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/crypto-js.min.js"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
32
manifest.json
Normal file
32
manifest.json
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
"manifest_version": 2,
|
||||
"name": "SE",
|
||||
"version": "1.0.0",
|
||||
"description": "Extension for SecureDataBank",
|
||||
"icons": {
|
||||
"128": "icon128.png",
|
||||
"32": "icon32.png",
|
||||
"48": "icon48.png"
|
||||
},
|
||||
"browser_action": {
|
||||
"default_icon": {
|
||||
"16": "icon16.png",
|
||||
"32": "icon32.png"
|
||||
},
|
||||
"default_title": "Extension for SecureDataBank"
|
||||
},
|
||||
"content_security_policy": "script-src 'self' https://unpkg.com/ https://fonts.googleapis.com/ https://cdn.datatables.net/ https://maxcdn.bootstrapcdn.com/ https://ajax.googleapis.com/ https://cdnjs.cloudflare.com/; object-src 'self'",
|
||||
"background":
|
||||
{
|
||||
"scripts": ["background.js"],
|
||||
"persistent": false
|
||||
},
|
||||
"content_scripts": [
|
||||
{
|
||||
"matches": ["<all_urls>"],
|
||||
"js": ["content.js"],
|
||||
"run_at": "document_end"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
75
scripts/contraseñaSeguras.js
Normal file
75
scripts/contraseñaSeguras.js
Normal file
@ -0,0 +1,75 @@
|
||||
let caracteresEspeciales_cantidad = 0;
|
||||
let numeros_cantidad = 0;
|
||||
let mayusculas_cantidad = 0;
|
||||
let minusculas_cantidad = 0;
|
||||
|
||||
let longitud_contraseña = 25; //Longitud
|
||||
|
||||
let contraseña = new Array(); //Contraseña final
|
||||
|
||||
let caracteres_especiales = '!^$+=#€?@';
|
||||
let numeros = '0123456789';
|
||||
let mayusculas = 'ABCDEFGHJKLMNOPQRSTUVWXYZ';
|
||||
let minusculas = 'abcdefghijklmnopqrstuvwxyz';
|
||||
let cadenaAleatoria = '!^$+=#€?@0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ';
|
||||
|
||||
const shuffleArray = array => {
|
||||
for (let i = array.length - 1; i > 0; i--) {
|
||||
const j = Math.floor(Math.random() * (i + 1));
|
||||
const temp = array[i];
|
||||
array[i] = array[j];
|
||||
array[j] = temp;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function rellenarContraseña(longitud){
|
||||
|
||||
longitud_contraseña = longitud;
|
||||
cantidad();
|
||||
let index = {index : 0}; //Para poder pasar por referencia
|
||||
|
||||
relleno(caracteresEspeciales_cantidad, caracteres_especiales, index);
|
||||
relleno(numeros_cantidad, numeros, index);
|
||||
relleno(mayusculas_cantidad, mayusculas, index);
|
||||
relleno(minusculas_cantidad, minusculas, index);
|
||||
|
||||
if(contraseña.length < longitud_contraseña){
|
||||
let diferencia = longitud_contraseña - contraseña.length;
|
||||
relleno(diferencia,cadenaAleatoria, index);
|
||||
}
|
||||
|
||||
shuffleArray(contraseña);
|
||||
let cadena = contraseña.toString();
|
||||
cadena = cadena.replaceAll(',', '');
|
||||
return cadena;
|
||||
|
||||
}
|
||||
|
||||
function cantidad(){
|
||||
caracteresEspeciales_cantidad = Math.floor(Math.random()*(20-15+1)+15) * (longitud_contraseña/100);
|
||||
numeros_cantidad = Math.floor(Math.random()*(25-20+1)+20) * (longitud_contraseña/100);
|
||||
mayusculas_cantidad = Math.floor(Math.random()*(25-20+1)+20) * (longitud_contraseña/100);
|
||||
minusculas_cantidad = Math.floor(Math.random()*(30-25+1)+25) * (longitud_contraseña/100);
|
||||
|
||||
|
||||
caracteresEspeciales_cantidad = caracteresEspeciales_cantidad % 1 < 0.5 ? Math.trunc(caracteresEspeciales_cantidad) : Math.ceil(caracteresEspeciales_cantidad);
|
||||
numeros_cantidad = numeros_cantidad % 1 < 0.5 ? Math.trunc(numeros_cantidad) : Math.ceil(numeros_cantidad);
|
||||
mayusculas_cantidad = mayusculas_cantidad % 1 < 0.5 ? Math.trunc(mayusculas_cantidad) : Math.ceil(mayusculas_cantidad);
|
||||
minusculas_cantidad = minusculas_cantidad % 1 < 0.5 ? Math.trunc(minusculas_cantidad) : Math.ceil(minusculas_cantidad);
|
||||
|
||||
}
|
||||
|
||||
function relleno(cantidad, cadena, index){
|
||||
|
||||
let longitud = cadena.length-1;
|
||||
let i = index.index;
|
||||
while(cantidad !== 0){ //Se puede hacer ya que cantidad no se pasa por referencia si no por valor.
|
||||
contraseña.push(cadena.charAt(Math.floor(Math.random()*(longitud-0+1)+0)));
|
||||
i++;
|
||||
cantidad--;
|
||||
}
|
||||
index.index = i;
|
||||
}
|
||||
|
||||
export { rellenarContraseña }
|
252
scripts/html.js
Normal file
252
scripts/html.js
Normal file
@ -0,0 +1,252 @@
|
||||
/**
|
||||
* HTML de las tablas de los datos guardados
|
||||
* @returns devuelve el HTML con las tablas de los datos guardados
|
||||
*/
|
||||
export function bodyHTML(){
|
||||
var html=
|
||||
`<div class="container nav_menu">
|
||||
<div>
|
||||
<ul class="nav nav-pills nav_menu_tabs" role="tablist">
|
||||
<li role="presentation" class="active"><a id="aPrivate" href="#divPrivate">Archivos Privados <!--<span class="badge">42</span>--></a></li>
|
||||
<li role="presentation"><a id="aShare" href="#divShare">Archivos Compartidos</a></li>
|
||||
<li role="presentation"><a id="a2FA" href="#div2FA">2FA</a></li>
|
||||
<!--<li role="presentation"><a href="#">Messages <span class="badge">3</span></a></li>-->
|
||||
</ul>
|
||||
<div class = "nav_menu_botones"><button id="cerrarSesion" type="button" class="btn btn-secondary">Cerrar Sesión</button></div>
|
||||
<div class = "nav_menu_botones"><button id="subirDatos" type="button" class="btn btn-success" >Subir datos</button> </div>
|
||||
<div class = "nav_menu_botones"><button type="button" id="compartirDatosButton" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal">Compartir</button> </div>
|
||||
<div id = "archivosCompartidosButton" class="archivosOcultos nav_menu_botones btn-group">
|
||||
<button type="button" class="btn btn-default dropdown-toggle"
|
||||
data-toggle="dropdown">
|
||||
ArchivosCompartidos <span class="caret"></span>
|
||||
</button>
|
||||
<ul id = "archivosCompartidosList" class="dropdown-menu" role="menu">
|
||||
</ul>
|
||||
</div>
|
||||
<div id = "archivosCompartidosConmigoButton" class="archivosOcultos nav_menu_botones btn-group">
|
||||
<button type="button" class="btn btn-default dropdown-toggle"
|
||||
data-toggle="dropdown">
|
||||
ArchivosCompartidosConmigo <span class="caret"></span>
|
||||
</button> 
|
||||
<ul id = "archivosCompartidosConmigoList" class="dropdown-menu" role="menu">
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="divPrivate">
|
||||
<div class="container">
|
||||
<div class="table-responsive">
|
||||
<div class="table-wrapper">
|
||||
<div class="table-title">
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<h2><b>Usuarios</b></h2>
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<button class="btn btn-success" id="añadirN" data-toggle="modal" data-target="#addU" type="submit"><i class="material-icons"></i> <span>Nuevo Usuario</span></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table class="table table-striped table-hover" id="tablaUsuarios">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Descripcion</th>
|
||||
<th>Url</th>
|
||||
<th>Usuario</th>
|
||||
<th>Password</th>
|
||||
<th>Acciones</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="usuariosTable">
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<div class="table-responsive">
|
||||
<div class="table-wrapper">
|
||||
<div class="table-title">
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<h2><b>Notas</b></h2>
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<button class="btn btn-success" id="añadirN" data-toggle="modal" data-target="#addU" type="submit"><i class="material-icons"></i> <span>Nueva Nota</span></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table class="table table-striped table-hover" id="tablaNotas">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nombre</th>
|
||||
<th>Descripcion</th>
|
||||
<th>Acciones</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="notasTable">
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="container">
|
||||
<div class="table-responsive">
|
||||
<div class="table-wrapper">
|
||||
<div class="table-title">
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<h2><b>Tarjetas de Crédito</b></h2>
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<button class="btn btn-success" id="añadirN" data-toggle="modal" data-target="#addU" type="submit"><i class="material-icons"></i> <span>Nueva Tarjeta de Crédito</span></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table class="table table-striped table-hover" id="tablaTarjetasCredito">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nombre Entidad</th>
|
||||
<th>Número de Tarjeta</th>
|
||||
<th>Fecha de Caducidad</th>
|
||||
<th>Nombre del Titular</th>
|
||||
<th>Código De Seguridad</th>
|
||||
<th>Acciones</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="tarjetasTable">
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<div class="table-responsive">
|
||||
<div class="table-wrapper">
|
||||
<div class="table-title">
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<h2><b>Cuentas Bancarias</b></h2>
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<button class="btn btn-success" id="añadirN" data-toggle="modal" data-target="#addU" type="submit"><i class="material-icons"></i> <span>Nueva Cuenta Bancaria</span></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table class="table table-striped table-hover" id="tablaCuentasBancarias">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nombre Entidad</th>
|
||||
<th>IBAN</th>
|
||||
<th>Usuario Banca Online</th>
|
||||
<th>Contraseña Banca Online</th>
|
||||
<th>Acciones</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="cuentasTable">
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div id=divShare class="archivosOcultos">
|
||||
<div class="container">
|
||||
<div class="table-responsive">
|
||||
<div class="table-wrapper">
|
||||
<div class="table-title">
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<h2><b>Usuarios</b></h2>
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<button class="btn btn-success" id="añadirN" data-toggle="modal" data-target="#addU" type="submit"><i class="material-icons"></i> <span>Nuevo Usuario</span></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table class="table table-striped table-hover" id="tablaUsuarios">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Descripcion</th>
|
||||
<th>Url</th>
|
||||
<th>Usuario</th>
|
||||
<th>Password</th>
|
||||
<th>Acciones</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="usuariosTableCompartidos">
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<div class="table-responsive">
|
||||
<div class="table-wrapper">
|
||||
<div class="table-title">
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<h2><b>Notas</b></h2>
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<button class="btn btn-success" id="añadirN" data-toggle="modal" data-target="#addU" type="submit"><i class="material-icons"></i> <span>Nueva Nota</span></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table class="table table-striped table-hover" id="tablaNotas">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nombre</th>
|
||||
<th>Descripcion</th>
|
||||
<th>Acciones</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="notasTableCompartidos">
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id=div2FA class="archivosOcultos">
|
||||
<div class="container" style="text-align:center">
|
||||
<p style="margin-top:50px"><h2>Active y escane el código QR para aplicar el doble factor TOTP</h2></p>
|
||||
<svg class="qrCode" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="qrcode"/>
|
||||
</svg>
|
||||
<label style="margin:40px" for="act2FA" class="btn btn-info qrCode">Activar <input type="checkbox" id="act2FA" class="badgebox"><span class="badge">✓</span></label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
`;
|
||||
return html;
|
||||
}
|
||||
|
||||
|
||||
export function bodyFA(){
|
||||
let html = `<div id="Contenedor">
|
||||
<div class="Icon">
|
||||
<!--Icono de usuario-->
|
||||
<span class="glyphicon glyphicon-user"></span>
|
||||
</div>
|
||||
<div class="input-group input-group-lg">
|
||||
<span class="input-group-addon" id="sizing-addon1"><i class="glyphicon glyphicon-user"></i></span>
|
||||
<input type="text" class="form-control" name="secret" placeholder="Code TOTP" id="secret" aria-describedby="sizing-addon1" required>
|
||||
</div>
|
||||
<br>
|
||||
<button class="btn btn-lg btn-primary btn-block btn-signup" id="checkcodeFA" type="submit">Comprobar</button>
|
||||
</div>`
|
||||
|
||||
return html;
|
||||
}
|
26
scripts/modales/modalCompartir.js
Normal file
26
scripts/modales/modalCompartir.js
Normal file
@ -0,0 +1,26 @@
|
||||
export function modalCompartir(){
|
||||
//<option value="1">One</option>
|
||||
var html= `<!-- Modal compartir-->
|
||||
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="exampleModalLabel">Compartir</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body modal-compartir">
|
||||
<select id="multiSelect" multiple="multiple">
|
||||
</select>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
<button id= "compartirDatos" type="button" class="btn btn-primary">Compartir Datos</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
return html;
|
||||
}
|
130
scripts/modales/modalCrear.js
Normal file
130
scripts/modales/modalCrear.js
Normal file
@ -0,0 +1,130 @@
|
||||
export function modal(){
|
||||
|
||||
var html = `<!-- Modal -->
|
||||
<div class="modal fade" id="addU" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span>
|
||||
|
||||
</button>
|
||||
<h4 class="modal-title" id="myModalLabel">Añadir Nuevos Datos</h4>
|
||||
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div role="tabpanel">
|
||||
<!-- Nav tabs -->
|
||||
<ul class="nav nav-tabs" role="tablist">
|
||||
<li role="presentation" class="active"><a href="#NuevoUsuarioTab" aria-controls="NuevoUsuarioTab" role="tab" data-toggle="tab">Nuevo Usuario</a>
|
||||
|
||||
</li>
|
||||
<li role="presentation"><a href="#NuevaNotaTab" aria-controls="NuevaNotaTab" role="tab" data-toggle="tab">Nueva Nota</a>
|
||||
|
||||
</li>
|
||||
<li role="presentation"><a href="#NuevaTarjetaDeCréditoTab" aria-controls="NuevaTarjetaDeCréditoTab" role="tab" data-toggle="tab">Nueva Tarjeta de Crédito</a>
|
||||
|
||||
</li>
|
||||
<li role="presentation"><a href="#NuevaCuentaBancariaTab" aria-controls="NuevaCuentaBancariaTab" role="tab" data-toggle="tab">Nueva Cuenta Bancaria</a>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</br>
|
||||
<!-- Tab panes -->
|
||||
<div class="tab-content">
|
||||
<div role="tabpanel" class="tab-pane active" id="NuevoUsuarioTab">
|
||||
<div class="form-group">
|
||||
<label for="DescripcionModal">Descripción</label>
|
||||
<input type="text" class="form-control" id="DescripcionModal" placeholder="Introduce Descripción">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="URLModal">URL</label>
|
||||
<input type="url" class="form-control" id="URLModal" placeholder="URL">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="UsuarioModal">Usuario</label>
|
||||
<input type="text" class="form-control" id="UsuarioModal" placeholder="Introduce Usuario">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="ContraseñaModal">Contraseña</label>
|
||||
<div class="input-group ">
|
||||
<input type="password" class="form-control" id="ContraseñaModal" placeholder="Introduce Contraseña" aria-describedby="sizing-addon1">
|
||||
<span class="input-group-btn">
|
||||
<div class="btn-group">
|
||||
<button type="button" id="opcionesContraseñaa" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
|
||||
<span class="caret"></span>
|
||||
<span class="sr-only">Desplegar menú</span>
|
||||
</button>
|
||||
<ul class="dropdown-menu" role="menu">
|
||||
<li><a id = "generarContraseña" >Generar Contraseña</a></li>
|
||||
<li><a id = "verContraseña">Ver</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div role="tabpanel" class="tab-pane" id="NuevaNotaTab">
|
||||
<div class="form-group">
|
||||
<label for="NombreNota">Nombre</label>
|
||||
<input type="text" class="form-control" id="NombreNota" placeholder="Introduce Nombre">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="textoNota">Texto Nota</label>
|
||||
<textarea class="form-control" id="textoNota" rows="3"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div role="tabpanel" class="tab-pane" id="NuevaTarjetaDeCréditoTab">
|
||||
<div class="form-group">
|
||||
<label for="nombreEntidad">Nombre Entidad</label>
|
||||
<input type="text" class="form-control" id="nombreEntidad" placeholder="Introduce Nombre de la Entidad/Banco">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="numTarjeta">Número tarjeta</label>
|
||||
<input type="text" class="form-control" id="numTarjeta" placeholder="Introduce el número de la tarjeta" maxlength=16>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="fechaCaducidad">Fecha de Caducidad</label>
|
||||
<input type="date" class="form-control" id="fechaCaducidad" placeholder="Introduce la fecha de caducidad">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="nombreTitular">Nombre Titular</label>
|
||||
<input type="text" class="form-control" id="nombreTitular" placeholder="Introduce Nombre del Titular">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="codigoDeSeguridad">Código de seguridad</label>
|
||||
<input type="text" class="form-control" id="codigoDeSeguridad" placeholder="Introduce el código de seguridad" maxlength=3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div role="tabpanel" class="tab-pane" id="NuevaCuentaBancariaTab">
|
||||
<div class="form-group">
|
||||
<label for="nombreEntidadBancaria">Nombre Entidad</label>
|
||||
<input type="text" class="form-control" id="nombreEntidadBancaria" placeholder="Introduce Nombre de la Entidad/Banco">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="IBAN">Número de cuenta (IBAN)</label>
|
||||
<input type="text" class="form-control" id="IBAN" placeholder="Introduce el número de la cuenta Bancaria" maxlength=24>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="usuarioBancario">Usuario Banca Online</label>
|
||||
<input type="text" class="form-control" id="usuarioBancario" placeholder="Introduce el usuario de la Banca Online">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="contraseñaBancario">Contraseña Banca Online</label>
|
||||
<input type="password" class="form-control" id="contraseñaBancario" placeholder="Introduce la contraseña de la Banca Online">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
|
||||
<button type="button" id="añadirModal" class="btn btn-primary save">Guardar Cambios</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`
|
||||
|
||||
return html;
|
||||
}
|
151
scripts/modales/modalesEditar.js
Normal file
151
scripts/modales/modalesEditar.js
Normal file
@ -0,0 +1,151 @@
|
||||
export function modalEUsuario(){
|
||||
var html = `<!-- Modal Editar Usuario -->
|
||||
<div class="modal fade" id="editarUsuarioModal" tabindex="-1" role="dialog" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="exampleModalLabel">Editar Usuario</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-group">
|
||||
<label for="DescripcionModalEditarUsuario">Descripción</label>
|
||||
<input type="text" class="form-control" id="DescripcionModalEditarUsuario" placeholder="">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="URLModalEditarUsuario">URL</label>
|
||||
<input type="url" class="form-control" id="URLModalEditarUsuario" placeholder="">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="UsuarioModalEditarUsuario">Usuario</label>
|
||||
<input type="text" class="form-control" id="UsuarioModalEditarUsuario" placeholder="">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="ContraseñaModalEditarUsuario">Contraseña</label>
|
||||
<input type="password" class="form-control" id="ContraseñaModalEditarUsuario" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Descartar</button>
|
||||
<button type="button" id = "modalConfirmacionEditarUsuario" class="btn btn-primary">Guardar Cambios</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`;
|
||||
return html;
|
||||
}
|
||||
|
||||
|
||||
export function modalENota(){
|
||||
var html = `<!-- Modal Editar Notas -->
|
||||
<div class="modal fade" id="editarNotaModal" tabindex="-1" role="dialog" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="exampleModalLabel">Editar Nota</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-group">
|
||||
<label for="NombreNota">Nombre</label>
|
||||
<input type="text" class="form-control" id="EditarNombreNota" placeholder="Introduce Nombre">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="textoNota">Texto Nota</label>
|
||||
<textarea class="form-control" id="EditartextoNota" rows="3"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Descartar</button>
|
||||
<button type="button" id = "modalConfirmacionEditarNota" class="btn btn-primary">Guardar Cambios</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`;
|
||||
return html;
|
||||
}
|
||||
export function modalEditTarjetaCredito(){
|
||||
var html = `<!-- Modal Editar Tarjeta -->
|
||||
<div class="modal fade" id="editarTarjetaCreditoModal" tabindex="-1" role="dialog" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="exampleModalLabel">Editar Tarjeta de Crédito</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-group">
|
||||
<label for="nombreEntidadModalEditarTarjetaCredito">Nombre Entidad</label>
|
||||
<input type="text" class="form-control" id="nombreEntidadModalEditarTarjetaCredito" placeholder="">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="numTarjetaModalEditarTarjetaCredito">Número Tarjeta</label>
|
||||
<input type="text" class="form-control" id="numTarjetaModalEditarTarjetaCredito" placeholder="">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="fechaCaducidadModalEditarTarjetaCredito">Fecha Caducidad</label>
|
||||
<input type="date" class="form-control" id="fechaCaducidadModalEditarTarjetaCredito" placeholder="">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="nombreTitularModalEditarTarjetaCredito">Nombre Titular</label>
|
||||
<input type="text" class="form-control" id="nombreTitularModalEditarTarjetaCredito" placeholder="">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="codigoDeSeguridadEditarTarjetaCredito">Código Seguridad</label>
|
||||
<input type="text" class="form-control" id="codigoDeSeguridadModalEditarTarjetaCredito" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Descartar</button>
|
||||
<button type="button" id = "modalConfirmacionEditarTarjetaCredito" class="btn btn-primary">Guardar Cambios</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`;
|
||||
return html;
|
||||
}
|
||||
|
||||
export function modalEditCuentaBancaria(){
|
||||
var html = `<!-- Modal Editar Cuenta -->
|
||||
<div class="modal fade" id="editarCuentaBancariaModal" tabindex="-1" role="dialog" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="exampleModalLabel">Editar Cuenta Bancaria</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-group">
|
||||
<label for="nombreEntidadBancariaModalEditarCuentaBancaria">Nombre Entidad</label>
|
||||
<input type="text" class="form-control" id="nombreEntidadBancariaModalEditarCuentaBancaria" placeholder="">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="IBANModalEditarCuentaBancaria">IBAN</label>
|
||||
<input type="text" class="form-control" id="IBANModalEditarCuentaBancaria" placeholder="">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="usuarioBancarioModalEditarCuentaBancaria">Fecha Caducidad</label>
|
||||
<input type="text" class="form-control" id="usuarioBancarioModalEditarCuentaBancaria" placeholder="">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="contraseñaBancarioModalEditarCuentaBancaria">Nombre Titular</label>
|
||||
<input type="password" class="form-control" id="contraseñaBancarioModalEditarCuentaBancaria" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Descartar</button>
|
||||
<button type="button" id = "modalConfirmacionEditarCuentaBancaria" class="btn btn-primary">Guardar Cambios</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>`;
|
||||
return html;
|
||||
}
|
75
scripts/plantillas.js
Normal file
75
scripts/plantillas.js
Normal file
@ -0,0 +1,75 @@
|
||||
//////////////Plantillas
|
||||
export function plantillaUsuario(descripcion, url, usuario, contraseña){
|
||||
if(descripcion != ""){
|
||||
this.descripcion = descripcion;
|
||||
}
|
||||
if(url != ""){
|
||||
this.url = url;
|
||||
}
|
||||
if(usuario != ""){
|
||||
this.usuario = usuario;
|
||||
}
|
||||
if(contraseña != ""){
|
||||
this.contraseña = contraseña;
|
||||
}
|
||||
}
|
||||
|
||||
export function plantillaNota(nombre, textoNota){
|
||||
if(nombre != ""){
|
||||
this.nombre = nombre;
|
||||
}
|
||||
if(textoNota != ""){
|
||||
this.textoNota = textoNota;
|
||||
}
|
||||
}
|
||||
//---------------------------
|
||||
|
||||
|
||||
/**
|
||||
* plantilla para crear un objeto de tipo Tarjeta de Crédito
|
||||
* @param {*} nombreEntidad nombre del banco
|
||||
* @param {*} numTarjeta nombre de la tarjeta guardada
|
||||
* @param {*} fechaCaducidad fecha de caducidad de la tarjeta guardada
|
||||
* @param {*} nombreTitular nombre del titular de la tarjeta
|
||||
* @param {*} codigoDeSeguridad código de seguridad de la tarjeta (CCV, CVV)
|
||||
*/
|
||||
export function plantillaTarjetaCredito(nombreEntidad, numTarjeta,fechaCaducidad,nombreTitular,codigoDeSeguridad){
|
||||
if(nombreEntidad != ""){
|
||||
this.nombreEntidad = nombreEntidad;
|
||||
}
|
||||
if(numTarjeta != ""){
|
||||
this.numTarjeta = numTarjeta;
|
||||
}
|
||||
if(fechaCaducidad != ""){
|
||||
this.fechaCaducidad = fechaCaducidad;
|
||||
}
|
||||
if(nombreTitular != ""){
|
||||
this.nombreTitular = nombreTitular;
|
||||
}
|
||||
if(codigoDeSeguridad != ""){
|
||||
this.codigoDeSeguridad = codigoDeSeguridad;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* plantilla para crear un objeto de tipo Cuenta Bancaria
|
||||
* @param {*} nombreEntidadBancaria nombre del banco
|
||||
* @param {*} IBAN número completo de la cuenta bancaria
|
||||
* @param {*} usuarioBancario usuario con el que acceder a la banca online
|
||||
* @param {*} contraseñaBancario contraseña para acceder a la banca online
|
||||
*/
|
||||
export function plantillaCuentaBancaria(nombreEntidadBancaria, IBAN,usuarioBancario,contraseñaBancario){
|
||||
if(nombreEntidadBancaria != ""){
|
||||
this.nombreEntidadBancaria = nombreEntidadBancaria;
|
||||
}
|
||||
if(IBAN != ""){
|
||||
this.IBAN = IBAN;
|
||||
}
|
||||
if(usuarioBancario != ""){
|
||||
this.usuarioBancario = usuarioBancario;
|
||||
}
|
||||
if(contraseñaBancario != ""){
|
||||
this.contraseñaBancario = contraseñaBancario;
|
||||
}
|
||||
}
|
||||
|
173
scripts/plog.js
Normal file
173
scripts/plog.js
Normal file
@ -0,0 +1,173 @@
|
||||
!function(e){"object"==typeof exports?module.exports=e():"function"==typeof define&&define.amd?define(e):"undefined"!=typeof window?window.plog=e():"undefined"!=typeof global?global.plog=e():"undefined"!=typeof self&&(self.plog=e())}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
|
||||
var InMemoryStorage = function() {
|
||||
this.events = [];
|
||||
};
|
||||
|
||||
InMemoryStorage.prototype.append = function(event) {
|
||||
this.events.push(event);
|
||||
};
|
||||
|
||||
InMemoryStorage.prototype.clear = function() {
|
||||
this.events = [];
|
||||
};
|
||||
|
||||
InMemoryStorage.prototype.getEvents = function() {
|
||||
return this.events;
|
||||
};
|
||||
|
||||
module.exports = InMemoryStorage;
|
||||
},{}],2:[function(require,module,exports){
|
||||
var INDEX_KEY = 'plog-index';
|
||||
|
||||
function initialize() {
|
||||
saveIndex({firstId: 0, nextId: 0});
|
||||
}
|
||||
|
||||
function saveIndex(index) {
|
||||
localStorage[INDEX_KEY] = JSON.stringify(index);
|
||||
}
|
||||
|
||||
function loadIndex() {
|
||||
return JSON.parse(localStorage[INDEX_KEY]);
|
||||
}
|
||||
|
||||
function foreachKey(callback) {
|
||||
var index = loadIndex();
|
||||
for (var id = index.firstId; id < index.nextId; id++) {
|
||||
callback('plog-event-' + id);
|
||||
}
|
||||
}
|
||||
|
||||
var LocalStorage = function(opts) {
|
||||
opts = opts || {};
|
||||
this.maxSize = opts.maxSize || 100;
|
||||
|
||||
if (typeof localStorage[INDEX_KEY] === 'undefined') {
|
||||
initialize();
|
||||
}
|
||||
};
|
||||
|
||||
LocalStorage.prototype.clear = function() {
|
||||
foreachKey(function(key) {
|
||||
delete localStorage[key];
|
||||
});
|
||||
initialize();
|
||||
};
|
||||
|
||||
LocalStorage.prototype.purgeOldEvents = function() {
|
||||
var eventsToPurge = Math.round(this.maxSize * 0.2);
|
||||
var index = loadIndex();
|
||||
|
||||
for (var i = 0; i < eventsToPurge; i++) {
|
||||
var key = 'plog-event-' + (index.firstId + i);
|
||||
delete localStorage[key];
|
||||
}
|
||||
|
||||
index.firstId += eventsToPurge;
|
||||
saveIndex(index);
|
||||
};
|
||||
|
||||
LocalStorage.prototype.getEvents = function() {
|
||||
var events = [];
|
||||
foreachKey(function(key) {
|
||||
var event = localStorage[key];
|
||||
events.push(JSON.parse(event));
|
||||
});
|
||||
return events;
|
||||
};
|
||||
|
||||
LocalStorage.prototype.append = function(event) {
|
||||
|
||||
var index = loadIndex();
|
||||
var currentSize = index.nextId - index.firstId;
|
||||
|
||||
if (currentSize + 1 > this.maxSize) {
|
||||
this.purgeOldEvents();
|
||||
index = loadIndex();
|
||||
}
|
||||
|
||||
var key = 'plog-event-' + index.nextId;
|
||||
localStorage[key] = JSON.stringify(event);
|
||||
|
||||
index.nextId++;
|
||||
saveIndex(index);
|
||||
};
|
||||
|
||||
module.exports = LocalStorage;
|
||||
},{}],3:[function(require,module,exports){
|
||||
var plog = {};
|
||||
|
||||
plog.storages = {
|
||||
LocalStorage: require('./LocalStorage'),
|
||||
InMemoryStorage: require('./InMemoryStorage')
|
||||
};
|
||||
|
||||
plog.level = {
|
||||
DEBUG: 0,
|
||||
INFO: 1,
|
||||
WARN: 2,
|
||||
ERROR: 3,
|
||||
FATAL: 4,
|
||||
getName: function(level) {
|
||||
for (var x in this) {
|
||||
if (this[x] === level) return x;
|
||||
}
|
||||
return level;
|
||||
}
|
||||
};
|
||||
|
||||
var currentStorage, currentLevel;
|
||||
|
||||
plog.reset = function() {
|
||||
currentStorage = new plog.storages.LocalStorage();
|
||||
currentLevel = plog.level.INFO;
|
||||
};
|
||||
|
||||
plog.reset();
|
||||
|
||||
plog.useStorage = function(storage) {
|
||||
currentStorage = storage;
|
||||
};
|
||||
|
||||
plog.getStorage = function() {
|
||||
return currentStorage;
|
||||
};
|
||||
|
||||
plog.getLevel = function() {
|
||||
return currentLevel;
|
||||
};
|
||||
|
||||
plog.setLevel = function(level) {
|
||||
currentLevel = level;
|
||||
};
|
||||
|
||||
function write(level, msg) {
|
||||
if (level < currentLevel) return;
|
||||
|
||||
var event = {
|
||||
level: level,
|
||||
date: new Date(),
|
||||
message: msg
|
||||
};
|
||||
|
||||
currentStorage.append(event);
|
||||
|
||||
console.log(event.date.toISOString() + ': ' + plog.level.getName( |