Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions Esempi/Autenticazione/autenticazione.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<body>
<script src="handling-exception.js"></script>
</body>
63 changes: 63 additions & 0 deletions Esempi/Autenticazione/handling-exception.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
var Messaggio = /** @class */ (function () {
function Messaggio() {
this.elemento = this.Crea();
}
Messaggio.prototype.Crea = function () {
var div = document.createElement('div');
var p = document.createElement('p');
div.appendChild(p);
return div;
};
Messaggio.prototype.InserisciMessaggio = function (stringa) {
var p = this.elemento.querySelector('p');
if (p) {
p.textContent = stringa;
}
};
Messaggio.prototype.Mostra = function () {
document.body.appendChild(this.elemento);
};
Messaggio.prototype.Distruggi = function () {
var _this = this;
setTimeout(function () {
if (_this.elemento.parentNode) {
_this.elemento.parentNode.removeChild(_this.elemento);
}
}, 5000);
};
return Messaggio;
}());
var ProgrammaAutorizzazione = /** @class */ (function () {
function ProgrammaAutorizzazione() {
}
ProgrammaAutorizzazione.Esegui = function () {
var autorizzazioneUtente = true;
var messaggioAutorizzazione = new Messaggio();
try {
var accessoUtente = this.VerificaAutorizzazione(autorizzazioneUtente);
messaggioAutorizzazione.InserisciMessaggio(accessoUtente);
messaggioAutorizzazione.Mostra();
}
catch (error) {
console.log(error);
messaggioAutorizzazione.InserisciMessaggio(error);
messaggioAutorizzazione.Mostra();
//ritorno messaggio
}
finally {
if (messaggioAutorizzazione) {
messaggioAutorizzazione.Distruggi();
}
}
};
ProgrammaAutorizzazione.VerificaAutorizzazione = function (autorizzazione) {
if (autorizzazione) {
return 'Utente Autorizzato';
}
else {
throw new Error("Utente non autorizzato");
}
};
return ProgrammaAutorizzazione;
}());
ProgrammaAutorizzazione.Esegui();
72 changes: 72 additions & 0 deletions Esempi/Autenticazione/handling-exception.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
class Messaggio {

private elemento: HTMLDivElement

constructor() {
this.elemento = this.Crea()
}

private Crea(): HTMLDivElement {
const div = document.createElement('div') as HTMLDivElement
const p = document.createElement('p') as HTMLParagraphElement
div.appendChild(p)

return div
}

public InserisciMessaggio(stringa:string) {
const p = this.elemento.querySelector('p')
if (p) {
p.textContent = stringa
}
}

public Mostra():void {
document.body.appendChild(this.elemento)
}

public Distruggi():void {
setTimeout(() => {
if (this.elemento.parentNode) {
this.elemento.parentNode.removeChild(this.elemento)
}
}, 5000);
}
}



class ProgrammaAutorizzazione {

static Esegui() {
let autorizzazioneUtente:boolean = false

let messaggioAutorizzazione: Messaggio = new Messaggio()
try {
let accessoUtente = this.VerificaAutorizzazione(autorizzazioneUtente)
messaggioAutorizzazione.InserisciMessaggio(accessoUtente)
messaggioAutorizzazione.Mostra()
} catch (error) {
console.log(error);
messaggioAutorizzazione.InserisciMessaggio(error)
messaggioAutorizzazione.Mostra()
//ritorno messaggio
} finally {
if (messaggioAutorizzazione) {
messaggioAutorizzazione.Distruggi()
}
}

}
static VerificaAutorizzazione(autorizzazione: boolean):string {
if (autorizzazione) {
return 'Utente Autorizzato'
} else {
throw new Error("Utente non autorizzato");
}
}

}

ProgrammaAutorizzazione.Esegui()

5 changes: 5 additions & 0 deletions Esempi/Autenticazione/prova1.mts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export class Prova1 {
constructor(parameters) {

}
}
76 changes: 76 additions & 0 deletions parte2-css/pagine/blog.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
<style>
@media screen and (min-width:600px) {
body {
width: 500px;
margin: auto;

article {
display: flex;
flex-direction: column;
width: 400px;
margin: auto;

.riga-introduzione{
display: grid;
grid-template-columns: auto auto;

.informazioni-introduttivi {
background-color: antiquewhite;
border: 1px solid;
padding: 10px;

p {
text-align: center;
}

ul {
list-style-type: none;
position: relative;
left: -12;
}
}
}
}
}
}
</style>

