Changes Exhibit in space Macros

From Version 101.1
edited by NielsMayer.com Administrator
on Aug 13, 2009 19:51:01 GMT-08:00
To Version 105.1
edited by NielsMayer.com Administrator
on Aug 13, 2009 20:23:45 GMT-08:00
Change comment: final trunkbug workaround is to not load exhibit-bundle.js and exhibit-bundle.css; instead, call SimileAjax.prefixURLs(scriptURLs, Exhibit.urlPrefix + "scripts/", javascriptFiles); SimileAjax.prefixURLs(cssURLs, Exhibit.urlPrefix + "styles/", cssFiles);
Metadata changes
PropertyVersion 101.1Version 105.1
There are no metadata changes
Content changes
Attachment changes
FilenameAction
There are no attachment changes
Comment changes
There are no comment changes
Object Changes
PropertyVersion 101.1Version 105.1
code of class XWiki.JavaScriptExtension /****************************************************************************** * XWiki.JavaScriptExtension[0]: JavaScript Utilities for Exhibit * Copyright (C) 2009, Niels Mayer. All Rights Reserved. http://nielsmayer.com ******************************************************************************/ /**************************************************************************** * Called out of XWiki.JavaScriptExtension[2]:onLoadExhibit() via macro * #exhibit_create(). This allows overriding existing Exhibit code by * importing another Macro/Document after Macros.Exhibit to redefine * addExhibitInterceptorsAndOverides(), e.g.: * #includeMacros("Macros.Exhibit")## * #exhibit_xwiki_init()## * #includeMacros("Macros.ExhibitInterceptorsJS")## * #exhibitinterceptors_xwiki_init()## ****************************************************************************/ function addExhibitInterceptorsAndOverides() { } /****************************************************************************** * XWiki.JavaScriptExtension[0]: JavaScript Utilities for Exhibit * Copyright (C) 2009, Niels Mayer. All Rights Reserved. http://nielsmayer.com ******************************************************************************/ /**************************************************************************** * Called out of XWiki.JavaScriptExtension[2]:onLoadExhibit() via macro * #exhibit_create(). This allows overriding existing Exhibit code by * importing another Macro/Document after Macros.Exhibit to redefine * addExhibitInterceptorsAndOverides(), e.g.: * #includeMacros("Macros.Exhibit")## * #exhibit_xwiki_init()## * #includeMacros("Macros.ExhibitInterceptorsJS")## * #exhibitinterceptors_xwiki_init()## ****************************************************************************/ function addExhibitInterceptorsAndOverides() { }
code of class XWiki.JavaScriptExtension /****************************************************************************** * XWiki.JavaScriptExtension[1]: modified exhibit-api.js: must define JS vars * 'exhibit_views' and 'exhibit_gmapkey' prior to calling $xwiki.jsx.use(). * Original from http://static.simile.mit.edu/exhibit/api-2.0/exhibit-api.js . * Copyright (C) 2009, Niels Mayer. All Rights Reserved. http://nielsmayer.com ******************************************************************************/ /* note: vars exhibit_views, exhibit_gmapkey defined/set by exhibit_xwiki_init() */ (function() { var useLocalResources = true; // NPM: set to true to use trunk.simile-widgets.org rather than default api.simile-widgets.org */ var loadMe = function() { if (typeof window.Exhibit != "undefined") { return; } window.Exhibit = { version: "NPM wrapped trunk pre 2.3.0", loaded: false, params: { bundle: false, authenticated: false, autoCreate: false, safe: false, views: exhibit_views, gmapkey: exhibit_gmapkey }, namespace: "http://simile.mit.edu/2006/11/exhibit#", importers: {}, locales: [ "en" ] }; var javascriptFiles = [ "exhibit.js", "persistence.js", "authentication.js", "util/set.js", "util/util.js", "util/settings.js", "util/views.js", "util/facets.js", "util/coders.js", "data/database.js", "data/expression.js", "data/expression-parser.js", "data/functions.js", "data/controls.js", "data/collection.js", "data/importers/authenticated-importer.js", "data/importers/exhibit-json-importer.js", "data/importers/html-table-importer.js", "data/importers/jsonp-importer.js", "data/importers/babel-based-importer.js", "data/importers/rdfa-importer.js", "data/exporters/rdf-xml-exporter.js", "data/exporters/semantic-wikitext-exporter.js", "data/exporters/exhibit-json-exporter.js", "data/exporters/tsv-exporter.js", "data/exporters/bibtex-exporter.js", "data/exporters/facet-selection-exporter.js", "ui/ui.js", "ui/ui-context.js", "ui/lens.js", "ui/format-parser.js", "ui/formatter.js", "ui/coordinator.js", "ui/facets/list-facet.js", "ui/facets/numeric-range-facet.js", "ui/facets/text-search-facet.js", "ui/facets/cloud-facet.js", "ui/facets/hierarchical-facet.js", "ui/facets/image-facet.js", "ui/facets/slider-facet.js", "ui/facets/slider.js", "ui/facets/alpha-range-facet.js", "ui/coders/color-coder.js", "ui/coders/default-color-coder.js", "ui/coders/color-gradient-coder.js", "ui/coders/size-coder.js", "ui/coders/size-gradient-coder.js", "ui/coders/icon-coder.js", "ui/widgets/logo.js", "ui/widgets/collection-summary-widget.js", "ui/widgets/resizable-div-widget.js", "ui/widgets/legend-widget.js", "ui/widgets/legend-gradient-widget.js", "ui/widgets/option-widget.js", "ui/widgets/toolbox-widget.js", "ui/views/view-panel.js", "ui/views/ordered-view-frame.js", "ui/views/tile-view.js", "ui/views/thumbnail-view.js", "ui/views/tabular-view.js", "ui/views/html-view.js" ]; var cssFiles = [ "exhibit.css", "browse-panel.css", "lens.css", "util/facets.css", "util/views.css", "widgets/collection-summary-widget.css", "widgets/resizable-div-widget.css", "widgets/legend-widget.css", "widgets/option-widget.css", "widgets/toolbox-widget.css", "views/view-panel.css", "views/tile-view.css", "views/thumbnail-view.css", "views/tabular-view.css" ]; var includeMap = false; var includeTimeline = false; var defaultClientLocales = ("language" in navigator ? navigator.language : navigator.browserLanguage).split(";"); for (var l = 0; l < defaultClientLocales.length; l++) { var locale = defaultClientLocales[l]; if (locale != "en") { var segments = locale.split("-"); if (segments.length > 1 && segments[0] != "en") { Exhibit.locales.push(segments[0]); } Exhibit.locales.push(locale); } } var paramTypes = { bundle:Boolean, js:Array, css:Array, autoCreate:Boolean, safe:Boolean }; if (typeof Exhibit_urlPrefix == "string") { Exhibit.urlPrefix = Exhibit_urlPrefix; } else { Exhibit.urlPrefix = "http://api.simile-widgets.org/exhibit/2.2.0/"; } if (useLocalResources) { Exhibit.urlPrefix = "http://trunk.simile-widgets.org/exhibit/api/"; } // NPM: added... if ("Exhibit_parameters" in window) { SimileAjax.parseURLParameters(Exhibit_parameters, Exhibit.params, paramTypes); } if (Exhibit.params.locale) { // ISO-639 language codes, // optional ISO-3166 country codes (2 characters) if (Exhibit.params.locale != "en") { var segments = Exhibit.params.locale.split("-"); if (segments.length > 1 && segments[0] != "en") { Exhibit.locales.push(segments[0]); } Exhibit.locales.push(Exhibit.params.locale); } } if (Exhibit.params.gmapkey) { includeMap = true; } if (Exhibit.params.views) { var views = Exhibit.params.views.split(","); for (var j = 0; j < views.length; j++) { var view = views[j]; if (view == "timeline") { includeTimeline = true; } else if (view == "map") { includeMap = true; } } } var scriptURLs = Exhibit.params.js || []; var cssURLs = Exhibit.params.css || []; /* * Core scripts and styles */ if (true) { scriptURLs.push(Exhibit.urlPrefix + "exhibit-bundle.js"); cssURLs.push(Exhibit.urlPrefix + "exhibit-bundle.css"); } else { SimileAjax.prefixURLs(scriptURLs, Exhibit.urlPrefix + "scripts/", javascriptFiles); SimileAjax.prefixURLs(cssURLs, Exhibit.urlPrefix + "styles/", cssFiles); } /* * Localization */ for (var i = 0; i < Exhibit.locales.length; i++) { scriptURLs.push(Exhibit.urlPrefix + "locales/" + Exhibit.locales[i] + "/locale.js"); }; if (Exhibit.params.callback) { window.SimileAjax_onLoad = function() { eval(Exhibit.params.callback + "()"); } } else if (Exhibit.params.autoCreate) { scriptURLs.push(Exhibit.urlPrefix + "scripts/create.js"); } /* * Extensions (for backward compatibility) */ if (includeTimeline) { scriptURLs.push(Exhibit.urlPrefix + "extensions/time/time-extension.js"); } if (includeMap) { scriptURLs.push(Exhibit.urlPrefix + "extensions/map/map-extension.js"); } SimileAjax.includeJavascriptFiles(document, "", scriptURLs); SimileAjax.includeCssFiles(document, "", cssURLs); Exhibit.loaded = true; }; /* * Load SimileAjax if it's not already loaded */ if (typeof SimileAjax == "undefined") { window.SimileAjax_onLoad = loadMe; var url = useLocalResources ? "http://trunk.simile-widgets.org/ajax/api/simile-ajax-api.js?bundle=true" : "http://api.simile-widgets.org/ajax/2.2.1/simile-ajax-api.js?bundle=true"; var createScriptElement = function() { var script = document.createElement("script"); script.type = "text/javascript"; script.language = "JavaScript"; script.src = url; document.getElementsByTagName("head")[0].appendChild(script); }; if (document.body == null) { try { document.write(""); } catch (e) { createScriptElement(); } } else { createScriptElement(); } } else { loadMe(); } })(); /****************************************************************************** * XWiki.JavaScriptExtension[1]: modified exhibit-api.js: must define JS vars * 'exhibit_views' and 'exhibit_gmapkey' prior to calling $xwiki.jsx.use(). * Original from http://static.simile.mit.edu/exhibit/api-2.0/exhibit-api.js . * Copyright (C) 2009, Niels Mayer. All Rights Reserved. http://nielsmayer.com ******************************************************************************/ /* note: vars exhibit_views, exhibit_gmapkey defined/set by exhibit_xwiki_init() */ (function() { var useLocalResources = true; // NPM: set to true to use trunk.simile-widgets.org rather than default api.simile-widgets.org */ var loadMe = function() { if (typeof window.Exhibit != "undefined") { return; } window.Exhibit = { version: "NPM wrapped trunk pre 2.3.0", loaded: false, params: { bundle: true, authenticated: false, autoCreate: false, safe: false, views: exhibit_views, gmapkey: exhibit_gmapkey }, namespace: "http://simile.mit.edu/2006/11/exhibit#", importers: {}, locales: [ "en" ] }; var javascriptFiles = [ "exhibit.js", "persistence.js", "authentication.js", "util/set.js", "util/util.js", "util/settings.js", "util/views.js", "util/facets.js", "util/coders.js", "data/database.js", "data/expression.js", "data/expression-parser.js", "data/functions.js", "data/controls.js", "data/collection.js", "data/importers/authenticated-importer.js", "data/importers/exhibit-json-importer.js", "data/importers/html-table-importer.js", "data/importers/jsonp-importer.js", "data/importers/babel-based-importer.js", "data/importers/rdfa-importer.js", "data/exporters/rdf-xml-exporter.js", "data/exporters/semantic-wikitext-exporter.js", "data/exporters/exhibit-json-exporter.js", "data/exporters/tsv-exporter.js", "data/exporters/bibtex-exporter.js", "data/exporters/facet-selection-exporter.js", "ui/ui.js", "ui/ui-context.js", "ui/lens.js", "ui/format-parser.js", "ui/formatter.js", "ui/coordinator.js", "ui/facets/list-facet.js", "ui/facets/numeric-range-facet.js", "ui/facets/text-search-facet.js", "ui/facets/cloud-facet.js", "ui/facets/hierarchical-facet.js", "ui/facets/image-facet.js", "ui/facets/slider-facet.js", "ui/facets/slider.js", "ui/facets/alpha-range-facet.js", "ui/coders/color-coder.js", "ui/coders/default-color-coder.js", "ui/coders/color-gradient-coder.js", "ui/coders/size-coder.js", "ui/coders/size-gradient-coder.js", "ui/coders/icon-coder.js", "ui/widgets/logo.js", "ui/widgets/collection-summary-widget.js", "ui/widgets/resizable-div-widget.js", "ui/widgets/legend-widget.js", "ui/widgets/legend-gradient-widget.js", "ui/widgets/option-widget.js", "ui/widgets/toolbox-widget.js", "ui/views/view-panel.js", "ui/views/ordered-view-frame.js", "ui/views/tile-view.js", "ui/views/thumbnail-view.js", "ui/views/tabular-view.js", "ui/views/html-view.js" ]; var cssFiles = [ "exhibit.css", "browse-panel.css", "lens.css", "util/facets.css", "util/views.css", "widgets/collection-summary-widget.css", "widgets/resizable-div-widget.css", "widgets/legend-widget.css", "widgets/option-widget.css", "widgets/toolbox-widget.css", "views/view-panel.css", "views/tile-view.css", "views/thumbnail-view.css", "views/tabular-view.css" ]; var includeMap = false; var includeTimeline = false; var defaultClientLocales = ("language" in navigator ? navigator.language : navigator.browserLanguage).split(";"); for (var l = 0; l < defaultClientLocales.length; l++) { var locale = defaultClientLocales[l]; if (locale != "en") { var segments = locale.split("-"); if (segments.length > 1 && segments[0] != "en") { Exhibit.locales.push(segments[0]); } Exhibit.locales.push(locale); } } var paramTypes = { bundle:Boolean, js:Array, css:Array, autoCreate:Boolean, safe:Boolean }; if (typeof Exhibit_urlPrefix == "string") { Exhibit.urlPrefix = Exhibit_urlPrefix; } else { Exhibit.urlPrefix = "http://api.simile-widgets.org/exhibit/2.2.0/"; } if (useLocalResources) { Exhibit.urlPrefix = "http://trunk.simile-widgets.org/exhibit/api/"; } // NPM: added... if ("Exhibit_parameters" in window) { SimileAjax.parseURLParameters(Exhibit_parameters, Exhibit.params, paramTypes); } if (Exhibit.params.locale) { // ISO-639 language codes, // optional ISO-3166 country codes (2 characters) if (Exhibit.params.locale != "en") { var segments = Exhibit.params.locale.split("-"); if (segments.length > 1 && segments[0] != "en") { Exhibit.locales.push(segments[0]); } Exhibit.locales.push(Exhibit.params.locale); } } if (Exhibit.params.gmapkey) { includeMap = true; } if (Exhibit.params.views) { var views = Exhibit.params.views.split(","); for (var j = 0; j < views.length; j++) { var view = views[j]; if (view == "timeline") { includeTimeline = true; } else if (view == "map") { includeMap = true; } } } var scriptURLs = Exhibit.params.js || []; var cssURLs = Exhibit.params.css || []; /* * Core scripts and styles */ if (false) { /* NPM-trunkbug-workaround: was "if(true)" */ scriptURLs.push(Exhibit.urlPrefix + "exhibit-bundle.js"); cssURLs.push(Exhibit.urlPrefix + "exhibit-bundle.css"); } else { SimileAjax.prefixURLs(scriptURLs, Exhibit.urlPrefix + "scripts/", javascriptFiles); SimileAjax.prefixURLs(cssURLs, Exhibit.urlPrefix + "styles/", cssFiles); } /* * Localization */ for (var i = 0; i < Exhibit.locales.length; i++) { scriptURLs.push(Exhibit.urlPrefix + "locales/" + Exhibit.locales[i] + "/locale.js"); }; if (Exhibit.params.callback) { window.SimileAjax_onLoad = function() { eval(Exhibit.params.callback + "()"); } } else if (Exhibit.params.autoCreate) { scriptURLs.push(Exhibit.urlPrefix + "scripts/create.js"); } /* * Extensions (for backward compatibility) */ if (includeTimeline) { scriptURLs.push(Exhibit.urlPrefix + "extensions/time/time-extension.js"); } if (includeMap) { scriptURLs.push(Exhibit.urlPrefix + "extensions/map/map-extension.js"); } SimileAjax.includeJavascriptFiles(document, "", scriptURLs); SimileAjax.includeCssFiles(document, "", cssURLs); Exhibit.loaded = true; }; /* * Load SimileAjax if it's not already loaded */ if (typeof SimileAjax == "undefined") { window.SimileAjax_onLoad = loadMe; var url = useLocalResources ? "http://trunk.simile-widgets.org/ajax/api/simile-ajax-api.js?bundle=true" : "http://api.simile-widgets.org/ajax/2.2.1/simile-ajax-api.js?bundle=true"; var createScriptElement = function() { var script = document.createElement("script"); script.type = "text/javascript"; script.language = "JavaScript"; script.src = url; document.getElementsByTagName("head")[0].appendChild(script); }; if (document.body == null) { try { document.write(""); } catch (e) { createScriptElement(); } } else { createScriptElement(); } } else { loadMe(); } })();
code of class XWiki.JavaScriptExtension /****************************************************************************** * XWiki.JavaScriptExtension[2]: onLoadExhibit() -- called from macro * #exhibit_create() to initialize Exhibit database from JSON 'data' and * dynamically build UI. * Copyright (C) 2009, Niels Mayer. All Rights Reserved. http://nielsmayer.com ******************************************************************************/ function onLoadExhibit() { SimileAjax.jQuery(document).ready(function() { addExhibitInterceptorsAndOverides(); var fDone = function() { window.exhibit = Exhibit.create(); // window.exhibit.createBusyIndicator(); window.exhibit.configureFromDOM(); }; try { var s = Exhibit.getAttribute(document.body, "ondataload"); if (s != null && typeof s == "string" && s.length > 0) { fDone = function() { var f = eval(s); if (typeof f == "function") { f.call(); } } } } catch (e) { /* silent */ }; var fLoadSubmissions = function() { window.database.loadSubmissionLinks(fDone); }; window.database = Exhibit.Database.create(); window.database.loadData(data); window.database.loadDataLinks(fLoadSubmissions); }); } /****************************************************************************** * XWiki.JavaScriptExtension[2]: onLoadExhibit() -- called from macro * #exhibit_create() to initialize Exhibit database from JSON 'data' and * dynamically build UI. * Copyright (C) 2009, Niels Mayer. All Rights Reserved. http://nielsmayer.com ******************************************************************************/ function onLoadExhibit() { SimileAjax.jQuery(document).ready(function() { addExhibitInterceptorsAndOverides(); var fDone = function() { window.exhibit = Exhibit.create(); // window.exhibit.createBusyIndicator(); window.exhibit.configureFromDOM(); }; try { var s = Exhibit.getAttribute(document.body, "ondataload"); if (s != null && typeof s == "string" && s.length > 0) { fDone = function() { var f = eval(s); if (typeof f == "function") { f.call(); } } } } catch (e) { /* silent */ }; var fLoadSubmissions = function() { window.database.loadSubmissionLinks(fDone); }; window.database = Exhibit.Database.create(); window.database.loadData(data); window.database.loadDataLinks(fLoadSubmissions); }); }
code of class XWiki.StyleSheetExtension /* was: @import url("http://trunk.simile-widgets.org/styles/common.css"); */ /* ----------------------------- Base ---------------------------- */ #xwikicontent html { font-size: 62.5%; } #xwikicontent body { margin: 0px; padding: 0px; background-color: #fff; color: #222; font-family: "Lucida Grande", "Tahoma", "Helvetica", "Arial", sans-serif; font-size: 120%; quotes: "\201C" "\201E" "\2018" "\2019"; } #xwikicontent table, tr, td { font-size: inherit; } #xwikicontent tr, td { vertical-align: top; } #xwikicontent a:link { color: #222; } #xwikicontent a:visited { color: #666; } #xwikicontent a:hover { color: #000; } #xwikicontent a:active { } #xwikicontent a:focus { } #xwikicontent img, a img { border: none; } /* ----------------------------- Path ---------------------------- */ #xwikicontent #path { color: #333; background-color: #f8f8f8; border-bottom: 1px solid #ccc; padding: 3px 8px; margin: 0px; } #xwikicontent #path li { display: inline; padding-left: 13px; padding-right: 3px; background-image: url(icons/arrow.gif); background-repeat: no-repeat; background-position: 1px 5px; } #xwikicontent #path span { font-weight: bold; } /* ----------------------------- Header ---------------------------- */ #xwikicontent #header { margin: 24px 48px; } #xwikicontent #header h1 { font-size: 250%; color: #222; margin: 0; margin-bottom: 6px; } #xwikicontent #header h2 { font-size: 120%; color: #aaa; margin: 0; } /* ----------------------------- Content ---------------------------- */ #xwikicontent #content { margin: 24px 48px; } /* ----------------------------- Footer ---------------------------- */ #xwikicontent #footer { margin-top: 48px; border-top: 1px solid #ccc; padding: 6px; text-align: center; color: #888; font-size: 80%; } #xwikicontent #footer a { color: #888; } /* ----------------------------- Path ---------------------------- */ #xwikicontent table.spaced-table { border-collapse: collapse; } #xwikicontent table.spaced-table td { padding: 0; padding-left: 1em; } #xwikicontent table.spaced-table td:first-child { padding-left: 0; } #xwikicontent table.spaced-table tr td { padding-top: 1em; } #xwikicontent table.spaced-table tr:first-child td { padding-top: 0; } /* was: @import url("http://trunk.simile-widgets.org/styles/common.css"); */ /* ----------------------------- Base ---------------------------- */ #xwikicontent html { font-size: 62.5%; } #xwikicontent body { margin: 0px; padding: 0px; background-color: #fff; color: #222; font-family: "Lucida Grande", "Tahoma", "Helvetica", "Arial", sans-serif; font-size: 120%; quotes: "\201C" "\201E" "\2018" "\2019"; } #xwikicontent table, tr, td { font-size: inherit; } #xwikicontent tr, td { vertical-align: top; } #xwikicontent a:link { color: #222; } #xwikicontent a:visited { color: #666; } #xwikicontent a:hover { color: #000; } #xwikicontent a:active { } #xwikicontent a:focus { } #xwikicontent img, a img { border: none; } /* ----------------------------- Path ---------------------------- */ #xwikicontent #path { color: #333; background-color: #f8f8f8; border-bottom: 1px solid #ccc; padding: 3px 8px; margin: 0px; } #xwikicontent #path li { display: inline; padding-left: 13px; padding-right: 3px; background-image: url(icons/arrow.gif); background-repeat: no-repeat; background-position: 1px 5px; } #xwikicontent #path span { font-weight: bold; } /* ----------------------------- Header ---------------------------- */ #xwikicontent #header { margin: 24px 48px; } #xwikicontent #header h1 { font-size: 250%; color: #222; margin: 0; margin-bottom: 6px; } #xwikicontent #header h2 { font-size: 120%; color: #aaa; margin: 0; } /* ----------------------------- Content ---------------------------- */ #xwikicontent #content { margin: 24px 48px; } /* ----------------------------- Footer ---------------------------- */ #xwikicontent #footer { margin-top: 48px; border-top: 1px solid #ccc; padding: 6px; text-align: center; color: #888; font-size: 80%; } #xwikicontent #footer a { color: #888; } /* ----------------------------- Path ---------------------------- */ #xwikicontent table.spaced-table { border-collapse: collapse; } #xwikicontent table.spaced-table td { padding: 0; padding-left: 1em; } #xwikicontent table.spaced-table td:first-child { padding-left: 0; } #xwikicontent table.spaced-table tr td { padding-top: 1em; } #xwikicontent table.spaced-table tr:first-child td { padding-top: 0; }

Creator: NielsMayer.com Administrator on May 19, 2009 21:04:06 GMT-08:00
This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 1.8.17790 - Documentation