Page Menu
Home
Code
Search
Configure Global Search
Log In
Files
F390545
_SmileyPalette.js
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
4 KB
Subscribers
None
_SmileyPalette.js
View Options
/*
Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
Available via Academic Free License >= 2.1 OR the modified BSD license.
see: http://dojotoolkit.org/license for details
*/
if
(
!
dojo
.
_hasResource
[
"dojox.editor.plugins._SmileyPalette"
]){
dojo
.
_hasResource
[
"dojox.editor.plugins._SmileyPalette"
]
=
true
;
dojo
.
provide
(
"dojox.editor.plugins._SmileyPalette"
);
dojo
.
require
(
"dijit._Widget"
);
dojo
.
require
(
"dijit._Templated"
);
dojo
.
require
(
"dojo.i18n"
);
dojo
.
requireLocalization
(
"dojox.editor.plugins"
,
"Smiley"
,
null
,
"ROOT,cs,de,es,fr,hu,it,ja,ko,pl,pt,ru,zh,zh-tw"
);
dojo
.
experimental
(
"dojox.editor.plugins._SmileyPalette"
);
dojo
.
declare
(
"dojox.editor.plugins._SmileyPalette"
,[
dijit
.
_Widget
,
dijit
.
_Templated
],{
templateString
:
"<div class=\"dojoxEntityPalette\">\n"
+
"<table>\n"
+
"<tbody>\n"
+
"<tr>\n"
+
"<td>\n"
+
"<table class=\"dojoxEntityPaletteTable\" waiRole=\"grid\" tabIndex=\"${tabIndex}\">\n"
+
"<tbody dojoAttachPoint=\"tableNode\"></tbody>\n"
+
"</table>\n"
+
"</td>\n"
+
"</tr>\n"
+
"</tbody>\n"
+
"</table>\n"
+
"</div>"
,
defaultTimeout
:
500
,
timeoutChangeRate
:
0.9
,
smileys
:
{
emoticonSmile
:
":-)"
,
emoticonLaughing
:
"lol"
,
emoticonWink
:
";-)"
,
emoticonGrin
:
":-D"
,
emoticonCool
:
"8-)"
,
emoticonAngry
:
":-@"
,
emoticonHalf
:
":-/"
,
emoticonEyebrow
:
"/:)"
,
emoticonFrown
:
":-("
,
emoticonShy
:
":-$"
,
emoticonGoofy
:
":-S"
,
emoticonOops
:
":-O"
,
emoticonTongue
:
":-P"
,
emoticonIdea
:
"(i)"
,
emoticonYes
:
"(y)"
,
emoticonNo
:
"(n)"
,
emoticonAngel
:
"0:-)"
,
emoticonCrying
:
":'("
},
value
:
null
,
_currentFocus
:
0
,
_xDim
:
null
,
_yDim
:
null
,
tabIndex
:
"0"
,
_created
:
false
,
postCreate
:
function
(){
if
(
!
this
.
_created
){
this
.
_created
=
true
;
this
.
domNode
.
style
.
position
=
"relative"
;
this
.
_cellNodes
=
[];
var
_1
=
0
;
var
_2
;
for
(
_2
in
this
.
smileys
){
_1
++
;
}
var
_3
=
Math
.
floor
(
Math
.
sqrt
(
_1
));
var
_4
=
_3
;
var
_5
=
0
;
var
_6
=
null
;
var
_7
;
for
(
_2
in
this
.
smileys
){
var
_8
=
_5
%
_4
===
0
;
if
(
_8
){
_6
=
dojo
.
create
(
"tr"
,{
tabIndex
:
"-1"
});
}
var
_9
=
this
.
smileys
[
_2
],
_a
=
dojo
.
i18n
.
getLocalization
(
"dojox.editor.plugins"
,
"Smiley"
)[
_2
];
_7
=
dojo
.
create
(
"td"
,{
tabIndex
:
"-1"
,
"class"
:
"dojoxEntityPaletteCell"
},
_6
);
var
_b
=
dojo
.
create
(
"img"
,{
src
:
dojo
.
moduleUrl
(
"dojox.editor.plugins"
,
"resources/emoticons/"
+
_2
+
".gif"
),
"class"
:
"dojoxSmileyPaletteImg dojoxSmiley"
+
_2
.
charAt
(
0
).
toUpperCase
()
+
_2
.
substring
(
1
),
title
:
_a
,
alt
:
_a
},
_7
);
dojo
.
forEach
([
"Dijitclick"
,
"MouseEnter"
,
"Focus"
,
"Blur"
],
function
(
_c
){
this
.
connect
(
_7
,
"on"
+
_c
.
toLowerCase
(),
"_onCell"
+
_c
);
},
this
);
if
(
_8
){
dojo
.
place
(
_6
,
this
.
tableNode
);
}
dijit
.
setWaiRole
(
_7
,
"gridcell"
);
_7
.
index
=
this
.
_cellNodes
.
length
;
this
.
_cellNodes
.
push
({
node
:
_7
,
html
:
"<span class='"
+
_2
+
"'>"
+
this
.
smileys
[
_2
]
+
"</span>"
});
_5
++
;
}
var
_d
=
_3
-
(
_1
%
_3
);
while
(
_d
>
0
){
_7
=
dojo
.
create
(
"td"
,{
innerHTML
:
""
,
tabIndex
:
"-1"
,
"class"
:
"dojoxEntityPaletteNullCell"
},
_6
);
_d
--
;
}
this
.
_xDim
=
_3
;
this
.
_yDim
=
_4
;
this
.
connect
(
this
.
tableNode
,
"onfocus"
,
"_onTableNodeFocus"
);
var
_e
=
{
UP_ARROW
:-
this
.
_xDim
,
DOWN_ARROW
:
this
.
_xDim
,
RIGHT_ARROW
:
1
,
LEFT_ARROW
:-
1
};
for
(
var
_f
in
_e
){
this
.
_connects
.
push
(
dijit
.
typematic
.
addKeyListener
(
this
.
domNode
,{
charOrCode
:
dojo
.
keys
[
_f
],
ctrlKey
:
false
,
altKey
:
false
,
shiftKey
:
false
},
this
,
function
(){
var
_10
=
_e
[
_f
];
return
function
(
_11
){
this
.
_navigateByKey
(
_10
,
_11
);
};
}(),
this
.
timeoutChangeRate
,
this
.
defaultTimeout
));
}
}
},
focus
:
function
(){
this
.
_focusFirst
();
},
onChange
:
function
(
_12
){
},
_focusFirst
:
function
(){
this
.
_currentFocus
=
0
;
var
_13
=
this
.
_cellNodes
[
this
.
_currentFocus
].
node
;
setTimeout
(
function
(){
dijit
.
focus
(
_13
);
},
25
);
},
_onTableNodeFocus
:
function
(
evt
){
if
(
evt
.
target
===
this
.
tableNode
){
this
.
_focusFirst
();
}
},
_onFocus
:
function
(){
dojo
.
attr
(
this
.
tableNode
,
"tabIndex"
,
"-1"
);
},
_onBlur
:
function
(){
this
.
_removeCellHighlight
(
this
.
_currentFocus
);
dojo
.
attr
(
this
.
tableNode
,
"tabIndex"
,
this
.
tabIndex
);
},
_onCellDijitclick
:
function
(
evt
){
var
_14
=
evt
.
currentTarget
;
if
(
this
.
_currentFocus
!=
_14
.
index
){
this
.
_currentFocus
=
_14
.
index
;
setTimeout
(
function
(){
dijit
.
focus
(
_14
);
},
0
);
}
this
.
_selectEntity
(
_14
);
dojo
.
stopEvent
(
evt
);
},
_onCellMouseEnter
:
function
(
evt
){
var
_15
=
evt
.
currentTarget
;
this
.
_setCurrent
(
_15
);
setTimeout
(
function
(){
dijit
.
focus
(
_15
);
},
0
);
},
_onCellFocus
:
function
(
evt
){
this
.
_setCurrent
(
evt
.
currentTarget
);
},
_setCurrent
:
function
(
_16
){
this
.
_removeCellHighlight
(
this
.
_currentFocus
);
this
.
_currentFocus
=
_16
.
index
;
dojo
.
addClass
(
_16
,
"dojoxEntityPaletteCellHighlight"
);
},
_onCellBlur
:
function
(
evt
){
this
.
_removeCellHighlight
(
this
.
_currentFocus
);
},
_removeCellHighlight
:
function
(
_17
){
dojo
.
removeClass
(
this
.
_cellNodes
[
_17
].
node
,
"dojoxEntityPaletteCellHighlight"
);
},
_selectEntity
:
function
(
_18
){
var
_19
=
dojo
.
filter
(
this
.
_cellNodes
,
function
(
_1a
){
return
_1a
.
node
==
_18
;
});
if
(
_19
.
length
>
0
){
this
.
onChange
(
this
.
value
=
_19
[
0
].
html
);
}
},
_navigateByKey
:
function
(
_1b
,
_1c
){
if
(
_1c
==-
1
){
return
;
}
var
_1d
=
this
.
_currentFocus
+
_1b
;
if
(
_1d
<
this
.
_cellNodes
.
length
&&
_1d
>-
1
){
var
_1e
=
this
.
_cellNodes
[
_1d
].
node
;
_1e
.
focus
();
}
}});
}
File Metadata
Details
Attached
Mime Type
text/html
Expires
Sat, Feb 22, 15:27 (7 h, 38 m ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
26631
Default Alt Text
_SmileyPalette.js (4 KB)
Attached To
rZED Zed
Event Timeline
Log In to Comment