<div class="contenitore">
<header>
<img src="../../risorse/immagini/logo-250x100.webp" alt="">
</header>
<main>
<article>
<h1>Titolo blog</h1>
<div class="riga-introduzione">
<div class="blocco-introduzione">
<p>Inserisci introduzione</p>
<p>Inserisci introduzione</p>
<p>Inserisci introduzione</p>
<h2>Sottotitolo</h2>
<p>Paragrafo</p>
<p>Paragrafo</p>
<p>Paragrafo</p>
<p>Paragrafo</p>
</div>
<div class="informazioni-introduttivi">
<p>Informazioni articolo</p>
<ul>
<li>
Nome autore:
</li>
<li>
Data:
</li>
<li>
Categoria:
</li>
<li>
Tag:
</li>
</ul>
</div>
</div>
</article>
</main>
</div>
1 change: 1 addition & 0 deletions parte5-webcomponents/componenti/components.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export {};
1 change: 1 addition & 0 deletions parte5-webcomponents/componenti/components.mts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
import { container } from "./container/container.mjs";
3 changes: 3 additions & 0 deletions parte5-webcomponents/componenti/container/container.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<template>
<link rel="stylesheet" href="template.css">
</template>
9 changes: 9 additions & 0 deletions parte5-webcomponents/componenti/container/container.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { AttaccaShadow, OttieniContentDaTemplate, OttieniTemplate } from "../function.mjs";
export const container = customElements.define('container', class Container extends HTMLDivElement {
constructor() {
super();
const shadow = AttaccaShadow(this);
const templateContent = OttieniContentDaTemplate(OttieniTemplate('container-template'));
shadow.appendChild(templateContent);
}
});
14 changes: 14 additions & 0 deletions parte5-webcomponents/componenti/container/container.mts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { AttaccaShadow, OttieniContentDaTemplate, OttieniTemplate } from "../function.mjs"

export const container = customElements.define('container',
class Container extends HTMLDivElement {
constructor() {
super()

const shadow = AttaccaShadow(this)
const templateContent = OttieniContentDaTemplate(OttieniTemplate('container-template'))

shadow.appendChild(templateContent)
}
}
)
Empty file.
43 changes: 43 additions & 0 deletions parte5-webcomponents/componenti/form/form.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<template id="form-template">
<style>
form {
border: 1px solid blue;
width: 300px ;
margin: auto;
padding: 10px;

input {
display: block;
width: 50%;
margin: auto;
}
}
</style>
<form action="">
<input type="text" name="inputNome" id="inputNome" value="Inserisci Nome">
</form>
</template>

<!-- <form-infodit></form-infodit> -->
<!--Inserisci qui un form predefinito e vedi che non si applica lo stile del template-->

<!--Inserisci qui un form-infodit e avrai l'esatta copia del primo-->

<!-- <script>
const formInfodit = customElements.define('form-infodit',
class FormInfodit extends HTMLElement {
constructor() {
super()

//Creazione dello shadow Dom
const shadow = this.attachShadow({ mode: 'closed' })

//Prendiamo il contenuto del template e lo copiamo su una variabile
const template = document.getElementById('form-template').content.cloneNode(true);

//Attacchiamo la copia del template sullo shadow DOM
shadow.appendChild(template)
}
}
)
</script> -->
12 changes: 12 additions & 0 deletions parte5-webcomponents/componenti/form/form.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { InserisciTemplateNelloShadowDOM } from "../function.mjs";
const formInfodit = customElements.define('form-infodit', class FormInfodit extends HTMLElement {
constructor() {
super();
//Creazione dello shadow Dom
const shadow = this.attachShadow({ mode: 'closed' });
//Prendiamo il contenuto del template e lo copiamo su una variabile
//const template = OttieniTemplateDaHTML('form.html','form-template') as Promise<Node>
//Attacchiamo la copia del template sullo shadow DOM
InserisciTemplateNelloShadowDOM(shadow, 'form.html', 'form-template');
}
});
17 changes: 17 additions & 0 deletions parte5-webcomponents/componenti/form/form.mts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { InserisciTemplateNelloShadowDOM } from "../function.mjs"

const formInfodit = customElements.define('form-infodit',
class FormInfodit extends HTMLElement {
constructor() {
super()
//Creazione dello shadow Dom
const shadow = this.attachShadow({ mode: 'closed' })

//Prendiamo il contenuto del template e lo copiamo su una variabile
//const template = OttieniTemplateDaHTML('form.html','form-template') as Promise<Node>

//Attacchiamo la copia del template sullo shadow DOM
InserisciTemplateNelloShadowDOM(shadow,'form.html','form-template')
}
}
)
2 changes: 2 additions & 0 deletions parte5-webcomponents/componenti/form/prova.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<form-infodit></form-infodit>
<script type="module" src="form.mjs"></script>
Loading