51
Makefile
|
@ -1,5 +1,6 @@
|
|||
|
||||
VER = `cat version.txt`
|
||||
VVER = `cat ../version.txt`
|
||||
DATE = `svn info | grep Date: | sed 's/.*: //g'`
|
||||
REV = `svn info | grep Rev: | sed 's/.*: //g'`
|
||||
|
||||
|
@ -20,12 +21,44 @@ OTHER_FILES =\
|
|||
changelog.txt
|
||||
|
||||
zip:
|
||||
mkdir -p build/fullcalendar-${VER}/uncompressed
|
||||
cd src; cat misc/head.txt ${JS_SRC_FILES} misc/foot.txt >\
|
||||
../build/fullcalendar-`cat ../version.txt`/uncompressed/fullcalendar.js
|
||||
cd src/css; cat ${CSS_SRC_FILES} >\
|
||||
../../build/fullcalendar-`cat ../../version.txt`/fullcalendar.css
|
||||
java -jar build/yuicompressor-2.4.2.jar\
|
||||
-o build/fullcalendar-${VER}/fullcalendar.js\
|
||||
build/fullcalendar-${VER}/uncompressed/fullcalendar.js
|
||||
cp -rt build/fullcalendar-${VER} ${OTHER_FILES}
|
||||
@rm -rf build/fullcalendar
|
||||
@rm -rf build/fullcalendar-*
|
||||
@mkdir -p build/fullcalendar/uncompressed
|
||||
|
||||
@echo "building js & css..."
|
||||
@cd src; cat misc/head.txt ${JS_SRC_FILES} misc/foot.txt > ../build/fullcalendar/uncompressed/fullcalendar.js
|
||||
@cd src/css; cat ${CSS_SRC_FILES} > ../../build/fullcalendar/fullcalendar.css
|
||||
@cp -rt build/fullcalendar ${OTHER_FILES}
|
||||
@rm -rf `find build/fullcalendar -type d -name .svn`
|
||||
|
||||
#@for f in build/fullcalendar/*.js; do\
|
||||
# sed -i "s/* FullCalendar/& v${VER}/" $$f;\
|
||||
# sed -i "s/* Date:/& ${DATE}/" $$f;\
|
||||
# sed -i "s/* Revision:/& ${REV}/" $$f;\
|
||||
# done
|
||||
|
||||
@echo "building examples..."
|
||||
@cd build/fullcalendar/examples;\
|
||||
for f in *.html; do\
|
||||
sed -i -n '1h;1!H;$${;g;s/<!--\s*<src>.*<\/src>-->\s*//g;p;}' $$f;\
|
||||
sed -i -n '1h;1!H;$${;g;s/<!--<dist>\s*//g;p;}' $$f;\
|
||||
sed -i -n '1h;1!H;$${;g;s/\s*<\/dist>-->//g;p;}' $$f;\
|
||||
done
|
||||
|
||||
@echo "compressing..."
|
||||
@java -jar build/yuicompressor-2.4.2.jar -o build/fullcalendar/fullcalendar.js build/fullcalendar/uncompressed/fullcalendar.js
|
||||
|
||||
@echo "zipping..."
|
||||
@mv build/fullcalendar build/fullcalendar-${VER}
|
||||
@cd build; zip -q -r fullcalendar-${VVER}.zip fullcalendar-${VVER}
|
||||
@mv build/fullcalendar-${VER} build/fullcalendar
|
||||
|
||||
@mkdir -p dist
|
||||
@mv build/fullcalendar-${VER}.zip dist
|
||||
@echo "done."
|
||||
|
||||
clean:
|
||||
@rm -rf build/fullcalendar
|
||||
@rm -rf build/fullcalendar-*
|
||||
@rm -rf dist/*
|
||||
|
|
@ -1,20 +1,31 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<link rel='stylesheet' type='text/css' href='redmond/theme.css' />
|
||||
<!--<src>-->
|
||||
<link rel='stylesheet' type='text/css' href='../src/css/main.css' />
|
||||
<link rel='stylesheet' type='text/css' href='../src/css/grid.css' />
|
||||
<link rel='stylesheet' type='text/css' href='../src/css/agenda.css' />
|
||||
|
||||
<script type='text/javascript' src='../src/jquery/jquery.js'></script>
|
||||
<script type='text/javascript' src='../src/jquery/ui.core.js'></script>
|
||||
<script type='text/javascript' src='../src/jquery/ui.draggable.js'></script>
|
||||
<script type='text/javascript' src='../src/jquery/ui.resizable.js'></script>
|
||||
|
||||
<script type='text/javascript' src='../src/main.js'></script>
|
||||
<script type='text/javascript' src='../src/grid.js'></script>
|
||||
<script type='text/javascript' src='../src/view.js'></script>
|
||||
<script type='text/javascript' src='../src/util.js'></script>
|
||||
<script type='text/javascript' src='../src/gcal.js'></script>
|
||||
<!--</src>-->
|
||||
<!--<dist>
|
||||
<link rel='stylesheet' type='text/css' href='../fullcalendar.css' />
|
||||
<script type='text/javascript' src='../jquery/jquery.js'></script>
|
||||
<script type='text/javascript' src='../jquery/ui.core.js'></script>
|
||||
<script type='text/javascript' src='../jquery/ui.draggable.js'></script>
|
||||
<script type='text/javascript' src='../jquery/ui.resizable.js'></script>
|
||||
<script type='text/javascript' src='../jquery/ui.resizable.js'></script>
|
||||
<script type='text/javascript' src='../fullcalendar.js'></script>
|
||||
<script type='text/javascript' src='../gcal.js'></script>
|
||||
</dist>-->
|
||||
<script type='text/javascript'>
|
||||
|
||||
var d = new Date();
|
||||
|
|
|
@ -199,7 +199,7 @@ var dateFormatters = {
|
|||
var date = d.getDate();
|
||||
if (date > 10 && date < 20) return 'th';
|
||||
return ['st', 'nd', 'rd'][date%10-1] || 'th';
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
|
115
test/firebug-lite/ChangeLog
Executable file
|
@ -0,0 +1,115 @@
|
|||
== Firebug Lite Change Log ==
|
||||
2009-04-16 Mike Ratcliffe <sabine.michael.ratcliffe@gmail.com>
|
||||
* firebug-lite.js: Issue 1653: Removed reliability on firebug.liteFilename
|
||||
Fixed a security issue in IE 7 (introduced via Microsoft Update)
|
||||
|
||||
2009-03-09 Mike Ratcliffe <sabine.michael.ratcliffe@gmail.com>
|
||||
* firebug-lite.js: Issue 1637: Script missing linebreaks in IE7, line numbers broken in all browsers
|
||||
|
||||
2009-03-09 Mike Ratcliffe <sabine.michael.ratcliffe@gmail.com>
|
||||
* firebug-lite.js: Added title to popup window
|
||||
|
||||
2009-03-09 Azer Koculu <azer@kodfabrik.com>
|
||||
* firebug-lite.js: Removed getElementPosXY method.
|
||||
Added toggle method to settings object.
|
||||
|
||||
2009-03-07 Mike Ratcliffe <sabine.michael.ratcliffe@gmail.com>
|
||||
* firebug-lite.js: Fixed issue 1554: Text nodes could not be accessed through the inspect button.
|
||||
|
||||
2009-03-07 Mike Ratcliffe <sabine.michael.ratcliffe@gmail.com>
|
||||
* firebug-lite.js: Issue 1566: Added firebug.env.targetWindow variable to hold target window
|
||||
|
||||
2009-03-06 Mike Ratcliffe <sabine.michael.ratcliffe@gmail.com>
|
||||
* firebug-lite.js: Changed default for firebug.env.detectFirebug to false
|
||||
Fixed issue 1555: Ajax calls ... we should not assume that the same domain policy is applied, use try catch instead
|
||||
Fixed Issue 1541: Add XHR tab to Firebug Lite popup window
|
||||
progress.gif: Corrected mime type
|
||||
|
||||
2009-03-03 Mike Ratcliffe <sabine.michael.ratcliffe@gmail.com>
|
||||
* firebug-lite.js, firebug-lite.css, progress.gif: Fixed Issue 1544: Lite settings menu should have a "processing" gif
|
||||
|
||||
2009-02-21 Mike Ratcliffe <sabine.michael.ratcliffe@gmail.com>
|
||||
* firebug-lite.js: Fixed Issue 1542: FBLite F12 etc should dock the popup instead of hiding the panel
|
||||
|
||||
2009-02-21 Mike Ratcliffe <sabine.michael.ratcliffe@gmail.com>
|
||||
* firebug-lite.js, firebug-lite.css:
|
||||
o Issue 1513 ... added:
|
||||
- Settings dialog
|
||||
- Settings storage cookie (stores settings, panel height, popup window positions etc.)
|
||||
- firebug.env:
|
||||
openInPopup
|
||||
popupTop
|
||||
popupLeft
|
||||
popupWidth
|
||||
popupHeight
|
||||
o Various popup window bugfixes and performance improvements
|
||||
|
||||
2009-02-21 Mike Ratcliffe <sabine.michael.ratcliffe@gmail.com>
|
||||
* firebug-lite.js, firebug-lite.css, firebug_logo.png: Issue 1503: FBLite should have a visible sign it is running when starting hidden.
|
||||
Added FBLite icon when hidden and firebug.env.showIconWhenHidden (default true).
|
||||
|
||||
2009-02-18 Mike Ratcliffe <sabine.michael.ratcliffe@gmail.com>
|
||||
* firebug-lite.js: Fixed issue 1086 - FBLite can now be used locally over HTTPS if firebug.env.css is set.
|
||||
|
||||
2009-02-17 Mike Ratcliffe <sabine.michael.ratcliffe@gmail.com>
|
||||
* firebug-lite.js: Fixed problem with issue 1481 - A DIV was created instead of an IFRAME so the shield was ineffective.
|
||||
|
||||
2009-02-14 Mike Ratcliffe <sabine.michael.ratcliffe@gmail.com>
|
||||
* firebug-lite.js: Issue 1487 - Added firebug.env.liteFilename ... this allows for the renaming of the FBLite script for use in popup windows.
|
||||
|
||||
2009-02-12 Azer Koculu <azer@kodfabrik.com>
|
||||
* minifier.py, jsmin.py, minify: Added minifier library and compressing scripts.
|
||||
|
||||
2009-02-12 Mike Ratcliffe <sabine.michael.ratcliffe@gmail.com>
|
||||
* firebug-lite.js: Corrected 2 syntax errors
|
||||
|
||||
2009-02-11 Mike Ratcliffe <sabine.michael.ratcliffe@gmail.com>
|
||||
* firebug-lite.js: Issue 1400 - firebug.env.override is now false by default ... I have also added
|
||||
two methods to make it easier for the user to control the console:
|
||||
firebug.overrideConsole() & firebug.restoreConsole()
|
||||
|
||||
2009-02-09 Mike Ratcliffe <sabine.michael.ratcliffe@gmail.com>
|
||||
* firebug-lite.js: Issue 1400 - Re-implemented firebug.env.override. Default is now true ... it can only be manually changed in FBLite code.
|
||||
The reason this is needed is because a number of browsers have a window.console object.
|
||||
|
||||
2009-02-08 Mike Ratcliffe <sabine.michael.ratcliffe@gmail.com>
|
||||
* firebug-lite.js: Issue 1406 - Added firebug.env.hideDOMFunctions to allow hiding of DOM functions in the DOM tab.
|
||||
|
||||
2009-02-06 Mike Ratcliffe <sabine.michael.ratcliffe@gmail.com>
|
||||
* firebug-lite.js: Removed firebug.env.override to prevent problems when override is set in FF3 where window.console
|
||||
is a getter and allow more control over initialization.
|
||||
* firebug-lite.js: Refactored code to allow firebug.env.detectFirebug to be set from user code
|
||||
* firebug-lite.js: Moved console initialization code inside of the Firebug object to remove some global variables
|
||||
* firebug-lite.js & firebug-lite.css: Fixed Issue 1348 - String, Date and Boolean objects should be displayed similar
|
||||
to their primitive counterparts
|
||||
* firebug-lite.js & firebug-lite.css: Fixed Issue 1023 - Elements such as Flash in iframes and dropdowns in IE bleed through FBLite,
|
||||
I have put an iframe 'shield' behind FBLite to prevent this
|
||||
* Updated mime-types for all FBLite SVN files
|
||||
|
||||
2009-02-05 Mike Ratcliffe <sabine.michael.ratcliffe@gmail.com>
|
||||
* firebug-lite.js: Added firebug.env.detectFirebug to prevent FBLite opening when Firebug is enabled (actually the Firebug Console).
|
||||
To run FBLite and Firebug at the same time it is now necessary to change the value of detectFirebug directly in firebug-lite.js
|
||||
* Fixed multiple console initialization and override issues
|
||||
|
||||
2009-02-05 Azer Koculu <azer@kodfabrik.com>
|
||||
* firebug-lite.css: mime-type property has been set to "text/css".
|
||||
|
||||
2009-02-04 Azer Koculu <azer@kodfabrik.com>
|
||||
* firebug-lite.js: Changed default css url getfirebug.com to fbug.google.com
|
||||
* firebug-lite-compressed.js: It was unnecesseary, removed.
|
||||
|
||||
2009-02-02 Azer Koculu <azer@kodfabrik.com>
|
||||
* Copied latest source to googlecode repository.
|
||||
|
||||
2009-01-31 Mike Ratcliffe <sabine.michael.ratcliffe@gmail.com>
|
||||
* firebug-lite.js: Added extra hotkeys to show / hide FBLite:
|
||||
F12, (CTRL|CMD)+SHIFT+L, SHIFT+ENTER
|
||||
* firebug-lite.js: Added console.firebug command to show FBLite version number
|
||||
* firebug-lite.js: Fixed problem with Open in New Window in Safari
|
||||
* firebug-lite.js: Added debug="true/false" to show or hide FBLite on startup
|
||||
|
||||
2009-01-01 Mike Ratcliffe <sabine.michael.ratcliffe@gmail.com>
|
||||
* firebug-lite.js & firebug-lite.css: Added Open in New Window
|
||||
* firebug-lite.js: Fixed: HTML Inspect only worked in 1 very specific situation ... it now works in all situations
|
||||
* firebug-lite.js: Fixed: Permission was occasionally denied to inspect CSS or scripts when it should not have been
|
||||
* firebug-lite.js: Fixed: Domain check now works with domain names containing - and _
|
BIN
test/firebug-lite/errorIcon.png
Executable file
After Width: | Height: | Size: 457 B |
124
test/firebug-lite/firebug-lite-compressed.js
Executable file
218
test/firebug-lite/firebug-lite.css
Executable file
|
@ -0,0 +1,218 @@
|
|||
/* */
|
||||
#Firebug div, #Firebug h3, #Firebug span, #Firebug input, #Firebug textarea, #Firebug select, #Firebug option, #Firebug a, #Firebug strong, #Firebug em, #Firebug label, #Firebug center {
|
||||
position:static; float:none; width:auto; height:auto; text-align:left; border:0; overflow:visible; background:transparent none repeat left top; color:#111; font-size:1em; font-weight:normal; font-style:normal; font-family:sans-serif; margin:0; padding:0; min-height:0;
|
||||
}
|
||||
#Firebug input, #Firebug select, #Firebug textarea { background:#fff; font:11px Verdana, Geneva, Arial, Helvetica, sans-serif; border:1px outset #aaa; padding:2px }
|
||||
#Firebug center { text-align:center; }
|
||||
#Firebug strong { font-weight:bold; }
|
||||
#Firebug em { font-style:italic; }
|
||||
/* */
|
||||
|
||||
#FirebugIFrame { position:fixed !important; position:absolute; z-index:99999998; left:0; bottom:0; width:100%; height:295px; background:#fff; border-width:0px; }
|
||||
|
||||
#Firebug { position:fixed !important; position:absolute; z-index:99999999; left:0; bottom:0; width:100%; height:295px; background:#fff; overflow:hidden; }
|
||||
#Firebug .Resizer { position:absolute; top:0; width:100%; height:5px; background:transparent; *background:url(spacer.gif); cursor:n-resize; -moz-user-select:none; }
|
||||
#Firebug .Header { height:38px; background:#ccc url(firebug.gif) 0 -85px; }
|
||||
#Firebug .Left, #Firebug > .Right { background:#fff; height:257px;}
|
||||
#Firebug .Left { float:left; width:100%; }
|
||||
#Firebug .Right { float:left; display:none; width:30%; overflow:hidden; }
|
||||
#Firebug .Right .Container { height:100%; border-left:1px solid #ccc; }
|
||||
|
||||
/*
|
||||
* buttonset
|
||||
*/
|
||||
|
||||
#Firebug .ButtonContainer { padding:8px 0 5px 10px; *margin-top:-3px; _margin-top:0; }
|
||||
#Firebug .ButtonContainer .Button { cursor:pointer; font:12px "MS Sans Serif", Geneva, sans-serif; color:#000; margin-right:5px; padding:4px 4px 4px 4px; border:1px solid transparent !important; border-color:#ccc; text-decoration:none; }
|
||||
#Firebug .ButtonContainer .Button:hover { border:1px outset #aaa !important; }
|
||||
#Firebug .ButtonContainer .Button:active { border-style:inset !important; background-color:#ccc; }
|
||||
#Firebug .ButtonContainer .Enabled { border:1px outset #aaa !important; }
|
||||
#Firebug .ButtonContainer .Logo { text-decoration:none; padding-left:24px; background:url(firebug.gif) no-repeat 5px 3px; border:0 !important; opacity:0.7; filter:Alpha(Opacity=70); }
|
||||
#Firebug .ButtonContainer .Logo:hover, #Firebug .ButtonContainer .Logo:active { border:0 !important; background-color:transparent; opacity:1; filter:Alpha(Opacity=100); }
|
||||
#Firebug .ButtonContainer .Maximize, #Firebug .ButtonContainer .Minimize, #Firebug .ButtonContainer .NewWindow, #Firebug .ButtonContainer .Dock, #Firebug .ButtonContainer .Close { position:absolute; right:0; top:12px; padding:6px 8px 8px 8px; background:url(firebug.gif) no-repeat -3px -48px; border:0 !important; opacity:0.7; filter:Alpha(Opacity:80); *padding:0px 7px 1px 7px; }
|
||||
#Firebug .ButtonContainer .Maximize:hover, #Firebug .ButtonContainer .Maximize:active, #Firebug .ButtonContainer .NewWindow:hover, #Firebug .ButtonContainer .NewWindow:active, #Firebug .ButtonContainer .Dock:hover, #Firebug .ButtonContainer .Dock:active, #Firebug .ButtonContainer .Minimize:hover, #Firebug .ButtonContainer .Minimize:active, #Firebug .ButtonContainer .Close:hover, #Firebug .ButtonContainer .Close:active { border:0 !important; background-color:transparent; opacity:1; filter:Alpha(Opacity:100); }
|
||||
#Firebug .ButtonContainer .Minimize { background-position:-3px -20px; right:40px; }
|
||||
#Firebug .ButtonContainer .Maximize { display:none; background-position:-3px -34px; right:40px; }
|
||||
#Firebug .ButtonContainer .NewWindow { background-position:-3px -123px; right:20px; }
|
||||
#Firebug .ButtonContainer .Dock { background-position:-3px -137px; }
|
||||
#Firebug .ButtonContainer .ButtonSet { border-left:1px solid #ccc; padding:0 0 0 3px; display:inline; }
|
||||
|
||||
/*
|
||||
* navigation
|
||||
*/
|
||||
|
||||
#Firebug .Nav { height:23px; background:url(firebug.gif) repeat-x 0 -62px; padding-left:10px; }
|
||||
#Firebug .Nav .Tab { display:block; width:auto; float:left; padding:3px 6px 2px 6px; cursor:pointer; border:1px outset transparent !important; border:0; font:bold 11px Arial, Helvetica, sans-serif; color:#666; }
|
||||
#Firebug .Nav .Tab:hover, #Firebug .Nav .Selected { border:1px outset #ccc !important; border-top-color:transparent !important; }
|
||||
#Firebug .Nav .Selected { color:#111; cursor:default; background-color:#f2f2f2; }
|
||||
#Firebug .Nav .Settings { float:right; }
|
||||
#Firebug .Nav .Settings .Options { text-decoration:none; padding-left:24px; background:url(firebug.gif) no-repeat 65px -151px; border:0 !important; opacity:0.7; filter:Alpha(Opacity=70); }
|
||||
#Firebug .Nav .Settings .Options:hover, #Firebug .ButtonContainer .Options:active { border:0 !important; background-color:transparent; opacity:1; filter:Alpha(Opacity=100); }
|
||||
|
||||
|
||||
/*
|
||||
* inspector
|
||||
*/
|
||||
|
||||
#FirebugBorderInspector { display:none; z-index:99999998; position:absolute; top:0; left:0; border:2px solid #0000ff; background:transparent; *background:url(spacer.gif); opacity:0.5; filter:Alpha(Opacity=50); padding:0; margin:0; }
|
||||
#FirebugBGInspector { display:none; z-index:99999998; position:absolute; top:0; left:0; background:rgb(0,150,255); opacity:0.5; filter:Alpha(Opacity=50); padding:0; margin:0; }
|
||||
|
||||
/*
|
||||
* dom
|
||||
*/
|
||||
|
||||
#Firebug .DOMRow { width:100% !important; width:90%; }
|
||||
#Firebug .DOMRow .DOMRowLeft { float:left; width:30%; overflow:hidden; }
|
||||
#Firebug .DOMRow .DOMRowLeft a { padding-left:15px; }
|
||||
#Firebug .DOMRow .DOMRowRight { float:left; width:60%; *width:60%; _overflow:hidden; white-space:nowrap; }
|
||||
#Firebug .DOMRow .DOMRowLeft .Object { background:url(tree_open.gif) no-repeat left center; cursor:pointer; }
|
||||
#Firebug .DOMRow .DOMRowLeft .Object:hover { text-decoration:underline; color:#0000ff; }
|
||||
#Firebug .DOMRow .DOMRowLeft .Opened { background-image:url(tree_close.gif) }
|
||||
#Firebug .DOMRow .DOMRowSubContainer { display:none; padding-left:25px; }
|
||||
|
||||
/*
|
||||
* console
|
||||
*/
|
||||
#Firebug .Left .Console { overflow:hidden; }
|
||||
#Firebug .Left .Console .Monitor { height:210px; border-bottom:1px solid #ccc; overflow:scroll; overflow-x:hidden; }
|
||||
#Firebug .Left .Console .Monitor .Error { background:#ffeff1; color:#ff0000; }
|
||||
#Firebug .Left .Console .Monitor .Error strong { color:#ff0000; }
|
||||
#Firebug .Left .Console .Monitor .Row { padding:2px 5px 2px 5px; font:11px Verdana, Geneva, Arial, Helvetica, sans-serif; overflow:hidden; border-bottom:1px solid #e5e5e5; }
|
||||
#Firebug .Left .Console .Monitor .Arrow { color:rgb(0,0,255); white-space:nowrap; }
|
||||
|
||||
#Firebug .Left .Console .InputArrow { position:absolute; left:0px; width:20px; font:12px Verdana, Geneva, Arial, Helvetica, sans-serif; color:#0000ff; padding:2px 4px 0 4px; }
|
||||
#Firebug .Left .Console .InputContainer { margin-left:35px; margin-right:5px; }
|
||||
#Firebug .Left .Console .Input { width:100% !important; margin-top:2px; width:98%; overflow:hidden; border:0; font:12px Verdana, Geneva, Arial, Helvetica, sans-serif; }
|
||||
#Firebug .Console .MLButton { cursor:pointer; position:absolute; top:276px; right:-22px; width:20px; padding:4px 10px 10px 10px; font-size:1px; *padding:2px 10px 10px 10px; background:url(firebug.gif) no-repeat -3px -34px; opacity:0.8; filter:Alpha(Opacity:80); }
|
||||
#Firebug .Console .MLButton:hover { opacity:1; filter:Alpha(Opacity:100); }
|
||||
#Firebug .Console .CloseML { background-position:-3px -20px; }
|
||||
|
||||
#Firebug .Right .Console { background:#eee; }
|
||||
#Firebug .Right .Console .Input { width:100%; _width:98%; height:228px; font:12px Verdana, Geneva, Arial, Helvetica, sans-serif; background:#fff; border:0; border-bottom:1px solid #ccc; margin-bottom:2px; *overflow:scroll; }
|
||||
#Firebug .Right .Console .Button { cursor:pointer; font:12px Verdana, Geneva, Arial, Helvetica, sans-serif; padding:1px 4px 1px 4px; margin:0 4px 0 4px; background:#eee; border:1px solid #eee; text-decoration:none; *display:block; *width:auto; *float:left; *margin-top:-1px; }
|
||||
#Firebug .Right .Console .Button:hover { border:1px outset #ccc; background:#fff; }
|
||||
#Firebug .Right .Console .Button:active { border:1px inset #ccc; background:#ccc; }
|
||||
|
||||
#Firebug .Left .Console .Monitor .Warn { background:url(warningIcon.png) #00FFFF no-repeat 2px center; padding-left:20px; }
|
||||
#Firebug .Left .Console .Monitor .Info { background:url(infoIcon.png) #fff no-repeat 2px center; padding-left:20px; }
|
||||
#Firebug .Left .Console .Monitor .Error { background:url(errorIcon.png) #FFFFE0 no-repeat 2px center; padding-left:20px; }
|
||||
|
||||
|
||||
/*
|
||||
* html
|
||||
*/
|
||||
|
||||
#Firebug .Left .HTML { display:none; height:250px; overflow:scroll; padding:0 10px 2px 10px; }
|
||||
#Firebug .Left .HTML .Block { padding:0 0 0 0px; font:11px Verdana, Geneva, Arial, Helvetica, sans-serif; }
|
||||
#Firebug .Left .HTML .Block .Spacer { cursor:default; padding:2px 2px 2px 15px; }
|
||||
#Firebug .Left .HTML .Block .Link { display:block; color:#333; padding:2px 2px 2px 0; }
|
||||
#Firebug .Left .HTML .Block .Link .Content { padding:2px 2px 2px 2px; }
|
||||
#Firebug .Left .HTML .Block .Link .TagName { cursor:pointer; }
|
||||
#Firebug .Left .HTML .Block .Parent { font-weight:bold; color:#111; text-decoration:none; }
|
||||
#Firebug .Left .HTML .Block .Parent .Spacer { background:#fff center no-repeat; }
|
||||
#Firebug .Left .HTML .Block .Parent .Spacer { background-image:url(tree_open.gif); }
|
||||
#Firebug .Left .HTML .Block .Open .Spacer { background-image:url(tree_close.gif) }
|
||||
#Firebug .Left .HTML .Block .Selected { background-color:#4473c4; }
|
||||
#Firebug .Left .HTML .Block .Selected * { color:#fff; }
|
||||
#Firebug .Left .HTML .Block .SubContainer { padding-left:20px; height:0; font-size:0px; }
|
||||
#Firebug .Left .HTML .Block .OpenSubContainer { height:auto; }
|
||||
#Firebug .Left .HTML .Unvisible { opacity:0.5; filter:Alpha(Opacity=50); }
|
||||
|
||||
#Firebug .Right .HTML { display:none; }
|
||||
#Firebug .Right .HTML .Content { overflow:scroll; height:235px; font:11px Verdana, Geneva, Arial, Helvetica, sans-serif; }
|
||||
#Firebug .Right .HTML .Content .CSSItem { padding:5px; color:#333; height:6px }
|
||||
#Firebug .Right .HTML .Content .CSSProperty { width:45%; float:left; overflow:hidden; }
|
||||
#Firebug .Right .HTML .Content .CSSValue { width:55%; float:left; white-space:nowrap; overflow:visible !important; overflow:hidden; }
|
||||
#Firebug .Right .HTML .Content .CSSValue input { font:11px ArArial, Helvetica, sans-serif; color:#333; 3px 0 0 -3px; }
|
||||
#Firebug .Right .HTML .Content .CSSItem center { color:rgb(0,150,0); padding:0 0 3px 0; font:bold 12px Arial, Helvetica, sans-serif; }
|
||||
#Firebug .ButtonContainer .HTML { display:none; }
|
||||
|
||||
/*
|
||||
* CSS
|
||||
*/
|
||||
|
||||
#Firebug .Left .CSS { display:none; padding:5px; height:225px; overflow:scroll; font:11px Verdana, Geneva, Arial, Helvetica, sans-serif; }
|
||||
#Firebug .Right .CSS { display:none; }
|
||||
#Firebug .Left .CSS .Selector { margin-top:10px }
|
||||
#Firebug .Left .CSS .CSSText { padding-left:20px; }
|
||||
#Firebug .Left .CSS .CSSProperty { color:#005500; margin-top:10px; }
|
||||
#Firebug .Left .CSS .CSSValue { padding-left:5px; color:#000088; }
|
||||
#Firebug .ButtonContainer .CSS { display:none; }
|
||||
|
||||
#Firebug .Right .CSS { background:#eee; }
|
||||
#Firebug .Right .CSS .Input { width:100%; _width:98%; height:205px; font:12px Verdana, Geneva, Arial, Helvetica, sans-serif; background:#fff; border:0; border-bottom:1px solid #ccc; margin-bottom:2px; *overflow:scroll; }
|
||||
#Firebug .Right .CSS .Button { cursor:pointer; font:12px Verdana, Geneva, Arial, Helvetica, sans-serif; padding:1px 4px 1px 4px; margin:0 4px 0 4px; background:#eee; border:1px solid #eee; text-decoration:none; *display:block; *width:auto; *float:left; *margin-top:-1px; }
|
||||
#Firebug .Right .CSS .Button:hover { border:1px outset #ccc; background:#fff; }
|
||||
#Firebug .Right .CSS .Button:active { border:1px inset #ccc; background:#ccc; }
|
||||
|
||||
/*
|
||||
* Scripts
|
||||
*/
|
||||
|
||||
#Firebug .Left .Scripts { display:none; height:225px; *height:235px; overflow:scroll; font:12px Verdana, Geneva, Arial, Helvetica, sans-serif; white-space:pre; }
|
||||
#Firebug .Left .Scripts .LineNumber { float:left; width:30px; height:20px; padding:0 2px 0 0; background:#eee; color:#666; font-family:Courier; text-align:right; border-right:1px solid #ccc; }
|
||||
#Firebug .Left .Scripts .CodeContainer { padding:5px; }
|
||||
#Firebug .Left .Scripts .Code { height:20px; }
|
||||
#Firebug .Left .Scripts .CodeContainer, #Firebug .Left .Scripts .Code { word-wrap:normal; white-space:pre; }
|
||||
#Firebug .Right .Scripts { display:none; }
|
||||
#Firebug .ButtonContainer .Scripts { display:none; }
|
||||
|
||||
/*
|
||||
* DOM
|
||||
*/
|
||||
|
||||
#Firebug .Left .DOM { display:none; font:11px Verdana, Geneva, Arial, Helvetica, sans-serif; padding:5px; overflow:scroll; height:225px; }
|
||||
#Firebug .Left .DOM .Object { font-weight:bold; }
|
||||
#Firebug .Right .DOM { display:none; overflow:scroll; }
|
||||
#Firebug .ButtonContainer .DOM { display:none; }
|
||||
#Firebug .ButtonContainer .DOM label { font:11px Verdana, Geneva, Arial, Helvetica, sans-serif; }
|
||||
|
||||
/*
|
||||
* XHR
|
||||
*/
|
||||
|
||||
#Firebug .Left .XHR { display:none; font:11px Verdana, Geneva, Arial, Helvetica, sans-serif; padding:5px; overflow:scroll; height:225px; }
|
||||
#Firebug .Left .XHR .Block { float:left; width:30%; }
|
||||
#Firebug .Left .XHR .BlockContent { padding:3px; border-right:1px dotted #aaa; }
|
||||
#Firebug .Left .XHR .Block strong { display:block; text-align:center; padding:3px; background:rgb(200,225,255); color:rgb(50,50,50); }
|
||||
#Firebug .Left .XHR .Block span { display:block; text-align:center; overflow:hidden; }
|
||||
#Firebug .Left .XHR .Block span a { cursor:pointer; color:rgb(0,0,200); }
|
||||
#Firebug .Right .XHR { display:none; overflow:scroll; }
|
||||
#Firebug .ButtonContainer .XHR { display:none; }
|
||||
#Firebug .ButtonContainer .XHR label { font:11px Verdana, Geneva, Arial, Helvetica, sans-serif; }
|
||||
|
||||
#Firebug .Left .STR { display:none; font:11px Verdana, Geneva, Arial, Helvetica, sans-serif; padding:5px; overflow:scroll; height:225px; }
|
||||
|
||||
/*
|
||||
* settings
|
||||
*/
|
||||
#Firebug .SettingsDiv {position:absolute;width:190px;top:60px;border:1px outset #000;-x-system-font:none;color:#000;font-family:"MS Sans Serif",Geneva,sans-serif;font-size:12px;font-size-adjust:none;font-stretch:normal;font-style:normal;font-variant:normal;font-weight:normal;line-height:normal;display:none;background-color:#FFF;}
|
||||
#Firebug .SettingsDiv .Header {background:#CCC url(firebug.gif) repeat scroll 0 -85px;height:30px;border-bottom:1px inset #000;}
|
||||
#Firebug .SettingsDiv .Header .Title {padding-top:10px;text-align:center;}
|
||||
#Firebug .SettingsDiv .Content {padding:5px;}
|
||||
#Firebug .SettingsDiv .Content .SettingsCBX{position:relative;top:2px;margin: 4px 5px 0 0; border:0 !important; padding:0 !important; height: 15px !important;}
|
||||
#Firebug .SettingsDiv .Content .SettingsTextbox{position:relative;top:2px;margin: 4px 5px 0 0; border:0 !important; padding:0 !important; height: 15px !important; width:35px !important; border:1px solid #000000 !important;}
|
||||
#Firebug .SettingsDiv .Content .ButtonsLeft {float:left;padding:10px 0px 5px 0px;}
|
||||
#Firebug .SettingsDiv .Content .ButtonsRight {float:right;padding:10px 0px 5px 0px;}
|
||||
#Firebug .SettingsDiv .Content .ProgressDiv {background-color:#FFF;width:100%;height:100%;position:absolute;left:0;top:0;z-index:1;opacity:.8;filter:alpha(opacity=80);display:none;}
|
||||
#Firebug .SettingsDiv .Content .Progress {background-image:url(progress.gif);width:66px;height:66px;position:absolute;top:50%;left:50%;margin-left:-33px;margin-top:-33px;}
|
||||
|
||||
/*
|
||||
* element highlighting
|
||||
*/
|
||||
#Firebug .Italic { font-style:italic; }
|
||||
#Firebug .Strong { font-weight:bold; }
|
||||
#Firebug .NormalWeight { font-weight:normal; }
|
||||
#Firebug .Green { color:#008800; }
|
||||
#Firebug .Gray { color:#666; }
|
||||
#Firebug .Blue { color:#0000ee; }
|
||||
#Firebug .DarkBlue { color:#000099; }
|
||||
#Firebug .Red { color:#ee0000; }
|
||||
#Firebug .Maroon { color:#800000; font:11px Verdana, Geneva, Arial, Helvetica, sans-serif; }
|
||||
#Firebug .Null { font:11px Verdana, Geneva, Arial, Helvetica, sans-serif; color:#fff; padding:0 2px 0 2px; background:#999; border:1px solid #666; }
|
||||
#Firebug .ObjectLink, #Firebug .ObjectLinkHover { cursor:pointer; }
|
||||
#Firebug .ObjectLinkHover { border-bottom:1px solid #008800; }
|
||||
|
||||
#Firebug .Clear { clear:both; height:0px; font-size:0px; }
|
||||
|
||||
#firebugIconDiv { width:38px;height:38px;right:15pt;bottom:5pt;border:2px solid #000;display:none;position:fixed;background-image:url(firebug_logo.png);text-decoration:underline;cursor:pointer;filter:alpha(opacity:60);opacity:.6;z-index:99999998;}
|
2572
test/firebug-lite/firebug-lite.js
Executable file
BIN
test/firebug-lite/firebug.gif
Executable file
After Width: | Height: | Size: 1 KiB |
BIN
test/firebug-lite/firebug_logo.png
Executable file
After Width: | Height: | Size: 499 B |
BIN
test/firebug-lite/infoIcon.png
Executable file
After Width: | Height: | Size: 524 B |
BIN
test/firebug-lite/progress.gif
Executable file
After Width: | Height: | Size: 5.1 KiB |
BIN
test/firebug-lite/spacer.gif
Executable file
After Width: | Height: | Size: 64 B |
BIN
test/firebug-lite/tree_close.gif
Executable file
After Width: | Height: | Size: 300 B |
BIN
test/firebug-lite/tree_open.gif
Executable file
After Width: | Height: | Size: 202 B |
BIN
test/firebug-lite/warningIcon.png
Executable file
After Width: | Height: | Size: 516 B |
|
@ -1,119 +0,0 @@
|
|||
|
||||
div.jGrowl {
|
||||
padding: 10px;
|
||||
z-index: 9999;
|
||||
}
|
||||
|
||||
/** Special IE6 Style Positioning **/
|
||||
div.ie6 {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
div.ie6.top-right {
|
||||
right: auto;
|
||||
bottom: auto;
|
||||
left: expression( ( 0 - jGrowl.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
|
||||
top: expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
|
||||
}
|
||||
|
||||
div.ie6.top-left {
|
||||
left: expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
|
||||
top: expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
|
||||
}
|
||||
|
||||
div.ie6.bottom-right {
|
||||
left: expression( ( 0 - jGrowl.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
|
||||
top: expression( ( 0 - jGrowl.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
|
||||
}
|
||||
|
||||
div.ie6.bottom-left {
|
||||
left: expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
|
||||
top: expression( ( 0 - jGrowl.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
|
||||
}
|
||||
|
||||
div.ie6.center {
|
||||
left: expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
|
||||
top: expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/** Normal Style Positions **/
|
||||
body > div.jGrowl {
|
||||
position: fixed;
|
||||
}
|
||||
|
||||
body > div.jGrowl.top-left {
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
}
|
||||
|
||||
body > div.jGrowl.top-right {
|
||||
right: 0px;
|
||||
top: 0px;
|
||||
}
|
||||
|
||||
body > div.jGrowl.bottom-left {
|
||||
left: 0px;
|
||||
bottom: 0px;
|
||||
}
|
||||
|
||||
body > div.jGrowl.bottom-right {
|
||||
right: 0px;
|
||||
bottom: 0px;
|
||||
}
|
||||
|
||||
body > div.jGrowl.center {
|
||||
top: 0px;
|
||||
width: 50%;
|
||||
left: 25%;
|
||||
}
|
||||
|
||||
/** Cross Browser Styling **/
|
||||
div.center div.jGrowl-notification, div.center div.jGrowl-closer {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
div.jGrowl div.jGrowl-notification, div.jGrowl div.jGrowl-closer {
|
||||
background-color: #000;
|
||||
color: #fff;
|
||||
opacity: .85;
|
||||
filter: alpha(opacity = 85);
|
||||
zoom: 1;
|
||||
width: 235px;
|
||||
padding: 10px;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
font-family: Tahoma, Arial, Helvetica, sans-serif;
|
||||
font-size: 12px;
|
||||
text-align: left;
|
||||
display: none;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
}
|
||||
|
||||
div.jGrowl div.jGrowl-notification {
|
||||
min-height: 40px;
|
||||
}
|
||||
|
||||
div.jGrowl div.jGrowl-notification div.header {
|
||||
font-weight: bold;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
div.jGrowl div.jGrowl-notification div.close {
|
||||
float: right;
|
||||
font-weight: bold;
|
||||
font-size: 12px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
div.jGrowl div.jGrowl-closer {
|
||||
height: 15px;
|
||||
padding-top: 4px;
|
||||
padding-bottom: 4px;
|
||||
cursor: pointer;
|
||||
font-size: 11px;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
}
|
|
@ -1,241 +0,0 @@
|
|||
/**
|
||||
* jGrowl 1.2.0
|
||||
*
|
||||
* Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
|
||||
* and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
|
||||
*
|
||||
* Written by Stan Lemon <stanlemon@mac.com>
|
||||
* Last updated: 2009.05.11
|
||||
*
|
||||
* jGrowl is a jQuery plugin implementing unobtrusive userland notifications. These
|
||||
* notifications function similarly to the Growl Framework available for
|
||||
* Mac OS X (http://growl.info).
|
||||
*
|
||||
* To Do:
|
||||
* - Move library settings to containers and allow them to be changed per container
|
||||
*
|
||||
* Changes in 1.2.0
|
||||
* - Added message pooling to limit the number of messages appearing at a given time.
|
||||
* - Closing a notification is now bound to the notification object and triggered by the close button.
|
||||
*
|
||||
* Changes in 1.1.2
|
||||
* - Added iPhone styled example
|
||||
* - Fixed possible IE7 bug when determining if the ie6 class shoudl be applied.
|
||||
* - Added template for the close button, so that it's content could be customized.
|
||||
*
|
||||
* Changes in 1.1.1
|
||||
* - Fixed CSS styling bug for ie6 caused by a mispelling
|
||||
* - Changes height restriction on default notifications to min-height
|
||||
* - Added skinned examples using a variety of images
|
||||
* - Added the ability to customize the content of the [close all] box
|
||||
* - Added jTweet, an example of using jGrowl + Twitter
|
||||
*
|
||||
* Changes in 1.1.0
|
||||
* - Multiple container and instances.
|
||||
* - Standard $.jGrowl() now wraps $.fn.jGrowl() by first establishing a generic jGrowl container.
|
||||
* - Instance methods of a jGrowl container can be called by $.fn.jGrowl(methodName)
|
||||
* - Added glue preferenced, which allows notifications to be inserted before or after nodes in the container
|
||||
* - Added new log callback which is called before anything is done for the notification
|
||||
* - Corner's attribute are now applied on an individual notification basis.
|
||||
*
|
||||
* Changes in 1.0.4
|
||||
* - Various CSS fixes so that jGrowl renders correctly in IE6.
|
||||
*
|
||||
* Changes in 1.0.3
|
||||
* - Fixed bug with options persisting across notifications
|
||||
* - Fixed theme application bug
|
||||
* - Simplified some selectors and manipulations.
|
||||
* - Added beforeOpen and beforeClose callbacks
|
||||
* - Reorganized some lines of code to be more readable
|
||||
* - Removed unnecessary this.defaults context
|
||||
* - If corners plugin is present, it's now customizable.
|
||||
* - Customizable open animation.
|
||||
* - Customizable close animation.
|
||||
* - Customizable animation easing.
|
||||
* - Added customizable positioning (top-left, top-right, bottom-left, bottom-right, center)
|
||||
*
|
||||
* Changes in 1.0.2
|
||||
* - All CSS styling is now external.
|
||||
* - Added a theme parameter which specifies a secondary class for styling, such
|
||||
* that notifications can be customized in appearance on a per message basis.
|
||||
* - Notification life span is now customizable on a per message basis.
|
||||
* - Added the ability to disable the global closer, enabled by default.
|
||||
* - Added callbacks for when a notification is opened or closed.
|
||||
* - Added callback for the global closer.
|
||||
* - Customizable animation speed.
|
||||
* - jGrowl now set itself up and tears itself down.
|
||||
*
|
||||
* Changes in 1.0.1:
|
||||
* - Removed dependency on metadata plugin in favor of .data()
|
||||
* - Namespaced all events
|
||||
*/
|
||||
(function($) {
|
||||
|
||||
/** jGrowl Wrapper - Establish a base jGrowl Container for compatibility with older releases. **/
|
||||
$.jGrowl = function( m , o ) {
|
||||
// To maintain compatibility with older version that only supported one instance we'll create the base container.
|
||||
if ( $('#jGrowl').size() == 0 ) $('<div id="jGrowl"></div>').addClass($.jGrowl.defaults.position).appendTo('body');
|
||||
// Create a notification on the container.
|
||||
$('#jGrowl').jGrowl(m,o);
|
||||
};
|
||||
|
||||
|
||||
/** Raise jGrowl Notification on a jGrowl Container **/
|
||||
$.fn.jGrowl = function( m , o ) {
|
||||
if ( $.isFunction(this.each) ) {
|
||||
var args = arguments;
|
||||
|
||||
return this.each(function() {
|
||||
var self = this;
|
||||
|
||||
/** Create a jGrowl Instance on the Container if it does not exist **/
|
||||
if ( $(this).data('jGrowl.instance') == undefined ) {
|
||||
$(this).data('jGrowl.instance', new $.fn.jGrowl());
|
||||
$(this).data('jGrowl.instance').startup( this );
|
||||
}
|
||||
|
||||
/** Optionally call jGrowl instance methods, or just raise a normal notification **/
|
||||
if ( $.isFunction($(this).data('jGrowl.instance')[m]) ) {
|
||||
$(this).data('jGrowl.instance')[m].apply( $(this).data('jGrowl.instance') , $.makeArray(args).slice(1) );
|
||||
} else {
|
||||
$(this).data('jGrowl.instance').create( m , o );
|
||||
}
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
$.extend( $.fn.jGrowl.prototype , {
|
||||
|
||||
/** Default JGrowl Settings **/
|
||||
defaults: {
|
||||
pool: 0,
|
||||
header: '',
|
||||
group: '',
|
||||
sticky: false,
|
||||
position: 'top-right', // Is this still needed?
|
||||
glue: 'after',
|
||||
theme: 'default',
|
||||
corners: '10px',
|
||||
check: 250,
|
||||
life: 3000,
|
||||
speed: 'normal',
|
||||
easing: 'swing',
|
||||
closer: true,
|
||||
closeTemplate: '×',
|
||||
closerTemplate: '<div>[ close all ]</div>',
|
||||
log: function(e,m,o) {},
|
||||
beforeOpen: function(e,m,o) {},
|
||||
open: function(e,m,o) {},
|
||||
beforeClose: function(e,m,o) {},
|
||||
close: function(e,m,o) {},
|
||||
animateOpen: {
|
||||
opacity: 'show'
|
||||
},
|
||||
animateClose: {
|
||||
opacity: 'hide'
|
||||
}
|
||||
},
|
||||
|
||||
notifications: [],
|
||||
|
||||
/** jGrowl Container Node **/
|
||||
element: null,
|
||||
|
||||
/** Interval Function **/
|
||||
interval: null,
|
||||
|
||||
/** Create a Notification **/
|
||||
create: function( message , o ) {
|
||||
var o = $.extend({}, this.defaults, o);
|
||||
|
||||
this.notifications[ this.notifications.length ] = { message: message , options: o };
|
||||
|
||||
o.log.apply( this.element , [this.element,message,o] );
|
||||
},
|
||||
|
||||
render: function( notification ) {
|
||||
var self = this;
|
||||
var message = notification.message;
|
||||
var o = notification.options;
|
||||
|
||||
var notification = $('<div class="jGrowl-notification' + ((o.group != undefined && o.group != '') ? ' ' + o.group : '') + '"><div class="close">' + o.closeTemplate + '</div><div class="header">' + o.header + '</div><div class="message">' + message + '</div></div>')
|
||||
.data("jGrowl", o).addClass(o.theme).children('div.close').bind("click.jGrowl", function() {
|
||||
$(this).parent().trigger('jGrowl.close');
|
||||
}).parent();
|
||||
|
||||
( o.glue == 'after' ) ? $('div.jGrowl-notification:last', this.element).after(notification) : $('div.jGrowl-notification:first', this.element).before(notification);
|
||||
|
||||
/** Notification Actions **/
|
||||
$(notification).bind("mouseover.jGrowl", function() {
|
||||
$(this).data("jGrowl").pause = true;
|
||||
}).bind("mouseout.jGrowl", function() {
|
||||
$(this).data("jGrowl").pause = false;
|
||||
}).bind('jGrowl.beforeOpen', function() {
|
||||
o.beforeOpen.apply( self.element , [self.element,message,o] );
|
||||
}).bind('jGrowl.open', function() {
|
||||
o.open.apply( self.element , [self.element,message,o] );
|
||||
}).bind('jGrowl.beforeClose', function() {
|
||||
o.beforeClose.apply( self.element , [self.element,message,o] );
|
||||
}).bind('jGrowl.close', function() {
|
||||
$(this).trigger('jGrowl.beforeClose').animate(o.animateClose, o.speed, o.easing, function() {
|
||||
$(this).remove();
|
||||
o.close.apply( self.element , [self.element,message,o] );
|
||||
});
|
||||
}).trigger('jGrowl.beforeOpen').animate(o.animateOpen, o.speed, o.easing, function() {
|
||||
$(this).data("jGrowl").created = new Date();
|
||||
}).trigger('jGrowl.open');
|
||||
|
||||
/** Optional Corners Plugin **/
|
||||
if ( $.fn.corner != undefined ) $(notification).corner( o.corners );
|
||||
|
||||
/** Add a Global Closer if more than one notification exists **/
|
||||
if ( $('div.jGrowl-notification:parent', this.element).size() > 1 && $('div.jGrowl-closer', this.element).size() == 0 && this.defaults.closer != false ) {
|
||||
$(this.defaults.closerTemplate).addClass('jGrowl-closer').addClass(this.defaults.theme).appendTo(this.element).animate(this.defaults.animateOpen, this.defaults.speed, this.defaults.easing).bind("click.jGrowl", function() {
|
||||
$(this).siblings().children('div.close').trigger("click.jGrowl");
|
||||
|
||||
if ( $.isFunction( self.defaults.closer ) ) self.defaults.closer.apply( $(this).parent()[0] , [$(this).parent()[0]] );
|
||||
});
|
||||
};
|
||||
},
|
||||
|
||||
/** Update the jGrowl Container, removing old jGrowl notifications **/
|
||||
update: function() {
|
||||
$(this.element).find('div.jGrowl-notification:parent').each( function() {
|
||||
if ( $(this).data("jGrowl") != undefined && $(this).data("jGrowl").created != undefined && ($(this).data("jGrowl").created.getTime() + $(this).data("jGrowl").life) < (new Date()).getTime() && $(this).data("jGrowl").sticky != true &&
|
||||
($(this).data("jGrowl").pause == undefined || $(this).data("jGrowl").pause != true) ) {
|
||||
$(this).trigger('jGrowl.close');
|
||||
}
|
||||
});
|
||||
|
||||
if ( this.notifications.length > 0 && (this.defaults.pool == 0 || $(this.element).find('div.jGrowl-notification:parent').size() < this.defaults.pool) ) {
|
||||
this.render( this.notifications.shift() );
|
||||
}
|
||||
|
||||
if ( $(this.element).find('div.jGrowl-notification:parent').size() < 2 ) {
|
||||
$(this.element).find('div.jGrowl-closer').animate(this.defaults.animateClose, this.defaults.speed, this.defaults.easing, function() {
|
||||
$(this).remove();
|
||||
});
|
||||
};
|
||||
},
|
||||
|
||||
/** Setup the jGrowl Notification Container **/
|
||||
startup: function(e) {
|
||||
this.element = $(e).addClass('jGrowl').append('<div class="jGrowl-notification"></div>');
|
||||
this.interval = setInterval( function() {
|
||||
jQuery(e).data('jGrowl.instance').update();
|
||||
}, this.defaults.check);
|
||||
|
||||
if ($.browser.msie && parseInt($.browser.version) < 7 && !window["XMLHttpRequest"]) $(this.element).addClass('ie6');
|
||||
},
|
||||
|
||||
/** Shutdown jGrowl, removing it and clearing the interval **/
|
||||
shutdown: function() {
|
||||
$(this.element).removeClass('jGrowl').find('div.jGrowl-notification').remove();
|
||||
clearInterval( this.interval );
|
||||
}
|
||||
});
|
||||
|
||||
/** Reference the Defaults Object for compatibility with older versions of jGrowl **/
|
||||
$.jGrowl.defaults = $.fn.jGrowl.prototype.defaults;
|
||||
|
||||
})(jQuery);
|
107
test/loader.js
Executable file
|
@ -0,0 +1,107 @@
|
|||
|
||||
var _origVars = [];
|
||||
for (var _prop in window) {
|
||||
_origVars.push(_prop);
|
||||
}
|
||||
|
||||
function varLeaks() {
|
||||
for (var prop in window) {
|
||||
var found = false;
|
||||
for (var i=0; i<_origVars.length; i++) {
|
||||
if (prop == _origVars[i]) {
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!found) {
|
||||
console.log(prop);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var m = window.location.href.match(/\?(.*)$/);
|
||||
var queryString = m ? m[1] : '';
|
||||
|
||||
function queryStringParam(name) {
|
||||
m = queryString.match(new RegExp("(?:^|&)"+name+"(?:=([^&]))?"));
|
||||
if (m) {
|
||||
if (m[1]) return m[1];
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
function includeJS(src) {
|
||||
document.write("<script type='text/javascript' src='" + src + "'><\/script>");
|
||||
}
|
||||
|
||||
function includeCSS(href) {
|
||||
document.write("<link rel='stylesheet' type='text/css' href='" + href + "' />");
|
||||
}
|
||||
|
||||
var _build = queryStringParam('build');
|
||||
var _uncompressed = queryStringParam('uncompressed');
|
||||
var _legacy = queryStringParam('legacy');
|
||||
|
||||
if (_build) {
|
||||
includeCSS('../build/fullcalendar/fullcalendar.css');
|
||||
}else{
|
||||
includeCSS('../src/css/main.css');
|
||||
includeCSS('../src/css/grid.css');
|
||||
}
|
||||
|
||||
if (_legacy) {
|
||||
includeJS('legacy-jquery/jquery.js');
|
||||
includeJS('legacy-jquery/ui.core.js');
|
||||
includeJS('legacy-jquery/ui.draggable.js');
|
||||
includeJS('legacy-jquery/ui.resizable.js');
|
||||
}
|
||||
else if (_build) {
|
||||
includeJS('../build/fullcalendar/jquery/jquery.js');
|
||||
includeJS('../build/fullcalendar/jquery/ui.core.js');
|
||||
includeJS('../build/fullcalendar/jquery/ui.draggable.js');
|
||||
includeJS('../build/fullcalendar/jquery/ui.resizable.js');
|
||||
}
|
||||
else {
|
||||
includeJS('../src/jquery/jquery.js');
|
||||
includeJS('../src/jquery/ui.core.js');
|
||||
includeJS('../src/jquery/ui.draggable.js');
|
||||
includeJS('../src/jquery/ui.resizable.js');
|
||||
}
|
||||
|
||||
if (_build) {
|
||||
if (_uncompressed) {
|
||||
includeJS('../build/fullcalendar/uncompressed/fullcalendar.js');
|
||||
}else{
|
||||
includeJS('../build/fullcalendar/fullcalendar.js');
|
||||
}
|
||||
includeJS('../build/fullcalendar/gcal.js');
|
||||
}else{
|
||||
includeJS('../src/main.js');
|
||||
includeJS('../src/grid.js');
|
||||
includeJS('../src/view.js');
|
||||
includeJS('../src/util.js');
|
||||
includeJS('../src/gcal.js');
|
||||
}
|
||||
|
||||
var _userAgent = navigator.userAgent.toLowerCase();
|
||||
if (!/mozilla/.test(_userAgent) || /(compatible|webkit)/.test(_userAgent)) {
|
||||
includeJS('firebug-lite/firebug-lite-compressed.js');
|
||||
}
|
||||
|
||||
window.onload = function() {
|
||||
$('body').append(
|
||||
"<form style='position:absolute;top:0;right:0;text-align:right;font-size:10px;color:#666'>" +
|
||||
"<label for='build'>build</label> " +
|
||||
"<input type='checkbox' id='build' name='build'" + (_build ? " checked='checked'" : '') +
|
||||
" style='vertical-align:middle' onclick='$(this).parent().submit()' />" +
|
||||
"<br />" +
|
||||
"<label for='uncompressed'>uncompressed</label> " +
|
||||
"<input type='checkbox' id='uncompressed' name='uncompressed'" + (_uncompressed ? " checked='checked'" : '') +
|
||||
" style='vertical-align:middle' onclick='$(this).parent().submit()' />" +
|
||||
"<br />" +
|
||||
"<label for='legacy'>legacy</label> " +
|
||||
"<input type='checkbox' id='legacy' name='legacy'" + (_legacy ? " checked='checked'" : '') +
|
||||
" style='vertical-align:middle' onclick='$(this).parent().submit()' />" +
|
||||
"</form>"
|
||||
);
|
||||
};
|
|
@ -1,20 +1,7 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<link rel='stylesheet' type='text/css' href='../src/css/main.css' />
|
||||
<link rel='stylesheet' type='text/css' href='../src/css/grid.css' />
|
||||
<link rel='stylesheet' type='text/css' href='../src/css/agenda.css' />
|
||||
|
||||
<script type='text/javascript' src='../src/jquery/jquery.js'></script>
|
||||
<script type='text/javascript' src='../src/jquery/ui.core.js'></script>
|
||||
<script type='text/javascript' src='../src/jquery/ui.draggable.js'></script>
|
||||
<script type='text/javascript' src='../src/jquery/ui.resizable.js'></script>
|
||||
|
||||
<script type='text/javascript' src='../src/main.js'></script>
|
||||
<script type='text/javascript' src='../src/grid.js'></script>
|
||||
<script type='text/javascript' src='../src/view.js'></script>
|
||||
<script type='text/javascript' src='../src/util.js'></script>
|
||||
<script type='text/javascript' src='../src/gcal.js'></script>
|
||||
<script type='text/javascript' src='loader.js'></script>
|
||||
<script type='text/javascript'>
|
||||
|
||||
var d = new Date();
|
||||
|
@ -51,13 +38,13 @@
|
|||
//return false;
|
||||
},
|
||||
eventDragStart: function(event) {
|
||||
//console.log('DRAG START ' + event.title);
|
||||
console.log('DRAG START ' + event.title);
|
||||
},
|
||||
eventDragStop: function(event) {
|
||||
//console.log('DRAG STOP ' + event.title);
|
||||
console.log('DRAG STOP ' + event.title);
|
||||
},
|
||||
eventDrop: function(event, dayDelta, minuteDelta) {
|
||||
//console.log(dayDelta + ' ' + minuteDelta + ' --- ' + event.title);
|
||||
console.log(dayDelta + ' ' + minuteDelta + ' --- ' + event.title);
|
||||
},
|
||||
eventResizeStart: function(event) {
|
||||
//console.log('resize START');
|
||||
|
|