Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F5966031
foundation.accordion.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
foundation.accordion.js
View Options
;(
function
(
$
,
window
,
document
,
undefined
)
{
'use strict'
;
Foundation
.
libs
.
accordion
=
{
name
:
'accordion'
,
version
:
'5.5.3'
,
settings
:
{
content_class
:
'content'
,
active_class
:
'active'
,
multi_expand
:
false
,
toggleable
:
true
,
callback
:
function
()
{}
},
init
:
function
(
scope
,
method
,
options
)
{
this
.
bindings
(
method
,
options
);
},
events
:
function
(
instance
)
{
var
self
=
this
;
var
S
=
this
.
S
;
self
.
create
(
this
.
S
(
instance
));
S
(
this
.
scope
)
.
off
(
'.fndtn.accordion'
)
.
on
(
'click.fndtn.accordion'
,
'['
+
this
.
attr_name
()
+
'] > dd > a, ['
+
this
.
attr_name
()
+
'] > li > a'
,
function
(
e
)
{
var
accordion
=
S
(
this
).
closest
(
'['
+
self
.
attr_name
()
+
']'
),
groupSelector
=
self
.
attr_name
()
+
'='
+
accordion
.
attr
(
self
.
attr_name
()),
settings
=
accordion
.
data
(
self
.
attr_name
(
true
)
+
'-init'
)
||
self
.
settings
,
target
=
S
(
'#'
+
this
.
href
.
split
(
'#'
)[
1
]),
aunts
=
$
(
'> dd, > li'
,
accordion
),
siblings
=
aunts
.
children
(
'.'
+
settings
.
content_class
),
active_content
=
siblings
.
filter
(
'.'
+
settings
.
active_class
);
e
.
preventDefault
();
if
(
accordion
.
attr
(
self
.
attr_name
()))
{
siblings
=
siblings
.
add
(
'['
+
groupSelector
+
'] dd > '
+
'.'
+
settings
.
content_class
+
', ['
+
groupSelector
+
'] li > '
+
'.'
+
settings
.
content_class
);
aunts
=
aunts
.
add
(
'['
+
groupSelector
+
'] dd, ['
+
groupSelector
+
'] li'
);
}
if
(
settings
.
toggleable
&&
target
.
is
(
active_content
))
{
target
.
parent
(
'dd, li'
).
toggleClass
(
settings
.
active_class
,
false
);
target
.
toggleClass
(
settings
.
active_class
,
false
);
S
(
this
).
attr
(
'aria-expanded'
,
function
(
i
,
attr
){
return
attr
===
'true'
?
'false'
:
'true'
;
});
settings
.
callback
(
target
);
target
.
triggerHandler
(
'toggled'
,
[
accordion
]);
accordion
.
triggerHandler
(
'toggled'
,
[
target
]);
return
;
}
if
(
!
settings
.
multi_expand
)
{
siblings
.
removeClass
(
settings
.
active_class
);
aunts
.
removeClass
(
settings
.
active_class
);
aunts
.
children
(
'a'
).
attr
(
'aria-expanded'
,
'false'
);
}
target
.
addClass
(
settings
.
active_class
).
parent
().
addClass
(
settings
.
active_class
);
settings
.
callback
(
target
);
target
.
triggerHandler
(
'toggled'
,
[
accordion
]);
accordion
.
triggerHandler
(
'toggled'
,
[
target
]);
S
(
this
).
attr
(
'aria-expanded'
,
'true'
);
});
},
create
:
function
(
$instance
)
{
var
self
=
this
,
accordion
=
$instance
,
aunts
=
$
(
'> .accordion-navigation'
,
accordion
),
settings
=
accordion
.
data
(
self
.
attr_name
(
true
)
+
'-init'
)
||
self
.
settings
;
aunts
.
children
(
'a'
).
attr
(
'aria-expanded'
,
'false'
);
aunts
.
has
(
'.'
+
settings
.
content_class
+
'.'
+
settings
.
active_class
).
addClass
(
settings
.
active_class
).
children
(
'a'
).
attr
(
'aria-expanded'
,
'true'
);
if
(
settings
.
multi_expand
)
{
$instance
.
attr
(
'aria-multiselectable'
,
'true'
);
}
},
toggle
:
function
(
options
)
{
var
options
=
typeof
options
!==
'undefined'
?
options
:
{};
var
selector
=
typeof
options
.
selector
!==
'undefined'
?
options
.
selector
:
''
;
var
toggle_state
=
typeof
options
.
toggle_state
!==
'undefined'
?
options
.
toggle_state
:
''
;
var
$accordion
=
typeof
options
.
$accordion
!==
'undefined'
?
options
.
$accordion
:
this
.
S
(
this
.
scope
).
closest
(
'['
+
this
.
attr_name
()
+
']'
);
var
$items
=
$accordion
.
find
(
'> dd'
+
selector
+
', > li'
+
selector
);
if
(
$items
.
length
<
1
)
{
if
(
window
.
console
)
{
console
.
error
(
'Selection not found.'
,
selector
);
}
return
false
;
}
var
S
=
this
.
S
;
var
active_class
=
this
.
settings
.
active_class
;
$items
.
each
(
function
()
{
var
$item
=
S
(
this
);
var
is_active
=
$item
.
hasClass
(
active_class
);
if
(
(
is_active
&&
toggle_state
===
'close'
)
||
(
!
is_active
&&
toggle_state
===
'open'
)
||
toggle_state
===
''
)
{
$item
.
find
(
'> a'
).
trigger
(
'click.fndtn.accordion'
);
}
});
},
open
:
function
(
options
)
{
var
options
=
typeof
options
!==
'undefined'
?
options
:
{};
options
.
toggle_state
=
'open'
;
this
.
toggle
(
options
);
},
close
:
function
(
options
)
{
var
options
=
typeof
options
!==
'undefined'
?
options
:
{};
options
.
toggle_state
=
'close'
;
this
.
toggle
(
options
);
},
off
:
function
()
{},
reflow
:
function
()
{}
};
}(
jQuery
,
window
,
window
.
document
));
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Oct 3, 11:21 (5 d, 8 h ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
30/a0/a4b5bb65570af8c5e2c2d39ee644
Default Alt Text
foundation.accordion.js (4 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment