6
6
7
7
< title > Interactive floorplan</ title >
8
8
< meta name ="description " content ="Interactive Svg Floor Plan ">
9
- < meta name ="author " content ="Riccardo Gagliarducci @ Brixel ">
9
+ < meta name ="author " content ="Riccardo Gagliarducci @ Accademia Sironi ">
10
10
11
- <!-- remove style attribute using regex-> style="[^\"]*" -->
11
+ <!-- Stile inline
12
+ È possibile rimuovere gli attributi style da un svg utilizzando regex:
13
+ style="[^\"]*"
14
+ -->
12
15
< link rel ="stylesheet " href ="css/interfloorplan.css " />
16
+
17
+ <!-- Libreria
18
+ Posso caricare la libreria nell'header del documento.
19
+ -->
13
20
< script src ="js/interfloorplan.js "> </ script >
14
21
15
22
</ head >
@@ -25,12 +32,45 @@ <h1><a href="index.html">Planimetria interattiva</a></h1>
25
32
26
33
<!-- Main -->
27
34
< div id ="main ">
28
- < article class ="thumb ">
35
+ < article >
36
+
37
+
38
+ <!-- Multiple istanze
39
+ Possono esistere più mappe nella pagina. Le mappe vengono identificate
40
+ dalla classe "interfloorplan".
41
+ Ciascuna mappa è legata alla sua interfaccia tramite l'id che deve essere formato in questo modo:
42
+ mappa class="interfloorplan" con id="mappa1"
43
+ mappa ui id="mappa-1-ui"
44
+ L'id quindi può essere qualsiasi nome, l'interfaccia sarà nome-ui.
45
+ -->
46
+
47
+
48
+ <!-- Ui
49
+ In questo div viene creata l'interfaccia per navigare la mappa.
50
+ Può essere collocato ovunque nella pagina, basta che abbia questo id:
51
+ se non esiste non viene creata l'interfaccia.
52
+ Le azioni possono comunque essere guidate da javascript personalizzato. -->
53
+ < div id ="sironi-ui "> </ div >
54
+
55
+
56
+ <!-- Object
57
+ Object è un modo per fare l'embed dell'svg, rendendo accessibile il DOM dell'svg.
58
+ Usando il tag img non è possibile accedere al dom.
59
+ Inoltre, deve essere posizionato nello stesso dominio del documento html altrimenti
60
+ il DOM è inaccessibile (same-origin policy).
61
+
62
+ Questo svg può avere un foglio di stile interno, con CDATA es.
63
+
64
+ <![CDATA[
65
+ .firstb { fill: yellow; }
66
+ .secondb { fill: red; }
67
+ ]]>
29
68
30
- < div id ="interfloorplan-ui "> </ div >
69
+ Un ulteriore modo per inserire un foglio di stile esterno in un svg è l'uso di:
70
+ <?xml-stylesheet href="css/svg.css" type="text/css"?>
71
+ -->
72
+ < object id ="sironi " data ="Floorplan.svg " width ="100% " class ="interfloorplan ">
31
73
32
- <!-- <?xml-stylesheet href="css/svg.css" type="text/css"?> -->
33
- < object id ="interfloorplan " data ="Floorplan.svg " width ="100% ">
34
74
35
75
</ article >
36
76
@@ -39,10 +79,15 @@ <h1><a href="index.html">Planimetria interattiva</a></h1>
39
79
40
80
< script type ="text/javascript ">
41
81
42
- //Start when the whole page has loaded and Dom loading is complete, including all dependent resources
82
+ /* Onload
83
+ Posso far partire la funzione quando il DOM (tutto window) è completo, incluse tutte le dipendenze.
84
+ Onload è un evento, può essere assegnato a qualsiasi elemento.
85
+ */
43
86
window . onload = function ( ) {
44
87
45
- //Create the configuration
88
+ /* Configurazione
89
+ Creo la configurazione per gestire la mappa
90
+ */
46
91
var inlineConf = {
47
92
"name" : "External v5" , //Optional property, whatever name just for debug
48
93
"inputIds" : {
@@ -62,10 +107,19 @@ <h1><a href="index.html">Planimetria interattiva</a></h1>
62
107
}
63
108
} ;
64
109
65
- //Or just use an url
110
+ /* Configurazione esterna
111
+ È possibile anche usare una risorsa esterna.
112
+ Se è posizionata su un altro dominio è necessario abilitare il server (sempre same-origin).
113
+ */
66
114
var remoteConf = "http://bisonx.bisonx.lab/~crickyx/Interactive-Floorplan/auleList.json" ;
67
115
68
- //Start
116
+ /* Start
117
+ La libreria caricata espone un "metodo pubblico" che permette di lanciare la funzione
118
+ prendendo due parametri.
119
+ È possibile leggere la documentazione della funzione nella libreria.
120
+ Per brevità, il primo parametro è l'oggetto configurazione oppure un indirizzo da cui recuperarlo,
121
+ il secondo indica se il debug (la stampa di messaggi utili per programmare la libreria) è attivo oppure no.
122
+ */
69
123
interfloorplan . load ( remoteConf , true ) ;
70
124
} //onload
71
125
0 commit comments