├── scripted ├── demos │ ├── nobelists │ │ └── __history__.html │ ├── senate │ │ ├── rotunda.jpg │ │ └── styles.css │ ├── thumbnail │ │ ├── style.css │ │ ├── tagged-data.js │ │ ├── index.html │ │ └── tabled.html │ ├── cloud │ │ ├── tagged-data.js │ │ └── index.html │ ├── icd │ │ └── style.css │ ├── index.html │ └── history │ │ └── style.css ├── src │ ├── lib │ │ ├── jquery.js │ │ ├── jquery.min.js │ │ ├── jquery.history.shim.js │ │ ├── polyfill.js │ │ ├── base64.js │ │ └── json2.js │ ├── styles │ │ ├── control-panel.css │ │ ├── widgets │ │ │ ├── reset-history-widget.css │ │ │ ├── option-widget.css │ │ │ ├── toolbox-widget.css │ │ │ ├── bookmark-widget.css │ │ │ ├── resizable-div-widget.css │ │ │ ├── collection-summary-widget.css │ │ │ └── legend-widget.css │ │ ├── views │ │ │ ├── thumbnail-view.css │ │ │ ├── tile-view.css │ │ │ ├── tabular-view.css │ │ │ └── view-panel.css │ │ ├── browse-panel.css │ │ ├── lens.css │ │ └── util │ │ │ └── views.css │ ├── images │ │ ├── copy.png │ │ ├── expand.png │ │ ├── option.png │ │ ├── collapse.png │ │ ├── no-check.png │ │ ├── up-arrow.png │ │ ├── arrow-left.gif │ │ ├── arrow-right.gif │ │ ├── black-check.png │ │ ├── blank-16x16.png │ │ ├── bubble-left.png │ │ ├── bubble-top.png │ │ ├── down-arrow.png │ │ ├── gray-check.png │ │ ├── left-arrow.png │ │ ├── right-arrow.png │ │ ├── bookmark-icon.png │ │ ├── bubble-bottom.png │ │ ├── bubble-right.png │ │ ├── close-button.png │ │ ├── message-left.png │ │ ├── message-right.png │ │ ├── option-check.png │ │ ├── slider-handle.png │ │ ├── week-selector.gif │ │ ├── bubble-top-left.png │ │ ├── bubble-top-right.png │ │ ├── message-top-left.png │ │ ├── progress-running.gif │ │ ├── slider-handle2.png │ │ ├── bubble-bottom-left.png │ │ ├── liveclipboard-icon.png │ │ ├── map-marker-shadow.png │ │ ├── message-top-right.png │ │ ├── month-header-left.gif │ │ ├── month-header-right.gif │ │ ├── no-check-no-border.png │ │ ├── reset-history-icon.png │ │ ├── black-check-no-border.png │ │ ├── bubble-arrow-point-up.png │ │ ├── bubble-bottom-right.png │ │ ├── day-with-items-bkgrd.gif │ │ ├── gray-check-no-border.png │ │ ├── message-bottom-left.png │ │ ├── message-bottom-right.png │ │ ├── week-selector-active.gif │ │ ├── bubble-arrow-point-down.png │ │ ├── bubble-arrow-point-left.png │ │ ├── logos │ │ │ ├── exhibit-small-Red.png │ │ │ ├── exhibit-small-Tan.png │ │ │ ├── exhibit-small-Aqua.png │ │ │ ├── exhibit-small-Azure.png │ │ │ ├── exhibit-small-Beige.png │ │ │ ├── exhibit-small-Bisque.png │ │ │ ├── exhibit-small-Black.png │ │ │ ├── exhibit-small-Blue.png │ │ │ ├── exhibit-small-Brown.png │ │ │ ├── exhibit-small-Coral.png │ │ │ ├── exhibit-small-Cyan.png │ │ │ ├── exhibit-small-Gold.png │ │ │ ├── exhibit-small-Gray.png │ │ │ ├── exhibit-small-Green.png │ │ │ ├── exhibit-small-Grey.png │ │ │ ├── exhibit-small-Ivory.png │ │ │ ├── exhibit-small-Khaki.png │ │ │ ├── exhibit-small-Lime.png │ │ │ ├── exhibit-small-Linen.png │ │ │ ├── exhibit-small-Maroon.png │ │ │ ├── exhibit-small-Navy.png │ │ │ ├── exhibit-small-Olive.png │ │ │ ├── exhibit-small-Orange.png │ │ │ ├── exhibit-small-Orchid.png │ │ │ ├── exhibit-small-Peru.png │ │ │ ├── exhibit-small-Pink.png │ │ │ ├── exhibit-small-Plum.png │ │ │ ├── exhibit-small-Purple.png │ │ │ ├── exhibit-small-Salmon.png │ │ │ ├── exhibit-small-Sienna.png │ │ │ ├── exhibit-small-Silver.png │ │ │ ├── exhibit-small-Snow.png │ │ │ ├── exhibit-small-Teal.png │ │ │ ├── exhibit-small-Tomato.png │ │ │ ├── exhibit-small-Violet.png │ │ │ ├── exhibit-small-Wheat.png │ │ │ ├── exhibit-small-White.png │ │ │ ├── exhibit-small-Yellow.png │ │ │ ├── exhibit-small-Cornsilk.png │ │ │ ├── exhibit-small-Crimson.png │ │ │ ├── exhibit-small-DarkBlue.png │ │ │ ├── exhibit-small-DarkCyan.png │ │ │ ├── exhibit-small-DarkGray.png │ │ │ ├── exhibit-small-DarkGrey.png │ │ │ ├── exhibit-small-DarkRed.png │ │ │ ├── exhibit-small-DeepPink.png │ │ │ ├── exhibit-small-DimGray.png │ │ │ ├── exhibit-small-DimGrey.png │ │ │ ├── exhibit-small-Fuchsia.png │ │ │ ├── exhibit-small-HoneyDew.png │ │ │ ├── exhibit-small-HotPink.png │ │ │ ├── exhibit-small-Indigo .png │ │ │ ├── exhibit-small-Lavender.png │ │ │ ├── exhibit-small-Magenta.png │ │ │ ├── exhibit-small-Moccasin.png │ │ │ ├── exhibit-small-OldLace.png │ │ │ ├── exhibit-small-SeaGreen.png │ │ │ ├── exhibit-small-SeaShell.png │ │ │ ├── exhibit-small-SkyBlue.png │ │ │ ├── exhibit-small-Thistle.png │ │ │ ├── exhibit-small-AliceBlue.png │ │ │ ├── exhibit-small-Aquamarine.png │ │ │ ├── exhibit-small-BlueViolet.png │ │ │ ├── exhibit-small-BurlyWood.png │ │ │ ├── exhibit-small-CadetBlue.png │ │ │ ├── exhibit-small-Chartreuse.png │ │ │ ├── exhibit-small-Chocolate.png │ │ │ ├── exhibit-small-DarkGreen.png │ │ │ ├── exhibit-small-DarkKhaki.png │ │ │ ├── exhibit-small-DarkMagenta.png │ │ │ ├── exhibit-small-DarkOrchid.png │ │ │ ├── exhibit-small-DarkSalmon.png │ │ │ ├── exhibit-small-DarkViolet.png │ │ │ ├── exhibit-small-Darkorange.png │ │ │ ├── exhibit-small-DeepSkyBlue.png │ │ │ ├── exhibit-small-DodgerBlue.png │ │ │ ├── exhibit-small-FireBrick.png │ │ │ ├── exhibit-small-FloralWhite.png │ │ │ ├── exhibit-small-ForestGreen.png │ │ │ ├── exhibit-small-Gainsboro.png │ │ │ ├── exhibit-small-GhostWhite.png │ │ │ ├── exhibit-small-GoldenRod.png │ │ │ ├── exhibit-small-GreenYellow.png │ │ │ ├── exhibit-small-IndianRed .png │ │ │ ├── exhibit-small-LawnGreen.png │ │ │ ├── exhibit-small-LightBlue.png │ │ │ ├── exhibit-small-LightCoral.png │ │ │ ├── exhibit-small-LightCyan.png │ │ │ ├── exhibit-small-LightGray.png │ │ │ ├── exhibit-small-LightGreen.png │ │ │ ├── exhibit-small-LightGrey.png │ │ │ ├── exhibit-small-LightPink.png │ │ │ ├── exhibit-small-LightSalmon.png │ │ │ ├── exhibit-small-LightYellow.png │ │ │ ├── exhibit-small-LimeGreen.png │ │ │ ├── exhibit-small-MediumBlue.png │ │ │ ├── exhibit-small-MintCream.png │ │ │ ├── exhibit-small-MistyRose.png │ │ │ ├── exhibit-small-NavajoWhite.png │ │ │ ├── exhibit-small-OliveDrab.png │ │ │ ├── exhibit-small-OrangeRed.png │ │ │ ├── exhibit-small-PaleGreen.png │ │ │ ├── exhibit-small-PapayaWhip.png │ │ │ ├── exhibit-small-PeachPuff.png │ │ │ ├── exhibit-small-PowderBlue.png │ │ │ ├── exhibit-small-RosyBrown.png │ │ │ ├── exhibit-small-RoyalBlue.png │ │ │ ├── exhibit-small-SaddleBrown.png │ │ │ ├── exhibit-small-SandyBrown.png │ │ │ ├── exhibit-small-SlateBlue.png │ │ │ ├── exhibit-small-SlateGray.png │ │ │ ├── exhibit-small-SlateGrey.png │ │ │ ├── exhibit-small-SpringGreen.png │ │ │ ├── exhibit-small-SteelBlue.png │ │ │ ├── exhibit-small-Turquoise.png │ │ │ ├── exhibit-small-WhiteSmoke.png │ │ │ ├── exhibit-small-YellowGreen.png │ │ │ ├── exhibit-small-AntiqueWhite.png │ │ │ ├── exhibit-small-DarkGoldenRod.png │ │ │ ├── exhibit-small-DarkSeaGreen.png │ │ │ ├── exhibit-small-DarkSlateBlue.png │ │ │ ├── exhibit-small-DarkSlateGray.png │ │ │ ├── exhibit-small-DarkSlateGrey.png │ │ │ ├── exhibit-small-DarkTurquoise.png │ │ │ ├── exhibit-small-LavenderBlush.png │ │ │ ├── exhibit-small-LemonChiffon.png │ │ │ ├── exhibit-small-LightSeaGreen.png │ │ │ ├── exhibit-small-LightSkyBlue.png │ │ │ ├── exhibit-small-MediumOrchid.png │ │ │ ├── exhibit-small-MediumPurple.png │ │ │ ├── exhibit-small-MidnightBlue.png │ │ │ ├── exhibit-small-PaleGoldenRod.png │ │ │ ├── exhibit-small-PaleTurquoise.png │ │ │ ├── exhibit-small-PaleVioletRed.png │ │ │ ├── exhibit-small-BlanchedAlmond.png │ │ │ ├── exhibit-small-CornflowerBlue.png │ │ │ ├── exhibit-small-DarkOliveGreen.png │ │ │ ├── exhibit-small-LightSlateGray.png │ │ │ ├── exhibit-small-LightSlateGrey.png │ │ │ ├── exhibit-small-LightSteelBlue.png │ │ │ ├── exhibit-small-MediumAquaMarine.png │ │ │ ├── exhibit-small-MediumSeaGreen.png │ │ │ ├── exhibit-small-MediumSlateBlue.png │ │ │ ├── exhibit-small-MediumTurquoise.png │ │ │ ├── exhibit-small-MediumVioletRed.png │ │ │ ├── exhibit-small-MediumSpringGreen.png │ │ │ └── exhibit-small-LightGoldenRodYellow.png │ │ ├── bubble-arrow-point-right.png │ │ └── message-bubble │ │ │ ├── message-left.png │ │ │ ├── message-right.png │ │ │ ├── message-top-left.png │ │ │ ├── message-top-right.png │ │ │ ├── message-bottom-left.png │ │ │ └── message-bottom-right.png │ ├── extensions │ │ ├── map │ │ │ ├── locales │ │ │ │ ├── sv │ │ │ │ │ └── locale.js │ │ │ │ ├── nl │ │ │ │ │ └── locale.js │ │ │ │ ├── es │ │ │ │ │ └── locale.js │ │ │ │ ├── fr │ │ │ │ │ └── locale.js │ │ │ │ ├── de │ │ │ │ │ └── locale.js │ │ │ │ └── en │ │ │ │ │ └── locale.js │ │ │ ├── styles │ │ │ │ └── map-view.css │ │ │ └── scripts │ │ │ │ └── painter.js │ │ └── time │ │ │ ├── locales │ │ │ ├── sv │ │ │ │ └── locale.js │ │ │ ├── en │ │ │ │ └── locale.js │ │ │ ├── nl │ │ │ │ └── locale.js │ │ │ ├── de │ │ │ │ └── locale.js │ │ │ ├── fr │ │ │ │ └── locale.js │ │ │ └── es │ │ │ │ └── locale.js │ │ │ └── styles │ │ │ └── timeline-view.css │ ├── scripts │ │ ├── bc │ │ │ └── bc.js │ │ ├── util │ │ │ ├── coders.js │ │ │ └── util.js │ │ ├── data │ │ │ ├── expression │ │ │ │ ├── constant.js │ │ │ │ ├── control-call.js │ │ │ │ ├── function-call.js │ │ │ │ └── collection.js │ │ │ ├── importers │ │ │ │ ├── json.js │ │ │ │ └── babel-based.js │ │ │ ├── database │ │ │ │ └── type.js │ │ │ └── exporters │ │ │ │ ├── json.js │ │ │ │ ├── tsv.js │ │ │ │ ├── semantic-wikitext.js │ │ │ │ └── bibtex.js │ │ └── ui │ │ │ ├── widgets │ │ │ ├── logo.js │ │ │ └── resizable-div-widget.js │ │ │ └── coordinator.js │ └── locales │ │ └── manifest.js ├── lib │ ├── .gitignore │ ├── env.rhino.js │ ├── coverage-runner.js │ ├── window.js │ ├── test-runner.js │ └── coverage-setup.js ├── tools │ ├── jslint4java │ │ ├── jslint4java.jar │ │ ├── jslint4java-1.4.7.jar │ │ └── jslint4java-2.0.1.jar │ ├── yuicompressor │ │ ├── yuicompressor.jar │ │ └── yuicompressor-2.4.6.jar │ ├── jsdoc-toolkit │ │ ├── app │ │ │ ├── test │ │ │ │ ├── shared2.js │ │ │ │ ├── scripts │ │ │ │ │ ├── code.js │ │ │ │ │ └── notcode.txt │ │ │ │ ├── encoding_other.js │ │ │ │ ├── public.js │ │ │ │ ├── encoding.js │ │ │ │ ├── prototype_nested.js │ │ │ │ ├── global.js │ │ │ │ ├── ignore.js │ │ │ │ ├── nocode.js │ │ │ │ ├── anon_inner.js │ │ │ │ ├── params_optional.js │ │ │ │ ├── prototype_oblit.js │ │ │ │ ├── static_this.js │ │ │ │ ├── variable_redefine.js │ │ │ │ ├── inner.js │ │ │ │ ├── exports.js │ │ │ │ ├── oblit_anon.js │ │ │ │ ├── name.js │ │ │ │ ├── prototype.js │ │ │ │ ├── module.js │ │ │ │ ├── memberof_constructor.js │ │ │ │ ├── memberof3.js │ │ │ │ ├── shortcuts.js │ │ │ │ ├── memberof.js │ │ │ │ ├── namespace_nested.js │ │ │ │ ├── borrows2.js │ │ │ │ ├── tosource.js │ │ │ │ ├── augments2.js │ │ │ │ ├── constructs.js │ │ │ │ ├── addon.js │ │ │ │ ├── augments.js │ │ │ │ ├── overview.js │ │ │ │ ├── prototype_oblit_constructor.js │ │ │ │ ├── synonyms.js │ │ │ │ ├── config.js │ │ │ │ ├── globals.js │ │ │ │ ├── lend.js │ │ │ │ ├── memberof2.js │ │ │ │ ├── multi_methods.js │ │ │ │ ├── shared.js │ │ │ │ ├── functions_anon.js │ │ │ │ ├── param_inline.js │ │ │ │ ├── functions_nested.js │ │ │ │ ├── borrows.js │ │ │ │ └── event.js │ │ │ ├── frame │ │ │ │ ├── Namespace.js │ │ │ │ ├── Reflection.js │ │ │ │ ├── Hash.js │ │ │ │ ├── String.js │ │ │ │ └── Chain.js │ │ │ ├── plugins │ │ │ │ ├── symbolLink.js │ │ │ │ ├── functionCall.js │ │ │ │ ├── commentSrcJson.js │ │ │ │ ├── frameworkPrototype.js │ │ │ │ ├── tagParamConfig.js │ │ │ │ ├── tagSynonyms.js │ │ │ │ └── publishSrcHilite.js │ │ │ ├── t │ │ │ │ └── runner.js │ │ │ ├── lib │ │ │ │ └── JSDOC │ │ │ │ │ ├── Token.js │ │ │ │ │ ├── TextStream.js │ │ │ │ │ ├── Util.js │ │ │ │ │ └── PluginManager.js │ │ │ ├── handlers │ │ │ │ ├── XMLDOC │ │ │ │ │ └── XMLDoc.js │ │ │ │ ├── XMLDOC.js │ │ │ │ └── FOODOC.js │ │ │ └── frame.js │ │ ├── templates │ │ │ └── jsdoc │ │ │ │ ├── static │ │ │ │ ├── header.html │ │ │ │ ├── index.html │ │ │ │ └── default.css │ │ │ │ ├── allclasses.tmpl │ │ │ │ ├── symbol.tmpl │ │ │ │ ├── index.tmpl │ │ │ │ └── allfiles.tmpl │ │ ├── jsdebug.jar │ │ ├── jsrun.jar │ │ └── conf │ │ │ └── sample.conf │ ├── jsdoc-toolkit-ant │ │ ├── jsdoc-toolkit-ant-task.jar │ │ └── jsdoc-toolkit-ant-task-1.1.2.jar │ ├── yuicompressor-ant │ │ ├── yui-compressor-ant-task.jar │ │ └── yui-compressor-ant-task-0.5.jar │ └── rhino │ │ └── js.jar ├── .gitignore ├── graphics │ ├── bookmark-icon.ai │ └── clear-history-icon.ai ├── tests │ ├── util │ │ ├── history.js │ │ ├── html.js │ │ ├── util.js │ │ ├── string.js │ │ ├── persistence.js │ │ └── bookmark.js │ ├── data │ │ ├── type.js │ │ ├── range-index.js │ │ ├── property.js │ │ └── database.js │ ├── post.js │ ├── index.html │ └── pre.js ├── README.markdown └── LICENSE-AUDIT.txt ├── .gitignore ├── LICENSE.txt ├── README.markdown └── ORIGINAL-LICENSE.txt /scripted/demos/nobelists/__history__.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /scripted/src/lib/jquery.js: -------------------------------------------------------------------------------- 1 | jquery-1.8.2.js -------------------------------------------------------------------------------- /scripted/lib/.gitignore: -------------------------------------------------------------------------------- 1 | jscoverage-report.js 2 | -------------------------------------------------------------------------------- /scripted/lib/env.rhino.js: -------------------------------------------------------------------------------- 1 | env.rhino.1.2.35.js -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store? 2 | Icon? 3 | Thumbs.db 4 | -------------------------------------------------------------------------------- /scripted/src/lib/jquery.min.js: -------------------------------------------------------------------------------- 1 | jquery-1.8.2.min.js -------------------------------------------------------------------------------- /scripted/tools/jslint4java/jslint4java.jar: -------------------------------------------------------------------------------- 1 | jslint4java-2.0.1.jar -------------------------------------------------------------------------------- /scripted/tools/yuicompressor/yuicompressor.jar: -------------------------------------------------------------------------------- 1 | yuicompressor-2.4.6.jar -------------------------------------------------------------------------------- /scripted/.gitignore: -------------------------------------------------------------------------------- 1 | local.build.properties 2 | build/* 3 | dist/* 4 | 5 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/shared2.js: -------------------------------------------------------------------------------- 1 | startOver = function(){ 2 | } -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit-ant/jsdoc-toolkit-ant-task.jar: -------------------------------------------------------------------------------- 1 | jsdoc-toolkit-ant-task-1.1.2.jar -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/templates/jsdoc/static/header.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /scripted/tools/yuicompressor-ant/yui-compressor-ant-task.jar: -------------------------------------------------------------------------------- 1 | yui-compressor-ant-task-0.5.jar -------------------------------------------------------------------------------- /scripted/src/styles/control-panel.css: -------------------------------------------------------------------------------- 1 | .exhibit-controlPanel { 2 | text-align: right; 3 | } 4 | -------------------------------------------------------------------------------- /scripted/tools/rhino/js.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/tools/rhino/js.jar -------------------------------------------------------------------------------- /scripted/src/images/copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/copy.png -------------------------------------------------------------------------------- /scripted/src/images/expand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/expand.png -------------------------------------------------------------------------------- /scripted/src/images/option.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/option.png -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/scripts/code.js: -------------------------------------------------------------------------------- 1 | /** 2 | @class 3 | */ 4 | function thisiscode() { 5 | } -------------------------------------------------------------------------------- /scripted/src/images/collapse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/collapse.png -------------------------------------------------------------------------------- /scripted/src/images/no-check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/no-check.png -------------------------------------------------------------------------------- /scripted/src/images/up-arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/up-arrow.png -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/scripts/notcode.txt: -------------------------------------------------------------------------------- 1 | (This is not code) 2 | function foo(){{{{ 3 | ( 4 | ! 5 | @ -------------------------------------------------------------------------------- /scripted/demos/senate/rotunda.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/demos/senate/rotunda.jpg -------------------------------------------------------------------------------- /scripted/graphics/bookmark-icon.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/graphics/bookmark-icon.ai -------------------------------------------------------------------------------- /scripted/src/images/arrow-left.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/arrow-left.gif -------------------------------------------------------------------------------- /scripted/src/images/arrow-right.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/arrow-right.gif -------------------------------------------------------------------------------- /scripted/src/images/black-check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/black-check.png -------------------------------------------------------------------------------- /scripted/src/images/blank-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/blank-16x16.png -------------------------------------------------------------------------------- /scripted/src/images/bubble-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/bubble-left.png -------------------------------------------------------------------------------- /scripted/src/images/bubble-top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/bubble-top.png -------------------------------------------------------------------------------- /scripted/src/images/down-arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/down-arrow.png -------------------------------------------------------------------------------- /scripted/src/images/gray-check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/gray-check.png -------------------------------------------------------------------------------- /scripted/src/images/left-arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/left-arrow.png -------------------------------------------------------------------------------- /scripted/src/images/right-arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/right-arrow.png -------------------------------------------------------------------------------- /scripted/src/styles/widgets/reset-history-widget.css: -------------------------------------------------------------------------------- 1 | .exhibit-resetHistoryWidget-button { 2 | cursor: pointer; 3 | } -------------------------------------------------------------------------------- /scripted/src/images/bookmark-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/bookmark-icon.png -------------------------------------------------------------------------------- /scripted/src/images/bubble-bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/bubble-bottom.png -------------------------------------------------------------------------------- /scripted/src/images/bubble-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/bubble-right.png -------------------------------------------------------------------------------- /scripted/src/images/close-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/close-button.png -------------------------------------------------------------------------------- /scripted/src/images/message-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/message-left.png -------------------------------------------------------------------------------- /scripted/src/images/message-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/message-right.png -------------------------------------------------------------------------------- /scripted/src/images/option-check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/option-check.png -------------------------------------------------------------------------------- /scripted/src/images/slider-handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/slider-handle.png -------------------------------------------------------------------------------- /scripted/src/images/week-selector.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/week-selector.gif -------------------------------------------------------------------------------- /scripted/graphics/clear-history-icon.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/graphics/clear-history-icon.ai -------------------------------------------------------------------------------- /scripted/src/images/bubble-top-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/bubble-top-left.png -------------------------------------------------------------------------------- /scripted/src/images/bubble-top-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/bubble-top-right.png -------------------------------------------------------------------------------- /scripted/src/images/message-top-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/message-top-left.png -------------------------------------------------------------------------------- /scripted/src/images/progress-running.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/progress-running.gif -------------------------------------------------------------------------------- /scripted/src/images/slider-handle2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/slider-handle2.png -------------------------------------------------------------------------------- /scripted/tests/util/history.js: -------------------------------------------------------------------------------- 1 | module("Exhibit.History"); 2 | 3 | test("register", function() { 4 | // expect(); 5 | }); 6 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/jsdebug.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/tools/jsdoc-toolkit/jsdebug.jar -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/jsrun.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/tools/jsdoc-toolkit/jsrun.jar -------------------------------------------------------------------------------- /scripted/src/images/bubble-bottom-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/bubble-bottom-left.png -------------------------------------------------------------------------------- /scripted/src/images/liveclipboard-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/liveclipboard-icon.png -------------------------------------------------------------------------------- /scripted/src/images/map-marker-shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/map-marker-shadow.png -------------------------------------------------------------------------------- /scripted/src/images/message-top-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/message-top-right.png -------------------------------------------------------------------------------- /scripted/src/images/month-header-left.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/month-header-left.gif -------------------------------------------------------------------------------- /scripted/src/images/month-header-right.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/month-header-right.gif -------------------------------------------------------------------------------- /scripted/src/images/no-check-no-border.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/no-check-no-border.png -------------------------------------------------------------------------------- /scripted/src/images/reset-history-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/reset-history-icon.png -------------------------------------------------------------------------------- /scripted/src/images/black-check-no-border.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/black-check-no-border.png -------------------------------------------------------------------------------- /scripted/src/images/bubble-arrow-point-up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/bubble-arrow-point-up.png -------------------------------------------------------------------------------- /scripted/src/images/bubble-bottom-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/bubble-bottom-right.png -------------------------------------------------------------------------------- /scripted/src/images/day-with-items-bkgrd.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/day-with-items-bkgrd.gif -------------------------------------------------------------------------------- /scripted/src/images/gray-check-no-border.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/gray-check-no-border.png -------------------------------------------------------------------------------- /scripted/src/images/message-bottom-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/message-bottom-left.png -------------------------------------------------------------------------------- /scripted/src/images/message-bottom-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/message-bottom-right.png -------------------------------------------------------------------------------- /scripted/src/images/week-selector-active.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/week-selector-active.gif -------------------------------------------------------------------------------- /scripted/src/images/bubble-arrow-point-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/bubble-arrow-point-down.png -------------------------------------------------------------------------------- /scripted/src/images/bubble-arrow-point-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/bubble-arrow-point-left.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Red.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Tan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Tan.png -------------------------------------------------------------------------------- /scripted/src/images/bubble-arrow-point-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/bubble-arrow-point-right.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Aqua.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Aqua.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Azure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Azure.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Beige.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Beige.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Bisque.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Bisque.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Black.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Blue.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Brown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Brown.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Coral.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Coral.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Cyan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Cyan.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Gold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Gold.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Gray.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Green.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Grey.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Ivory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Ivory.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Khaki.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Khaki.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Lime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Lime.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Linen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Linen.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Maroon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Maroon.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Navy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Navy.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Olive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Olive.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Orange.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Orchid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Orchid.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Peru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Peru.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Pink.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Plum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Plum.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Purple.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Salmon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Salmon.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Sienna.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Sienna.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Silver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Silver.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Snow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Snow.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Teal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Teal.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Tomato.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Tomato.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Violet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Violet.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Wheat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Wheat.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-White.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-White.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Yellow.png -------------------------------------------------------------------------------- /scripted/tools/jslint4java/jslint4java-1.4.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/tools/jslint4java/jslint4java-1.4.7.jar -------------------------------------------------------------------------------- /scripted/tools/jslint4java/jslint4java-2.0.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/tools/jslint4java/jslint4java-2.0.1.jar -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Cornsilk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Cornsilk.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Crimson.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Crimson.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-DarkBlue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-DarkBlue.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-DarkCyan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-DarkCyan.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-DarkGray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-DarkGray.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-DarkGrey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-DarkGrey.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-DarkRed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-DarkRed.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-DeepPink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-DeepPink.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-DimGray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-DimGray.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-DimGrey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-DimGrey.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Fuchsia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Fuchsia.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-HoneyDew.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-HoneyDew.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-HotPink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-HotPink.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Indigo .png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Indigo .png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Lavender.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Lavender.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Magenta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Magenta.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Moccasin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Moccasin.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-OldLace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-OldLace.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-SeaGreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-SeaGreen.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-SeaShell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-SeaShell.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-SkyBlue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-SkyBlue.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Thistle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Thistle.png -------------------------------------------------------------------------------- /scripted/src/images/message-bubble/message-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/message-bubble/message-left.png -------------------------------------------------------------------------------- /scripted/src/images/message-bubble/message-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/message-bubble/message-right.png -------------------------------------------------------------------------------- /scripted/tools/yuicompressor/yuicompressor-2.4.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/tools/yuicompressor/yuicompressor-2.4.6.jar -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-AliceBlue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-AliceBlue.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Aquamarine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Aquamarine.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-BlueViolet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-BlueViolet.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-BurlyWood.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-BurlyWood.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-CadetBlue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-CadetBlue.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Chartreuse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Chartreuse.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Chocolate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Chocolate.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-DarkGreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-DarkGreen.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-DarkKhaki.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-DarkKhaki.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-DarkMagenta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-DarkMagenta.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-DarkOrchid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-DarkOrchid.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-DarkSalmon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-DarkSalmon.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-DarkViolet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-DarkViolet.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Darkorange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Darkorange.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-DeepSkyBlue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-DeepSkyBlue.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-DodgerBlue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-DodgerBlue.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-FireBrick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-FireBrick.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-FloralWhite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-FloralWhite.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-ForestGreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-ForestGreen.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Gainsboro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Gainsboro.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-GhostWhite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-GhostWhite.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-GoldenRod.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-GoldenRod.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-GreenYellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-GreenYellow.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-IndianRed .png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-IndianRed .png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-LawnGreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-LawnGreen.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-LightBlue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-LightBlue.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-LightCoral.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-LightCoral.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-LightCyan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-LightCyan.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-LightGray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-LightGray.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-LightGreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-LightGreen.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-LightGrey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-LightGrey.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-LightPink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-LightPink.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-LightSalmon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-LightSalmon.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-LightYellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-LightYellow.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-LimeGreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-LimeGreen.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-MediumBlue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-MediumBlue.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-MintCream.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-MintCream.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-MistyRose.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-MistyRose.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-NavajoWhite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-NavajoWhite.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-OliveDrab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-OliveDrab.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-OrangeRed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-OrangeRed.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-PaleGreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-PaleGreen.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-PapayaWhip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-PapayaWhip.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-PeachPuff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-PeachPuff.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-PowderBlue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-PowderBlue.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-RosyBrown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-RosyBrown.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-RoyalBlue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-RoyalBlue.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-SaddleBrown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-SaddleBrown.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-SandyBrown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-SandyBrown.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-SlateBlue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-SlateBlue.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-SlateGray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-SlateGray.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-SlateGrey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-SlateGrey.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-SpringGreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-SpringGreen.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-SteelBlue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-SteelBlue.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-Turquoise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-Turquoise.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-WhiteSmoke.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-WhiteSmoke.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-YellowGreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-YellowGreen.png -------------------------------------------------------------------------------- /scripted/src/images/message-bubble/message-top-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/message-bubble/message-top-left.png -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/encoding_other.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/tools/jsdoc-toolkit/app/test/encoding_other.js -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-AntiqueWhite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-AntiqueWhite.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-DarkGoldenRod.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-DarkGoldenRod.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-DarkSeaGreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-DarkSeaGreen.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-DarkSlateBlue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-DarkSlateBlue.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-DarkSlateGray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-DarkSlateGray.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-DarkSlateGrey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-DarkSlateGrey.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-DarkTurquoise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-DarkTurquoise.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-LavenderBlush.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-LavenderBlush.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-LemonChiffon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-LemonChiffon.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-LightSeaGreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-LightSeaGreen.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-LightSkyBlue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-LightSkyBlue.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-MediumOrchid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-MediumOrchid.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-MediumPurple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-MediumPurple.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-MidnightBlue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-MidnightBlue.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-PaleGoldenRod.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-PaleGoldenRod.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-PaleTurquoise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-PaleTurquoise.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-PaleVioletRed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-PaleVioletRed.png -------------------------------------------------------------------------------- /scripted/src/images/message-bubble/message-top-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/message-bubble/message-top-right.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-BlanchedAlmond.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-BlanchedAlmond.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-CornflowerBlue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-CornflowerBlue.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-DarkOliveGreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-DarkOliveGreen.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-LightSlateGray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-LightSlateGray.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-LightSlateGrey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-LightSlateGrey.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-LightSteelBlue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-LightSteelBlue.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-MediumAquaMarine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-MediumAquaMarine.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-MediumSeaGreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-MediumSeaGreen.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-MediumSlateBlue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-MediumSlateBlue.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-MediumTurquoise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-MediumTurquoise.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-MediumVioletRed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-MediumVioletRed.png -------------------------------------------------------------------------------- /scripted/src/images/message-bubble/message-bottom-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/message-bubble/message-bottom-left.png -------------------------------------------------------------------------------- /scripted/src/images/message-bubble/message-bottom-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/message-bubble/message-bottom-right.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-MediumSpringGreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-MediumSpringGreen.png -------------------------------------------------------------------------------- /scripted/src/images/logos/exhibit-small-LightGoldenRodYellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/src/images/logos/exhibit-small-LightGoldenRodYellow.png -------------------------------------------------------------------------------- /scripted/src/styles/widgets/option-widget.css: -------------------------------------------------------------------------------- 1 | .exhibit-optionWidget { 2 | cursor: pointer; 3 | } 4 | 5 | .exhibit-optionWidget img { 6 | vertical-align: middle; 7 | } 8 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit-ant/jsdoc-toolkit-ant-task-1.1.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/tools/jsdoc-toolkit-ant/jsdoc-toolkit-ant-task-1.1.2.jar -------------------------------------------------------------------------------- /scripted/tools/yuicompressor-ant/yui-compressor-ant-task-0.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zepheira/exhibit3/HEAD/scripted/tools/yuicompressor-ant/yui-compressor-ant-task-0.5.jar -------------------------------------------------------------------------------- /scripted/src/extensions/map/locales/sv/locale.js: -------------------------------------------------------------------------------- 1 | Exhibit.Localization.importExtensionLocale("sv", { 2 | "%MapView.label": "Karta", 3 | "%MapView.tooltip": "Visa på karta" 4 | }); 5 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/public.js: -------------------------------------------------------------------------------- 1 | /**@constructor*/ 2 | function Foo() { 3 | /** 4 | @public 5 | @static 6 | @field 7 | */ 8 | var bar = function(x) { 9 | } 10 | } -------------------------------------------------------------------------------- /scripted/src/extensions/map/locales/nl/locale.js: -------------------------------------------------------------------------------- 1 | Exhibit.Localization.importExtensionLocale("nl", { 2 | "%MapView.label": "Kaart", 3 | "%MapView.tooltip": "Bekijk items met een kaart" 4 | }); 5 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/encoding.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @Constructor 4 | * @desc 配置文件 5 | * @class 什么也不返回 6 | */ 7 | function Test(conf) { 8 | // do something; 9 | } 10 | 11 | -------------------------------------------------------------------------------- /scripted/src/extensions/map/locales/es/locale.js: -------------------------------------------------------------------------------- 1 | Exhibit.Localization.importExtensionLocale("es", { 2 | "%MapView.label": "Mapa", 3 | "%MapView.tooltip": "Visualizar elementos en un mapa" 4 | }); 5 | -------------------------------------------------------------------------------- /scripted/src/extensions/map/locales/fr/locale.js: -------------------------------------------------------------------------------- 1 | Exhibit.Localization.importExtensionLocale("fr", { 2 | "%MapView.label": "Carte", 3 | "%MapView.tooltip": "Voir les items sur une carte" 4 | }); 5 | -------------------------------------------------------------------------------- /scripted/src/extensions/time/locales/sv/locale.js: -------------------------------------------------------------------------------- 1 | Exhibit.Localization.importExtensionLocale("sv", { 2 | "%TimelineView.label": "Tidslinje", 3 | "%TimelineView.tooltip": "Visa på tidslinje" 4 | }); 5 | -------------------------------------------------------------------------------- /scripted/src/extensions/time/locales/en/locale.js: -------------------------------------------------------------------------------- 1 | Exhibit.Localization.importExtensionLocale("en", { 2 | "%TimelineView.label": "Timeline", 3 | "%TimelineView.tooltip": "View items on a timeline" 4 | }); 5 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/prototype_nested.js: -------------------------------------------------------------------------------- 1 | /** @constructor */ 2 | function Word() { 3 | } 4 | 5 | Word.prototype.reverse = function() { 6 | } 7 | 8 | Word.prototype.reverse.utf8 = function() { 9 | } -------------------------------------------------------------------------------- /scripted/src/extensions/map/locales/de/locale.js: -------------------------------------------------------------------------------- 1 | Exhibit.Localization.importExtensionLocale("de", { 2 | "%MapView.label": "Landkarte", 3 | "%MapView.tooltip": "Zeige diese Elemente auf einer Landkarte" 4 | }); 5 | -------------------------------------------------------------------------------- /scripted/src/extensions/time/locales/nl/locale.js: -------------------------------------------------------------------------------- 1 | Exhibit.Localization.importExtensionLocale("nl", { 2 | "%TimelineView.label": "Tijdlijn", 3 | "%TimelineView.tooltip": "Bekijk items op een tijdlijn" 4 | }); 5 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/global.js: -------------------------------------------------------------------------------- 1 | /** ecks */ 2 | var x = [1, 2, 4]; 3 | 4 | var y = { 5 | foo: function(){ 6 | } 7 | } 8 | 9 | bar = function() { 10 | } 11 | 12 | function zop() { 13 | } 14 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/ignore.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A test constructor. 3 | * @constructor 4 | * @ignore 5 | */ 6 | function Ignored() { 7 | /** a method */ 8 | this.bar = function() { 9 | } 10 | } -------------------------------------------------------------------------------- /scripted/demos/thumbnail/style.css: -------------------------------------------------------------------------------- 1 | .celebrity { 2 | margin: 1em; 3 | padding: 1em; 4 | border: solid grey 3px; 5 | border-radius: 5px; 6 | } 7 | 8 | .tags { 9 | font-size: smaller; 10 | color: grey; 11 | } 12 | -------------------------------------------------------------------------------- /scripted/src/extensions/time/styles/timeline-view.css: -------------------------------------------------------------------------------- 1 | div.exhibit-timelineView-timeline { 2 | border: 1px solid #738699; 3 | font-family: Trebuchet MS, Helvetica, sans serif; 4 | font-size: 10pt; 5 | } 6 | -------------------------------------------------------------------------------- /scripted/src/extensions/time/locales/de/locale.js: -------------------------------------------------------------------------------- 1 | Exhibit.Localization.importExtensionLocale("de", { 2 | "%TimelineView.label": "Zeitleiste", 3 | "%TimelineView.tooltip": "Zeige diese Elemente auf einer Zeitleiste" 4 | }); 5 | -------------------------------------------------------------------------------- /scripted/src/extensions/time/locales/fr/locale.js: -------------------------------------------------------------------------------- 1 | Exhibit.Localization.importExtensionLocale("fr", { 2 | "%TimelineView.label": "Ligne de temps", 3 | "%TimelineView.tooltip": "Voir les items sur une ligne de temps" 4 | }); 5 | -------------------------------------------------------------------------------- /scripted/src/extensions/time/locales/es/locale.js: -------------------------------------------------------------------------------- 1 | Exhibit.Localization.importExtensionLocale("es", { 2 | "%TimelineView.label": "Diagrama Temporal", 3 | "%TimelineView.tooltip": "Ver elementos organizados temporalmente" 4 | }); 5 | -------------------------------------------------------------------------------- /scripted/src/styles/widgets/toolbox-widget.css: -------------------------------------------------------------------------------- 1 | div.exhibit-toolboxWidget-popup { 2 | text-align: right; 3 | z-index: 1000; 4 | } 5 | 6 | img.exhibit-toolboxWidget-button { 7 | cursor: pointer; 8 | margin: 0px 1px; 9 | } -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/nocode.js: -------------------------------------------------------------------------------- 1 | /**#nocode+*/ 2 | /** 3 | @name star 4 | @function 5 | */ 6 | function blahblah() { 7 | 8 | } 9 | /**#nocode-*/ 10 | 11 | function yaddayadda() { 12 | 13 | } -------------------------------------------------------------------------------- /scripted/src/extensions/map/styles/map-view.css: -------------------------------------------------------------------------------- 1 | /*================================================== 2 | * Styles for map view 3 | *================================================== 4 | */ 5 | div.exhibit-mapView-map { 6 | border: 1px solid #738699; 7 | } 8 | -------------------------------------------------------------------------------- /scripted/src/styles/widgets/bookmark-widget.css: -------------------------------------------------------------------------------- 1 | div.exhibit-bookmarkWidget-popup { 2 | display: inline; 3 | text-align: right; 4 | } 5 | 6 | img.exhibit-bookmarkWidget-button { 7 | cursor: pointer; 8 | margin: 0px 1px; 9 | } 10 | -------------------------------------------------------------------------------- /scripted/src/styles/views/thumbnail-view.css: -------------------------------------------------------------------------------- 1 | div.exhibit-thumbnailView-group { 2 | clear: both; 3 | } 4 | 5 | div.exhibit-thumbnailView-body { 6 | } 7 | 8 | div.exhibit-thumbnailView-itemContainer { 9 | float: left; 10 | display: inline; 11 | } 12 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/frame/Namespace.js: -------------------------------------------------------------------------------- 1 | _global_ = this; 2 | 3 | function Namespace(name, f) { 4 | var n = name.split("."); 5 | for (var o = _global_, i = 0, l = n.length; i < l; i++) { 6 | o = o[n[i]] = o[n[i]] || {}; 7 | } 8 | 9 | if (f) f(); 10 | } -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/anon_inner.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @name bar 3 | * @namespace 4 | */ 5 | 6 | new function() { 7 | /** 8 | * @name bar-foo 9 | * @function 10 | * @param {number} x 11 | */ 12 | function foo(x) { 13 | } 14 | } -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/params_optional.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @param {Page[]} pages 4 | * @param {number} [id] Specifies the id, if applicable. 5 | * @param {String} [title = This is untitled.] Specifies the title. 6 | */ 7 | function Document(pages, id, title){ 8 | } -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/prototype_oblit.js: -------------------------------------------------------------------------------- 1 | /** @constructor */ 2 | function Article() { 3 | } 4 | 5 | Article.prototype = { 6 | /** instance get title */ 7 | getTitle: function(){ 8 | } 9 | } 10 | 11 | /** static get title */ 12 | Article.getTitle = function(){ 13 | } -------------------------------------------------------------------------------- /scripted/src/styles/views/tile-view.css: -------------------------------------------------------------------------------- 1 | table.exhibit-tileView-body { 2 | width: 100%; 3 | } 4 | 5 | .exhibit-tileView-body > tbody > tr > td:first-child { 6 | width: 3em; 7 | text-align: right; 8 | color: #aaa 9 | } 10 | 11 | td.exhibit-tileView-itemIndex { 12 | } -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/static_this.js: -------------------------------------------------------------------------------- 1 | /** the parent */ 2 | var box = {}; 3 | 4 | /** @namespace */ 5 | box.holder = {} 6 | 7 | box.holder.foo = function() { 8 | /** the counter */ 9 | this.counter = 1; 10 | } 11 | 12 | box.holder.foo(); 13 | print(box.holder.counter); 14 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/variable_redefine.js: -------------------------------------------------------------------------------- 1 | /** @constructor */ 2 | function Foo() { 3 | var bar = 1; 4 | bar = 2; // redefining a private 5 | 6 | this.baz = 1; 7 | baz = 2; // global 8 | 9 | /** a private */ 10 | var blap = { 11 | /** in here */ 12 | tada: 1 13 | } 14 | } -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/inner.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @constructor 3 | */ 4 | function Outer() { 5 | /** 6 | * @constructor 7 | */ 8 | function Inner(name) { 9 | /** The name of this. */ 10 | this.name = name; 11 | } 12 | 13 | this.open = function(name) { 14 | return (new Inner(name)); 15 | } 16 | } -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/plugins/symbolLink.js: -------------------------------------------------------------------------------- 1 | JSDOC.PluginManager.registerPlugin( 2 | "JSDOC.symbolLink", 3 | { 4 | onSymbolLink: function(link) { 5 | // modify link.linkPath (the href part of the link) 6 | // or link.linkText (the text displayed) 7 | // or link.linkInner (the #name part of the link) 8 | } 9 | } 10 | ); -------------------------------------------------------------------------------- /scripted/lib/coverage-runner.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileOverview Initiates coverage reporting. 3 | */ 4 | 5 | var args = arguments; 6 | 7 | (function(){ 8 | load('lib/coverage-setup.js'); 9 | console.log("Starting coverage reporting..."); 10 | window.location = "http://127.0.0.1:"+args[0]+"/build/instrument/tests/index.html"; 11 | })(); 12 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/exports.js: -------------------------------------------------------------------------------- 1 | /** @namespace */ 2 | var mxn = {}; 3 | 4 | (function(){ 5 | /** @exports Map as mxn.Map */ 6 | var Map = 7 | /** @constructor */ 8 | mxn.Map = function() { 9 | }; 10 | 11 | /** A method. */ 12 | Map.prototype.doThings = function() { 13 | }; 14 | })(); -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/plugins/functionCall.js: -------------------------------------------------------------------------------- 1 | JSDOC.PluginManager.registerPlugin( 2 | "JSDOC.functionCall", 3 | { 4 | onFunctionCall: function(functionCall) { 5 | if (functionCall.name == "dojo.define" && functionCall.arg1) { 6 | functionCall.doc = "/** @lends "+eval(functionCall.arg1)+".prototype */"; 7 | } 8 | } 9 | } 10 | ); -------------------------------------------------------------------------------- /scripted/lib/window.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Ryan Lee 3 | * @fileOverview Fire unload event trigger on window.close call. 4 | */ 5 | 6 | window.close = function() { 7 | var event = document.createEvent("HTMLEvents"); 8 | event.initEvent("unload", false, false); 9 | window.dispatchEvent(event, false); 10 | }; 11 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/oblit_anon.js: -------------------------------------------------------------------------------- 1 | /** the options */ 2 | opt = Opt.get( 3 | arguments, 4 | { 5 | d: "directory", 6 | c: "conf", 7 | "D[]": "define" 8 | } 9 | ); 10 | 11 | /** configuration */ 12 | opt.conf = { 13 | /** keep */ 14 | keep: true, 15 | /** base */ 16 | base: getBase(this, {p: properties}) 17 | } 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /scripted/tests/util/html.js: -------------------------------------------------------------------------------- 1 | module("Exhibit.Util.HTML"); 2 | 3 | test("deEntify", function() { 4 | expect(2); 5 | 6 | var orig = "A &"; 7 | var res = "A &"; 8 | strictEqual(Exhibit.Util.HTML.deEntify(orig), res, "deEntify('A &') === 'A &'"); 9 | strictEqual(Exhibit.Util.HTML.deEntify(res), res, "deEntify('A &') === 'A &'"); 10 | }); 11 | -------------------------------------------------------------------------------- /scripted/src/styles/widgets/resizable-div-widget.css: -------------------------------------------------------------------------------- 1 | /*================================================== 2 | * Resizable Div Widget styles 3 | *================================================== 4 | */ 5 | div.exhibit-resizableDivWidget-resizer { 6 | text-align: center; 7 | cursor: s-resize; 8 | height: 15px; 9 | clear: both; 10 | } 11 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/name.js: -------------------------------------------------------------------------------- 1 | /** 2 | @name Response 3 | @class 4 | */ 5 | 6 | Response.prototype = { 7 | /** 8 | @name Response#text 9 | @function 10 | @description 11 | Gets the body of the response as plain text 12 | @returns {String} 13 | Response as text 14 | */ 15 | 16 | text: function() { 17 | return this.nativeResponse.responseText; 18 | } 19 | } -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/prototype.js: -------------------------------------------------------------------------------- 1 | /** @constructor */ 2 | function Article() { 3 | } 4 | 5 | Article.prototype.init = function(title) { 6 | /** the instance title */ 7 | this.title = title; 8 | 9 | /** the static counter */ 10 | Article.counter = 1; 11 | } 12 | 13 | a = new Article(); 14 | a.Init("my title"); 15 | 16 | print(a.title); 17 | print(Article.counter); -------------------------------------------------------------------------------- /scripted/src/styles/widgets/collection-summary-widget.css: -------------------------------------------------------------------------------- 1 | /*================================================== 2 | * Collection Summary Widget styles 3 | *================================================== 4 | */ 5 | div.exhibit-collectionSummaryWidget { 6 | } 7 | span.exhibit-collectionSummaryWidget-count { 8 | font-size: 200%; 9 | } 10 | span.exhibit-collectionSummaryWidget-results { 11 | } 12 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/module.js: -------------------------------------------------------------------------------- 1 | /** @namespace */ 2 | myProject = myProject || {}; 3 | 4 | /** @namespace */ 5 | myProject.myModule = (function () { 6 | /** describe myPrivateVar here */ 7 | var myPrivateVar = ""; 8 | 9 | var myPrivateMethod = function () { 10 | } 11 | 12 | /** @scope myProject.myModule */ 13 | return { 14 | myPublicMethod: function () { 15 | } 16 | }; 17 | })(); -------------------------------------------------------------------------------- /scripted/src/styles/widgets/legend-widget.css: -------------------------------------------------------------------------------- 1 | div.exhibit-legendWidget { 2 | margin: 1em 0; 3 | text-align: center; 4 | line-height: 2em; 5 | } 6 | div.exhibit-legendWidget-entry { 7 | } 8 | span.exhibit-legendWidget-entry-title { 9 | font-weight: bold; 10 | } 11 | span.exhibit-legendWidget-entry-swatch { 12 | border: 1px solid #888; 13 | padding: 0px 3px; 14 | } 15 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/memberof_constructor.js: -------------------------------------------------------------------------------- 1 | /** @constructor */ 2 | function Circle(){} 3 | 4 | /** 5 | @constructor 6 | @memberOf Circle# 7 | */ 8 | Circle.prototype.Tangent = function(){}; 9 | 10 | // renaming Circle#Tangent to Circle#Circle#Tangent 11 | 12 | /** 13 | @memberOf Circle#Tangent# 14 | */ 15 | Circle.prototype.Tangent.prototype.getDiameter = function(){}; 16 | 17 | 18 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/memberof3.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @name Foo 3 | * @class 4 | */ 5 | 6 | /**#@+ 7 | * @memberOf Foo# 8 | * @field 9 | */ 10 | 11 | /** 12 | * @name bar 13 | * @type Object[] 14 | */ 15 | 16 | /**#@-*/ 17 | 18 | /** 19 | * @name Foo2 20 | * @class 21 | */ 22 | 23 | /**#@+ 24 | * @memberOf Foo2# 25 | * @field 26 | */ 27 | 28 | /** 29 | * @name bar 30 | * @type Object[] 31 | */ 32 | 33 | /**#@-*/ -------------------------------------------------------------------------------- /scripted/demos/cloud/tagged-data.js: -------------------------------------------------------------------------------- 1 | { 2 | "items": [ 3 | {"label": "Michelle Pfeiffer", 4 | "type": "Celebrity", 5 | "tags": ["female", "American"] 6 | }, 7 | {"label": "Keanu Reeves", 8 | "type": "Celebrity", 9 | "tags": ["male", "American"] 10 | }, 11 | {"label": "Brigitte Bardot", 12 | "type": "Celebrity", 13 | "tags": ["female", "French", "dead"] 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/shortcuts.js: -------------------------------------------------------------------------------- 1 | // /**#=+ 2 | // * { 3 | // * 'D': 'Date.prototype', 4 | // * '$N': 'Number' 5 | // * } 6 | // */ 7 | // var D = Date.prototype, 8 | // $N = Number; 9 | // 10 | // D.locale = function(){ 11 | // }; 12 | // 13 | // /** 14 | // @return {string} The cardinal number string. 15 | // */ 16 | // $N.nth = function(n){ 17 | // }; 18 | // 19 | // LOAD.file = function(){ 20 | // } 21 | // 22 | // /**#=-*/ -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/t/runner.js: -------------------------------------------------------------------------------- 1 | // try: java -jar ../../jsrun.jar runner.js 2 | 3 | load("TestDoc.js"); 4 | 5 | TestDoc.prove("../frame/Opt.js"); 6 | TestDoc.prove("../lib/JSDOC.js"); 7 | TestDoc.prove("../frame/String.js"); 8 | TestDoc.prove("../lib/JSDOC/DocTag.js"); 9 | TestDoc.prove("../lib/JSDOC/DocComment.js"); 10 | TestDoc.prove("../lib/JSDOC/TokenReader.js"); 11 | TestDoc.prove("../lib/JSDOC/Symbol.js"); 12 | 13 | TestDoc.report(); 14 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/memberof.js: -------------------------------------------------------------------------------- 1 | /** @constructor */ 2 | pack = function() { 3 | this.init = function(){} 4 | function config(){} 5 | } 6 | 7 | pack.build = function(task) {}; 8 | 9 | /** @memberOf pack */ 10 | pack.install = function() {} 11 | 12 | /** @memberOf pack */ 13 | pack.install.overwrite = function() {} 14 | 15 | /** @memberOf pack */ 16 | clean = function() {} 17 | 18 | /** @memberOf pack-config */ 19 | install = function() {}; 20 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/namespace_nested.js: -------------------------------------------------------------------------------- 1 | /** 2 | @namespace This is the first namespace. 3 | */ 4 | ns1 = {}; 5 | 6 | /** 7 | This is the second namespace. 8 | @namespace 9 | */ 10 | ns1.ns2 = {}; 11 | 12 | /** 13 | This part of ns1.ns2 14 | @constructor 15 | */ 16 | ns1.ns2.Function1 = function() { 17 | }; 18 | 19 | ns1.staticFunction = function() { 20 | }; 21 | 22 | /** A static field in a namespace. */ 23 | ns1.ns2.staticField = 1; 24 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/borrows2.js: -------------------------------------------------------------------------------- 1 | // testing circular borrows 2 | 3 | /** 4 | @class 5 | @borrows Bar#zop as this.my_zop 6 | */ 7 | function Foo() { 8 | /** this is a zip. */ 9 | this.zip = function() {} 10 | 11 | this.my_zop = new Bar().zop; 12 | } 13 | 14 | /** 15 | @class 16 | @borrows Foo#zip as this.my_zip 17 | */ 18 | function Bar() { 19 | /** this is a zop. */ 20 | this.zop = function() {} 21 | 22 | this.my_zip = new Foo().zip; 23 | } -------------------------------------------------------------------------------- /scripted/tests/data/type.js: -------------------------------------------------------------------------------- 1 | module("Exhibit.Database._Type"); 2 | 3 | test("prototype", function() { 4 | //expect(); 5 | }); 6 | 7 | test("getID", function() { 8 | //expect(); 9 | }); 10 | 11 | test("getURI", function() { 12 | //expect(); 13 | }); 14 | 15 | test("getLabel", function() { 16 | //expect(); 17 | }); 18 | 19 | test("getOrigin", function() { 20 | //expect(); 21 | }); 22 | 23 | test("getProperty", function() { 24 | //expect(); 25 | }); 26 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/tosource.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @param {Object} object 3 | * @return {string} 4 | */ 5 | function valueOf(object) {} 6 | 7 | /** 8 | * @param {Object} object 9 | * @return {string} 10 | */ 11 | function toString(object) {} 12 | 13 | /** 14 | * @param {Object} object 15 | * @return {string} 16 | */ 17 | function toSource(object) {} 18 | 19 | /** 20 | * @param {Object} object 21 | * @return {string} 22 | */ 23 | function constructor(object) {} -------------------------------------------------------------------------------- /scripted/src/extensions/map/locales/en/locale.js: -------------------------------------------------------------------------------- 1 | Exhibit.Localization.importExtensionLocale("en", { 2 | "%MapView.label": "Map", 3 | "%MapView.tooltip": "View items on a map", 4 | "%MapView.error.remoteImage": "A map icon attempted to load a remote image (%1$s) which could not be completed due to browser security restrictions. Either the remote host must enable CORS requests or you must host the image on the same host as this page; otherwise you'll end up relying on a Painter service." 5 | }); 6 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/augments2.js: -------------------------------------------------------------------------------- 1 | /** 2 | @constructor 3 | */ 4 | function LibraryItem() { 5 | this.reserve = function() { 6 | } 7 | } 8 | 9 | /** 10 | @constructor 11 | */ 12 | function Junkmail() { 13 | this.annoy = function() { 14 | } 15 | } 16 | 17 | /** 18 | @inherits Junkmail.prototype.annoy as pester 19 | @augments ThreeColumnPage 20 | @augments LibraryItem 21 | @constructor 22 | */ 23 | function NewsletterPage() { 24 | this.getHeadline = function() { 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /scripted/src/lib/jquery.history.shim.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileOverview Modify History.js to take over all anchor management. 3 | * @author Ryan Lee 4 | */ 5 | 6 | /** 7 | * Always return true so History.js won't futz with page anchors. 8 | * It is unlikely this type of option would be placed into History.js 9 | * proper, so expect it to stay here. 10 | * 11 | * @returns {Boolean} 12 | */ 13 | History.isTraditionalAnchor = function() { 14 | return true; 15 | }; 16 | -------------------------------------------------------------------------------- /scripted/src/scripts/bc/bc.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileOverview General backwards compatibility material. 3 | * @author Ryan Lee 4 | */ 5 | 6 | /** 7 | * @namespace 8 | */ 9 | Exhibit.Backwards = { 10 | "enabled": { 11 | "Attributes": false 12 | } 13 | }; 14 | 15 | /** 16 | * Enable a backwards compatibility module. 17 | * @param {String} module 18 | */ 19 | Exhibit.Backwards.enable = function(module) { 20 | Exhibit.Backwards[module].enable(); 21 | }; 22 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/lib/JSDOC/Token.js: -------------------------------------------------------------------------------- 1 | if (typeof JSDOC == "undefined") JSDOC = {}; 2 | 3 | /** 4 | @constructor 5 | */ 6 | JSDOC.Token = function(data, type, name) { 7 | this.data = data; 8 | this.type = type; 9 | this.name = name; 10 | } 11 | 12 | JSDOC.Token.prototype.toString = function() { 13 | return "<"+this.type+" name=\""+this.name+"\">"+this.data+""; 14 | } 15 | 16 | JSDOC.Token.prototype.is = function(what) { 17 | return this.name === what || this.type === what; 18 | } -------------------------------------------------------------------------------- /scripted/src/scripts/util/coders.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileOverview Default colors for color coders. 3 | * @author David Huynh 4 | * @author Ryan Lee 5 | */ 6 | 7 | /** 8 | * @namespace 9 | */ 10 | Exhibit.Coders = { 11 | /** 12 | * @constant 13 | */ 14 | "mixedCaseColor": "#fff", 15 | 16 | /** 17 | * @constant 18 | */ 19 | "othersCaseColor": "#aaa", 20 | 21 | /** 22 | * @constant 23 | */ 24 | "missingCaseColor": "#888" 25 | }; 26 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/constructs.js: -------------------------------------------------------------------------------- 1 | var Person = makeClass( 2 | /** 3 | @scope Person 4 | */ 5 | { 6 | /** 7 | This is just another way to define a constructor. 8 | @constructs 9 | @param {string} name The name of the person. 10 | */ 11 | initialize: function(name) { 12 | this.name = name; 13 | }, 14 | say: function(message) { 15 | return this.name + " says: " + message; 16 | } 17 | } 18 | ); -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/addon.js: -------------------------------------------------------------------------------- 1 | String.prototype.reverse = function() { 2 | } 3 | 4 | String.prototype.reverse.utf8 = function() { 5 | } 6 | 7 | Function.count = function() { 8 | } 9 | 10 | /** @memberOf Function */ 11 | Function.count.reset = function() { 12 | } 13 | 14 | /** @memberOf Function */ 15 | count.getValue = function() { 16 | } 17 | 18 | /** @memberOf Function.prototype */ 19 | getSig = function() { 20 | } 21 | 22 | /** @memberOf Function.prototype */ 23 | Function.prototype.getProps = function() { 24 | } 25 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/augments.js: -------------------------------------------------------------------------------- 1 | /** 2 | @constructor 3 | */ 4 | function Layout(p) { 5 | this.init = function(p) { 6 | } 7 | 8 | this.getId = function() { 9 | } 10 | 11 | /** @type Page */ 12 | this.orientation = "landscape"; 13 | } 14 | 15 | /** 16 | @constructor 17 | @augments Layout 18 | */ 19 | function Page() { 20 | this.reset = function(b) { 21 | } 22 | } 23 | 24 | /** 25 | @extends Page 26 | @constructor 27 | */ 28 | function ThreeColumnPage() { 29 | this.init = function(resetCode) { 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /scripted/src/styles/browse-panel.css: -------------------------------------------------------------------------------- 1 | /*================================================== 2 | * Browse Panel styles 3 | *================================================== 4 | */ 5 | div.exhibit-browsePanel { 6 | } 7 | 8 | div.exhibit-browsePanel-notConfigureMessage { 9 | border: 1px solid #604800; 10 | padding: 1em; 11 | background: #FFFFE0; 12 | text-align: center; 13 | } 14 | 15 | div.exhibit-browsePanel-logoContainer { 16 | text-align: center; 17 | margin: 1em; 18 | clear: both; 19 | } 20 | 21 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/overview.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @overview This "library" contains a 3 | * lot of classes and functions. 4 | * @example 5 |
 6 | 	var x (x < 1);
 7 | 	alert("This 'is' \"code\"");
 8 |  
9 | * @name My Cool Library 10 | * @author Joe Smith jsmith@company.com 11 | * @version 0.1 12 | */ 13 | 14 | /** 15 | * Gets the current foo 16 | * @param {String} fooId The unique identifier for the foo. 17 | * @return {Object} Returns the current foo. 18 | */ 19 | function getFoo(fooID){ 20 | } -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/templates/jsdoc/allclasses.tmpl: -------------------------------------------------------------------------------- 1 |
{+new Link().toFile("index.html").withText("Class Index")+} 2 | | {+new Link().toFile("files.html").withText("File Index")+}
3 |
4 |

Classes

5 | 17 |
-------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/prototype_oblit_constructor.js: -------------------------------------------------------------------------------- 1 | /** @constructor */ 2 | function Article() { 3 | } 4 | 5 | Article.prototype = { 6 | /** @constructor */ 7 | Title: function(title) { 8 | /** the value of the Title instance */ 9 | this.title = title; 10 | }, 11 | 12 | init: function(pages) { 13 | /** the value of the pages of the Article instance */ 14 | this.pages = pages; 15 | } 16 | } 17 | 18 | f = new Article(); 19 | f.init("one two three"); 20 | 21 | t = new f.Title("my title"); 22 | 23 | print(f.pages); 24 | print(t.title); -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/handlers/XMLDOC/XMLDoc.js: -------------------------------------------------------------------------------- 1 | LOG.inform("XMLDOC.symbolize loaded"); 2 | 3 | /** 4 | * Convert the source file to a set of symbols 5 | */ 6 | XMLDOC.symbolize = function(srcFile, src) { 7 | 8 | LOG.inform("Symbolizing file '" + srcFile + "'"); 9 | 10 | // XML files already have a defined structure, so we don't need to 11 | // do anything but parse them. The DOM reader can create a symbol 12 | // table from the parsed XML. 13 | var dr = new XMLDOC.DomReader(XMLDOC.Parser.parse(src)); 14 | return dr.getSymbols(srcFile); 15 | 16 | }; 17 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/plugins/commentSrcJson.js: -------------------------------------------------------------------------------- 1 | JSDOC.PluginManager.registerPlugin( 2 | "JSDOC.commentSrcJson", 3 | { 4 | onDocCommentSrc: function(comment) { 5 | var json; 6 | if (/^\s*@json\b/.test(comment)) { 7 | comment.src = new String(comment.src).replace("@json", ""); 8 | 9 | eval("json = "+comment.src); 10 | var tagged = ""; 11 | for (var i in json) { 12 | var tag = json[i]; 13 | // todo handle cases where tag is an object 14 | tagged += "@"+i+" "+tag+"\n"; 15 | } 16 | comment.src = tagged; 17 | } 18 | } 19 | } 20 | ); -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/plugins/frameworkPrototype.js: -------------------------------------------------------------------------------- 1 | JSDOC.PluginManager.registerPlugin( 2 | "JSDOC.frameworkPrototype", 3 | { 4 | onPrototypeClassCreate: function(classCreator) { 5 | var desc = ""; 6 | if (classCreator.comment) { 7 | desc = classCreator.comment; 8 | } 9 | var insert = desc+"/** @name "+classCreator.name+"\n@constructor\n@scope "+classCreator.name+".prototype */" 10 | 11 | insert = insert.replace(/\*\/\/\*\*/g, "\n"); 12 | /*DEBUG*///print("insert is "+insert); 13 | classCreator.addComment.data = insert; 14 | } 15 | } 16 | ); 17 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/synonyms.js: -------------------------------------------------------------------------------- 1 | /** 2 | @class 3 | @inherits Bar#zop as #my_zop 4 | */ 5 | function Foo() { 6 | /** this is a zip. */ 7 | this.zip = function() {} 8 | 9 | /** from Bar */ 10 | this.my_zop = new Bar().zop; 11 | } 12 | 13 | /** 14 | @class 15 | @borrows Foo#zip as this.my_zip 16 | */ 17 | function Bar() { 18 | /** this is a zop. */ 19 | this.zop = function() {} 20 | 21 | /** from Foo */ 22 | this.my_zip = new Foo().zip; 23 | } 24 | 25 | /** @namespace */ 26 | var myObject = { 27 | /** 28 | @type function 29 | */ 30 | myFunc: getFunction() 31 | } -------------------------------------------------------------------------------- /scripted/src/styles/lens.css: -------------------------------------------------------------------------------- 1 | div.exhibit-lens { 2 | border: 1px solid #aaa; 3 | margin-bottom: 1em; 4 | } 5 | 6 | div.exhibit-lens-title { 7 | font-weight: bold; 8 | background: #eee; 9 | padding: 2px; 10 | } 11 | 12 | .exhibit-lens-copyButton { 13 | float: right; 14 | } 15 | 16 | div.exhibit-lens-body { 17 | padding: 0.3em; 18 | } 19 | 20 | table.exhibit-lens-properties { 21 | } 22 | 23 | tr.exhibit-lens-property { 24 | } 25 | 26 | td.exhibit-lens-property-name { 27 | color: #888; 28 | } 29 | 30 | td.exhibit-lens-property-values { 31 | } 32 | 33 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/handlers/XMLDOC.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This is the main container for the XMLDOC handler. 3 | * @namespace 4 | * @author Brett Fattori (bfattori@fry.com) 5 | * @version $Revision: 498 $ 6 | */ 7 | XMLDOC = { 8 | 9 | }; 10 | 11 | /** The current version string of this application. */ 12 | XMLDOC.VERSION = "1.0"; 13 | 14 | /** Include the library necessary to handle XML files */ 15 | IO.includeDir("handlers/XMLDOC/"); 16 | 17 | /** 18 | * @type Symbol[] 19 | */ 20 | XMLDOC.handle = function(srcFile, src) { 21 | 22 | }; 23 | 24 | XMLDOC.publish = function(symbolgroup) { 25 | 26 | } -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @constructor 3 | * @param person The person. 4 | * @param {string} person.name The person's name. 5 | * @config {integer} age The person's age. 6 | * @config [id=1] Optional id number to use. 7 | * @param connection 8 | */ 9 | function Contact(person, connection) { 10 | 11 | } 12 | 13 | /** 14 | * @constructor 15 | * @param persons 16 | * @config {string} Father The paternal person. 17 | * @config {string} Mother The maternal person. 18 | * @config {string[]} Children And the rest. 19 | */ 20 | function Family(/**Object*/persons) { 21 | 22 | } 23 | -------------------------------------------------------------------------------- /scripted/src/lib/polyfill.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileOverview Gap fillers in browser implementations. Only defined if 3 | * native implementation is not detected. 4 | */ 5 | 6 | /** 7 | * @seeAlso https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/create 8 | */ 9 | if (typeof Object.create !== "function") { 10 | Object.create = function (o) { 11 | if (arguments.length > 1) { 12 | throw new Error('Object.create implementation only accepts the first parameter.'); 13 | } 14 | function F() {} 15 | F.prototype = o; 16 | return new F(); 17 | }; 18 | } 19 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/handlers/FOODOC.js: -------------------------------------------------------------------------------- 1 | /** 2 | This is the main container for the FOODOC handler. 3 | @namespace 4 | */ 5 | FOODOC = { 6 | }; 7 | 8 | /** The current version string of this application. */ 9 | FOODOC.VERSION = "1.0"; 10 | 11 | FOODOC.handle = function(srcFile, src) { 12 | LOG.inform("Handling file '" + srcFile + "'"); 13 | 14 | return [ 15 | new JSDOC.Symbol( 16 | "foo", 17 | [], 18 | "VIRTUAL", 19 | new JSDOC.DocComment("/** This is a foo. */") 20 | ) 21 | ]; 22 | }; 23 | 24 | FOODOC.publish = function(symbolgroup) { 25 | LOG.inform("Publishing symbolgroup."); 26 | }; 27 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/globals.js: -------------------------------------------------------------------------------- 1 | function example(/**Circle*/a, b) { 2 | /** a global defined in function */ 3 | var number = a; 4 | 5 | var hideNumber = function(){ 6 | } 7 | 8 | setNumber = function(){ 9 | } 10 | alert('You have chosen: ' + b); 11 | } 12 | 13 | function initPage() { 14 | var supported = document.createElement && document.getElementsByTagName; 15 | if (!supported) return; 16 | // start of DOM script 17 | var x = document.getElementById('writeroot'); 18 | // etc. 19 | } 20 | 21 | /** an example var */ 22 | var document = new Document(x, y); 23 | 24 | var getNumber = function(){ 25 | } -------------------------------------------------------------------------------- /scripted/tests/data/range-index.js: -------------------------------------------------------------------------------- 1 | module("Exhibit.Database._RangeIndex"); 2 | 3 | test("prototype", function() { 4 | //expect(); 5 | }); 6 | 7 | test("getCount", function() { 8 | //expect(); 9 | }); 10 | 11 | test("getMin", function() { 12 | //expect(); 13 | }); 14 | 15 | test("getMax", function() { 16 | //expect(); 17 | }); 18 | 19 | test("getRange", function() { 20 | //expect(); 21 | }); 22 | 23 | test("getSubjectsInRange", function() { 24 | //expect(); 25 | }); 26 | 27 | test("countRange", function() { 28 | //expect(); 29 | }); 30 | 31 | test("_indexOf", function() { 32 | //expect(); 33 | }); 34 | -------------------------------------------------------------------------------- /scripted/tests/post.js: -------------------------------------------------------------------------------- 1 | /** 2 | * After defining all tests, run only those defined by 3 | * Modules.args, or if none, run all. 4 | */ 5 | 6 | jQuery(document).ready(function() { 7 | jQuery(document).one("scriptsLoaded.exhibit", function(evt) { 8 | if (Modules.args.length === 0) { 9 | for (var mod in Modules.tests) { 10 | Modules.loadScript(Modules.tests[mod]); 11 | } 12 | } else { 13 | for (var i = 0; i < Modules.args.length; i++) { 14 | Modules.loadScript(Modules.tests[Modules.args[i]]); 15 | } 16 | } 17 | }); 18 | }); 19 | -------------------------------------------------------------------------------- /scripted/src/styles/views/tabular-view.css: -------------------------------------------------------------------------------- 1 | table.exhibit-tabularView-body { 2 | width: 100%; 3 | } 4 | 5 | .exhibit-tabularView-columnHeader { 6 | cursor: pointer; 7 | white-space: pre; 8 | } 9 | 10 | .exhibit-tabularView-columnHeader-sorted { 11 | cursor: pointer; 12 | white-space: pre; 13 | } 14 | 15 | div.exhibit-tabularView-pagingControls { 16 | margin: 1em 0; 17 | text-align: center; 18 | } 19 | 20 | .exhibit-tabularView-pagingControls-currentPage { 21 | padding: 0px 0.5em; 22 | font-weight: bold; 23 | } 24 | 25 | .exhibit-tabularView-pagingControls-page { 26 | padding: 0px 0.5em; 27 | } 28 | -------------------------------------------------------------------------------- /scripted/src/styles/views/view-panel.css: -------------------------------------------------------------------------------- 1 | /*================================================== 2 | * View Panel styles 3 | *================================================== 4 | */ 5 | div.exhibit-viewPanel { 6 | } 7 | 8 | div.exhibit-viewPanel-viewSelection { 9 | text-align: center; 10 | } 11 | 12 | span.exhibit-viewPanel-viewSelection-view { 13 | text-transform: uppercase; 14 | cursor: pointer; 15 | } 16 | 17 | span.exhibit-viewPanel-viewSelection-selectedView { 18 | text-transform: uppercase; 19 | font-weight: bold; 20 | border-bottom: 3px solid red; 21 | } 22 | 23 | div.exhibit-viewPanel-viewContainer { 24 | } 25 | 26 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/lend.js: -------------------------------------------------------------------------------- 1 | /** @class */ 2 | var Person = Class.create( 3 | /** 4 | @lends Person.prototype 5 | */ 6 | { 7 | initialize: function(name) { 8 | this.name = name; 9 | }, 10 | say: function(message) { 11 | return this.name + ': ' + message; 12 | } 13 | } 14 | ); 15 | 16 | /** @lends Person.prototype */ 17 | { 18 | /** like say but more musical */ 19 | sing: function(song) { 20 | } 21 | } 22 | 23 | /** @lends Person */ 24 | { 25 | getCount: function() { 26 | } 27 | } 28 | 29 | /** @lends Unknown.prototype */ 30 | { 31 | notok: function() { 32 | } 33 | } -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/memberof2.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @constructor 3 | */ 4 | function Foo() { 5 | /** 6 | @memberOf Foo.prototype 7 | */ 8 | function bar(a, b) { 9 | } 10 | 11 | /** 12 | @memberOf Foo 13 | */ 14 | var zip = function(p, q) { 15 | } 16 | 17 | /** 18 | @memberOf Foo 19 | */ 20 | function zop( x,y ) { 21 | } 22 | 23 | /** 24 | @memberOf Foo 25 | @constructor 26 | */ 27 | function Fiz() { 28 | /** A method of Foo#Fiz. */ 29 | this.fipple = function(fop){} 30 | } 31 | } 32 | 33 | /** 34 | @memberOf Foo# 35 | */ 36 | var blat = function() { 37 | 38 | } -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/multi_methods.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | Get the entire flavor. 4 | @name flavor^3 5 | @function 6 | @returns {Object} The entire flavor hash. 7 | */ 8 | /** 9 | Get a named flavor. 10 | @name flavor^2 11 | @function 12 | @param {String} name The name of the flavor to get. 13 | @returns {String} The value of that flavor. 14 | */ 15 | /** 16 | Set the flavor. 17 | @param {String} name The name of the flavor to set. 18 | @param {String} value The value of the flavor. 19 | @returns {String} The value of that flavor. 20 | */ 21 | function flavor(name, value) { 22 | if (arguments.length > 1) flavor[name] = value; 23 | else if (arguments.length == 1) return flavor[name]; 24 | else return flavor; 25 | } -------------------------------------------------------------------------------- /scripted/lib/test-runner.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileOverview Initiates Qunit test running. 3 | */ 4 | 5 | var args = arguments; 6 | 7 | (function(){ 8 | load('lib/test-setup.js'); 9 | console.log("Starting QUnit tests..."); 10 | // @@@ Passing args to the URL seems broken. Delete the 11 | // following when it works the way it should. See pre.js. 12 | if (Envjs.tmpdir[Envjs.tmpdir.length - 1] !== '/') { 13 | Envjs.tmpdir += '/'; 14 | } 15 | Envjs.deleteFile(Envjs.uri(Envjs.tmpdir+"qunitargs")); 16 | Envjs.writeToFile("Modules.original = '" + args.join('&') + "';", Envjs.uri(Envjs.tmpdir+"qunitargs")); 17 | window.location = "tests/index.html"; 18 | // Use this instead when it works. 19 | // + "?" + args.join('&'); 20 | })(); 21 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/shared.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Builtin object. 4 | * @class 5 | * @name Array 6 | */ 7 | 8 | /**#@+ 9 | * Extension to builtin array. 10 | * @memberOf Array 11 | * @method 12 | */ 13 | 14 | /** 15 | * @returns Boolen if some array members... 16 | */ 17 | Array.prototype.some = function(){}; 18 | 19 | /** 20 | * Change every element of an array. 21 | * @returns Filtered array copy. 22 | */ 23 | Array.prototype.filter = function(){}; 24 | 25 | /**#@-*/ 26 | 27 | 28 | /** 29 | * A first in, first out data structure. 30 | * @constructor 31 | */ 32 | Queue = function(){}; 33 | 34 | /**#@+ 35 | * Extension to Queue. 36 | * @memberOf Queue 37 | */ 38 | 39 | rewind = function(){ 40 | } 41 | 42 | // should close automatically here. -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/templates/jsdoc/static/index.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | Generated Javascript Documentation 7 | 8 | 9 | 10 | 11 | 12 | <body> 13 | <p> 14 | This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. 15 | </p> 16 | </body> 17 | 18 | 19 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/functions_anon.js: -------------------------------------------------------------------------------- 1 | /** an anonymous constructor executed inline */ 2 | a = new function() { 3 | /** a.b*/ 4 | this.b = 1; 5 | /** a.f */ 6 | this.f = function() { 7 | /** a.c */ 8 | this.c = 2; 9 | } 10 | } 11 | 12 | 13 | /** 14 | named function executed inline 15 | */ 16 | bar1 = function Zoola1() { 17 | /** property of global */ 18 | this.g = 1; 19 | }(); 20 | 21 | /** 22 | named constructor executed inline 23 | */ 24 | bar2 = new function Zoola2() { 25 | /** property of bar */ 26 | this.p = 1; 27 | }; 28 | 29 | /** module pattern */ 30 | module = (function () { 31 | /** won't appear in documentation */ 32 | var priv = 1; 33 | 34 | /** @scope module */ 35 | return { 36 | /** will appear as a property of module */ 37 | pub: 1 38 | } 39 | })(); 40 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/frame/Reflection.js: -------------------------------------------------------------------------------- 1 | /**@constructor*/ 2 | function Reflection(obj) { 3 | this.obj = obj; 4 | } 5 | 6 | Reflection.prototype.getConstructorName = function() { 7 | if (this.obj.constructor.name) return this.obj.constructor.name; 8 | var src = this.obj.constructor.toSource(); 9 | var name = src.substring(name.indexOf("function")+8, src.indexOf('(')).replace(/ /g,''); 10 | return name; 11 | } 12 | 13 | Reflection.prototype.getMethod = function(name) { 14 | for (var p in this.obj) { 15 | if (p == name && typeof(this.obj[p]) == "function") return this.obj[p]; 16 | } 17 | return null; 18 | } 19 | 20 | Reflection.prototype.getParameterNames = function() { 21 | var src = this.obj.toSource(); 22 | src = src.substring( 23 | src.indexOf("(", 8)+1, src.indexOf(")") 24 | ); 25 | return src.split(/, ?/); 26 | } 27 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/param_inline.js: -------------------------------------------------------------------------------- 1 | /** 2 | @constructor 3 | @param columns The number of columns. 4 | */ 5 | function Layout(/**int*/columns){ 6 | /** 7 | @param [id] The id of the element. 8 | @param elName The name of the element. 9 | */ 10 | this.getElement = function( 11 | /** string */ elName, 12 | /** number|string */ id 13 | ) { 14 | }; 15 | 16 | /** 17 | @constructor 18 | */ 19 | this.Canvas = function(top, left, /**int*/width, height) { 20 | /** Is it initiated yet? */ 21 | this.initiated = true; 22 | } 23 | 24 | this.rotate = function(/**nothing*/) { 25 | } 26 | 27 | /** 28 | @param x 29 | @param y 30 | @param {zoppler} z*/ 31 | this.init = function(x, y, /**abbler*/z) { 32 | /** The xyz. */ 33 | this.xyz = x+y+z; 34 | this.getXyz = function() { 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /scripted/demos/icd/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding: 0; 3 | background: #ffffff; 4 | } 5 | 6 | #content { 7 | font-family: "Gill Sans", "Trebuchet MS", "Helvetica", "Arial", "sans serif"; 8 | font-size: 11pt; 9 | } 10 | 11 | table { 12 | font-size: 100%; 13 | border-bottom: lightgrey 1pt solid; 14 | padding-bottom: 10px; 15 | } 16 | 17 | tr, td { 18 | vertical-align: top; 19 | } 20 | 21 | div.thumbnail-lens { 22 | width: 280px; 23 | } 24 | 25 | div.title { 26 | margin: 5px 0; 27 | font-weight: bold; 28 | font-size: 130%; 29 | } 30 | 31 | div.definition { 32 | margin: 5px 10px; 33 | } 34 | 35 | div.exclusion { 36 | margin: 2px 0; 37 | } 38 | 39 | div.inclusion { 40 | margin: 2px 0; 41 | } 42 | 43 | span.property { 44 | font-weight: bold; 45 | padding-right: 3px; 46 | } 47 | -------------------------------------------------------------------------------- /scripted/tests/util/util.js: -------------------------------------------------------------------------------- 1 | module("Exhibit.Util"); 2 | 3 | test("round", function() { 4 | expect(7); 5 | 6 | strictEqual(Exhibit.Util.round(10000.4), '10000', "Exhibit.Util.round(10000.4) === '10000'"); 7 | strictEqual(Exhibit.Util.round(10001, 5000), '10000', "Exhibit.Util.round(10001, 5000) === '10000'"); 8 | strictEqual(Exhibit.Util.round(10001, 5000.0), '10000', "Exhibit.Util.round(10001, 5000.0) === '10000'"); 9 | strictEqual(Exhibit.Util.round(10000, 0.1), '10000.0', "Exhibit.Util.round(10000, 0.1) === '10000.0'"); 10 | strictEqual(Exhibit.Util.round(0.1, 1e-12), '0.100000000000', "Exhibit.Util.round(0.1, 1e-12) === '0.100000000000'"); 11 | strictEqual(Exhibit.Util.round(66000, 1024), '65536', "Exhibit.Util.round(66000, 1024) === '65536'"); 12 | strictEqual(Exhibit.Util.round(0, 0.1), '0.0', "Exhibit.Util.round(0, 0.1) === '0.0'"); 13 | }); 14 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/functions_nested.js: -------------------------------------------------------------------------------- 1 | /** @constructor */ 2 | function Zop() { 3 | } 4 | 5 | /** 6 | @class 7 | */ 8 | Foo = function(id) { 9 | // this is a bit twisted, but if you call Foo() you will then 10 | // modify Foo(). This is kinda, sorta non-insane, because you 11 | // would have to call Foo() 100% of the time to use Foo's methods 12 | Foo.prototype.methodOne = function(bar) { 13 | alert(bar); 14 | }; 15 | 16 | // same again 17 | Foo.prototype.methodTwo = function(bar2) { 18 | alert(bar2); 19 | }; 20 | 21 | // and these are only executed if the enclosing function is actually called 22 | // and who knows if that will ever happen? 23 | Bar = function(pez) { 24 | alert(pez); 25 | }; 26 | Zop.prototype.zap = function(p){ 27 | alert(p); 28 | }; 29 | 30 | // but this is only visible inside Foo 31 | function inner() { 32 | } 33 | }; 34 | -------------------------------------------------------------------------------- /scripted/src/scripts/data/expression/constant.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileOverview 3 | * @author David Huynh 4 | * @author Ryan Lee 5 | */ 6 | 7 | /** 8 | * @class 9 | * @constructor 10 | * @public 11 | * @param {String|Number} value 12 | * @param {String} valueType 13 | */ 14 | Exhibit.Expression._Constant = function(value, valueType) { 15 | this._value = value; 16 | this._valueType = valueType; 17 | }; 18 | 19 | /** 20 | * @param {Object} roots 21 | * @param {Object} rootValueTypes 22 | * @param {String} defaultRootName 23 | * @param {Exhibit.Database} database 24 | * @returns {Exhibit.Expression._Collection} 25 | */ 26 | Exhibit.Expression._Constant.prototype.evaluate = function( 27 | roots, 28 | rootValueTypes, 29 | defaultRootName, 30 | database 31 | ) { 32 | return new Exhibit.Expression._Collection([ this._value ], this._valueType); 33 | }; 34 | -------------------------------------------------------------------------------- /scripted/src/scripts/data/expression/control-call.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileOverview 3 | * @author David Huynh 4 | * @author Ryan Lee 5 | */ 6 | 7 | /** 8 | * @class 9 | * @constructor 10 | * @public 11 | * @param {String} name 12 | * @param {Array} args 13 | */ 14 | Exhibit.Expression._ControlCall = function(name, args) { 15 | this._name = name; 16 | this._args = args; 17 | }; 18 | 19 | /** 20 | * @param {Object} roots 21 | * @param {Object} rootValueTypes 22 | * @param {String} defaultRootName 23 | * @param {Exhibit.Database} database 24 | * @returns {Exhibit.Expression._Collection} 25 | */ 26 | Exhibit.Expression._ControlCall.prototype.evaluate = function( 27 | roots, 28 | rootValueTypes, 29 | defaultRootName, 30 | database 31 | ) { 32 | return Exhibit.Controls[this._name].f(this._args, roots, rootValueTypes, defaultRootName, database); 33 | }; 34 | -------------------------------------------------------------------------------- /scripted/src/locales/manifest.js: -------------------------------------------------------------------------------- 1 | Exhibit.jQuery(document).bind("registerLocales.exhibit", function() { 2 | Exhibit.jQuery(document).trigger("beforeLocalesRegistered.exhibit"); 3 | new Exhibit.Locale("default", Exhibit.urlPrefix + "locales/en/locale.js"); 4 | new Exhibit.Locale("en", Exhibit.urlPrefix + "locales/en/locale.js"); 5 | new Exhibit.Locale("de", Exhibit.urlPrefix + "locales/de/locale.js"); 6 | new Exhibit.Locale("es", Exhibit.urlPrefix + "locales/es/locale.js"); 7 | new Exhibit.Locale("fr", Exhibit.urlPrefix + "locales/fr/locale.js"); 8 | new Exhibit.Locale("nl", Exhibit.urlPrefix + "locales/nl/locale.js"); 9 | new Exhibit.Locale("no", Exhibit.urlPrefix + "locales/no/locale.js"); 10 | new Exhibit.Locale("sv", Exhibit.urlPrefix + "locales/sv/locale.js"); 11 | new Exhibit.Locale("pt-BR", Exhibit.urlPrefix + "locales/pt-BR/locale.js"); 12 | Exhibit.jQuery(document).trigger("localesRegistered.exhibit"); 13 | }); 14 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/plugins/tagParamConfig.js: -------------------------------------------------------------------------------- 1 | JSDOC.PluginManager.registerPlugin( 2 | "JSDOC.tagParamConfig", 3 | { 4 | onDocCommentTags: function(comment) { 5 | var currentParam = null; 6 | var tags = comment.tags; 7 | for (var i = 0, l = tags.length; i < l; i++) { 8 | 9 | if (tags[i].title == "param") { 10 | if (tags[i].name.indexOf(".") == -1) { 11 | currentParam = i; 12 | } 13 | } 14 | else if (tags[i].title == "config") { 15 | tags[i].title = "param"; 16 | if (currentParam == null) { 17 | tags[i].name = "arguments"+"."+tags[i].name; 18 | } 19 | else if (tags[i].name.indexOf(tags[currentParam].name+".") != 0) { 20 | tags[i].name = tags[currentParam].name+"."+tags[i].name; 21 | } 22 | currentParam != null 23 | //tags[currentParam].properties.push(tags[i]); 24 | } 25 | else { 26 | currentParam = null; 27 | } 28 | } 29 | } 30 | } 31 | ); 32 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/borrows.js: -------------------------------------------------------------------------------- 1 | /** 2 | @constructor 3 | */ 4 | function Layout(p) { 5 | /** initilize 1 */ 6 | this.init = function(p) { 7 | } 8 | 9 | /** get the id */ 10 | this.getId = function() { 11 | } 12 | 13 | /** @type string */ 14 | this.orientation = "landscape"; 15 | 16 | function getInnerElements(elementSecretId){ 17 | } 18 | } 19 | 20 | /** A static method. */ 21 | Layout.units = function() { 22 | } 23 | 24 | /** 25 | @constructor 26 | @borrows Layout#orientation 27 | @borrows Layout-getInnerElements 28 | @borrows Layout.units 29 | */ 30 | function Page() { 31 | /** reset the page */ 32 | this.reset = function(b) { 33 | } 34 | } 35 | 36 | /** 37 | @constructor 38 | @borrows Layout.prototype.orientation as this.orientation 39 | @borrows Layout.prototype.init as #init 40 | @inherits Page.prototype.reset as #reset 41 | */ 42 | function ThreeColumnPage() { 43 | /** initilize 2 */ 44 | this.init = function(p) { 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/frame.js: -------------------------------------------------------------------------------- 1 | IO.include("frame/Opt.js"); 2 | IO.include("frame/Chain.js"); 3 | IO.include("frame/Link.js"); 4 | IO.include("frame/String.js"); 5 | IO.include("frame/Hash.js"); 6 | IO.include("frame/Namespace.js"); 7 | //IO.include("frame/Reflection.js"); 8 | 9 | /** A few helper functions to make life a little easier. */ 10 | 11 | function defined(o) { 12 | return (o !== undefined); 13 | } 14 | 15 | function copy(o) { // todo check for circular refs 16 | if (o == null || typeof(o) != 'object') return o; 17 | var c = new o.constructor(); 18 | for(var p in o) c[p] = copy(o[p]); 19 | return c; 20 | } 21 | 22 | function isUnique(arr) { 23 | var l = arr.length; 24 | for(var i = 0; i < l; i++ ) { 25 | if (arr.lastIndexOf(arr[i]) > i) return false; 26 | } 27 | return true; 28 | } 29 | 30 | /** Returns the given string with all regex meta characters backslashed. */ 31 | RegExp.escapeMeta = function(str) { 32 | return str.replace(/([$^\\\/()|?+*\[\]{}.-])/g, "\\$1"); 33 | } 34 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/lib/JSDOC/TextStream.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | @constructor 4 | */ 5 | JSDOC.TextStream = function(text) { 6 | if (typeof(text) == "undefined") text = ""; 7 | text = ""+text; 8 | this.text = text; 9 | this.cursor = 0; 10 | } 11 | 12 | JSDOC.TextStream.prototype.look = function(n) { 13 | if (typeof n == "undefined") n = 0; 14 | 15 | if (this.cursor+n < 0 || this.cursor+n >= this.text.length) { 16 | var result = new String(""); 17 | result.eof = true; 18 | return result; 19 | } 20 | return this.text.charAt(this.cursor+n); 21 | } 22 | 23 | JSDOC.TextStream.prototype.next = function(n) { 24 | if (typeof n == "undefined") n = 1; 25 | if (n < 1) return null; 26 | 27 | var pulled = ""; 28 | for (var i = 0; i < n; i++) { 29 | if (this.cursor+i < this.text.length) { 30 | pulled += this.text.charAt(this.cursor+i); 31 | } 32 | else { 33 | var result = new String(""); 34 | result.eof = true; 35 | return result; 36 | } 37 | } 38 | 39 | this.cursor += n; 40 | return pulled; 41 | } -------------------------------------------------------------------------------- /scripted/tests/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Exhibit 3.0 Scripted - QUnit Test Suite 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |

Exhibit 3.0 Scripted - QUnit Test Suite

15 |

16 |
17 |

18 |
    19 |
    20 | 21 | 22 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/conf/sample.conf: -------------------------------------------------------------------------------- 1 | /* 2 | This is an example of one way you could set up a configuration file to more 3 | conveniently define some commandline options. You might like to do this if 4 | you frequently reuse the same options. Note that you don't need to define 5 | every option in this file, you can combine a configuration file with 6 | additional options on the commandline if your wish. 7 | 8 | You would include this configuration file by running JsDoc Toolkit like so: 9 | java -jar jsrun.jar app/run.js -c=conf/sample.conf 10 | 11 | */ 12 | 13 | { 14 | // source files to use 15 | _: ['app/test/jsdoc_test.js'], 16 | 17 | // document all functions, even uncommented ones 18 | a: true, 19 | 20 | // including those marked @private 21 | p: true, 22 | 23 | // some extra variables I want to include 24 | D: {generatedBy: "Michael Mathews", copyright: "2008"}, 25 | 26 | // use this directory as the output directory 27 | d: "docs", 28 | 29 | // use this template 30 | t: "templates/jsdoc" 31 | } -------------------------------------------------------------------------------- /scripted/lib/coverage-setup.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileOverview Coverage setup. 3 | */ 4 | 5 | load("lib/env.rhino.js"); 6 | load("lib/window.js"); 7 | load("lib/jscoverage-report.js"); 8 | 9 | Envjs({ 10 | scriptTypes: { 11 | "": true, 12 | "text/javascript": true, 13 | "text/envjs": false 14 | }, 15 | afterScriptLoad: { 16 | "qunit\.js": function() { 17 | QUnit.done = function(obj) { 18 | // Note that there are timing problems here. The Env.js 19 | // methods takes a finite amount of time to go from a 20 | // setTimeout running to its removal from the queue, and 21 | // if window.close is called last, not all the timers will 22 | // have run their course. Yes, it's weird. Leave it be. 23 | window.close(); 24 | console.log("Writing coverage report..."); 25 | jscoverage_store(); 26 | console.log("Coverage report written."); 27 | }; 28 | } 29 | } 30 | }); 31 | -------------------------------------------------------------------------------- /scripted/tests/data/property.js: -------------------------------------------------------------------------------- 1 | module("Exhibit.Database._Property"); 2 | 3 | test("prototype", function() { 4 | //expect(); 5 | }); 6 | 7 | test("getID", function() { 8 | //expect(); 9 | }); 10 | 11 | test("getURI", function() { 12 | //expect(); 13 | }); 14 | 15 | test("getValueType", function() { 16 | //expect(); 17 | }); 18 | 19 | test("getLabel", function() { 20 | //expect(); 21 | }); 22 | 23 | test("getPluralLabel", function() { 24 | //expect(); 25 | }); 26 | 27 | test("getReverseLabel", function() { 28 | //expect(); 29 | }); 30 | 31 | test("getReversePluralLabel", function() { 32 | //expect(); 33 | }); 34 | 35 | test("getGroupingLabel", function() { 36 | //expect(); 37 | }); 38 | 39 | test("getGroupingPluralLabel", function() { 40 | //expect(); 41 | }); 42 | 43 | test("getOrigin", function() { 44 | //expect(); 45 | }); 46 | 47 | test("getRangeIndex", function() { 48 | //expect(); 49 | }); 50 | 51 | test("_onNewData", function() { 52 | //expect(); 53 | }); 54 | 55 | test("_buildRangeIndex", function() { 56 | //expect(); 57 | }); 58 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/lib/JSDOC/Util.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @namespace 3 | * @deprecated Use {@link FilePath} instead. 4 | */ 5 | JSDOC.Util = { 6 | } 7 | 8 | /** 9 | * @deprecated Use {@link FilePath.fileName} instead. 10 | */ 11 | JSDOC.Util.fileName = function(path) { 12 | LOG.warn("JSDOC.Util.fileName is deprecated. Use FilePath.fileName instead."); 13 | var nameStart = Math.max(path.lastIndexOf("/")+1, path.lastIndexOf("\\")+1, 0); 14 | return path.substring(nameStart); 15 | } 16 | 17 | /** 18 | * @deprecated Use {@link FilePath.fileExtension} instead. 19 | */ 20 | JSDOC.Util.fileExtension = function(filename) { 21 | LOG.warn("JSDOC.Util.fileExtension is deprecated. Use FilePath.fileExtension instead."); 22 | return filename.split(".").pop().toLowerCase(); 23 | }; 24 | 25 | /** 26 | * @deprecated Use {@link FilePath.dir} instead. 27 | */ 28 | JSDOC.Util.dir = function(path) { 29 | LOG.warn("JSDOC.Util.dir is deprecated. Use FilePath.dir instead."); 30 | var nameStart = Math.max(path.lastIndexOf("/")+1, path.lastIndexOf("\\")+1, 0); 31 | return path.substring(0, nameStart-1); 32 | } 33 | -------------------------------------------------------------------------------- /scripted/tests/util/string.js: -------------------------------------------------------------------------------- 1 | module("String"); 2 | 3 | test("endsWith", function() { 4 | expect(4); 5 | 6 | ok((new String("A")).endsWith("A"), "'A'.endsWith('A')"); 7 | ok((new String("AA")).endsWith("A"), "'AA'.endsWith('A')"); 8 | ok(!(new String("AA")).endsWith("B"), "!'AA'.endsWith('B')"); 9 | ok(!(new String("AA")).endsWith("AAA"), "!'AA'.endsWith('AAA')"); 10 | }); 11 | 12 | test("startsWith", function() { 13 | expect(4); 14 | 15 | ok((new String("A")).startsWith("A"), "'A'.startsWith('A')"); 16 | ok((new String("AA")).startsWith("A"), "'AA'.startsWith('A')"); 17 | ok(!(new String("AA")).startsWith("B"), "!'AA'.startsWith('B')"); 18 | ok(!(new String("AA")).startsWith("AAA"), "!'AA'.startsWith('AAA')"); 19 | }); 20 | 21 | test("trim", function() { 22 | expect(4); 23 | 24 | strictEqual((new String("A")).trim(), "A", "'A'.trim() === 'A'"); 25 | strictEqual((new String(" A ")).trim(), "A", "' A '.trim() === 'A'"); 26 | strictEqual((new String(" A")).trim(), "A", "' A'.trim() === 'A'"); 27 | strictEqual((new String("A ")).trim(), "A", "'A '.trim() === 'A'"); 28 | }); 29 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010-2013 The Library of Congress, MIT, and Zepheira LLC 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /scripted/demos/thumbnail/tagged-data.js: -------------------------------------------------------------------------------- 1 | { 2 | "items": [ 3 | {"label": "Michelle Pfeiffer", 4 | "type": "Celebrity", 5 | "tags": ["female", "American"] 6 | }, 7 | {"label": "Keanu Reeves", 8 | "type": "Celebrity", 9 | "tags": ["male", "American"] 10 | }, 11 | {"label": "Brigitte Bardot", 12 | "type": "Celebrity", 13 | "tags": ["female", "French", "dead"] 14 | }, 15 | {"label": "Bruce Lee", 16 | "type": "Celebrity", 17 | "tags": ["male", "Hong Kong", "dead"] 18 | }, 19 | {"label": "Bruce Boxleitner", 20 | "type": "Celebrity", 21 | "tags": ["not so", "male", "American"] 22 | }, 23 | {"label": "Incredible Hulk", 24 | "type": "Celebrity", 25 | "tags": ["fiction", "male", "American", "green"] 26 | }, 27 | {"label": "John Doe", 28 | "type": "Celebrity", 29 | "tags": [] 30 | }, 31 | {"label": "Nelson Mandela", 32 | "type": "Celebrity", 33 | "tags": ["politician", "South African", "male"] 34 | }, 35 | {"label": "Charlie Chaplin", 36 | "type": "Celebrity", 37 | "tags": ["male", "English", "dead"] 38 | } 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/test/event.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @name Kitchen 3 | * @constructor 4 | * @fires Bakery#event:donutOrdered 5 | */ 6 | 7 | /** 8 | * Fired when some cake is eaten. 9 | * @name Kitchen#event:cakeEaten 10 | * @function 11 | * @param {Number} pieces The number of pieces eaten. 12 | */ 13 | 14 | /** 15 | * Find out if cake was eaten. 16 | * @name Kitchen#cakeEaten 17 | * @function 18 | * @param {Boolean} wasEaten 19 | */ 20 | 21 | /** 22 | * @name getDesert 23 | * @function 24 | * @fires Kitchen#event:cakeEaten 25 | */ 26 | 27 | /** 28 | * @name Bakery 29 | * @constructor 30 | * @extends Kitchen 31 | */ 32 | 33 | /** 34 | * Fired when a donut order is made. 35 | * @name Bakery#event:donutOrdered 36 | * @event 37 | * @param {Event} e The event object. 38 | * @param {String} [e.topping] Optional sprinkles. 39 | */ 40 | 41 | /** 42 | * @constructor 43 | * @borrows Bakery#event:donutOrdered as this.event:cakeOrdered 44 | */ 45 | function CakeShop() { 46 | } 47 | 48 | /** @event */ 49 | CakeShop.prototype.icingReady = function(isPink) { 50 | } 51 | 52 | /** @event */ 53 | function amHungry(/**Boolean*/enoughToEatAHorse) { 54 | } -------------------------------------------------------------------------------- /README.markdown: -------------------------------------------------------------------------------- 1 | Exhibit 3.0 Project 2 | ============== 3 | 4 | Publishing Framework for Large Scale Data-Rich Interactive Web Pages 5 | -------------------------------------------------------------------- 6 | 7 | Exhibit 3.0 is designed to be a publishing framework for large scale data-rich interactive Web pages, building on the success of the original [Exhibit][1]. This project is a partnership among [MIT Libraries][2], [MIT CSAIL][3] and [Zepheira][4], all with personnel including [SIMILE project alumnus][5], with generous support from the [Library of Congress][6]. 8 | 9 | To learn more about the Exhibit 3.0 Project, the key requirements for Exhibit 3.0, the team behind the project and how to get involved, please visit [the project homepage][7]. 10 | 11 | Note that this Github project contains only the "Scripted" mode code. For the "Staged" mode code, see the [Backstage project][8]. 12 | 13 | [1]: http://www.simile-widgets.org/exhibit/ 14 | [2]: http://libraries.mit.edu/ 15 | [3]: http://csail.mit.edu/ 16 | [4]: http://zepheira.com/ 17 | [5]: http://simile.mit.edu/ 18 | [6]: http://loc.gov/ 19 | [7]: http://www.simile-widgets.org/exhibit3/ 20 | [8]: https://github.com/zepheira/backstage/ 21 | -------------------------------------------------------------------------------- /scripted/src/scripts/data/importers/json.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileOverview 3 | * @author David Huynh 4 | * @author Ryan Lee 5 | */ 6 | 7 | /** 8 | * @namespace 9 | */ 10 | Exhibit.Importer.ExhibitJSON = { 11 | _importer: null 12 | }; 13 | 14 | /** 15 | * @param {String} url 16 | * @param {String} s 17 | * @param {Function} callback 18 | * @depends JSON 19 | */ 20 | Exhibit.Importer.ExhibitJSON.parse = function(url, s, callback) { 21 | var o = null; 22 | 23 | try { 24 | o = JSON.parse(s); 25 | } catch(e) { 26 | Exhibit.UI.showJsonFileValidation(Exhibit._("%general.badJsonMessage", url, e.message), url); 27 | } 28 | 29 | if (typeof callback === "function") { 30 | callback(o); 31 | } 32 | }; 33 | 34 | /** 35 | * @private 36 | */ 37 | Exhibit.Importer.ExhibitJSON._register = function() { 38 | Exhibit.Importer.ExhibitJSON._importer = new Exhibit.Importer( 39 | "application/json", 40 | "get", 41 | Exhibit.Importer.ExhibitJSON.parse 42 | ); 43 | }; 44 | 45 | Exhibit.jQuery(document).one("registerImporters.exhibit", 46 | Exhibit.Importer.ExhibitJSON._register); 47 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/templates/jsdoc/symbol.tmpl: -------------------------------------------------------------------------------- 1 | 2 | {+data.name+} 3 | {+data.memberOf+} 4 | {+data.isStatic+} 5 | {+data.isa+} 6 | {+data.desc+} 7 | {+data.classDesc+} 8 | 9 | 10 | 11 | {+method.name+} 12 | {+method.memberOf+} 13 | {+method.isStatic+} 14 | {+method.desc+} 15 | 16 | 17 | {+param.type+} 18 | {+param.name+} 19 | {+param.desc+} 20 | {+param.defaultValue+} 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | {+property.name+} 29 | {+property.memberOf+} 30 | {+property.isStatic+} 31 | {+property.desc+} 32 | {+property.type+} 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/lib/JSDOC/PluginManager.js: -------------------------------------------------------------------------------- 1 | /** 2 | @namespace Holds functionality related to running plugins. 3 | */ 4 | JSDOC.PluginManager = { 5 | } 6 | 7 | /** 8 | @param name A unique name that identifies that plugin. 9 | @param handlers A collection of named functions. The names correspond to hooks in the core code. 10 | */ 11 | JSDOC.PluginManager.registerPlugin = function(/**String*/name, /**Object*/handlers) { 12 | if (!defined(JSDOC.PluginManager.plugins)) 13 | /** The collection of all plugins. Requires a unique name for each. 14 | */ 15 | JSDOC.PluginManager.plugins = {}; 16 | 17 | 18 | JSDOC.PluginManager.plugins[name] = handlers; 19 | } 20 | 21 | /** 22 | @param hook The name of the hook that is being caught. 23 | @param target Any object. This will be passed as the only argument to the handler whose 24 | name matches the hook name. Handlers cannot return a value, so must modify the target 25 | object to have an effect. 26 | */ 27 | JSDOC.PluginManager.run = function(/**String*/hook, /**Mixed*/target) { 28 | for (var name in JSDOC.PluginManager.plugins) { 29 | if (defined(JSDOC.PluginManager.plugins[name][hook])) { 30 | JSDOC.PluginManager.plugins[name][hook](target); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /scripted/src/scripts/data/expression/function-call.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileOverview 3 | * @author David Huynh 4 | * @author Ryan Lee 5 | */ 6 | 7 | /** 8 | * @class 9 | * @constructor 10 | * @public 11 | * @param {String} name 12 | * @param {Array} args 13 | */ 14 | Exhibit.Expression._FunctionCall = function(name, args) { 15 | this._name = name; 16 | this._args = args; 17 | }; 18 | 19 | /** 20 | * @param {Object} roots 21 | * @param {Object} rootValueTypes 22 | * @param {String} defaultRootName 23 | * @param {Exhibit.Database} database 24 | * @returns {Exhibit.Expression._Collection} 25 | * @throws Error 26 | */ 27 | Exhibit.Expression._FunctionCall.prototype.evaluate = function( 28 | roots, 29 | rootValueTypes, 30 | defaultRootName, 31 | database 32 | ) { 33 | var args = [], i; 34 | for (i = 0; i < this._args.length; i++) { 35 | args.push(this._args[i].evaluate(roots, rootValueTypes, defaultRootName, database)); 36 | } 37 | 38 | if (typeof Exhibit.Functions[this._name] !== "undefined") { 39 | return Exhibit.Functions[this._name].f(args); 40 | } else { 41 | throw new Error(Exhibit._("%expression.noSuchFunction", this._name)); 42 | } 43 | }; 44 | -------------------------------------------------------------------------------- /scripted/tests/data/database.js: -------------------------------------------------------------------------------- 1 | module("Exhibit.Database", { 2 | "setup": function() { 3 | this.indexA = { 4 | "a": { 5 | "b": ["c"] 6 | } 7 | }; 8 | this.indexB = { 9 | "a": { 10 | } 11 | }; 12 | this.indexC = {}; 13 | }, 14 | "teardown": function() { 15 | this.testIndex = null; 16 | } 17 | }); 18 | 19 | test("create", function() { 20 | //expect(); 21 | }); 22 | 23 | test("_indexPut", function() { 24 | //expect(); 25 | 26 | Exhibit.Database._indexPut(this.indexB, "a", "b", "c"); 27 | deepEqual(this.indexB, this.indexA, "Put a new value and new secondary key into a mostly empty index"); 28 | 29 | Exhibit.Database._indexPut(this.indexA, "a", "b", "c"); 30 | deepEqual(this.indexA["a"]["b"], [ "c" ], "Attempt to put an existent value results in no change"); 31 | 32 | Exhibit.Database._indexPut(this.indexA, "a", "b", "d"); 33 | deepEqual(this.indexA["a"]["b"], [ "c", "d" ], "Put a new value in an existing array"); 34 | 35 | }); 36 | 37 | test("_indexPutList", function() { 38 | //expect(); 39 | }); 40 | 41 | test("_indexRemove", function() { 42 | //expect(); 43 | }); 44 | 45 | test("_indexRemoveList", function() { 46 | //expect(); 47 | }); 48 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/templates/jsdoc/index.tmpl: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | JsDoc Reference - Index 8 | 9 | 10 | 13 | 14 | 15 | 16 | {+include("static/header.html")+} 17 | 18 |
    19 | {+publish.classesIndex+} 20 |
    21 | 22 |
    23 |

    Class Index

    24 | 25 | 26 |
    27 |

    {+(new Link().toSymbol(thisClass.alias))+}

    28 | {+resolveLinks(summarize(thisClass.classDesc))+} 29 |
    30 |
    31 |
    32 | 33 |
    34 |
    35 | ©{+JSDOC.opt.D.copyright+}
    36 | Documentation generated by JsDoc Toolkit {+JSDOC.VERSION+} on {+new Date()+} 37 |
    38 | 39 | -------------------------------------------------------------------------------- /scripted/tests/pre.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Parse incoming query parameters into module names. 3 | * Then run only those modules. 4 | * see post.js 5 | */ 6 | var Modules = { 7 | tests: { 8 | 'String': 'util/string.js', 9 | 'Exhibit.Set': 'util/set.js', 10 | 'Exhibit.Util': 'util/util.js', 11 | 'Exhibit.Util.HTML': 'util/html.js', 12 | 'Exhibit.DateTime': 'util/date-time.js', 13 | 'Exhibit.NativeDateUnit': 'util/units.js', 14 | 'Exhibit.Persistence': 'util/persistence.js', 15 | 'Exhibit.History': 'util/history.js', 16 | 'Exhibit.Bookmark': 'util/bookmark.js', 17 | 'Exhibit.Database': 'data/database.js' 18 | }, 19 | args: [], 20 | all: {}, 21 | name: null 22 | }; 23 | 24 | Modules.loadScript = function(url) { 25 | var head = document.getElementsByTagName('head')[0]; 26 | var script = document.createElement('script'); 27 | script.setAttribute('type', 'text/javascript'); 28 | script.setAttribute('src', url); 29 | head.appendChild(script); 30 | }; 31 | 32 | if (typeof Envjs !== "undefined" && window.location.protocol === "file:") { 33 | Modules.loadScript("file://" + Envjs.tmpdir + "qunitargs"); 34 | } 35 | 36 | if (typeof Modules.original !== "undefined" && Modules.original !== '') { 37 | Modules.args = Modules.original.split('&'); 38 | } 39 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/plugins/tagSynonyms.js: -------------------------------------------------------------------------------- 1 | JSDOC.PluginManager.registerPlugin( 2 | "JSDOC.tagSynonyms", 3 | { 4 | onDocCommentSrc: function(comment) { 5 | comment.src = comment.src.replace(/@methodOf\b/i, "@function\n@memberOf"); 6 | comment.src = comment.src.replace(/@fieldOf\b/i, "@field\n@memberOf"); 7 | }, 8 | 9 | onDocCommentTags: function(comment) { 10 | for (var i = 0, l = comment.tags.length; i < l; i++) { 11 | var title = comment.tags[i].title.toLowerCase(); 12 | var syn; 13 | if ((syn = JSDOC.tagSynonyms.synonyms["="+title])) { 14 | comment.tags[i].title = syn; 15 | } 16 | } 17 | } 18 | } 19 | ); 20 | 21 | new Namespace( 22 | "JSDOC.tagSynonyms", 23 | function() { 24 | JSDOC.tagSynonyms.synonyms = { 25 | "=member": "memberOf", 26 | "=memberof": "memberOf", 27 | "=description": "desc", 28 | "=exception": "throws", 29 | "=argument": "param", 30 | "=returns": "return", 31 | "=classdescription": "class", 32 | "=fileoverview": "overview", 33 | "=extends": "augments", 34 | "=base": "augments", 35 | "=projectdescription": "overview", 36 | "=classdescription": "class", 37 | "=link": "see", 38 | "=borrows": "inherits", 39 | "=scope": "lends", 40 | "=construct": "constructor" 41 | } 42 | } 43 | ); -------------------------------------------------------------------------------- /scripted/README.markdown: -------------------------------------------------------------------------------- 1 | Exhibit 3.0 Scripted 2 | ==================== 3 | 4 | This is the client-side source for [Exhibit 3.0][1]. See [Exhibit 2][2] for 5 | where things are headed. 6 | 7 | Getting Started 8 | --------------- 9 | 10 | We are producing documentation for users. We'll add a link here when it's ready. 11 | 12 | Licensing 13 | --------- 14 | 15 | For historical reasons, the code is governed by both the modified BSD 16 | and the MIT licenses. See the LICENSE.txt and ORIGINAL-LICENSE.txt files 17 | for the full license. 18 | 19 | Developers 20 | ---------- 21 | 22 | Code is maintained in our [Github repostory][3]. Participating is welcome, 23 | please start by following the [fork-pull method][5] of git development to start 24 | contributing patches. Note that your contributions are expected to be 25 | covered by the licensing as stated above. 26 | 27 | Check our [installation instructions][4] on our wiki for more on how to work 28 | with the code. 29 | 30 | Participating 31 | ------------- 32 | 33 | Developers can participate through the following avenues as well: 34 | 35 | * **Mailing list:** https://groups.google.com/group/simile-widgets/ 36 | * **Issue tracker:** https://github.com/zepheira/exhibit3/issues 37 | * **IRC:** irc://irc.freenode.net:6667/#exhibit3 38 | 39 | [1]: http://simile-widgets.org/exhibit3/ 40 | [2]: http://simile-widgets.org/exhibit/ 41 | [3]: https://github.com/zepheira/exhibit3/ 42 | [4]: https://github.com/zepheira/exhibit3/wiki/Installation 43 | [5]: http://help.github.com/pull-requests/ 44 | -------------------------------------------------------------------------------- /ORIGINAL-LICENSE.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * (c) Copyright The SIMILE Project 2006. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions 6 | * are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 15 | * 3. The name of the author may not be used to endorse or promote products 16 | * derived from this software without specific prior written permission. 17 | * 18 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 19 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 20 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 21 | * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 22 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 23 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 27 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | * 29 | */ 30 | -------------------------------------------------------------------------------- /scripted/src/scripts/data/database/type.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileOverview Database item type definition. 3 | * @author David Huynh 4 | * @author Ryan Lee 5 | */ 6 | 7 | /** 8 | * Represents an item type. 9 | * 10 | * @public 11 | * @constructor 12 | * @class 13 | * @param {String} id Item type identifier. 14 | */ 15 | Exhibit.Database.Type = function(id) { 16 | this._id = id; 17 | this._custom = {}; 18 | }; 19 | 20 | /** 21 | * Returns the item type identifier. 22 | * 23 | * @returns {String} The item type identifier. 24 | */ 25 | Exhibit.Database.Type.prototype.getID = function() { 26 | return this._id; 27 | }; 28 | 29 | /** 30 | * Returns the item type URI. 31 | * 32 | * @returns {String} The item type URI. 33 | */ 34 | Exhibit.Database.Type.prototype.getURI = function() { 35 | return this._custom["uri"]; 36 | }; 37 | 38 | /** 39 | * Returns the item type user-friendly label. 40 | * 41 | * @returns {String} The item type label. 42 | */ 43 | Exhibit.Database.Type.prototype.getLabel = function() { 44 | return this._custom["label"]; 45 | }; 46 | 47 | /** 48 | * Returns the item type origin. 49 | * 50 | * @returns {String} The item type origin. 51 | */ 52 | Exhibit.Database.Type.prototype.getOrigin = function() { 53 | return this._custom["origin"]; 54 | }; 55 | 56 | /** 57 | * Returns a custom defined item type attribute's value. 58 | * 59 | * @param {String} p The property name. 60 | * @returns {String} The item type attribute's value. 61 | */ 62 | Exhibit.Database.Type.prototype.getProperty = function(p) { 63 | return this._custom[p]; 64 | }; 65 | -------------------------------------------------------------------------------- /scripted/src/scripts/data/exporters/json.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileOverview Instance of Exhibit.Exporter for Exhibit JSON. 3 | * @author David Huynh 4 | * @author Ryan Lee 5 | */ 6 | 7 | /** 8 | * @namespace 9 | */ 10 | Exhibit.Exporter.ExhibitJSON = { 11 | _mimeType: "application/json", 12 | exporter: null 13 | }; 14 | 15 | /** 16 | * @param {String} s 17 | * @returns {String} 18 | */ 19 | Exhibit.Exporter.ExhibitJSON.wrap = function(s) { 20 | return "{\n" + 21 | " \"items\": [\n" + 22 | s + 23 | " ]\n" + 24 | "}\n"; 25 | }; 26 | 27 | /** 28 | * @param {String} s 29 | * @param {Boolean} first 30 | * @param {Boolean} last 31 | * @returns {String} 32 | */ 33 | Exhibit.Exporter.ExhibitJSON.wrapOne = function(s, first, last) { 34 | return s + (last ? "" : ",") +"\n"; 35 | }; 36 | 37 | /** 38 | * @param {String} itemID 39 | * @param {Object} o 40 | * @returns {String} 41 | * @depends JSON 42 | */ 43 | Exhibit.Exporter.ExhibitJSON.exportOne = function(itemID, o) { 44 | return JSON.stringify(o); 45 | }; 46 | 47 | /** 48 | * @private 49 | */ 50 | Exhibit.Exporter.ExhibitJSON._register = function() { 51 | Exhibit.Exporter.ExhibitJSON.exporter = new Exhibit.Exporter( 52 | Exhibit.Exporter.ExhibitJSON._mimeType, 53 | Exhibit._("%export.exhibitJsonExporterLabel"), 54 | Exhibit.Exporter.ExhibitJSON.wrap, 55 | Exhibit.Exporter.ExhibitJSON.wrapOne, 56 | Exhibit.Exporter.ExhibitJSON.exportOne 57 | ); 58 | }; 59 | 60 | Exhibit.jQuery(document).one("registerExporters.exhibit", 61 | Exhibit.Exporter.ExhibitJSON._register); 62 | -------------------------------------------------------------------------------- /scripted/demos/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Exhibit 3.0 Scripted Demonstrations 4 | 5 | 6 | 7 | 8 | 9 | 15 | 16 | 19 | 20 |
    21 |

    Browse live Exhibit examples.

    22 | 23 | 36 |
    37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /scripted/src/lib/base64.js: -------------------------------------------------------------------------------- 1 | // From https://ecmanaut.googlecode.com/svn/trunk/lib/base64.js 2 | // Based on public domain code by Tyler Akins 3 | // Original code at http://rumkin.com/tools/compression/base64.php 4 | 5 | var Base64 = (function() { 6 | function encode_base64(data) { 7 | var out = "", c1, c2, c3, e1, e2, e3, e4; 8 | for (var i = 0; i < data.length; ) { 9 | c1 = data.charCodeAt(i++); 10 | c2 = data.charCodeAt(i++); 11 | c3 = data.charCodeAt(i++); 12 | e1 = c1 >> 2; 13 | e2 = ((c1 & 3) << 4) + (c2 >> 4); 14 | e3 = ((c2 & 15) << 2) + (c3 >> 6); 15 | e4 = c3 & 63; 16 | if (isNaN(c2)) 17 | e3 = e4 = 64; 18 | else if (isNaN(c3)) 19 | e4 = 64; 20 | out += tab.charAt(e1) + tab.charAt(e2) + tab.charAt(e3) + tab.charAt(e4); 21 | } 22 | return out; 23 | } 24 | 25 | function decode_base64(data) { 26 | var out = "", c1, c2, c3, e1, e2, e3, e4; 27 | for (var i = 0; i < data.length; ) { 28 | e1 = tab.indexOf(data.charAt(i++)); 29 | e2 = tab.indexOf(data.charAt(i++)); 30 | e3 = tab.indexOf(data.charAt(i++)); 31 | e4 = tab.indexOf(data.charAt(i++)); 32 | c1 = (e1 << 2) + (e2 >> 4); 33 | c2 = ((e2 & 15) << 4) + (e3 >> 2); 34 | c3 = ((e3 & 3) << 6) + e4; 35 | out += String.fromCharCode(c1); 36 | if (e3 != 64) 37 | out += String.fromCharCode(c2); 38 | if (e4 != 64) 39 | out += String.fromCharCode(c3); 40 | } 41 | return out; 42 | } 43 | 44 | var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_="; 45 | return { encode:encode_base64, decode:decode_base64 }; 46 | })(); 47 | -------------------------------------------------------------------------------- /scripted/demos/cloud/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | SIMILE Widgets | Exhibit 3.0 | Scripted Demos | Cloud 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 18 | 19 |
    20 | 21 | 22 | 30 | 37 | 38 |
    23 |

    Exhibit 3.0 Scripted Demo: Tag clouds

    24 |
    25 | 28 |
    29 |
    39 | 40 | 41 | -------------------------------------------------------------------------------- /scripted/demos/thumbnail/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | SIMILE Widgets | Exhibit 3.0 | Scripted Demo | Thumbnail View 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 20 | 21 |
    22 | 23 | 24 | 33 | 40 | 41 |
    25 |

    Exhibit 3.0 Scripted Demo: Tag clouds

    26 |
    27 | 31 |
    32 |
    42 | 43 | 44 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/plugins/publishSrcHilite.js: -------------------------------------------------------------------------------- 1 | JSDOC.PluginManager.registerPlugin( 2 | "JSDOC.publishSrcHilite", 3 | { 4 | onPublishSrc: function(src) { 5 | if (src.path in JsHilite.cache) { 6 | return; // already generated src code 7 | } 8 | else JsHilite.cache[src.path] = true; 9 | 10 | try { 11 | var sourceCode = IO.readFile(src.path); 12 | } 13 | catch(e) { 14 | print(e.message); 15 | quit(); 16 | } 17 | 18 | var hiliter = new JsHilite(sourceCode, src.charset); 19 | src.hilited = hiliter.hilite(); 20 | } 21 | } 22 | ); 23 | 24 | function JsHilite(src, charset) { 25 | 26 | var tr = new JSDOC.TokenReader(); 27 | 28 | tr.keepComments = true; 29 | tr.keepDocs = true; 30 | tr.keepWhite = true; 31 | 32 | this.tokens = tr.tokenize(new JSDOC.TextStream(src)); 33 | 34 | // TODO is redefining toString() the best way? 35 | JSDOC.Token.prototype.toString = function() { 36 | return ""+this.data.replace(/"; 37 | } 38 | 39 | if (!charset) charset = "utf-8"; 40 | 41 | this.header = ' '+ 42 | "
    ";
    50 | 	this.footer = "
    "; 51 | this.showLinenumbers = true; 52 | } 53 | 54 | JsHilite.cache = {}; 55 | 56 | JsHilite.prototype.hilite = function() { 57 | var hilited = this.tokens.join(""); 58 | var line = 1; 59 | if (this.showLinenumbers) hilited = hilited.replace(/(^|\n)/g, function(m){return m+""+((line<10)? " ":"")+((line<100)? " ":"")+(line++)+" "}); 60 | 61 | return this.header+hilited+this.footer; 62 | } -------------------------------------------------------------------------------- /scripted/demos/thumbnail/tabled.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | SIMILE Widgets | Exhibit 3.0 | Scripted Demo | Thumbnail View 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 20 | 21 |
    22 | 23 | 24 | 33 | 40 | 41 |
    25 |

    Exhibit 3.0 Scripted Demo: Tag clouds

    26 |
    27 | 31 |
    32 |
    42 | 43 | 44 | -------------------------------------------------------------------------------- /scripted/demos/senate/styles.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: #FFFFFF; 3 | color: #222222; 4 | padding: 0; 5 | margin: 0; 6 | font-family: "Palatino"; 7 | quotes: "“" "„" "‘" "’"; 8 | } 9 | 10 | table, tr, td { 11 | font-size: inherit; 12 | } 13 | 14 | tr, td { 15 | vertical-align: top; 16 | } 17 | 18 | a:link { 19 | color: #222222; 20 | } 21 | 22 | a:visited { 23 | color: #666666; 24 | } 25 | 26 | a:hover { 27 | color: #000000; 28 | } 29 | 30 | a:active { 31 | } 32 | 33 | a:focus { 34 | } 35 | 36 | img, a img { 37 | border: medium none; 38 | } 39 | 40 | #frame { 41 | border: 0; 42 | padding: 0; 43 | margin: 0; 44 | } 45 | 46 | #frame tbody { 47 | padding: 0; 48 | margin: 0; 49 | } 50 | 51 | #sidebar { 52 | vertical-align: top; 53 | width: 20%; 54 | white-space: nowrap; 55 | background: #fff url('rotunda.jpg') top right no-repeat fixed; 56 | border-left: 1px solid #ccc; 57 | font-size: 0.8em; 58 | padding: 0; 59 | } 60 | 61 | h1 { 62 | padding: 0 0 0.5em; 63 | margin: 0; 64 | } 65 | 66 | #title-area p { 67 | padding: 0 3em; 68 | margin: 1em 0; 69 | line-height: 1.3em; 70 | } 71 | 72 | #title-area { 73 | margin-bottom: 20px; 74 | border-bottom: 1px solid #ccc; 75 | } 76 | 77 | .exhibit-facet { 78 | width: 95%; 79 | margin: 10px 2.5% 0; 80 | } 81 | 82 | #content { 83 | font-size: 0.9em; 84 | vertical-align: top; 85 | padding: 10px; 86 | background: #fed; 87 | } 88 | 89 | div.exhibit-facet-body { 90 | background: #eee; 91 | } 92 | 93 | #committee-facet div.exhibit-facet-body { 94 | height: 37em; 95 | } 96 | 97 | #sponsors-facet div.exhibit-facet-body, 98 | #cosponsors-facet div.exhibit-facet-body, 99 | #bill-committee-facet div.exhibit-facet-body, 100 | #represents-facet div.exhibit-facet-body, 101 | #party-facet div.exhibit-facet-body { 102 | height: 6em; 103 | } 104 | 105 | .exhibit-facet-header { 106 | background: #eee; 107 | } -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/frame/Hash.js: -------------------------------------------------------------------------------- 1 | /** 2 | @constructor 3 | @example 4 | var _index = new Hash(); 5 | _index.set("a", "apple"); 6 | _index.set("b", "blue"); 7 | _index.set("c", "coffee"); 8 | 9 | for (var p = _index.first(); p; p = _index.next()) { 10 | print(p.key+" is for "+p.value); 11 | } 12 | 13 | */ 14 | var Hash = function() { 15 | this._map = {}; 16 | this._keys = []; 17 | this._vals = []; 18 | this.reset(); 19 | } 20 | 21 | Hash.prototype.set = function(k, v) { 22 | if (k != "") { 23 | this._keys.push(k); 24 | this._map["="+k] = this._vals.length; 25 | this._vals.push(v); 26 | } 27 | } 28 | 29 | Hash.prototype.replace = function(k, k2, v) { 30 | if (k == k2) return; 31 | 32 | var offset = this._map["="+k]; 33 | this._keys[offset] = k2; 34 | if (typeof v != "undefined") this._vals[offset] = v; 35 | this._map["="+k2] = offset; 36 | delete(this._map["="+k]); 37 | } 38 | 39 | Hash.prototype.drop = function(k) { 40 | if (k != "") { 41 | var offset = this._map["="+k]; 42 | this._keys.splice(offset, 1); 43 | this._vals.splice(offset, 1); 44 | delete(this._map["="+k]); 45 | for (var p in this._map) { 46 | if (this._map[p] >= offset) this._map[p]--; 47 | } 48 | if (this._cursor >= offset && this._cursor > 0) this._cursor--; 49 | } 50 | } 51 | 52 | Hash.prototype.get = function(k) { 53 | if (k != "") { 54 | return this._vals[this._map["="+k]]; 55 | } 56 | } 57 | 58 | Hash.prototype.keys = function() { 59 | return this._keys; 60 | } 61 | 62 | Hash.prototype.hasKey = function(k) { 63 | if (k != "") { 64 | return (typeof this._map["="+k] != "undefined"); 65 | } 66 | } 67 | 68 | Hash.prototype.values = function() { 69 | return this._vals; 70 | } 71 | 72 | Hash.prototype.reset = function() { 73 | this._cursor = 0; 74 | } 75 | 76 | Hash.prototype.first = function() { 77 | this.reset(); 78 | return this.next(); 79 | } 80 | 81 | Hash.prototype.next = function() { 82 | if (this._cursor++ < this._keys.length) 83 | return {key: this._keys[this._cursor-1], value: this._vals[this._cursor-1]}; 84 | } -------------------------------------------------------------------------------- /scripted/src/scripts/data/exporters/tsv.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileOverview Instance of Exhibit.Exporter for tab-separated values. 3 | * @author David Huynh 4 | * @author Ryan Lee 5 | */ 6 | 7 | /** 8 | * @namespace 9 | */ 10 | Exhibit.Exporter.TSV = { 11 | _mimeType: "text/tab-separated-values", 12 | exporter: null 13 | }; 14 | 15 | /** 16 | * @param {String} s 17 | * @param {Exhibit.Database} database 18 | * @returns {String} 19 | */ 20 | Exhibit.Exporter.TSV.wrap = function(s, database) { 21 | var header, i, allProperties, propertyID, property, valueType; 22 | 23 | header = ""; 24 | 25 | allProperties = database.getAllProperties(); 26 | for (i = 0; i < allProperties.length; i++) { 27 | propertyID = allProperties[i]; 28 | property = database.getProperty(propertyID); 29 | valueType = property.getValueType(); 30 | header += propertyID + ":" + valueType + "\t"; 31 | } 32 | 33 | return header + "\n" + s; 34 | }; 35 | 36 | /** 37 | * @param {String} s 38 | * @returns {String} 39 | */ 40 | Exhibit.Exporter.TSV.wrapOne = function(s, first, last) { 41 | return s + "\n"; 42 | }; 43 | 44 | /** 45 | * @param {String} itemID 46 | * @param {Object} o 47 | * @returns {String} 48 | */ 49 | Exhibit.Exporter.TSV.exportOne = function(itemID, o) { 50 | var prop, s = ""; 51 | 52 | for (prop in o) { 53 | if (o.hasOwnProperty(prop)) { 54 | s += o[prop].join("; ") + "\t"; 55 | } 56 | } 57 | 58 | return s; 59 | }; 60 | 61 | /** 62 | * @private 63 | */ 64 | Exhibit.Exporter.TSV._register = function() { 65 | Exhibit.Exporter.TSV.exporter = new Exhibit.Exporter( 66 | Exhibit.Exporter.TSV._mimeType, 67 | Exhibit._("%export.tsvExporterLabel"), 68 | Exhibit.Exporter.TSV.wrap, 69 | Exhibit.Exporter.TSV.wrapOne, 70 | Exhibit.Exporter.TSV.exportOne 71 | ); 72 | }; 73 | 74 | Exhibit.jQuery(document).one("registerExporters.exhibit", 75 | Exhibit.Exporter.TSV._register); 76 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/templates/jsdoc/allfiles.tmpl: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | {! Link.base = ""; /* all generated links will be relative to this */ !} 7 | JsDoc Reference - File Index 8 | 9 | 10 | 13 | 14 | 15 | 16 | {+include("static/header.html")+} 17 | 18 |
    19 | {+publish.classesIndex+} 20 |
    21 | 22 |
    23 |

    File Index

    24 | 25 | 26 |
    27 |

    {+new Link().toSrc(item.alias).withText(item.name)+}

    28 | {+resolveLinks(item.desc)+} 29 |
    30 | 31 |
    Author:
    32 |
    {+item.author+}
    33 |
    34 | 35 |
    Version:
    36 |
    {+item.version+}
    37 |
    38 | {! var locations = item.comment.getTag('location').map(function($){return $.toString().replace(/(^\$ ?| ?\$$)/g, '').replace(/^HeadURL: https:/g, 'http:');}) !} 39 | 40 |
    Location:
    41 | 42 |
    {+location+}
    43 |
    44 |
    45 |
    46 |
    47 |
    48 |
    49 | 50 |
    51 |
    52 | ©{+JSDOC.opt.D.copyright+}
    53 | Documentation generated by JsDoc Toolkit {+JSDOC.VERSION+} on {+new Date()+} 54 |
    55 | 56 | -------------------------------------------------------------------------------- /scripted/demos/history/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | padding: 0; 4 | font-family: "Verdana", sans-serif; 5 | } 6 | 7 | #header { 8 | padding: 1%; 9 | } 10 | 11 | h1 { 12 | margin: 0; 13 | font-size: 1em; 14 | } 15 | 16 | .title-panel p { 17 | font-size: 0.75em; 18 | } 19 | 20 | div.exhibit-facet-header-filterControl { 21 | width: 3em; 22 | } 23 | 24 | #sidebar1, #sidebar2, #sidebar3, #sidebar4, #sidebar5 { 25 | float: left; 26 | width: 19%; 27 | margin: 0 1% 0 0; 28 | font-size: 0.9em; 29 | } 30 | 31 | #f1 .exhibit-facet-body, 32 | #f5 .exhibit-facet-body { 33 | height: 3.7em; 34 | overflow: auto; 35 | } 36 | 37 | #f2 .exhibit-facet-body, 38 | #f3 .exhibit-facet-body, 39 | #f6 .exhibit-facet-body, 40 | #f9 .exhibit-facet-body, 41 | #f10 .exhibit-facet-body, 42 | #f11 .exhibit-facet-body, 43 | #f14 .exhibit-facet-body, 44 | #f15 .exhibit-facet-body, 45 | #f16 .exhibit-facet-body, 46 | #f17 .exhibit-facet-body, 47 | #f20 .exhibit-facet-body, 48 | #f23 .exhibit-facet-body, 49 | #f25 .exhibit-facet-body, 50 | #f26 .exhibit-facet-body, 51 | #f12 .exhibit-facet-body { 52 | height: 5.6em; 53 | overflow: auto; 54 | } 55 | 56 | #f7 .exhibit-facet-body, 57 | #f13 .exhibit-facet-body, 58 | #f18 .exhibit-facet-body, 59 | #f19 .exhibit-facet-body, 60 | #f21 .exhibit-facet-body, 61 | #f22 .exhibit-facet-body, 62 | #f8 .exhibit-facet-body { 63 | height: 7.5em; 64 | overflow: auto; 65 | } 66 | 67 | #f24 .exhibit-facet-body, 68 | #f4 .exhibit-facet-body { 69 | height: 9.4em; 70 | overflow: auto; 71 | } 72 | 73 | #candidates { 74 | padding: 0 15%; 75 | width: 70%; 76 | clear: both; 77 | border-top: 1px solid #555; 78 | border-bottom: 1px solid #555; 79 | background: #eee; 80 | } 81 | 82 | span.exhibit-facet-header-title { 83 | font-weight: normal; 84 | font-family: "Tahoma"; 85 | font-size: 1.1em; 86 | } 87 | 88 | .exhibit-ui-protection div.candidate { 89 | padding: 0 5px 5px 0; 90 | } 91 | 92 | .candidate .name { 93 | font-size: 1.2em; 94 | } 95 | 96 | .candidate .party { 97 | font-size: 0.9em; 98 | color: #555; 99 | } 100 | 101 | #footer { 102 | text-align: center; 103 | } 104 | -------------------------------------------------------------------------------- /scripted/src/scripts/ui/widgets/logo.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileOverview 3 | * @author David Huynh 4 | * @author Ryan Lee 5 | */ 6 | 7 | /** 8 | * @constructor 9 | * @class 10 | * @param {Element} elmt 11 | * @param {Exhibit._Impl} exhibit 12 | */ 13 | Exhibit.Logo = function(elmt, exhibit) { 14 | this._exhibit = exhibit; 15 | this._elmt = elmt; 16 | this._color = "Silver"; 17 | }; 18 | 19 | /** 20 | * @static 21 | * @param {Object} configuration 22 | * @param {Element} elmt 23 | * @param {Exhibit._Impl} exhibit 24 | * @returns {Exhibit.Logo} 25 | */ 26 | Exhibit.Logo.create = function(configuration, elmt, exhibit) { 27 | var logo; 28 | 29 | logo = new Exhibit.Logo(elmt, exhibit); 30 | 31 | if (typeof configuration.color !== "undefined") { 32 | logo._color = configuration.color; 33 | } 34 | 35 | logo._initializeUI(); 36 | return logo; 37 | }; 38 | 39 | /** 40 | * @static 41 | * @param {Element} elmt 42 | * @param {Exhibit._Impl} exhibit 43 | * @returns {Exhibit.Logo} 44 | */ 45 | Exhibit.Logo.createFromDOM = function(elmt, exhibit) { 46 | var logo, color; 47 | logo = new Exhibit.Logo(elmt, exhibit); 48 | 49 | color = Exhibit.getAttribute(elmt, "color"); 50 | if (color !== null && color.length > 0) { 51 | logo._color = color; 52 | } 53 | 54 | logo._initializeUI(); 55 | return logo; 56 | }; 57 | 58 | /** 59 | * 60 | */ 61 | Exhibit.Logo.prototype.dispose = function() { 62 | this._elmt = null; 63 | this._exhibit = null; 64 | }; 65 | 66 | /** 67 | * @private 68 | */ 69 | Exhibit.Logo.prototype._initializeUI = function() { 70 | var logoURL, img, id, a; 71 | 72 | logoURL = Exhibit.urlPrefix + "images/logos/exhibit-small-" + this._color + ".png"; 73 | img = Exhibit.jQuery.simileBubble("createTranslucentImage", logoURL); 74 | id = "exhibit-logo-image"; 75 | if (Exhibit.jQuery('#' + id).length === 0) { 76 | Exhibit.jQuery(img).attr("id", id); 77 | } 78 | a = Exhibit.jQuery("") 79 | .attr("href", Exhibit.exhibitLink) 80 | .attr("title", Exhibit.exhibitLink) 81 | .attr("targe", "_blank") 82 | .append(img); 83 | 84 | Exhibit.jQuery(this._elmt).append(a); 85 | }; 86 | -------------------------------------------------------------------------------- /scripted/src/scripts/data/expression/collection.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileOverview 3 | * @author David Huynh 4 | * @author Ryan Lee 5 | */ 6 | 7 | /** 8 | * @class 9 | * @constructor 10 | * @param {Array|Exhibit.Set} values 11 | * @param {String} valueType 12 | */ 13 | Exhibit.Expression._Collection = function(values, valueType) { 14 | this._values = values; 15 | this.valueType = valueType; 16 | 17 | if (values instanceof Array) { 18 | this.forEachValue = Exhibit.Expression._Collection._forEachValueInArray; 19 | this.getSet = Exhibit.Expression._Collection._getSetFromArray; 20 | this.contains = Exhibit.Expression._Collection._containsInArray; 21 | this.size = values.length; 22 | } else { 23 | this.forEachValue = Exhibit.Expression._Collection._forEachValueInSet; 24 | this.getSet = Exhibit.Expression._Collection._getSetFromSet; 25 | this.contains = Exhibit.Expression._Collection._containsInSet; 26 | this.size = values.size(); 27 | } 28 | }; 29 | 30 | /** 31 | * @param {Function} f 32 | */ 33 | Exhibit.Expression._Collection._forEachValueInSet = function(f) { 34 | this._values.visit(f); 35 | }; 36 | 37 | /** 38 | * @param {Function} f 39 | */ 40 | Exhibit.Expression._Collection._forEachValueInArray = function(f) { 41 | var a, i; 42 | a = this._values; 43 | for (i = 0; i < a.length; i++) { 44 | if (f(a[i])) { 45 | break; 46 | } 47 | } 48 | }; 49 | 50 | /** 51 | * @returns {Exhibit.Set} 52 | */ 53 | Exhibit.Expression._Collection._getSetFromSet = function() { 54 | return this._values; 55 | }; 56 | 57 | /** 58 | * @returns {Exhibit.Set} 59 | */ 60 | Exhibit.Expression._Collection._getSetFromArray = function() { 61 | return new Exhibit.Set(this._values); 62 | }; 63 | 64 | /** 65 | * @param {String|Number} v 66 | * @returns {Boolean} 67 | */ 68 | Exhibit.Expression._Collection._containsInSet = function(v) { 69 | return this._values.contains(v); 70 | }; 71 | 72 | /** 73 | * @param {String|Number} v 74 | * @returns {Boolean} 75 | */ 76 | Exhibit.Expression._Collection._containsInArray = function(v) { 77 | var a, i; 78 | a = this._values; 79 | for (i = 0; i < a.length; i++) { 80 | if (a[i] === v) { 81 | return true; 82 | } 83 | } 84 | return false; 85 | }; 86 | -------------------------------------------------------------------------------- /scripted/LICENSE-AUDIT.txt: -------------------------------------------------------------------------------- 1 | Build Tools 2 | =========== 3 | 4 | Rhino 5 | ----- 6 | * ftp://ftp.mozilla.org/pub/mozilla.org/js/rhino1_7R2.zip 7 | * 1.7R2 8 | * MPL 1.1 9 | * scripted/tools/rhino/js.jar 10 | 11 | Env.js 12 | ------ 13 | * https://github.com/envjs/env-js 14 | * 1.2 15 | * dual GPLv2/MIT 16 | * scripted/lib/env.rhino.js 17 | 18 | QUnit 19 | ----- 20 | * http://docs.jquery.com/Qunit 21 | * derived from commit 761890a9 (one of two on April 15, 2011) 22 | * dual GPLv2/MIT 23 | * scripted/lib/qunit.{js,css} 24 | 25 | JSLint 26 | ------ 27 | * https://code.google.com/p/jslint4java/ 28 | * 2.0.1 29 | * BSD / custom? 30 | * scripted/tools/jslint4java/jslint4java.jar 31 | 32 | JsDoc Toolkit 33 | ------------- 34 | * https://code.google.com/p/jsdoc-toolkit/ 35 | * 2.4.0 36 | * MIT 37 | * scripted/tools/jsdoc-toolkit/ 38 | 39 | JsDoc Toolkit Ant Task 40 | ---------------------- 41 | * https://code.google.com/p/jsdoc-toolkit-ant-task/ 42 | * 1.1.2 43 | * Artistic License/GPLv1+ 44 | * scripted/tools/jsdoc-toolkit-ant/ 45 | 46 | YUI Compressor 47 | -------------- 48 | * http://developer.yahoo.com/yui/compressor/ 49 | * 2.4.6 50 | * BSD 51 | * scripted/tools/yuicompressor/ 52 | 53 | YUI Compressor Ant Task 54 | ----------------------- 55 | * https://code.google.com/p/javaflight-code/wiki/YuiCompressorAntTask 56 | * 0.5 57 | * Apache 2.0 58 | * scripted/tools/yuicompressor-ant/ 59 | 60 | Software Libraries 61 | ================== 62 | 63 | LAB.js 64 | ------ 65 | * http://getify.github.com/LABjs/ 66 | * 2.0.3 67 | * MIT 68 | * scripted/src/lib/LAB.min.js 69 | 70 | jQuery 71 | ------ 72 | * http://jquery.com/ 73 | * 1.7.1 74 | * dual GPLv2/MIT 75 | * scripted/src/lib/jquery.min.js 76 | 77 | History.js 78 | ---------- 79 | * https://github.com/balupton/History.js 80 | * 1.7.1 81 | * BSD 82 | * scripted/src/lib/jquery.history.js 83 | 84 | JSON2.js 85 | -------- 86 | * https://github.com/douglascrockford/JSON-js 87 | * Public Domain 88 | * scripted/src/lib/json2.js 89 | 90 | base64.js 91 | --------- 92 | * https://ecmanaut.googlecode.com/svn/trunk/lib/base64.js 93 | * Public Domain 94 | * scripted/src/lib/base64.js 95 | 96 | sprintf.js 97 | ---------- 98 | * http://www.diveintojavascript.com/projects/javascript-sprintf 99 | * Modified BSD 100 | * scripted/src/lib/sprintf.js 101 | -------------------------------------------------------------------------------- /scripted/src/extensions/map/scripts/painter.js: -------------------------------------------------------------------------------- 1 | Exhibit.MapExtension.Painter = {}; 2 | 3 | /** 4 | * @param {Numeric} width 5 | * @param {Numeric} height 6 | * @param {String} color 7 | * @param {String} label 8 | * @param {String} iconURL 9 | * @param {Numeric} iconSize 10 | * @param {Object} settings 11 | */ 12 | Exhibit.MapExtension.Painter.makeIcon = function(width, height, color, label, iconURL, iconSize, settings) { 13 | var imageParameters, shadowParameters, pinParameters, pinHeight, pinHalfWidth; 14 | 15 | if (iconSize > 0) { 16 | width = iconSize; 17 | height = iconSize; 18 | settings.pin = false; 19 | } 20 | 21 | imageParameters = [ 22 | "renderer=map-marker", 23 | "shape=" + settings.shape, 24 | "alpha=" + settings.shapeAlpha, 25 | "width=" + width, 26 | "height=" + height, 27 | "background=" + color.substr(1), 28 | "label=" + label 29 | ]; 30 | shadowParameters = [ 31 | "renderer=map-marker-shadow", 32 | "shape=" + settings.shape, 33 | "width=" + width, 34 | "height=" + height 35 | ]; 36 | pinParameters = []; 37 | if (settings.pin && iconSize <= 0) { 38 | pinHeight = settings.pinHeight; 39 | pinHalfWidth = Math.ceil(settings.pinWidth / 2); 40 | 41 | pinParameters.push("pinHeight=" + pinHeight); 42 | pinParameters.push("pinWidth=" + (pinHalfWidth * 2)); 43 | } else { 44 | pinParameters.push("pin=false"); 45 | } 46 | 47 | if (iconURL !== null) { 48 | imageParameters.push("icon=" + iconURL); 49 | if (settings.iconFit !== "smaller") { 50 | imageParameters.push("iconFit=" + settings.iconFit); 51 | } 52 | if (settings.iconScale !== 1) { 53 | imageParameters.push("iconScale=" + settings.iconScale); 54 | } 55 | if (settings.iconOffsetX !== 1) { 56 | imageParameters.push("iconX=" + settings.iconOffsetX); 57 | } 58 | if (settings.iconOffsetY !== 1) { 59 | imageParameters.push("iconY=" + settings.iconOffsetY); 60 | } 61 | } 62 | 63 | return { 64 | "iconURL": Exhibit.MapExtension.markerUrlPrefix + imageParameters.concat(pinParameters).join("&") + "&.png", 65 | "shadowURL": Exhibit.MapExtension.markerUrlPrefix + shadowParameters.concat(pinParameters).join("&") + "&.png" 66 | }; 67 | }; 68 | -------------------------------------------------------------------------------- /scripted/src/scripts/data/exporters/semantic-wikitext.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileOverview Instance of Exhibit.Exporter for Semantic MediaWiki text. 3 | * @author David Huynh 4 | * @author Ryan Lee 5 | */ 6 | 7 | /** 8 | * @namespace 9 | */ 10 | Exhibit.Exporter.SemanticWikiText = { 11 | _type: "semantic-mediawiki", 12 | exporter: null 13 | }; 14 | 15 | /** 16 | * @param {String} s 17 | * @param {Exhibit.Database} database 18 | * @returns {String} 19 | */ 20 | Exhibit.Exporter.SemanticWikiText.wrap = function(s, database) { 21 | return s; 22 | }; 23 | 24 | /** 25 | * @param {String} s 26 | * @returns {String} 27 | */ 28 | Exhibit.Exporter.SemanticWikiText.wrapOne = function(s, first, last) { 29 | return s + "\n"; 30 | }; 31 | 32 | /** 33 | * @param {String} itemID 34 | * @param {Object} o 35 | * @param {Object} properties 36 | * @returns {String} 37 | */ 38 | Exhibit.Exporter.SemanticWikiText.exportOne = function(itemID, o, properties) { 39 | var uri, prop, valueType, values, i, s = ""; 40 | 41 | uri = o.uri; 42 | s += uri + "\n"; 43 | 44 | for (prop in o) { 45 | if (o.hasOwnProperty(prop) && typeof properties[prop] !== "undefined") { 46 | valueType = properties[prop].valueType; 47 | values = o[prop]; 48 | if (valueType === "item") { 49 | for (i = 0; i < values.length; i++) { 50 | s += "[[" + prop + "::" + values[i] + "]]\n"; 51 | } 52 | } else { 53 | for (i = 0; i < values.length; i++) { 54 | s += "[[" + prop + ":=" + values[i] + "]]\n"; 55 | } 56 | } 57 | } 58 | } 59 | 60 | s += "[[origin:=" + Exhibit.Persistence.getItemLink(itemID) + "]]\n\n"; 61 | 62 | return s; 63 | }; 64 | 65 | /** 66 | * @private 67 | */ 68 | Exhibit.Exporter.SemanticWikiText._register = function() { 69 | Exhibit.Exporter.SemanticWikiText.exporter = new Exhibit.Exporter( 70 | Exhibit.Exporter.SemanticWikiText._type, 71 | Exhibit._("%export.smwExporterLabel"), 72 | Exhibit.Exporter.SemanticWikiText.wrap, 73 | Exhibit.Exporter.SemanticWikiText.wrapOne, 74 | Exhibit.Exporter.SemanticWikiText.exportOne 75 | ); 76 | }; 77 | 78 | Exhibit.jQuery(document).one("registerExporters.exhibit", 79 | Exhibit.Exporter.SemanticWikiText._register); 80 | -------------------------------------------------------------------------------- /scripted/tests/util/persistence.js: -------------------------------------------------------------------------------- 1 | module("Exhibit.Persistence"); 2 | 3 | test("getBaseURL", function() { 4 | expect(6); 5 | 6 | equal(Exhibit.Persistence.getBaseURL(""), document.location.href.substr(0, document.location.href.lastIndexOf("/")+1), "Base of empty string"); 7 | equal(Exhibit.Persistence.getBaseURL("index.html"), document.location.href.substr(0, document.location.href.lastIndexOf("/")+1), "Base of relative path relative URL"); 8 | equal(Exhibit.Persistence.getBaseURL(""), document.location.href.substr(0, document.location.href.lastIndexOf("/")+1), "Base of empty string"); 9 | equal(Exhibit.Persistence.getBaseURL("/"), document.location.protocol + "//" + document.location.host + "/", "Base of absolute path relative URL"); 10 | equal(Exhibit.Persistence.getBaseURL("http://example.com/path/file"), "http://example.com/path/", "Base of absolute URL"); 11 | equal(Exhibit.Persistence.getBaseURL("http://example.com/path/file?query#hash"), "http://example.com/path/", "Base of absolute URL with query and hash"); 12 | }); 13 | 14 | test("resolveURL", function() { 15 | expect(3); 16 | 17 | equal(Exhibit.Persistence.resolveURL("http://example.com/path/"), "http://example.com/path/", "Resolve absolute URL"); 18 | equal(Exhibit.Persistence.resolveURL("/path/"), document.location.protocol + "//" + document.location.host + "/path/", "Resolve absolute path relative URL"); 19 | equal(Exhibit.Persistence.resolveURL("file"), document.location.href.substr(0, document.location.href.lastIndexOf("/")+1) + "file", "Resolve relative path relative URL"); 20 | }); 21 | 22 | test("getURLWithoutQueryAndHash", function() { 23 | //expect(); 24 | 25 | // A bit difficult to test properly, depends on document.location value 26 | // which, as of this writing, does not include a query or hash. 27 | }); 28 | 29 | test("getURLWithoutQuery", function() { 30 | //expect(); 31 | 32 | // A bit difficult to test properly, depends on document.location value 33 | // which, as of this writing, does not include a query or hash. 34 | }); 35 | 36 | test("getItemLink", function() { 37 | expect(2); 38 | 39 | // depends on getURLWithoutQueryAndHash working 40 | var url = Exhibit.Persistence.getURLWithoutQueryAndHash(); 41 | 42 | equal(Exhibit.Persistence.getItemLink("A"), url + "#A", "Item link for item A"); 43 | equal(Exhibit.Persistence.getItemLink("A&B"), url + "#A%26B", "Item link for item A&B"); 44 | }); 45 | -------------------------------------------------------------------------------- /scripted/src/scripts/data/exporters/bibtex.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileOverview Instance of Exhibit.Exporter for BibTex. 3 | * @author David Huynh 4 | * @author Ryan Lee 5 | */ 6 | 7 | /** 8 | * @namespace 9 | */ 10 | Exhibit.Exporter.BibTex = { 11 | /** 12 | * @private 13 | * @constant 14 | */ 15 | _excludeProperties: { 16 | "pub-type": true, 17 | "type": true, 18 | "uri": true, 19 | "key": true 20 | }, 21 | _mimeType: "application/x-bibtex", 22 | exporter: null 23 | }; 24 | 25 | /** 26 | * @param {String} s 27 | * @returns {String} 28 | */ 29 | Exhibit.Exporter.BibTex.wrap = function(s) { 30 | return s; 31 | }; 32 | 33 | /** 34 | * @param {String} s 35 | * @returns {String} 36 | */ 37 | Exhibit.Exporter.BibTex.wrapOne = function(s, first, last) { 38 | return s + "\n"; 39 | }; 40 | 41 | /** 42 | * @param {String} itemID 43 | * @param {Object} o 44 | * @returns {String} 45 | */ 46 | Exhibit.Exporter.BibTex.exportOne = function(itemID, o) { 47 | var type, key, prop, s = ""; 48 | 49 | if (typeof o["pub-type"] !== "undefined") { 50 | type = o["pub-type"]; 51 | } else if (typeof o.type !== "undefined") { 52 | type = o.type; 53 | } 54 | 55 | if (typeof o.key !== "undefined") { 56 | key = o.key; 57 | } else { 58 | key = itemID; 59 | } 60 | 61 | key = key.replace(/[\s,]/g, "-"); 62 | 63 | s += "@" + type + "{" + key + ",\n"; 64 | 65 | for (prop in o) { 66 | if (o.hasOwnProperty(prop)) { 67 | if (typeof Exhibit.Exporter.BibTex._excludeProperties[prop] === "undefined") { 68 | s += "\t" + (prop === "label" ? 69 | "title" : 70 | prop) + " = \""; 71 | s += o[prop].join(" and ") + "\",\n"; 72 | } 73 | } 74 | } 75 | 76 | s += "\torigin = \"" + Exhibit.Persistence.getItemLink(itemID) + "\"\n"; 77 | s += "}\n"; 78 | 79 | return s; 80 | }; 81 | 82 | /** 83 | * @private 84 | */ 85 | Exhibit.Exporter.BibTex._register = function() { 86 | Exhibit.Exporter.BibTex.exporter = new Exhibit.Exporter( 87 | Exhibit.Exporter.BibTex._mimeType, 88 | Exhibit._("%export.bibtexExporterLabel"), 89 | Exhibit.Exporter.BibTex.wrap, 90 | Exhibit.Exporter.BibTex.wrapOne, 91 | Exhibit.Exporter.BibTex.exportOne 92 | ); 93 | }; 94 | 95 | Exhibit.jQuery(document).one("registerExporters.exhibit", 96 | Exhibit.Exporter.BibTex._register); 97 | -------------------------------------------------------------------------------- /scripted/src/styles/util/views.css: -------------------------------------------------------------------------------- 1 | /*================================================== 2 | * Common styles for views 3 | *================================================== 4 | */ 5 | div.exhibit-views-unplottableMessage { 6 | padding: 1em; 7 | text-align: center; 8 | } 9 | .exhibit-views-unplottableCount { 10 | font-weight: bold; 11 | } 12 | .exhibit-views-totalCount { 13 | } 14 | 15 | div.exhibit-views-bubbleWithItems { 16 | } 17 | 18 | div.exhibit-collectionView { 19 | } 20 | 21 | div.exhibit-collectionView-header { 22 | } 23 | span.exhibit-collectionView-header-count { 24 | font-size: 200%; 25 | } 26 | span.exhibit-collectionView-header-types { 27 | padding-left: 0.5em; 28 | } 29 | span.exhibit-collectionView-header-details { 30 | padding-left: 0.5em; 31 | color: #888; 32 | } 33 | div.exhibit-collectionView-header-sortControls { 34 | text-align: center; 35 | margin: 1em 0; 36 | } 37 | .exhibit-collectionView-header-groupControls { 38 | cursor: pointer; 39 | } 40 | .exhibit-collectionView-header-duplicateControls { 41 | cursor: pointer; 42 | } 43 | 44 | div.exhibit-collectionView-body { 45 | } 46 | 47 | div.exhibit-collectionView-group { 48 | } 49 | 50 | span.exhibit-collectionView-group-count { 51 | } 52 | 53 | div.exhibit-collectionView-group-content { 54 | margin-left: 1em; 55 | } 56 | 57 | div.exhibit-collectionView-group h1 { 58 | font-size: 150%; 59 | margin: 1em 0; 60 | } 61 | 62 | div.exhibit-collectionView-group h2 { 63 | font-size: 120%; 64 | margin: 0.5em 0; 65 | } 66 | 67 | .exhibit-collectionView-group h3 { 68 | } 69 | 70 | div.exhibit-collectionView-footer { 71 | clear: both; 72 | text-align: center; 73 | margin: 2em 0; 74 | } 75 | 76 | div.exhibit-collectionView-pagingControls { 77 | margin: 1em 0; 78 | text-align: center; 79 | } 80 | 81 | .exhibit-collectionView-pagingControls-currentPage { 82 | padding: 0px 0.5em; 83 | font-weight: bold; 84 | } 85 | 86 | .exhibit-collectionView-pagingControls-page { 87 | padding: 0px 0.5em; 88 | } 89 | 90 | ul.exhibit-collectionView-pagingControls { 91 | clear: both; 92 | margin: 2em 0; 93 | text-align: center; 94 | } 95 | 96 | ul.exhibit-collectionView-pagingControls li { 97 | list-style-type: none; 98 | display: inline; 99 | } 100 | 101 | ul.exhibit-collectionView-pagingControls li a { 102 | border: 1px solid #90C2E1; 103 | background: #DFEDF7; 104 | padding: 2px 5px; 105 | text-decoration: none; 106 | } 107 | -------------------------------------------------------------------------------- /scripted/src/scripts/util/util.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author David Huynh 3 | * @author Ryan Lee 4 | * @fileOverview Base for Exhibit utilities and native datatype modifications. 5 | */ 6 | 7 | /** 8 | * @namespace For Exhibit utility classes and methods. 9 | */ 10 | Exhibit.Util = {}; 11 | 12 | /** 13 | * Round a number n to the nearest multiple of precision (any positive value), 14 | * such as 5000, 0.1 (one decimal), 1e-12 (twelve decimals), or 1024 (if you'd 15 | * want "to the nearest kilobyte" -- so round(66000, 1024) == "65536"). You are 16 | * also guaranteed to get the precision you ask for, so round(0, 0.1) == "0.0". 17 | * 18 | * @static 19 | * @param {Number} n Original number. 20 | * @param {Number} [precision] Rounding bucket, by default 1. 21 | * @returns {String} Rounded number into the nearest bucket at the bucket's 22 | * precision, in a form readable by users. 23 | */ 24 | Exhibit.Util.round = function(n, precision) { 25 | var lg; 26 | precision = precision || 1; 27 | lg = Math.floor( Math.log(precision) / Math.log(10) ); 28 | n = (Math.round(n / precision) * precision).toString(); 29 | if (lg >= 0) { 30 | return parseInt(n, 10).toString(); 31 | } 32 | 33 | lg = -lg; 34 | return parseFloat(n).toFixed(lg); 35 | }; 36 | 37 | /** 38 | * Modify the native String type. 39 | */ 40 | (function() { 41 | if (typeof String.prototype.trim === "undefined") { 42 | /** 43 | * Removes leading and trailing spaces. 44 | * 45 | * @returns {String} Trimmed string. 46 | */ 47 | String.prototype.trim = function() { 48 | return this.replace(/^\s+|\s+$/g, ''); 49 | }; 50 | } 51 | 52 | if (typeof String.prototype.startsWith === "undefined") { 53 | /** 54 | * Test if a string begins with a prefix. 55 | * 56 | * @param {String} prefix Prefix to check. 57 | * @returns {Boolean} True if string starts with prefix, false if not. 58 | */ 59 | String.prototype.startsWith = function(prefix) { 60 | return this.length >= prefix.length && this.substr(0, prefix.length) === prefix; 61 | }; 62 | } 63 | 64 | if (typeof String.prototype.endsWith === "undefined") { 65 | /** 66 | * Test if a string ends with a suffix. 67 | * 68 | * @param {String} suffix Suffix to check. 69 | * @returns {Boolean} True if string ends with suffix, false if not. 70 | */ 71 | String.prototype.endsWith = function(suffix) { 72 | return this.length >= suffix.length && this.substr(this.length - suffix.length) === suffix; 73 | }; 74 | } 75 | }()); 76 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/app/frame/String.js: -------------------------------------------------------------------------------- 1 | /** 2 | @name String 3 | @class Additions to the core string object. 4 | */ 5 | 6 | /** @author Steven Levithan, released as public domain. */ 7 | String.prototype.trim = function() { 8 | var str = this.replace(/^\s+/, ''); 9 | for (var i = str.length - 1; i >= 0; i--) { 10 | if (/\S/.test(str.charAt(i))) { 11 | str = str.substring(0, i + 1); 12 | break; 13 | } 14 | } 15 | return str; 16 | } 17 | /*t: 18 | plan(6, "Testing String.prototype.trim."); 19 | 20 | var s = " a bc ".trim(); 21 | is(s, "a bc", "multiple spaces front and back are trimmed."); 22 | 23 | s = "a bc\n\n".trim(); 24 | is(s, "a bc", "newlines only in back are trimmed."); 25 | 26 | s = "\ta bc".trim(); 27 | is(s, "a bc", "tabs only in front are trimmed."); 28 | 29 | s = "\n \t".trim(); 30 | is(s, "", "an all-space string is trimmed to empty."); 31 | 32 | s = "a b\nc".trim(); 33 | is(s, "a b\nc", "a string with no spaces in front or back is trimmed to itself."); 34 | 35 | s = "".trim(); 36 | is(s, "", "an empty string is trimmed to empty."); 37 | 38 | */ 39 | 40 | String.prototype.balance = function(open, close) { 41 | var i = 0; 42 | while (this.charAt(i) != open) { 43 | if (i == this.length) return [-1, -1]; 44 | i++; 45 | } 46 | 47 | var j = i+1; 48 | var balance = 1; 49 | while (j < this.length) { 50 | if (this.charAt(j) == open) balance++; 51 | if (this.charAt(j) == close) balance--; 52 | if (balance == 0) break; 53 | j++; 54 | if (j == this.length) return [-1, -1]; 55 | } 56 | 57 | return [i, j]; 58 | } 59 | /*t: 60 | plan(16, "Testing String.prototype.balance."); 61 | 62 | var s = "{abc}".balance("{","}"); 63 | is(s[0], 0, "opener in first is found."); 64 | is(s[1], 4, "closer in last is found."); 65 | 66 | s = "ab{c}de".balance("{","}"); 67 | is(s[0], 2, "opener in middle is found."); 68 | is(s[1], 4, "closer in middle is found."); 69 | 70 | s = "a{b{c}de}f".balance("{","}"); 71 | is(s[0], 1, "nested opener is found."); 72 | is(s[1], 8, "nested closer is found."); 73 | 74 | s = "{}".balance("{","}"); 75 | is(s[0], 0, "opener with no content is found."); 76 | is(s[1], 1, "closer with no content is found."); 77 | 78 | s = "".balance("{","}"); 79 | is(s[0], -1, "empty string opener is -1."); 80 | is(s[1], -1, "empty string closer is -1."); 81 | 82 | s = "{abc".balance("{","}"); 83 | is(s[0], -1, "opener with no closer returns -1."); 84 | is(s[1], -1, "no closer returns -1."); 85 | 86 | s = "abc".balance("{","}"); 87 | is(s[0], -1, "no opener or closer returns -1 for opener."); 88 | is(s[1], -1, "no opener or closer returns -1 for closer."); 89 | 90 | s = "a 0) { 13 | this.push(valueLinks[0], "//"); 14 | for (var i = 1, l = valueLinks.length; i < l; i+=2) { 15 | this.push(valueLinks[i+1], valueLinks[i]); 16 | } 17 | } 18 | } 19 | 20 | Chain.prototype.push = function(o, link) { 21 | if (this.nodes.length > 0 && link) this.nodes.push(new ChainNode(o, link)); 22 | else this.nodes.push(new ChainNode(o)); 23 | } 24 | 25 | Chain.prototype.unshift = function(o, link) { 26 | if (this.nodes.length > 0 && link) this.nodes[0].link = link; 27 | this.nodes.unshift(new ChainNode(o)); 28 | this.cursor++; 29 | } 30 | 31 | Chain.prototype.get = function() { 32 | if (this.cursor < 0 || this.cursor > this.nodes.length-1) return null; 33 | return this.nodes[this.cursor]; 34 | } 35 | 36 | Chain.prototype.first = function() { 37 | this.cursor = 0; 38 | return this.get(); 39 | } 40 | 41 | Chain.prototype.last = function() { 42 | this.cursor = this.nodes.length-1; 43 | return this.get(); 44 | } 45 | 46 | Chain.prototype.next = function() { 47 | this.cursor++; 48 | return this.get(); 49 | } 50 | 51 | Chain.prototype.prev = function() { 52 | this.cursor--; 53 | return this.get(); 54 | } 55 | 56 | Chain.prototype.toString = function() { 57 | var string = ""; 58 | for (var i = 0, l = this.nodes.length; i < l; i++) { 59 | if (this.nodes[i].link) string += " -("+this.nodes[i].link+")-> "; 60 | string += this.nodes[i].value.toString(); 61 | } 62 | return string; 63 | } 64 | 65 | Chain.prototype.joinLeft = function() { 66 | var result = ""; 67 | for (var i = 0, l = this.cursor; i < l; i++) { 68 | if (result && this.nodes[i].link) result += this.nodes[i].link; 69 | result += this.nodes[i].value.toString(); 70 | } 71 | return result; 72 | } 73 | 74 | 75 | /* USAGE: 76 | 77 | var path = "one/two/three.four/five-six"; 78 | var pathChain = new Chain(path.split(/([\/.-])/)); 79 | print(pathChain); 80 | 81 | var lineage = new Chain(); 82 | lineage.push("Port"); 83 | lineage.push("Les", "son"); 84 | lineage.push("Dawn", "daughter"); 85 | lineage.unshift("Purdie", "son"); 86 | 87 | print(lineage); 88 | 89 | // walk left 90 | for (var node = lineage.last(); node !== null; node = lineage.prev()) { 91 | print("< "+node.value); 92 | } 93 | 94 | // walk right 95 | var node = lineage.first() 96 | while (node !== null) { 97 | print(node.value); 98 | node = lineage.next(); 99 | if (node && node.link) print("had a "+node.link+" named"); 100 | } 101 | 102 | */ -------------------------------------------------------------------------------- /scripted/src/lib/json2.js: -------------------------------------------------------------------------------- 1 | var JSON;JSON||(JSON={}),function(){function str(a,b){var c,d,e,f,g=gap,h,i=b[a];i&&typeof i=="object"&&typeof i.toJSON=="function"&&(i=i.toJSON(a)),typeof rep=="function"&&(i=rep.call(b,a,i));switch(typeof i){case"string":return quote(i);case"number":return isFinite(i)?String(i):"null";case"boolean":case"null":return String(i);case"object":if(!i)return"null";gap+=indent,h=[];if(Object.prototype.toString.apply(i)==="[object Array]"){f=i.length;for(c=0;cRyan Lee 5 | */ 6 | 7 | /** 8 | * @constructor 9 | * @class 10 | * @param {Exhibit.UIContext} uiContext 11 | */ 12 | Exhibit.Coordinator = function(uiContext) { 13 | this._uiContext = uiContext; 14 | this._listeners = []; 15 | }; 16 | 17 | /** 18 | * @static 19 | * @param {Object} configuration 20 | * @param {Exhibit.UIContext} uiContext 21 | * @returns {Exhibit.Coordinator} 22 | */ 23 | Exhibit.Coordinator.create = function(configuration, uiContext) { 24 | return new Exhibit.Coordinator(uiContext); 25 | }; 26 | 27 | /** 28 | * @static 29 | * @param {Element} div 30 | * @param {Exhibit.UIContext} uiContext 31 | * @returns {Exhibit.Coordinator} 32 | */ 33 | Exhibit.Coordinator.createFromDOM = function(div, uiContext) { 34 | return new Exhibit.Coordinator(Exhibit.UIContext.createFromDOM(div, uiContext, false)); 35 | }; 36 | 37 | /** 38 | * 39 | */ 40 | Exhibit.Coordinator.prototype.dispose = function() { 41 | this._uiContext.dispose(); 42 | this._uiContext = null; 43 | }; 44 | 45 | /** 46 | * @param {Function} callback 47 | * @returns {Exhibit.Coordinator._Listener} 48 | */ 49 | Exhibit.Coordinator.prototype.addListener = function(callback) { 50 | var listener = new Exhibit.Coordinator._Listener(this, callback); 51 | this._listeners.push(listener); 52 | 53 | return listener; 54 | }; 55 | 56 | /** 57 | * @param {Exhibit.Coordinator._Listener} listener 58 | */ 59 | Exhibit.Coordinator.prototype._removeListener = function(listener) { 60 | var i; 61 | for (i = 0; i < this._listeners.length; i++) { 62 | if (this._listeners[i] === listener) { 63 | this._listeners.splice(i, 1); 64 | return; 65 | } 66 | } 67 | }; 68 | 69 | /** 70 | * @param {Exhibit.Coordinator._Listener} listener 71 | * @param {Object} o 72 | */ 73 | Exhibit.Coordinator.prototype._fire = function(listener, o) { 74 | var i, listener2; 75 | for (i = 0; i < this._listeners.length; i++) { 76 | listener2 = this._listeners[i]; 77 | if (listener2 !== listener) { 78 | listener2._callback(o); 79 | } 80 | } 81 | }; 82 | 83 | /** 84 | * @constructor 85 | * @class 86 | * @param {Exhibit.Coordinator} coordinator 87 | * @param {Function} callback 88 | */ 89 | Exhibit.Coordinator._Listener = function(coordinator, callback) { 90 | this._coordinator = coordinator; 91 | this._callback = callback; 92 | }; 93 | 94 | /** 95 | */ 96 | Exhibit.Coordinator._Listener.prototype.dispose = function() { 97 | this._coordinator._removeListener(this); 98 | }; 99 | 100 | /** 101 | * @param {Object} o 102 | */ 103 | Exhibit.Coordinator._Listener.prototype.fire = function(o) { 104 | this._coordinator._fire(this, o); 105 | }; 106 | -------------------------------------------------------------------------------- /scripted/tools/jsdoc-toolkit/templates/jsdoc/static/default.css: -------------------------------------------------------------------------------- 1 | /* default.css */ 2 | body 3 | { 4 | font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif; 5 | width: 800px; 6 | } 7 | 8 | .header 9 | { 10 | clear: both; 11 | background-color: #ccc; 12 | padding: 8px; 13 | } 14 | 15 | h1 16 | { 17 | font-size: 150%; 18 | font-weight: bold; 19 | padding: 0; 20 | margin: 1em 0 0 .3em; 21 | } 22 | 23 | hr 24 | { 25 | border: none 0; 26 | border-top: 1px solid #7F8FB1; 27 | height: 1px; 28 | } 29 | 30 | pre.code 31 | { 32 | display: block; 33 | padding: 8px; 34 | border: 1px dashed #ccc; 35 | } 36 | 37 | #index 38 | { 39 | margin-top: 24px; 40 | float: left; 41 | width: 160px; 42 | position: absolute; 43 | left: 8px; 44 | background-color: #F3F3F3; 45 | padding: 8px; 46 | } 47 | 48 | #content 49 | { 50 | margin-left: 190px; 51 | width: 600px; 52 | } 53 | 54 | .classList 55 | { 56 | list-style-type: none; 57 | padding: 0; 58 | margin: 0 0 0 8px; 59 | font-family: arial, sans-serif; 60 | font-size: 1em; 61 | overflow: auto; 62 | } 63 | 64 | .classList li 65 | { 66 | padding: 0; 67 | margin: 0 0 8px 0; 68 | } 69 | 70 | .summaryTable { width: 100%; } 71 | 72 | h1.classTitle 73 | { 74 | font-size:170%; 75 | line-height:130%; 76 | } 77 | 78 | h2 { font-size: 110%; } 79 | caption, div.sectionTitle 80 | { 81 | background-color: #7F8FB1; 82 | color: #fff; 83 | font-size:130%; 84 | text-align: left; 85 | padding: 2px 6px 2px 6px; 86 | border: 1px #7F8FB1 solid; 87 | } 88 | 89 | div.sectionTitle { margin-bottom: 8px; } 90 | .summaryTable thead { display: none; } 91 | 92 | .summaryTable td 93 | { 94 | vertical-align: top; 95 | padding: 4px; 96 | border-bottom: 1px #7F8FB1 solid; 97 | border-right: 1px #7F8FB1 solid; 98 | } 99 | 100 | /*col#summaryAttributes {}*/ 101 | .summaryTable td.attributes 102 | { 103 | border-left: 1px #7F8FB1 solid; 104 | width: 140px; 105 | text-align: right; 106 | } 107 | 108 | td.attributes, .fixedFont 109 | { 110 | line-height: 15px; 111 | color: #002EBE; 112 | font-family: "Courier New",Courier,monospace; 113 | font-size: 13px; 114 | } 115 | 116 | .summaryTable td.nameDescription 117 | { 118 | text-align: left; 119 | font-size: 13px; 120 | line-height: 15px; 121 | } 122 | 123 | .summaryTable td.nameDescription, .description 124 | { 125 | line-height: 15px; 126 | padding: 4px; 127 | padding-left: 4px; 128 | } 129 | 130 | .summaryTable { margin-bottom: 8px; } 131 | 132 | ul.inheritsList 133 | { 134 | list-style: square; 135 | margin-left: 20px; 136 | padding-left: 0; 137 | } 138 | 139 | .detailList { 140 | margin-left: 20px; 141 | line-height: 15px; 142 | } 143 | .detailList dt { margin-left: 20px; } 144 | 145 | .detailList .heading 146 | { 147 | font-weight: bold; 148 | padding-bottom: 6px; 149 | margin-left: 0; 150 | } 151 | 152 | .light, td.attributes, .light a:link, .light a:visited 153 | { 154 | color: #777; 155 | font-style: italic; 156 | } 157 | 158 | .fineprint 159 | { 160 | text-align: right; 161 | font-size: 10px; 162 | } -------------------------------------------------------------------------------- /scripted/src/scripts/ui/widgets/resizable-div-widget.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileOverview Resizable element widget 3 | * @author David Huynh 4 | * @author Ryan Lee 5 | */ 6 | 7 | /** 8 | * @param {Object} configuration 9 | * @param {Element} elmt 10 | * @param {Exhibit.UIContext} uiContext 11 | */ 12 | Exhibit.ResizableDivWidget = function(configuration, elmt, uiContext) { 13 | this._div = elmt; 14 | this._configuration = configuration; 15 | if (typeof configuration.minHeight === "undefined") { 16 | configuration.minHeight = 10; // pixels 17 | } 18 | this._dragging = false; 19 | this._height = null; 20 | this._origin = null; 21 | this._ondrag = null; 22 | 23 | this._initializeUI(); 24 | }; 25 | 26 | /** 27 | * @param {Object} configuration 28 | * @param {Element} elmt 29 | * @param {Exhibit.UIContext} uiContext 30 | * @returns {Exhibit.ResizableDivWidget} 31 | */ 32 | Exhibit.ResizableDivWidget.create = function(configuration, elmt, uiContext) { 33 | return new Exhibit.ResizableDivWidget(configuration, elmt, uiContext); 34 | }; 35 | 36 | /** 37 | * 38 | */ 39 | Exhibit.ResizableDivWidget.prototype.dispose = function() { 40 | Exhibit.jQuery(this._div).empty(); 41 | this._contentDiv = null; 42 | this._resizerDiv = null; 43 | this._div = null; 44 | }; 45 | 46 | /** 47 | * @returns {Element} 48 | */ 49 | Exhibit.ResizableDivWidget.prototype.getContentDiv = function() { 50 | return this._contentDiv; 51 | }; 52 | 53 | /** 54 | * 55 | */ 56 | Exhibit.ResizableDivWidget.prototype._initializeUI = function() { 57 | var self = this; 58 | 59 | Exhibit.jQuery(this._div).html( 60 | "
    " + 61 | '
    ' + 62 | Exhibit.UI.createTranslucentImageHTML("images/down-arrow.png") + 63 | "
    "); 64 | 65 | this._contentDiv = Exhibit.jQuery(this._div).children().get(0); 66 | this._resizerDiv = Exhibit.jQuery(this._div).children().get(1); 67 | 68 | Exhibit.jQuery(this._resizerDiv).bind("mousedown", function(evt) { 69 | self._dragging = true; 70 | self._height = Exhibit.jQuery(self._contentDiv).height(); 71 | self._origin = { "x": evt.pageX, "y": evt.pageY }; 72 | 73 | self._ondrag = function(evt2) { 74 | var height = self._height + evt2.pageY - self._origin.y; 75 | evt.preventDefault(); 76 | evt.stopPropagation(); 77 | Exhibit.jQuery(self._contentDiv).height(Math.max( 78 | height, 79 | self._configuration.minHeight 80 | )); 81 | }; 82 | Exhibit.jQuery(document).bind("mousemove", self._ondrag); 83 | 84 | self._dragdone = function(evt) { 85 | self._dragging = false; 86 | Exhibit.jQuery(document).unbind("mousemove", self._ondrag); 87 | if (typeof self._configuration.onResize === "function") { 88 | self._configuration.onResize(); 89 | } 90 | }; 91 | Exhibit.jQuery(self._resizerDiv).one("mouseup", self._dragdone); 92 | }); 93 | }; 94 | -------------------------------------------------------------------------------- /scripted/src/scripts/data/importers/babel-based.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @fileOverview Babel service-based data conversion and import. 3 | * @author David Huynh 4 | * @author Ryan Lee 5 | */ 6 | 7 | /** 8 | * @namespace 9 | */ 10 | Exhibit.Importer.BabelBased = { 11 | _importer: null, 12 | 13 | _mimeTypeToReader: { 14 | "application/rdf+xml" : "rdf-xml", 15 | "application/n3" : "n3", 16 | 17 | "application/msexcel" : "xls", 18 | "application/x-msexcel" : "xls", 19 | "application/x-ms-excel" : "xls", 20 | "application/vnd.ms-excel" : "xls", 21 | "application/x-excel" : "xls", 22 | "application/xls" : "xls", 23 | "application/x-xls" : "xls", 24 | 25 | "application/x-bibtex" : "bibtex" 26 | }, 27 | 28 | _translatorPrefix: (typeof Exhibit.babelPrefix !== "undefined") ? 29 | Exhibit.babelPrefix + "translator?" : 30 | undefined 31 | }; 32 | 33 | /** 34 | * @param {String} url 35 | * @param {Object} s 36 | * @param {Function} callback 37 | */ 38 | Exhibit.Importer.BabelBased.parse = function(url, s, callback) { 39 | if (typeof callback === "function") { 40 | callback(s); 41 | } 42 | }; 43 | 44 | /** 45 | * @param {String} url 46 | * @param {String} mimeType 47 | * @returns {String} 48 | */ 49 | Exhibit.Importer.BabelBased.makeURL = function(url, mimeType) { 50 | if (typeof Exhibit.Importer.BabelBased._translatorPrefix === "undefined") { 51 | return null; 52 | } 53 | 54 | var reader, writer; 55 | reader = Exhibit.Importer.BabelBased._defaultReader; 56 | writer = Exhibit.Importer.BabelBased._defaultWriter; 57 | 58 | if (typeof Exhibit.Importer.BabelBased._mimeTypeToReader[mimeType] !== "undefined") { 59 | reader = Exhibit.Importer.BabelBased._mimeTypeToReader[mimeType]; 60 | } 61 | 62 | if (reader === "bibtex") { 63 | writer = "bibtex-exhibit-jsonp"; 64 | } 65 | 66 | return Exhibit.Importer.BabelBased._translatorPrefix + [ 67 | "reader=" + reader, 68 | "writer=" + writer, 69 | "url=" + encodeURIComponent(url) 70 | ].join("&"); 71 | }; 72 | 73 | /** 74 | * @private 75 | * @static 76 | * @param {jQuery.Event} evt 77 | * @param {Exhibit.Registry} reg 78 | */ 79 | Exhibit.Importer.BabelBased._register = function(evt, reg) { 80 | if (typeof Exhibit.Importer.BabelBased._translatorPrefix === "undefined") { 81 | return; 82 | } 83 | 84 | var types, type; 85 | types = []; 86 | for (type in Exhibit.Importer.BabelBased._mimeTypeToReader) { 87 | if (Exhibit.Importer.BabelBased._mimeTypeToReader.hasOwnProperty(type)) { 88 | types.push(type); 89 | } 90 | } 91 | 92 | Exhibit.Importer.BabelBased._importer = new Exhibit.Importer( 93 | types, 94 | "babel", 95 | Exhibit.Importer.BabelBased.parse 96 | ); 97 | }; 98 | 99 | Exhibit.jQuery(document).one( 100 | "registerImporters.exhibit", 101 | Exhibit.Importer.BabelBased._register 102 | ); 103 | --------------------------------------------------------------------------------