metaui.slideshow.js
90 lines
| 3.5 KiB
| application/javascript
|
JavascriptLexer
Matthias BUSSONNIER
|
r9057 | //---------------------------------------------------------------------------- | ||
// Copyright (C) 2012 The IPython Development Team | ||||
// | ||||
// Distributed under the terms of the BSD License. The full license is in | ||||
// the file COPYING, distributed as part of this software. | ||||
//---------------------------------------------------------------------------- | ||||
//============================================================================ | ||||
// MetaUI Example | ||||
//============================================================================ | ||||
/** | ||||
* Example Use for the MetaUI library | ||||
* add the following to your custom.js to load | ||||
* metadata UI for slideshow | ||||
* | ||||
* ``` | ||||
* $.getScript('/static/js/examples/metaui.slideshow.js'); | ||||
* ``` | ||||
*/ | ||||
// IIFE without asignement, we don't modifiy the IPython namespace | ||||
(function (IPython) { | ||||
"use strict"; | ||||
var MetaUI = IPython.MetaUI; | ||||
var slideshow_preset = []; | ||||
var hslide = MetaUI.utils.checkbox_ui_generator('New Section', | ||||
function(md,value){ | ||||
if (md.slideshow == undefined){md.slideshow = {}} | ||||
return md.slideshow.new_section = value}, | ||||
function(md){ var ns = md.slideshow; | ||||
return (ns == undefined)? undefined: ns.new_section}); | ||||
var vslide = MetaUI.utils.checkbox_ui_generator('New Subsection', | ||||
function(md,value){ | ||||
if (md.slideshow == undefined){md.slideshow = {}} | ||||
return md.slideshow.new_subsection = value}, | ||||
function(md){ var ns = md.slideshow; | ||||
return (ns == undefined)? undefined: ns.new_subsection}); | ||||
var fragment = MetaUI.utils.checkbox_ui_generator('New Fragment', | ||||
function(md,value){ | ||||
if (md.slideshow == undefined){md.slideshow = {}} | ||||
return md.slideshow.new_fragment = value}, | ||||
function(md){ var ns = md.slideshow; | ||||
return (ns == undefined)? undefined: ns.new_fragment}); | ||||
MetaUI.register_callback('slideshow.hslide',hslide); | ||||
MetaUI.register_callback('slideshow.vslide',vslide); | ||||
MetaUI.register_callback('slideshow.fragment',fragment); | ||||
Matthias BUSSONNIER
|
r9059 | //slideshow_preset.push('slideshow.fragment'); | ||
//slideshow_preset.push('slideshow.vslide'); | ||||
//slideshow_preset.push('slideshow.hslide'); | ||||
var select_type = MetaUI.utils.select_ui_generator([ | ||||
["-" ,undefined ], | ||||
["Header Slide" ,"header_slide" ], | ||||
["Slide" ,"slide" ], | ||||
["Fragment" ,"fragment" ], | ||||
["Skip" ,"skip" ], | ||||
], | ||||
// setter | ||||
function(metadata,value){ | ||||
// we check that the slideshow namespace exist and create it if needed | ||||
if (metadata.slideshow == undefined){metadata.slideshow = {}} | ||||
// set the value | ||||
metadata.slideshow.slide_type = value | ||||
}, | ||||
//geter | ||||
function(metadata){ var ns = metadata.slideshow; | ||||
// if the slideshow namespace does not exist return `undefined` | ||||
// (will be interpreted as `false` by checkbox) otherwise | ||||
// return the value | ||||
return (ns == undefined)? undefined: ns.slide_type | ||||
}, | ||||
"Slide Type"); | ||||
MetaUI.register_callback('slideshow.select',select_type); | ||||
slideshow_preset.push('slideshow.select'); | ||||
Matthias BUSSONNIER
|
r9057 | |||
MetaUI.register_preset('slideshow',slideshow_preset); | ||||
MetaUI.set_preset('slideshow'); | ||||
console.log('Slideshow extension for metadata editting loaded.'); | ||||
}(IPython)); | ||||