From 2fb369c72a039ed9d73321205d4bbb7868c66bcc Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Thu, 26 Apr 2018 17:47:10 +0200 Subject: [PATCH] openvidu-browser TypeDoc custom theme --- .gitignore | 1 + .../config/typedoc/custom-theme/gruntfile.js | 139 +++ .../typedoc/custom-theme/layouts/default.hbs | 1 + .../typedoc/custom-theme/partials/header.hbs | 4 +- openvidu-browser/config/typedoc/typedoc.js | 2 +- openvidu-browser/docs/assets/js/main.js | 827 +----------------- openvidu-browser/docs/assets/js/search.js | 2 +- openvidu-browser/docs/classes/connection.html | 14 +- .../docs/classes/connectionevent.html | 14 +- openvidu-browser/docs/classes/event.html | 14 +- .../docs/classes/localrecorder.html | 36 +- openvidu-browser/docs/classes/openvidu.html | 42 +- .../docs/classes/openviduerror.html | 14 +- openvidu-browser/docs/classes/publisher.html | 14 +- .../docs/classes/publisherspeakingevent.html | 14 +- .../docs/classes/recordingevent.html | 14 +- openvidu-browser/docs/classes/session.html | 14 +- .../classes/sessiondisconnectedevent.html | 14 +- .../docs/classes/signalevent.html | 14 +- openvidu-browser/docs/classes/stream.html | 14 +- .../docs/classes/streamevent.html | 14 +- openvidu-browser/docs/classes/subscriber.html | 14 +- .../docs/classes/videoelementevent.html | 14 +- .../docs/enums/localrecoderstate.html | 14 +- .../docs/enums/openviduerrorname.html | 14 +- .../docs/enums/videoinsertmode.html | 14 +- openvidu-browser/docs/index.html | 55 +- openvidu-browser/docs/interfaces/device.html | 14 +- .../docs/interfaces/eventdispatcher.html | 14 +- .../openviduadvancedconfiguration.html | 14 +- .../docs/interfaces/publisherproperties.html | 14 +- .../docs/interfaces/signaloptions.html | 14 +- .../docs/interfaces/subscriberproperties.html | 14 +- openvidu-browser/package.json | 13 +- .../src/OpenVidu/LocalRecorder.ts | 3 + openvidu-browser/src/OpenVidu/OpenVidu.ts | 6 + 36 files changed, 300 insertions(+), 1153 deletions(-) create mode 100644 openvidu-browser/config/typedoc/custom-theme/gruntfile.js diff --git a/.gitignore b/.gitignore index 4b19aeab..ef7a2314 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ nbactions.xml */.project */.classpath */.settings/* +*/.tscache/* diff --git a/openvidu-browser/config/typedoc/custom-theme/gruntfile.js b/openvidu-browser/config/typedoc/custom-theme/gruntfile.js new file mode 100644 index 00000000..f99163f4 --- /dev/null +++ b/openvidu-browser/config/typedoc/custom-theme/gruntfile.js @@ -0,0 +1,139 @@ +module.exports = function(grunt) +{ + grunt.file.setBase('../../../'); + grunt.initConfig({ + pkg: grunt.file.readJSON('package.json'), + ts: { + themeCustom: { + options: { + sourceMap: false, + module: 'amd', + basePath: 'themes', + declaration: false + }, + src: [ + 'config/typedoc/custom-theme/assets/js/src/lib/**/*.ts', + 'config/typedoc/custom-theme/assets/js/src/typedoc/Application.ts', + 'config/typedoc/custom-theme/assets/js/src/typedoc/components/**/*.ts', + 'config/typedoc/custom-theme/assets/js/src/typedoc/services/**/*.ts', + 'config/typedoc/custom-theme/assets/js/src/typedoc/utils/**/*.ts', + 'config/typedoc/custom-theme/assets/js/src/~bootstrap.ts' + ], + out: 'config/typedoc/custom-theme/assets/js/main.js' + } + }, + uglify: { + themeCustom: { + options: { + mangle: false + }, + files: { + 'config/typedoc/custom-theme/bin/default/assets/js/main.js': [ + 'config/typedoc/custom-theme/assets/js/lib/jquery-2.1.1.min.js', + 'config/typedoc/custom-theme/assets/js/lib/underscore-1.6.0.min.js', + 'config/typedoc/custom-theme/assets/js/lib/backbone-1.1.2.min.js', + 'config/typedoc/custom-theme/assets/js/lib/lunr.min.js', + 'config/typedoc/custom-theme/assets/js/main.js' + ] + } + } + }, + 'string-replace': { + themeMinimal: { + files: { + 'config/typedoc/custom-theme/bin/minimal/layouts/default.hbs': ['src/minimal/layouts/default.hbs'] + }, + options: { + replacements: [{ + pattern: /{{ CSS }}/g, + replacement: function() { + var css = grunt.file.read('bin/default/assets/css/main.css'); + return css.replace(/url\(([^\)]*)\)/g, function(match, file) { + if (match.indexOf(':') != -1) return match; + var path = require('path'), fs = require('fs'); + var file = path.resolve('bin/default/assets/css', file); + var data = fs.readFileSync(file, 'base64'); + return 'url(data:image/png;base64,' + data + ')'; + }); + } + }, { + pattern: /{{ JS }}/g, + replacement: function() { + return grunt.file.read('bin/default/assets/js/main.js').replace('{{', '{/**/{'); + } + }] + } + } + }, + sass: { + options: { + style: 'compact', + unixNewlines: true + }, + themeCustom: { + files: [{ + expand: true, + cwd: 'config/typedoc/custom-theme/assets/css', + src: 'config/typedoc/custom-theme/**/*.sass', + dest: 'config/typedoc/custom-theme/bin/assets/css', + ext: '.css' + }] + } + }, + autoprefixer: { + options: { + cascade: false + }, + themeCustom: { + expand: true, + src: 'config/typedoc/custom-theme/bin/**/*.css', + dest: './' + } + }, + copy: { + plugin: { + files: [{ + expand: true, + cwd: 'src', + src: ['*.js'], + dest: 'config/typedoc/custom-theme/bin' + }] + }, + themeCustom: { + files: [{ + expand: true, + cwd: 'config/typedoc/custom-theme', + src: ['**/*.hbs', '**/*.png'], + dest: 'config/typedoc/custom-theme/bin' + }] + } + }, + watch: { + js: { + files: ['config/typedoc/custom-theme/assets/js/src/**/*.ts'], + tasks: ['js'] + }, + css: { + files: ['config/typedoc/custom-theme/assets/css/**/*'], + tasks: ['css'] + }, + custom: { + files: ['config/typedoc/custom-theme/**/*.hbs'], + tasks: ['copy', 'string-replace'] + } + } + }); + + + grunt.loadNpmTasks('grunt-contrib-watch'); + grunt.loadNpmTasks('grunt-contrib-sass'); + grunt.loadNpmTasks('grunt-contrib-uglify'); + grunt.loadNpmTasks('grunt-contrib-copy'); + grunt.loadNpmTasks('grunt-string-replace'); + grunt.loadNpmTasks('grunt-autoprefixer'); + grunt.loadNpmTasks('grunt-ts'); + + grunt.registerTask('css', ['sass', 'autoprefixer']); + grunt.registerTask('js', ['ts:themeCustom', 'uglify']); + grunt.registerTask('default', ['copy', 'css', 'js', 'string-replace']); +}; \ No newline at end of file diff --git a/openvidu-browser/config/typedoc/custom-theme/layouts/default.hbs b/openvidu-browser/config/typedoc/custom-theme/layouts/default.hbs index e752f71a..861b1921 100644 --- a/openvidu-browser/config/typedoc/custom-theme/layouts/default.hbs +++ b/openvidu-browser/config/typedoc/custom-theme/layouts/default.hbs @@ -8,6 +8,7 @@ + diff --git a/openvidu-browser/config/typedoc/custom-theme/partials/header.hbs b/openvidu-browser/config/typedoc/custom-theme/partials/header.hbs index c8cdb2a8..b98e44aa 100644 --- a/openvidu-browser/config/typedoc/custom-theme/partials/header.hbs +++ b/openvidu-browser/config/typedoc/custom-theme/partials/header.hbs @@ -13,7 +13,9 @@
  • The search index is not available
  • - + + +
    diff --git a/openvidu-browser/config/typedoc/typedoc.js b/openvidu-browser/config/typedoc/typedoc.js index 913356ae..f4182b6f 100644 --- a/openvidu-browser/config/typedoc/typedoc.js +++ b/openvidu-browser/config/typedoc/typedoc.js @@ -17,7 +17,7 @@ module.exports = { ], excludeExternals: true, excludePrivate: true, - theme: "./config/typedoc/custom-theme", + theme: "./config/typedoc/custom-theme/bin", plugin: [ "typedoc-plugin-sourcefile-url", ], diff --git a/openvidu-browser/docs/assets/js/main.js b/openvidu-browser/docs/assets/js/main.js index b5a9440e..528a3b02 100644 --- a/openvidu-browser/docs/assets/js/main.js +++ b/openvidu-browser/docs/assets/js/main.js @@ -1,822 +1,5 @@ -var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var typedoc; -(function (typedoc) { - typedoc.$html = $('html'); - var services = []; - var components = []; - typedoc.$document = $(document); - typedoc.$window = $(window); - typedoc.$body = $('body'); - function registerService(constructor, name, priority) { - if (priority === void 0) { priority = 0; } - services.push({ - constructor: constructor, - name: name, - priority: priority, - instance: null - }); - services.sort(function (a, b) { return a.priority - b.priority; }); - } - typedoc.registerService = registerService; - function registerComponent(constructor, selector, priority, namespace) { - if (priority === void 0) { priority = 0; } - if (namespace === void 0) { namespace = '*'; } - components.push({ - selector: selector, - constructor: constructor, - priority: priority, - namespace: namespace - }); - components.sort(function (a, b) { return a.priority - b.priority; }); - } - typedoc.registerComponent = registerComponent; - if (typeof Backbone != 'undefined') { - typedoc['Events'] = (function () { - var res = function () { }; - _.extend(res.prototype, Backbone.Events); - return res; - })(); - } - var Application = (function (_super) { - __extends(Application, _super); - function Application() { - var _this = _super.call(this) || this; - _this.createServices(); - _this.createComponents(typedoc.$body); - return _this; - } - Application.prototype.createServices = function () { - _(services).forEach(function (c) { - c.instance = new c.constructor(); - typedoc[c.name] = c.instance; - }); - }; - Application.prototype.createComponents = function ($context, namespace) { - if (namespace === void 0) { namespace = 'default'; } - var result = []; - _(components).forEach(function (c) { - if (c.namespace != namespace && c.namespace != '*') { - return; - } - $context.find(c.selector).each(function (m, el) { - var $el = $(el), instance; - if (instance = $el.data('component')) { - if (_(result).indexOf(instance) == -1) { - result.push(instance); - } - } - else { - instance = new c.constructor({ el: el }); - $el.data('component', instance); - result.push(instance); - } - }); - }); - return result; - }; - return Application; - }(typedoc.Events)); - typedoc.Application = Application; -})(typedoc || (typedoc = {})); -var typedoc; -(function (typedoc) { - var FilterItem = (function () { - function FilterItem(key, value) { - this.key = key; - this.value = value; - this.defaultValue = value; - this.initialize(); - if (window.localStorage[this.key]) { - this.setValue(this.fromLocalStorage(window.localStorage[this.key])); - } - } - FilterItem.prototype.initialize = function () { }; - FilterItem.prototype.handleValueChange = function (oldValue, newValue) { }; - FilterItem.prototype.fromLocalStorage = function (value) { - return value; - }; - FilterItem.prototype.toLocalStorage = function (value) { - return value; - }; - FilterItem.prototype.setValue = function (value) { - if (this.value == value) - return; - var oldValue = this.value; - this.value = value; - window.localStorage[this.key] = this.toLocalStorage(value); - this.handleValueChange(oldValue, value); - }; - return FilterItem; - }()); - var FilterItemCheckbox = (function (_super) { - __extends(FilterItemCheckbox, _super); - function FilterItemCheckbox() { - return _super !== null && _super.apply(this, arguments) || this; - } - FilterItemCheckbox.prototype.initialize = function () { - var _this = this; - this.$checkbox = $('#tsd-filter-' + this.key); - this.$checkbox.on('change', function () { - _this.setValue(_this.$checkbox.prop('checked')); - }); - }; - FilterItemCheckbox.prototype.handleValueChange = function (oldValue, newValue) { - this.$checkbox.prop('checked', this.value); - typedoc.$html.toggleClass('toggle-' + this.key, this.value != this.defaultValue); - }; - FilterItemCheckbox.prototype.fromLocalStorage = function (value) { - return value == 'true'; - }; - FilterItemCheckbox.prototype.toLocalStorage = function (value) { - return value ? 'true' : 'false'; - }; - return FilterItemCheckbox; - }(FilterItem)); - var FilterItemSelect = (function (_super) { - __extends(FilterItemSelect, _super); - function FilterItemSelect() { - return _super !== null && _super.apply(this, arguments) || this; - } - FilterItemSelect.prototype.initialize = function () { - var _this = this; - typedoc.$html.addClass('toggle-' + this.key + this.value); - this.$select = $('#tsd-filter-' + this.key); - this.$select.on(typedoc.pointerDown + ' mouseover', function () { - _this.$select.addClass('active'); - }).on('mouseleave', function () { - _this.$select.removeClass('active'); - }).on(typedoc.pointerUp, 'li', function (e) { - _this.$select.removeClass('active'); - _this.setValue($(e.target).attr('data-value')); - }); - typedoc.$document.on(typedoc.pointerDown, function (e) { - var $path = $(e.target).parents().addBack(); - if ($path.is(_this.$select)) - return; - _this.$select.removeClass('active'); - }); - }; - FilterItemSelect.prototype.handleValueChange = function (oldValue, newValue) { - this.$select.find('li.selected').removeClass('selected'); - this.$select.find('.tsd-select-label').text(this.$select.find('li[data-value="' + newValue + '"]').addClass('selected').text()); - typedoc.$html.removeClass('toggle-' + oldValue); - typedoc.$html.addClass('toggle-' + newValue); - }; - return FilterItemSelect; - }(FilterItem)); - var Filter = (function (_super) { - __extends(Filter, _super); - function Filter(options) { - var _this = _super.call(this, options) || this; - _this.optionVisibility = new FilterItemSelect('visibility', 'private'); - _this.optionInherited = new FilterItemCheckbox('inherited', true); - _this.optionExternals = new FilterItemCheckbox('externals', true); - _this.optionOnlyExported = new FilterItemCheckbox('only-exported', false); - return _this; - } - Filter.isSupported = function () { - try { - return typeof window.localStorage != 'undefined'; - } - catch (e) { - return false; - } - }; - return Filter; - }(Backbone.View)); - if (Filter.isSupported()) { - typedoc.registerComponent(Filter, '#tsd-filter'); - } - else { - typedoc.$html.addClass('no-filter'); - } -})(typedoc || (typedoc = {})); -var typedoc; -(function (typedoc) { - var MenuHighlight = (function (_super) { - __extends(MenuHighlight, _super); - function MenuHighlight(options) { - var _this = _super.call(this, options) || this; - _this.index = 0; - _this.listenTo(typedoc.viewport, 'resize', _this.onResize); - _this.listenTo(typedoc.viewport, 'scroll', _this.onScroll); - _this.createAnchors(); - return _this; - } - MenuHighlight.prototype.createAnchors = function () { - var _this = this; - this.index = 0; - this.anchors = [{ - position: 0 - }]; - var base = window.location.href; - if (base.indexOf('#') != -1) { - base = base.substr(0, base.indexOf('#')); - } - this.$el.find('a').each(function (index, el) { - var href = el.href; - if (href.indexOf('#') == -1) - return; - if (href.substr(0, base.length) != base) - return; - var hash = href.substr(href.indexOf('#') + 1); - var $anchor = $('a.tsd-anchor[name=' + hash + ']'); - if ($anchor.length == 0) - return; - _this.anchors.push({ - $link: $(el.parentNode), - $anchor: $anchor, - position: 0 - }); - }); - this.onResize(); - }; - MenuHighlight.prototype.onResize = function () { - var anchor; - for (var index = 1, count = this.anchors.length; index < count; index++) { - anchor = this.anchors[index]; - anchor.position = anchor.$anchor.offset().top; - } - this.anchors.sort(function (a, b) { - return a.position - b.position; - }); - this.onScroll(typedoc.viewport.scrollTop); - }; - MenuHighlight.prototype.onScroll = function (scrollTop) { - var anchors = this.anchors; - var index = this.index; - var count = anchors.length - 1; - scrollTop += 5; - while (index > 0 && anchors[index].position > scrollTop) { - index -= 1; - } - while (index < count && anchors[index + 1].position < scrollTop) { - index += 1; - } - if (this.index != index) { - if (this.index > 0) - this.anchors[this.index].$link.removeClass('focus'); - this.index = index; - if (this.index > 0) - this.anchors[this.index].$link.addClass('focus'); - } - }; - return MenuHighlight; - }(Backbone.View)); - typedoc.MenuHighlight = MenuHighlight; - typedoc.registerComponent(MenuHighlight, '.menu-highlight'); -})(typedoc || (typedoc = {})); -var typedoc; -(function (typedoc) { - var hasPositionSticky = typedoc.$html.hasClass('csspositionsticky'); - var StickyMode; - (function (StickyMode) { - StickyMode[StickyMode["None"] = 0] = "None"; - StickyMode[StickyMode["Secondary"] = 1] = "Secondary"; - StickyMode[StickyMode["Current"] = 2] = "Current"; - })(StickyMode || (StickyMode = {})); - var MenuSticky = (function (_super) { - __extends(MenuSticky, _super); - function MenuSticky(options) { - var _this = _super.call(this, options) || this; - _this.state = ''; - _this.stickyMode = StickyMode.None; - _this.$current = _this.$el.find('> ul.current'); - _this.$navigation = _this.$el.parents('.menu-sticky-wrap'); - _this.$container = _this.$el.parents('.row'); - _this.listenTo(typedoc.viewport, 'resize', _this.onResize); - if (!hasPositionSticky) { - _this.listenTo(typedoc.viewport, 'scroll', _this.onScroll); - } - _this.onResize(typedoc.viewport.width, typedoc.viewport.height); - return _this; - } - MenuSticky.prototype.setState = function (state) { - if (this.state == state) - return; - if (this.state != '') - this.$navigation.removeClass(this.state); - this.state = state; - if (this.state != '') - this.$navigation.addClass(this.state); - }; - MenuSticky.prototype.onResize = function (width, height) { - this.stickyMode = StickyMode.None; - this.setState(''); - var containerTop = this.$container.offset().top; - var containerHeight = this.$container.height(); - var bottom = containerTop + containerHeight; - if (this.$navigation.height() < containerHeight) { - var elHeight = this.$el.height(); - var elTop = this.$el.offset().top; - if (this.$current.length) { - var currentHeight = this.$current.height(); - var currentTop = this.$current.offset().top; - this.$navigation.css('top', containerTop - currentTop + 20); - if (currentHeight < height) { - this.stickyMode = StickyMode.Current; - this.stickyTop = currentTop; - this.stickyBottom = bottom - elHeight + (currentTop - elTop) - 20; - } - } - if (elHeight < height) { - this.$navigation.css('top', containerTop - elTop + 20); - this.stickyMode = StickyMode.Secondary; - this.stickyTop = elTop; - this.stickyBottom = bottom - elHeight - 20; - } - } - if (!hasPositionSticky) { - this.$navigation.css('left', this.$navigation.offset().left); - this.onScroll(typedoc.viewport.scrollTop); - } - else { - if (this.stickyMode == StickyMode.Current) { - this.setState('sticky-current'); - } - else if (this.stickyMode == StickyMode.Secondary) { - this.setState('sticky'); - } - else { - this.setState(''); - } - } - }; - MenuSticky.prototype.onScroll = function (scrollTop) { - if (this.stickyMode == StickyMode.Current) { - if (scrollTop > this.stickyBottom) { - this.setState('sticky-bottom'); - } - else { - this.setState(scrollTop + 20 > this.stickyTop ? 'sticky-current' : ''); - } - } - else if (this.stickyMode == StickyMode.Secondary) { - if (scrollTop > this.stickyBottom) { - this.setState('sticky-bottom'); - } - else { - this.setState(scrollTop + 20 > this.stickyTop ? 'sticky' : ''); - } - } - }; - return MenuSticky; - }(Backbone.View)); - typedoc.MenuSticky = MenuSticky; - typedoc.registerComponent(MenuSticky, '.menu-sticky'); -})(typedoc || (typedoc = {})); -var typedoc; -(function (typedoc) { - var search; - (function (search) { - var SearchLoadingState; - (function (SearchLoadingState) { - SearchLoadingState[SearchLoadingState["Idle"] = 0] = "Idle"; - SearchLoadingState[SearchLoadingState["Loading"] = 1] = "Loading"; - SearchLoadingState[SearchLoadingState["Ready"] = 2] = "Ready"; - SearchLoadingState[SearchLoadingState["Failure"] = 3] = "Failure"; - })(SearchLoadingState || (SearchLoadingState = {})); - var $el = $('#tsd-search'); - var $field = $('#tsd-search-field'); - var $results = $('.results'); - var base = $el.attr('data-base') + '/'; - var query = ''; - var loadingState = SearchLoadingState.Idle; - var hasFocus = false; - var preventPress = false; - var index; - function createIndex() { - index = new lunr.Index(); - index.pipeline.add(lunr.trimmer); - index.field('name', { boost: 10 }); - index.field('parent'); - index.ref('id'); - var rows = search.data.rows; - var pos = 0; - var length = rows.length; - function batch() { - var cycles = 0; - while (cycles++ < 100) { - index.add(rows[pos]); - if (++pos == length) { - return setLoadingState(SearchLoadingState.Ready); - } - } - setTimeout(batch, 10); - } - batch(); - } - function loadIndex() { - if (loadingState != SearchLoadingState.Idle) - return; - setTimeout(function () { - if (loadingState == SearchLoadingState.Idle) { - setLoadingState(SearchLoadingState.Loading); - } - }, 500); - if (typeof search.data != 'undefined') { - createIndex(); - } - else { - $.get($el.attr('data-index')) - .done(function (source) { - eval(source); - createIndex(); - }).fail(function () { - setLoadingState(SearchLoadingState.Failure); - }); - } - } - function updateResults() { - if (loadingState != SearchLoadingState.Ready) - return; - $results.empty(); - var res = index.search(query); - for (var i = 0, c = Math.min(10, res.length); i < c; i++) { - var row = search.data.rows[res[i].ref]; - var name = row.name; - if (row.parent) - name = '' + row.parent + '.' + name; - $results.append('
  • ' + name + '
  • '); - } - } - function setLoadingState(value) { - if (loadingState == value) - return; - $el.removeClass(SearchLoadingState[loadingState].toLowerCase()); - loadingState = value; - $el.addClass(SearchLoadingState[loadingState].toLowerCase()); - if (value == SearchLoadingState.Ready) { - updateResults(); - } - } - function setHasFocus(value) { - if (hasFocus == value) - return; - hasFocus = value; - $el.toggleClass('has-focus'); - if (!value) { - $field.val(query); - } - else { - setQuery(''); - $field.val(''); - } - } - function setQuery(value) { - query = $.trim(value); - updateResults(); - } - function setCurrentResult(dir) { - var $current = $results.find('.current'); - if ($current.length == 0) { - $results.find(dir == 1 ? 'li:first-child' : 'li:last-child').addClass('current'); - } - else { - var $rel = dir == 1 ? $current.next('li') : $current.prev('li'); - if ($rel.length > 0) { - $current.removeClass('current'); - $rel.addClass('current'); - } - } - } - function gotoCurrentResult() { - var $current = $results.find('.current'); - if ($current.length == 0) { - $current = $results.find('li:first-child'); - } - if ($current.length > 0) { - window.location.href = $current.find('a').prop('href'); - $field.blur(); - } - } - $field.on('focusin', function () { - setHasFocus(true); - loadIndex(); - }).on('focusout', function () { - setTimeout(function () { return setHasFocus(false); }, 100); - }).on('input', function () { - setQuery($.trim($field.val())); - }).on('keydown', function (e) { - if (e.keyCode == 13 || e.keyCode == 27 || e.keyCode == 38 || e.keyCode == 40) { - preventPress = true; - e.preventDefault(); - if (e.keyCode == 13) { - gotoCurrentResult(); - } - else if (e.keyCode == 27) { - $field.blur(); - } - else if (e.keyCode == 38) { - setCurrentResult(-1); - } - else if (e.keyCode == 40) { - setCurrentResult(1); - } - } - else { - preventPress = false; - } - }).on('keypress', function (e) { - if (preventPress) - e.preventDefault(); - }); - $('body').on('keydown', function (e) { - if (e.altKey || e.ctrlKey || e.metaKey) - return; - if (!hasFocus && e.keyCode > 47 && e.keyCode < 112) { - $field.focus(); - } - }); - })(search = typedoc.search || (typedoc.search = {})); -})(typedoc || (typedoc = {})); -var typedoc; -(function (typedoc) { - var SignatureGroup = (function () { - function SignatureGroup($signature, $description) { - this.$signature = $signature; - this.$description = $description; - } - SignatureGroup.prototype.addClass = function (className) { - this.$signature.addClass(className); - this.$description.addClass(className); - return this; - }; - SignatureGroup.prototype.removeClass = function (className) { - this.$signature.removeClass(className); - this.$description.removeClass(className); - return this; - }; - return SignatureGroup; - }()); - var Signature = (function (_super) { - __extends(Signature, _super); - function Signature(options) { - var _this = _super.call(this, options) || this; - _this.index = -1; - _this.createGroups(); - if (_this.groups) { - _this.$el.addClass('active') - .on('touchstart', '.tsd-signature', function (event) { return _this.onClick(event); }) - .on('click', '.tsd-signature', function (event) { return _this.onClick(event); }); - _this.$container.addClass('active'); - _this.setIndex(0); - } - return _this; - } - Signature.prototype.setIndex = function (index) { - if (index < 0) - index = 0; - if (index > this.groups.length - 1) - index = this.groups.length - 1; - if (this.index == index) - return; - var to = this.groups[index]; - if (this.index > -1) { - var from = this.groups[this.index]; - typedoc.animateHeight(this.$container, function () { - from.removeClass('current').addClass('fade-out'); - to.addClass('current fade-in'); - typedoc.viewport.triggerResize(); - }); - setTimeout(function () { - from.removeClass('fade-out'); - to.removeClass('fade-in'); - }, 300); - } - else { - to.addClass('current'); - typedoc.viewport.triggerResize(); - } - this.index = index; - }; - Signature.prototype.createGroups = function () { - var _this = this; - var $signatures = this.$el.find('> .tsd-signature'); - if ($signatures.length < 2) - return; - this.$container = this.$el.siblings('.tsd-descriptions'); - var $descriptions = this.$container.find('> .tsd-description'); - this.groups = []; - $signatures.each(function (index, el) { - _this.groups.push(new SignatureGroup($(el), $descriptions.eq(index))); - }); - }; - Signature.prototype.onClick = function (e) { - var _this = this; - e.preventDefault(); - _(this.groups).forEach(function (group, index) { - if (group.$signature.is(e.currentTarget)) { - _this.setIndex(index); - } - }); - }; - return Signature; - }(Backbone.View)); - typedoc.registerComponent(Signature, '.tsd-signatures'); -})(typedoc || (typedoc = {})); -var typedoc; -(function (typedoc) { - var Toggle = (function (_super) { - __extends(Toggle, _super); - function Toggle(options) { - var _this = _super.call(this, options) || this; - _this.className = _this.$el.attr('data-toggle'); - _this.$el.on(typedoc.pointerUp, function (e) { return _this.onPointerUp(e); }); - _this.$el.on('click', function (e) { return e.preventDefault(); }); - typedoc.$document.on(typedoc.pointerDown, function (e) { return _this.onDocumentPointerDown(e); }); - typedoc.$document.on(typedoc.pointerUp, function (e) { return _this.onDocumentPointerUp(e); }); - return _this; - } - Toggle.prototype.setActive = function (value) { - if (this.active == value) - return; - this.active = value; - typedoc.$html.toggleClass('has-' + this.className, value); - this.$el.toggleClass('active', value); - var transition = (this.active ? 'to-has-' : 'from-has-') + this.className; - typedoc.$html.addClass(transition); - setTimeout(function () { return typedoc.$html.removeClass(transition); }, 500); - }; - Toggle.prototype.onPointerUp = function (event) { - if (typedoc.hasPointerMoved) - return; - this.setActive(true); - event.preventDefault(); - }; - Toggle.prototype.onDocumentPointerDown = function (e) { - if (this.active) { - var $path = $(e.target).parents().addBack(); - if ($path.hasClass('col-menu')) { - return; - } - if ($path.hasClass('tsd-filter-group')) { - return; - } - this.setActive(false); - } - }; - Toggle.prototype.onDocumentPointerUp = function (e) { - var _this = this; - if (typedoc.hasPointerMoved) - return; - if (this.active) { - var $path = $(e.target).parents().addBack(); - if ($path.hasClass('col-menu')) { - var $link = $path.filter('a'); - if ($link.length) { - var href = window.location.href; - if (href.indexOf('#') != -1) { - href = href.substr(0, href.indexOf('#')); - } - if ($link.prop('href').substr(0, href.length) == href) { - setTimeout(function () { return _this.setActive(false); }, 250); - } - } - } - } - }; - return Toggle; - }(Backbone.View)); - typedoc.registerComponent(Toggle, 'a[data-toggle]'); -})(typedoc || (typedoc = {})); -var typedoc; -(function (typedoc) { - var Viewport = (function (_super) { - __extends(Viewport, _super); - function Viewport() { - var _this = _super.call(this) || this; - _this.scrollTop = 0; - _this.width = 0; - _this.height = 0; - typedoc.$window.on('scroll', _(function () { return _this.onScroll(); }).throttle(10)); - typedoc.$window.on('resize', _(function () { return _this.onResize(); }).throttle(10)); - _this.onResize(); - _this.onScroll(); - return _this; - } - Viewport.prototype.triggerResize = function () { - this.trigger('resize', this.width, this.height); - }; - Viewport.prototype.onResize = function () { - this.width = typedoc.$window.width(); - this.height = typedoc.$window.height(); - this.trigger('resize', this.width, this.height); - }; - Viewport.prototype.onScroll = function () { - this.scrollTop = typedoc.$window.scrollTop(); - this.trigger('scroll', this.scrollTop); - }; - return Viewport; - }(typedoc.Events)); - typedoc.Viewport = Viewport; - typedoc.registerService(Viewport, 'viewport'); -})(typedoc || (typedoc = {})); -var typedoc; -(function (typedoc) { - typedoc.pointerDown = 'mousedown'; - typedoc.pointerMove = 'mousemove'; - typedoc.pointerUp = 'mouseup'; - typedoc.pointerDownPosition = { x: 0, y: 0 }; - typedoc.preventNextClick = false; - typedoc.isPointerDown = false; - typedoc.isPointerTouch = false; - typedoc.hasPointerMoved = false; - typedoc.isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); - typedoc.$html.addClass(typedoc.isMobile ? 'is-mobile' : 'not-mobile'); - if (typedoc.isMobile && 'ontouchstart' in document.documentElement) { - typedoc.isPointerTouch = true; - typedoc.pointerDown = 'touchstart'; - typedoc.pointerMove = 'touchmove'; - typedoc.pointerUp = 'touchend'; - } - typedoc.$document.on(typedoc.pointerDown, function (e) { - typedoc.isPointerDown = true; - typedoc.hasPointerMoved = false; - var t = (typedoc.pointerDown == 'touchstart' ? e.originalEvent['targetTouches'][0] : e); - typedoc.pointerDownPosition.x = t.pageX; - typedoc.pointerDownPosition.y = t.pageY; - }).on(typedoc.pointerMove, function (e) { - if (!typedoc.isPointerDown) - return; - if (!typedoc.hasPointerMoved) { - var t = (typedoc.pointerDown == 'touchstart' ? e.originalEvent['targetTouches'][0] : e); - var x = typedoc.pointerDownPosition.x - t.pageX; - var y = typedoc.pointerDownPosition.y - t.pageY; - typedoc.hasPointerMoved = (Math.sqrt(x * x + y * y) > 10); - } - }).on(typedoc.pointerUp, function (e) { - typedoc.isPointerDown = false; - }).on('click', function (e) { - if (typedoc.preventNextClick) { - e.preventDefault(); - e.stopImmediatePropagation(); - typedoc.preventNextClick = false; - } - }); -})(typedoc || (typedoc = {})); -var typedoc; -(function (typedoc) { - function getVendorInfo(tuples) { - for (var name in tuples) { - if (!tuples.hasOwnProperty(name)) - continue; - if (typeof (document.body.style[name]) !== 'undefined') { - return { name: name, endEvent: tuples[name] }; - } - } - return null; - } - typedoc.transition = getVendorInfo({ - 'transition': 'transitionend', - 'OTransition': 'oTransitionEnd', - 'msTransition': 'msTransitionEnd', - 'MozTransition': 'transitionend', - 'WebkitTransition': 'webkitTransitionEnd' - }); - function noTransition($el, callback) { - $el.addClass('no-transition'); - callback(); - $el.offset(); - $el.removeClass('no-transition'); - } - typedoc.noTransition = noTransition; - function animateHeight($el, callback, success) { - var from = $el.height(), to; - noTransition($el, function () { - callback(); - $el.css('height', ''); - to = $el.height(); - if (from != to && typedoc.transition) - $el.css('height', from); - }); - if (from != to && typedoc.transition) { - $el.css('height', to); - $el.on(typedoc.transition.endEvent, function () { - noTransition($el, function () { - $el.off(typedoc.transition.endEvent).css('height', ''); - if (success) - success(); - }); - }); - } - else { - if (success) - success(); - } - } - typedoc.animateHeight = animateHeight; -})(typedoc || (typedoc = {})); -var typedoc; -(function (typedoc) { - typedoc.app = new typedoc.Application(); -})(typedoc || (typedoc = {})); +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function s(a){var b=a.length,c=n.type(a);return"function"!==c&&!n.isWindow(a)&&(!(1!==a.nodeType||!b)||("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a))}function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}function D(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+Math.random()}function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),"string"==typeof(c=a.getAttribute(d))){try{c="true"===c||"false"!==c&&("null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c)}catch(e){}M.set(a,b,c)}else c=void 0;return c}function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("