Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
slapos.core
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
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
Ophélie Gagnard
slapos.core
Commits
07f986de
Commit
07f986de
authored
Jun 27, 2012
by
Thomas Lechauve
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Removed old bootstrap files
parent
bc80784c
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
0 additions
and
1207 deletions
+0
-1207
vifib/static/css/bootstrap.min.css
vifib/static/css/bootstrap.min.css
+0
-689
vifib/static/img/glyphicons-halflings-white.png
vifib/static/img/glyphicons-halflings-white.png
+0
-0
vifib/static/img/glyphicons-halflings.png
vifib/static/img/glyphicons-halflings.png
+0
-0
vifib/static/js/jquery-spin.js
vifib/static/js/jquery-spin.js
+0
-43
vifib/static/js/shortcuts.js
vifib/static/js/shortcuts.js
+0
-102
vifib/static/js/spin.js
vifib/static/js/spin.js
+0
-306
vifib/static/js/urlHandler.js
vifib/static/js/urlHandler.js
+0
-67
No files found.
vifib/static/css/bootstrap.min.css
deleted
100644 → 0
View file @
bc80784c
This diff is collapsed.
Click to expand it.
vifib/static/img/glyphicons-halflings-white.png
deleted
100644 → 0
View file @
bc80784c
4.25 KB
vifib/static/img/glyphicons-halflings.png
deleted
100644 → 0
View file @
bc80784c
4.25 KB
vifib/static/js/jquery-spin.js
deleted
100644 → 0
View file @
bc80784c
/*
$("#el").spin(); // Produces default Spinner using the text color of #el.
$("#el").spin("small"); // Produces a 'small' Spinner using the text color of #el.
$("#el").spin("large", "white"); // Produces a 'large' Spinner in white (or any valid CSS color).
$("#el").spin({ ... }); // Produces a Spinner using your custom settings.
$("#el").spin(false); // Kills the spinner.
*/
(
function
(
$
)
{
$
.
fn
.
spin
=
function
(
opts
,
color
)
{
var
presets
=
{
"
tiny
"
:
{
lines
:
8
,
length
:
2
,
width
:
2
,
radius
:
3
},
"
small
"
:
{
lines
:
8
,
length
:
4
,
width
:
3
,
radius
:
5
},
"
large
"
:
{
lines
:
10
,
length
:
8
,
width
:
4
,
radius
:
8
}
};
if
(
Spinner
)
{
return
this
.
each
(
function
()
{
var
$this
=
$
(
this
),
data
=
$this
.
data
();
if
(
data
.
spinner
)
{
data
.
spinner
.
stop
();
delete
data
.
spinner
;
}
if
(
opts
!==
false
)
{
if
(
typeof
opts
===
"
string
"
)
{
if
(
opts
in
presets
)
{
opts
=
presets
[
opts
];
}
else
{
opts
=
{};
}
if
(
color
)
{
opts
.
color
=
color
;
}
}
data
.
spinner
=
new
Spinner
(
$
.
extend
({
color
:
$this
.
css
(
'
color
'
)},
opts
)).
spin
(
this
);
}
});
}
else
{
throw
"
Spinner class not available.
"
;
}
};
})(
jQuery
);
vifib/static/js/shortcuts.js
deleted
100644 → 0
View file @
bc80784c
/**
* NEXEDI
* Author: Thomas Lechauve
* Date: 4/24/12
*/
var
o
=
[];
;(
function
(
$
){
$
.
keysName
=
{
"
down
"
:
40
,
"
up
"
:
38
,
"
tab
"
:
9
};
var
selectors
=
"
a, input
"
;
var
methods
=
{
init
:
function
(
key
){
if
(
key
==
undefined
)
{
$
(
this
).
addClass
(
"
shortcutable
"
);
o
.
push
(
$
(
this
)[
0
]);
return
$
(
this
).
shortcuts
(
'
list
'
);
}
else
{
return
$
(
this
).
shortcuts
(
'
bindKey
'
,
key
);
}
},
bindKey
:
function
(
key
){
return
this
.
each
(
function
(){
var
$this
=
$
(
this
);
$
(
document
).
bind
(
'
keydown
'
,
function
(
e
){
if
(
e
.
keyCode
==
(
$
.
isNumeric
(
key
)
?
key
:
$
.
keysName
[
key
])
)
{
e
.
preventDefault
();
$this
.
focus
();
}
});
});
},
list
:
function
(){
return
this
.
each
(
function
(){
$
(
this
).
bind
(
'
keydown
'
,
function
(
e
){
if
(
e
.
keyCode
==
$
.
keysName
[
"
down
"
]
){
$
(
this
).
shortcuts
(
'
nextChild
'
);
}
else
if
(
e
.
keyCode
==
$
.
keysName
[
"
up
"
]
){
$
(
this
).
shortcuts
(
'
prevChild
'
);
}
else
if
(
e
.
keyCode
==
$
.
keysName
[
"
tab
"
]
)
{
e
.
preventDefault
();
if
(
e
.
shiftKey
)
{
$
(
this
).
shortcuts
(
'
prev
'
).
find
(
selectors
).
first
().
focus
();
}
else
{
$
(
this
).
shortcuts
(
'
next
'
).
find
(
selectors
).
first
().
focus
();
}
}
});
$
(
this
).
find
(
'
a
'
).
first
().
focus
().
select
();
});
},
nextChild
:
function
(){
return
this
.
each
(
function
(){
if
(
$
(
document
.
activeElement
).
parents
(
'
.shortcutable
'
).
is
(
'
:last-child
'
)
)
{
$
(
document
.
activeElement
).
grandma
().
find
(
selectors
).
first
().
focus
();
}
else
{
$
(
document
.
activeElement
).
parent
().
next
().
find
(
selectors
).
focus
();
}
});
},
prevChild
:
function
(){
return
this
.
each
(
function
(){
if
(
$
(
document
.
activeElement
).
parent
().
is
(
'
:first-child
'
)
)
{
$
(
document
.
activeElement
).
grandma
().
find
(
selectors
).
last
().
focus
();
}
else
{
$
(
document
.
activeElement
).
parent
().
prev
().
find
(
selectors
).
focus
();
}
});
},
next
:
function
(){
return
$
(
o
[(
$
.
inArray
(
$
(
this
)[
0
],
o
)
+
1
)
%
o
.
length
]);
},
prev
:
function
(){
var
i
=
$
.
inArray
(
$
(
this
)[
0
],
o
);
return
$
(
o
[
(
i
<=
0
?
o
.
length
-
1
:
i
-
1
)]);
}
};
$
.
fn
.
shortcuts
=
function
(
method
){
if
(
methods
[
method
]
)
{
return
methods
[
method
].
apply
(
this
,
Array
.
prototype
.
slice
.
call
(
arguments
,
1
));
}
else
if
(
typeof
method
===
'
object
'
||
!
method
||
$
.
isNumeric
(
method
))
{
return
methods
.
init
.
apply
(
this
,
arguments
);
}
else
{
$
.
error
(
'
Method
'
+
method
+
'
does not exist on jQuery.shortcuts
'
);
}
};
$
.
fn
.
grandma
=
function
(){
var
e
=
this
.
parent
().
parent
();
return
this
.
pushStack
(
e
.
get
()
);
};
})(
jQuery
);
vifib/static/js/spin.js
deleted
100644 → 0
View file @
bc80784c
//fgnass.github.com/spin.js#v1.2.5
(
function
(
window
,
document
,
undefined
)
{
/**
* Copyright (c) 2011 Felix Gnass [fgnass at neteye dot de]
* Licensed under the MIT license
*/
var
prefixes
=
[
'
webkit
'
,
'
Moz
'
,
'
ms
'
,
'
O
'
];
/* Vendor prefixes */
var
animations
=
{};
/* Animation rules keyed by their name */
var
useCssAnimations
;
/**
* Utility function to create elements. If no tag name is given,
* a DIV is created. Optionally properties can be passed.
*/
function
createEl
(
tag
,
prop
)
{
var
el
=
document
.
createElement
(
tag
||
'
div
'
);
var
n
;
for
(
n
in
prop
)
{
el
[
n
]
=
prop
[
n
];
}
return
el
;
}
/**
* Appends children and returns the parent.
*/
function
ins
(
parent
/* child1, child2, ...*/
)
{
for
(
var
i
=
1
,
n
=
arguments
.
length
;
i
<
n
;
i
++
)
{
parent
.
appendChild
(
arguments
[
i
]);
}
return
parent
;
}
/**
* Insert a new stylesheet to hold the @keyframe or VML rules.
*/
var
sheet
=
function
()
{
var
el
=
createEl
(
'
style
'
);
ins
(
document
.
getElementsByTagName
(
'
head
'
)[
0
],
el
);
return
el
.
sheet
||
el
.
styleSheet
;
}();
/**
* Creates an opacity keyframe animation rule and returns its name.
* Since most mobile Webkits have timing issues with animation-delay,
* we create separate rules for each line/segment.
*/
function
addAnimation
(
alpha
,
trail
,
i
,
lines
)
{
var
name
=
[
'
opacity
'
,
trail
,
~~
(
alpha
*
100
),
i
,
lines
].
join
(
'
-
'
);
var
start
=
0.01
+
i
/
lines
*
100
;
var
z
=
Math
.
max
(
1
-
(
1
-
alpha
)
/
trail
*
(
100
-
start
)
,
alpha
);
var
prefix
=
useCssAnimations
.
substring
(
0
,
useCssAnimations
.
indexOf
(
'
Animation
'
)).
toLowerCase
();
var
pre
=
prefix
&&
'
-
'
+
prefix
+
'
-
'
||
''
;
if
(
!
animations
[
name
])
{
sheet
.
insertRule
(
'
@
'
+
pre
+
'
keyframes
'
+
name
+
'
{
'
+
'
0%{opacity:
'
+
z
+
'
}
'
+
start
+
'
%{opacity:
'
+
alpha
+
'
}
'
+
(
start
+
0.01
)
+
'
%{opacity:1}
'
+
(
start
+
trail
)
%
100
+
'
%{opacity:
'
+
alpha
+
'
}
'
+
'
100%{opacity:
'
+
z
+
'
}
'
+
'
}
'
,
0
);
animations
[
name
]
=
1
;
}
return
name
;
}
/**
* Tries various vendor prefixes and returns the first supported property.
**/
function
vendor
(
el
,
prop
)
{
var
s
=
el
.
style
;
var
pp
;
var
i
;
if
(
s
[
prop
]
!==
undefined
)
return
prop
;
prop
=
prop
.
charAt
(
0
).
toUpperCase
()
+
prop
.
slice
(
1
);
for
(
i
=
0
;
i
<
prefixes
.
length
;
i
++
)
{
pp
=
prefixes
[
i
]
+
prop
;
if
(
s
[
pp
]
!==
undefined
)
return
pp
;
}
}
/**
* Sets multiple style properties at once.
*/
function
css
(
el
,
prop
)
{
for
(
var
n
in
prop
)
{
el
.
style
[
vendor
(
el
,
n
)
||
n
]
=
prop
[
n
];
}
return
el
;
}
/**
* Fills in default values.
*/
function
merge
(
obj
)
{
for
(
var
i
=
1
;
i
<
arguments
.
length
;
i
++
)
{
var
def
=
arguments
[
i
];
for
(
var
n
in
def
)
{
if
(
obj
[
n
]
===
undefined
)
obj
[
n
]
=
def
[
n
];
}
}
return
obj
;
}
/**
* Returns the absolute page-offset of the given element.
*/
function
pos
(
el
)
{
var
o
=
{
x
:
el
.
offsetLeft
,
y
:
el
.
offsetTop
};
while
((
el
=
el
.
offsetParent
))
{
o
.
x
+=
el
.
offsetLeft
;
o
.
y
+=
el
.
offsetTop
;
}
return
o
;
}
var
defaults
=
{
lines
:
12
,
// The number of lines to draw
length
:
7
,
// The length of each line
width
:
5
,
// The line thickness
radius
:
10
,
// The radius of the inner circle
rotate
:
0
,
// rotation offset
color
:
'
#000
'
,
// #rgb or #rrggbb
speed
:
1
,
// Rounds per second
trail
:
100
,
// Afterglow percentage
opacity
:
1
/
4
,
// Opacity of the lines
fps
:
20
,
// Frames per second when using setTimeout()
zIndex
:
2
e9
,
// Use a high z-index by default
className
:
'
spinner
'
,
// CSS class to assign to the element
top
:
'
auto
'
,
// center vertically
left
:
'
auto
'
// center horizontally
};
/** The constructor */
var
Spinner
=
function
Spinner
(
o
)
{
if
(
!
this
.
spin
)
return
new
Spinner
(
o
);
this
.
opts
=
merge
(
o
||
{},
Spinner
.
defaults
,
defaults
);
};
Spinner
.
defaults
=
{};
merge
(
Spinner
.
prototype
,
{
spin
:
function
(
target
)
{
this
.
stop
();
var
self
=
this
;
var
o
=
self
.
opts
;
var
el
=
self
.
el
=
css
(
createEl
(
0
,
{
className
:
o
.
className
}),
{
position
:
'
relative
'
,
zIndex
:
o
.
zIndex
});
var
mid
=
o
.
radius
+
o
.
length
+
o
.
width
;
var
ep
;
// element position
var
tp
;
// target position
if
(
target
)
{
target
.
insertBefore
(
el
,
target
.
firstChild
||
null
);
tp
=
pos
(
target
);
ep
=
pos
(
el
);
css
(
el
,
{
left
:
(
o
.
left
==
'
auto
'
?
tp
.
x
-
ep
.
x
+
(
target
.
offsetWidth
>>
1
)
:
o
.
left
+
mid
)
+
'
px
'
,
top
:
(
o
.
top
==
'
auto
'
?
tp
.
y
-
ep
.
y
+
(
target
.
offsetHeight
>>
1
)
:
o
.
top
+
mid
)
+
'
px
'
});
}
el
.
setAttribute
(
'
aria-role
'
,
'
progressbar
'
);
self
.
lines
(
el
,
self
.
opts
);
if
(
!
useCssAnimations
)
{
// No CSS animation support, use setTimeout() instead
var
i
=
0
;
var
fps
=
o
.
fps
;
var
f
=
fps
/
o
.
speed
;
var
ostep
=
(
1
-
o
.
opacity
)
/
(
f
*
o
.
trail
/
100
);
var
astep
=
f
/
o
.
lines
;
!
function
anim
()
{
i
++
;
for
(
var
s
=
o
.
lines
;
s
;
s
--
)
{
var
alpha
=
Math
.
max
(
1
-
(
i
+
s
*
astep
)
%
f
*
ostep
,
o
.
opacity
);
self
.
opacity
(
el
,
o
.
lines
-
s
,
alpha
,
o
);
}
self
.
timeout
=
self
.
el
&&
setTimeout
(
anim
,
~~
(
1000
/
fps
));
}();
}
return
self
;
},
stop
:
function
()
{
var
el
=
this
.
el
;
if
(
el
)
{
clearTimeout
(
this
.
timeout
);
if
(
el
.
parentNode
)
el
.
parentNode
.
removeChild
(
el
);
this
.
el
=
undefined
;
}
return
this
;
},
lines
:
function
(
el
,
o
)
{
var
i
=
0
;
var
seg
;
function
fill
(
color
,
shadow
)
{
return
css
(
createEl
(),
{
position
:
'
absolute
'
,
width
:
(
o
.
length
+
o
.
width
)
+
'
px
'
,
height
:
o
.
width
+
'
px
'
,
background
:
color
,
boxShadow
:
shadow
,
transformOrigin
:
'
left
'
,
transform
:
'
rotate(
'
+
~~
(
360
/
o
.
lines
*
i
+
o
.
rotate
)
+
'
deg) translate(
'
+
o
.
radius
+
'
px
'
+
'
,0)
'
,
borderRadius
:
(
o
.
width
>>
1
)
+
'
px
'
});
}
for
(;
i
<
o
.
lines
;
i
++
)
{
seg
=
css
(
createEl
(),
{
position
:
'
absolute
'
,
top
:
1
+~
(
o
.
width
/
2
)
+
'
px
'
,
transform
:
o
.
hwaccel
?
'
translate3d(0,0,0)
'
:
''
,
opacity
:
o
.
opacity
,
animation
:
useCssAnimations
&&
addAnimation
(
o
.
opacity
,
o
.
trail
,
i
,
o
.
lines
)
+
'
'
+
1
/
o
.
speed
+
'
s linear infinite
'
});
if
(
o
.
shadow
)
ins
(
seg
,
css
(
fill
(
'
#000
'
,
'
0 0 4px
'
+
'
#000
'
),
{
top
:
2
+
'
px
'
}));
ins
(
el
,
ins
(
seg
,
fill
(
o
.
color
,
'
0 0 1px rgba(0,0,0,.1)
'
)));
}
return
el
;
},
opacity
:
function
(
el
,
i
,
val
)
{
if
(
i
<
el
.
childNodes
.
length
)
el
.
childNodes
[
i
].
style
.
opacity
=
val
;
}
});
/////////////////////////////////////////////////////////////////////////
// VML rendering for IE
/////////////////////////////////////////////////////////////////////////
/**
* Check and init VML support
*/
!
function
()
{
function
vml
(
tag
,
attr
)
{
return
createEl
(
'
<
'
+
tag
+
'
xmlns="urn:schemas-microsoft.com:vml" class="spin-vml">
'
,
attr
);
}
var
s
=
css
(
createEl
(
'
group
'
),
{
behavior
:
'
url(#default#VML)
'
});
if
(
!
vendor
(
s
,
'
transform
'
)
&&
s
.
adj
)
{
// VML support detected. Insert CSS rule ...
sheet
.
addRule
(
'
.spin-vml
'
,
'
behavior:url(#default#VML)
'
);
Spinner
.
prototype
.
lines
=
function
(
el
,
o
)
{
var
r
=
o
.
length
+
o
.
width
;
var
s
=
2
*
r
;
function
grp
()
{
return
css
(
vml
(
'
group
'
,
{
coordsize
:
s
+
'
'
+
s
,
coordorigin
:
-
r
+
'
'
+-
r
}),
{
width
:
s
,
height
:
s
});
}
var
margin
=
-
(
o
.
width
+
o
.
length
)
*
2
+
'
px
'
;
var
g
=
css
(
grp
(),
{
position
:
'
absolute
'
,
top
:
margin
,
left
:
margin
});
var
i
;
function
seg
(
i
,
dx
,
filter
)
{
ins
(
g
,
ins
(
css
(
grp
(),
{
rotation
:
360
/
o
.
lines
*
i
+
'
deg
'
,
left
:
~~
dx
}),
ins
(
css
(
vml
(
'
roundrect
'
,
{
arcsize
:
1
}),
{
width
:
r
,
height
:
o
.
width
,
left
:
o
.
radius
,
top
:
-
o
.
width
>>
1
,
filter
:
filter
}),
vml
(
'
fill
'
,
{
color
:
o
.
color
,
opacity
:
o
.
opacity
}),
vml
(
'
stroke
'
,
{
opacity
:
0
})
// transparent stroke to fix color bleeding upon opacity change
)
)
);
}
if
(
o
.
shadow
)
{
for
(
i
=
1
;
i
<=
o
.
lines
;
i
++
)
{
seg
(
i
,
-
2
,
'
progid:DXImageTransform.Microsoft.Blur(pixelradius=2,makeshadow=1,shadowopacity=.3)
'
);
}
}
for
(
i
=
1
;
i
<=
o
.
lines
;
i
++
)
seg
(
i
);
return
ins
(
el
,
g
);
};
Spinner
.
prototype
.
opacity
=
function
(
el
,
i
,
val
,
o
)
{
var
c
=
el
.
firstChild
;
o
=
o
.
shadow
&&
o
.
lines
||
0
;
if
(
c
&&
i
+
o
<
c
.
childNodes
.
length
)
{
c
=
c
.
childNodes
[
i
+
o
];
c
=
c
&&
c
.
firstChild
;
c
=
c
&&
c
.
firstChild
;
if
(
c
)
c
.
opacity
=
val
;
}
};
}
else
{
useCssAnimations
=
vendor
(
s
,
'
animation
'
);
}
}();
window
.
Spinner
=
Spinner
;
})(
window
,
document
);
vifib/static/js/urlHandler.js
deleted
100644 → 0
View file @
bc80784c
/**
* NEXEDI
* Author: Thomas Lechauve
* Date: 4/18/12
*/
/**
* @param {String} hashTag hashTag.
* @return {String} a clean hashtag.
*/
$
.
parseHash
=
function
(
hashTag
)
{
var
tokenized
=
$
.
extractAuth
(
hashTag
);
if
(
tokenized
)
{
$
.
publish
(
'
auth
'
,
tokenized
);
location
.
hash
=
hashTag
.
split
(
'
&
'
)[
0
];
return
location
.
hash
;
}
return
hashTag
;
};
$
.
extractAuth
=
function
(
hashTag
)
{
var
del
=
hashTag
.
indexOf
(
'
&
'
);
if
(
del
!=
-
1
)
{
var
splitted
=
hashTag
.
substring
(
del
+
1
).
split
(
'
&
'
);
var
result
=
{};
for
(
p
in
splitted
)
{
var
s
=
splitted
[
p
].
split
(
'
=
'
);
result
[
s
[
0
]]
=
s
[
1
];
}
return
result
;
}
return
false
;
};
$
.
genHash
=
function
(
url
)
{
return
'
#/
'
+
url
.
join
(
'
/
'
);
};
/* Pub / Sub Pattern
WARNING
What's happening when we destroy a DOM object subscribed ?
*/
var
o
=
$
({});
$
.
subscribe
=
function
()
{
o
.
on
.
apply
(
o
,
arguments
);
};
$
.
unsubscribe
=
function
()
{
o
.
off
.
apply
(
o
,
arguments
);
};
$
.
publish
=
function
()
{
o
.
trigger
.
apply
(
o
,
arguments
);
};
// Event Handlers
$
.
hashHandler
=
function
(){
$
.
publish
(
'
urlChange
'
,
$
.
parseHash
(
window
.
location
.
href
.
split
(
"
#
"
)[
1
]));
};
$
.
redirectHandler
=
function
(
e
,
url
){
window
.
location
.
hash
=
$
.
genHash
(
url
);
};
// redirections manager
$
.
redirect
=
function
(
url
){
$
.
publish
(
'
redirect
'
,
[
url
]);
};
$
.
subscribe
(
'
redirect
'
,
$
.
redirectHandler
)
console
.
log
(
"
plop
"
)
$
(
window
).
bind
(
'
hashchange
'
,
$
.
hashHandler
);
$
(
window
).
bind
(
'
load
'
,
$
.
hashHandler
);
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