Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
X
xmpp-pane
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Adrien Dorsaz
xmpp-pane
Commits
981075ae
Commit
981075ae
authored
Jun 03, 2018
by
Adrien Dorsaz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
a little better render of pubsub (with features !)
parent
f5e7955a
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
55 additions
and
22 deletions
+55
-22
src/sidebar/panel.css
src/sidebar/panel.css
+15
-0
src/sidebar/panel.html
src/sidebar/panel.html
+14
-0
src/sidebar/panel.js
src/sidebar/panel.js
+14
-11
src/xmpp/network.js
src/xmpp/network.js
+12
-11
No files found.
src/sidebar/panel.css
View file @
981075ae
...
...
@@ -10,6 +10,21 @@ div.panel.enabled{
display
:
block
;
}
.features
{
grid-template-columns
:
1
fr
;
grid-gap
:
1rem
;
}
.features
>
div
{
grid-column
:
1
;
}
.features
>
ul
{
grid-column
:
1
;
}
#firstrunpanel
>
object
{
width
:
100%
;
height
:
72vh
;
...
...
src/sidebar/panel.html
View file @
981075ae
...
...
@@ -62,6 +62,20 @@
<
div
id
=
"
xmppNet
"
><
/div
>
</script>
<script
id=
"xmppNet-tmpl"
type=
"x-tmpl-mustache"
>
{{
#
pubsub
}}
<
h2
>
{{
name
}}
({{
jid
}})
<
/h2
>
<
div
class
=
'
features
'
>
<
div
>
ⓘ
<
/div
>
<
ul
>
{{
#
features
}}
<
li
>
{{
feature
}}
<
/li
>
{{
/
features
}}
<
/ul
>
<
/div
>
{{
/
pubsub
}}
</script>
<script
src=
"../3rdparty/mustache.js/mustache.js"
></script>
<script
src=
"panel.js"
></script>
</body>
...
...
src/sidebar/panel.js
View file @
981075ae
...
...
@@ -68,20 +68,23 @@ function checkConnection() {
function
refreshNetwork
(
response
)
{
if
(
!
response
.
error
)
{
let
xmppNet
=
document
.
getElementById
(
'
xmppNet
'
);
let
pubsubNet
=
{
'
pubsub
'
:
[]
}
let
pubsubNet
=
{
'
pubsub
'
:
new
Array
()
}
let
pubsubIterator
=
response
.
network
.
pubsub
.
keys
();
let
isIteratorDone
=
false
while
(
!
isIteratorDone
)
{
let
pubsub
=
pubsubIterator
.
next
();
isIteratorDone
=
pubsub
.
done
;
response
.
network
.
pubsub
.
forEach
(
(
entity
,
jid
)
=>
{
let
features
=
new
Array
();
if
(
!
isIteratorDone
)
{
pubsubNet
[
'
pubsub
'
].
push
({
'
name
'
:
pubsub
.
value
});
}
}
entity
[
'
metadata
'
][
'
features
'
].
forEach
(
(
feature
)
=>
{
features
.
push
({
'
feature
'
:
feature
});
});
pubsubNet
[
'
pubsub
'
].
push
({
'
name
'
:
entity
[
'
metadata
'
][
'
name
'
]
||
jid
,
'
jid
'
:
jid
,
'
features
'
:
features
});
});
xmppNet
.
innerHTML
=
Mustache
.
render
(
'
{{#pubsub}}{{name}}<br>{{/pubsub}}
'
,
pubsubNet
);
xmppNet
.
innerHTML
=
Mustache
.
render
(
document
.
querySelector
(
'
#xmppNet-tmpl
'
).
innerHTML
,
pubsubNet
);
}
else
{
panel
[
'
error
'
].
className
=
'
panel enabled
'
;
...
...
src/xmpp/network.js
View file @
981075ae
...
...
@@ -16,8 +16,8 @@ class Network {
this
.
entities
=
new
Map
();
// key: serviceid (jid?)
// object: array(meta
D
ata, nodeMap, collectionMap, leafMap)
// meta
Data: name (string), features (set
)
// object: array(meta
d
ata, nodeMap, collectionMap, leafMap)
// meta
data: array(name (string), features (set)
)
this
.
pubsub
=
new
Map
();
// key: serviceid
...
...
@@ -37,12 +37,13 @@ class Network {
// If pubsub service is discoverd save it on the pubsub/services path
if
(
idKey
.
type
==
"
service
"
&&
idKey
.
category
==
"
pubsub
"
)
{
let
service
=
new
Map
();
service
.
set
(
"
metaData
"
,
new
Map
());
service
.
get
(
"
metaData
"
).
set
(
"
name
"
,
idValue
);
service
.
get
(
"
metaData
"
).
set
(
"
features
"
,
new
Set
());
service
.
set
(
"
collections
"
,
new
Map
());
service
.
set
(
"
leaves
"
,
new
Map
());
let
service
=
new
Array
();
service
[
"
metadata
"
]
=
new
Array
();
service
[
"
metadata
"
][
"
name
"
]
=
idValue
;
service
[
"
metadata
"
][
"
features
"
]
=
new
Set
();
service
[
"
nodes
"
]
=
new
Map
();
service
[
"
collections
"
]
=
new
Map
();
service
[
"
leaves
"
]
=
new
Map
();
this
.
pubsub
.
set
(
_netElement
.
jid
,
service
);
}
}
...
...
@@ -56,12 +57,12 @@ class Network {
for
(
let
[
idKey
,
idValue
]
of
_netElement
.
identities
)
{
if
(
idKey
.
type
==
"
pubsub
"
&&
idKey
.
category
==
"
collection
"
)
{
service
.
get
(
"
collections
"
)
.
set
(
idKey
.
node
,
new
Map
());
service
[
"
collections
"
]
.
set
(
idKey
.
node
,
new
Map
());
}
if
(
idKey
.
type
==
"
pubsub
"
&&
idKey
.
category
==
"
leaf
"
)
{
service
.
get
(
"
leaves
"
)
.
set
(
idKey
.
node
,
new
Map
());
service
[
"
leaves
"
]
.
set
(
idKey
.
node
,
new
Map
());
}
}
}
...
...
@@ -75,7 +76,7 @@ class Network {
if
(
service
)
{
for
(
let
feature
of
_netElement
.
featureSet
)
{
// TODO: decide which features to track and how to use them
service
.
get
(
"
metaData
"
).
get
(
"
features
"
)
.
add
(
feature
);
service
[
"
metadata
"
][
"
features
"
]
.
add
(
feature
);
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment