mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
WIP
This commit is contained in:
@@ -13,6 +13,7 @@
|
||||
"filepath": "^1.1.0",
|
||||
"flow-parser": "^0.32.0",
|
||||
"fs-extra": "^4.0.2",
|
||||
"fs.extra": "^1.3.2",
|
||||
"glob": "6.0.4",
|
||||
"glob-promise": "^3.2.0",
|
||||
"jsdoc-api": "^1.1.0",
|
||||
|
||||
@@ -0,0 +1,523 @@
|
||||
/**
|
||||
* Copyright (c) 2017-present, Facebook, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
* LICENSE file in the root directory of this source tree. An additional grant
|
||||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
const fetch = require('node-fetch');
|
||||
const filepath = require('filepath');
|
||||
const fm = require('front-matter');
|
||||
const fs = require('fs-extra');
|
||||
const glob = require('glob-promise');
|
||||
const jsdom = require('jsdom');
|
||||
const mkdirp = require('mkdirp');
|
||||
const Promise = require('bluebird');
|
||||
const shell = require('shelljs');
|
||||
|
||||
const convert = require('./convert.js');
|
||||
const slugify = require('../core/slugify');
|
||||
|
||||
const CWD = process.cwd();
|
||||
|
||||
const AUTODOCS_PREFIX = 'autogen_';
|
||||
const MARKDOWN_EXTENSION = 'md';
|
||||
|
||||
const GIT_USER = 'hramos'; //process.env.GIT_USER;
|
||||
const GITHUB_USERNAME = 'facebook'; // process.env.GITHUB_USERNAME;
|
||||
const GITHUB_REPONAME = 'react-native'; // process.env.GITHUB_REPONAME;
|
||||
const remoteBranch = `https://${GIT_USER}@github.com/${GITHUB_USERNAME}/${GITHUB_REPONAME}.git`;
|
||||
|
||||
const CHECKOUT_DIR = `${GITHUB_REPONAME}-docs`;
|
||||
const BUILD_DIR = 'build';
|
||||
const DOCS_DIR = 'versioned_docs';
|
||||
const SIDEBAR_DIR = 'versioned_sidebars';
|
||||
|
||||
const { JSDOM } = jsdom;
|
||||
|
||||
// Start up a server. Don't forget to close the connection when done.
|
||||
const server = require('./server.js');
|
||||
server.noconvert = true;
|
||||
|
||||
const argv = require('minimist')(process.argv.slice(2), {
|
||||
alias: {
|
||||
'c': 'clean'
|
||||
},
|
||||
default: {
|
||||
'autodocs': true
|
||||
}
|
||||
});
|
||||
|
||||
function runChecks() {
|
||||
if (!shell.which('git')) {
|
||||
shell.echo('Sorry, this script requires git');
|
||||
shell.exit(1);
|
||||
}
|
||||
|
||||
if (!GIT_USER) {
|
||||
shell.echo('GIT_USER undefined.');
|
||||
shell.exit(1);
|
||||
}
|
||||
if (!GITHUB_USERNAME) {
|
||||
shell.echo('GITHUB_USERNAME undefined.');
|
||||
shell.exit(1);
|
||||
}
|
||||
if (!GITHUB_REPONAME) {
|
||||
shell.echo('GITHUB_REPONAME undefined.');
|
||||
shell.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
function cleanFiles() {
|
||||
return fs.remove(BUILD_DIR);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates documentation for a given file.
|
||||
*
|
||||
* @param {*} file
|
||||
* @param {*} options
|
||||
*/
|
||||
function generateAutodocForFile(file, options) {
|
||||
if (file.match(/src\/react-native\/js/)) {
|
||||
// Ensure we're only processing extracted docs
|
||||
console.log(`Skipping ${file}`);
|
||||
return;
|
||||
}
|
||||
|
||||
const pathToOutputDir = filepath.create(BUILD_DIR, DOCS_DIR, options.version);
|
||||
|
||||
console.log(`Processing ${file}`);
|
||||
const url = 'http://localhost:8079/' + file
|
||||
.replace(/^src/, '')
|
||||
.replace(/\.js$/, '.html');
|
||||
|
||||
return fetch(url)
|
||||
.then(response => {
|
||||
if(response.ok) {
|
||||
return response.text();
|
||||
}
|
||||
throw new Error('Network response was not ok.');
|
||||
})
|
||||
.then(body => {
|
||||
const dom = new JSDOM(body);
|
||||
|
||||
const markdown = generateMarkdownFromDOM(dom);
|
||||
const frontmatter = fm(markdown);
|
||||
|
||||
const pathToOutputFile = pathToOutputDir.append(`${AUTODOCS_PREFIX}${frontmatter.attributes.original_id}.${MARKDOWN_EXTENSION}`);
|
||||
|
||||
return fs.outputFile(pathToOutputFile.toString(), markdown);
|
||||
})
|
||||
.catch(error => {
|
||||
console.log(error);
|
||||
reject(error);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates Markdown documentation.
|
||||
* Uses the convert script to extract docs from source files.
|
||||
*/
|
||||
function generateAutodocs(options = { }) {
|
||||
console.log(`Generating Markdown files from JavaScript sources.`);
|
||||
|
||||
const metadata = convert({extractDocs: true});
|
||||
return Promise.resolve()
|
||||
.then(function() {
|
||||
return glob('src/**/*.js');
|
||||
})
|
||||
.then(function(files) {
|
||||
let queue = Promise.resolve();
|
||||
files.forEach(function(file) {
|
||||
queue = queue.then(function() {
|
||||
return generateAutodocForFile(file, options);
|
||||
});
|
||||
});
|
||||
|
||||
return queue;
|
||||
})
|
||||
.then(function() {
|
||||
console.log(`Generated Markdown files from JavaScript sources.`);
|
||||
return metadata;
|
||||
})
|
||||
.catch(function(e) {
|
||||
console.error(e);
|
||||
process.exit(1);
|
||||
});
|
||||
}
|
||||
|
||||
// Check out gh-pages branch
|
||||
function checkOutDocs() {
|
||||
const pathToGitCheckout = filepath.create(BUILD_DIR, CHECKOUT_DIR);
|
||||
|
||||
let sidebarMetadata = {};
|
||||
const p = Promise.resolve();
|
||||
return p
|
||||
.then(() => {
|
||||
return fs.ensureDir(pathToGitCheckout.toString());
|
||||
})
|
||||
.then(() => {
|
||||
shell.cd(CWD);
|
||||
shell.cd(BUILD_DIR);
|
||||
shell.cd(CHECKOUT_DIR);
|
||||
return fs.exists(pathToGitCheckout.append(`.git`).toString())
|
||||
}).then(gitCheckoutExists => {
|
||||
if (!gitCheckoutExists) {
|
||||
shell.exec(`git init`).code !== 0;
|
||||
|
||||
if (shell.exec(`git remote add origin ${remoteBranch}`).code !== 0) {
|
||||
throw new Error('Error: git remote failed');
|
||||
}
|
||||
}
|
||||
return;
|
||||
})
|
||||
.then(() => {
|
||||
if (shell.exec(`git fetch`).code !== 0) {
|
||||
throw new Error('Error: git fetch failed');
|
||||
}
|
||||
|
||||
if (shell.exec(`git checkout gh-pages`).code !== 0) {
|
||||
throw new Error('Error: git checkout failed');
|
||||
}
|
||||
|
||||
return glob('releases/**/*.html');
|
||||
}).then(files => {
|
||||
let seq = Promise.resolve();
|
||||
files.forEach(function(file) {
|
||||
seq = seq.then(() => {
|
||||
return extractMarkdownFromHTMLDocs(file);
|
||||
}).then((res) => {
|
||||
// console.log(res);
|
||||
if (res.markdown === undefined) {
|
||||
return;
|
||||
}
|
||||
const { frontmatter, markdown } = res;
|
||||
const version = extractDocVersionFromFilename(file);
|
||||
|
||||
if (!version) {
|
||||
return;
|
||||
}
|
||||
|
||||
const pathToOutputFile = filepath.create(CWD, '..', 'website', DOCS_DIR, version, `${frontmatter.attributes.original_id}.${MARKDOWN_EXTENSION}`);
|
||||
|
||||
if (sidebarMetadata[version] === undefined) {
|
||||
sidebarMetadata[version] = [];
|
||||
}
|
||||
|
||||
if (frontmatter.attributes.original_id !== "404"
|
||||
&& frontmatter.attributes.original_id !== "index"
|
||||
&& frontmatter.attributes.original_id !== "help"
|
||||
&& frontmatter.attributes.original_id !== "users"
|
||||
&& frontmatter.attributes.original_id !== "showcase"
|
||||
&& frontmatter.attributes.original_id !== "support"
|
||||
&& frontmatter.attributes.original_id !== "versions") {
|
||||
sidebarMetadata[version].push(frontmatter.attributes.id);
|
||||
return fs.outputFile(pathToOutputFile.toString(), markdown);
|
||||
}
|
||||
return;
|
||||
});
|
||||
});
|
||||
return seq;
|
||||
}).then(() => {
|
||||
console.log(sidebarMetadata)
|
||||
const pathToSidebarMetadataFile = filepath.create(CWD, BUILD_DIR, SIDEBAR_DIR, `sidebars-metadata.json`);
|
||||
return fs.outputFile(pathToSidebarMetadataFile.toString(), JSON.stringify(sidebarMetadata));
|
||||
}).then(() => {
|
||||
filepath.create(CWD, '..', 'website', SIDEBAR_DIR);
|
||||
for (const version in sidebarMetadata) {
|
||||
if (sidebarMetadata.hasOwnProperty(version)) {
|
||||
const documents = sidebarMetadata[version];
|
||||
let sidebar = {};
|
||||
sidebar[`version-${version}-docs`] = { "APIs": documents };
|
||||
|
||||
const pathToSidebarFile = filepath.create(CWD, '..', 'website', SIDEBAR_DIR, `version-${version}-sidebars.json`);
|
||||
console.log(`Writing ${pathToSidebarFile}: ${sidebar}`);
|
||||
|
||||
fs.outputFileSync(pathToSidebarFile.toString(), JSON.stringify(sidebar));
|
||||
}
|
||||
}
|
||||
return;
|
||||
}).then(() => {
|
||||
filepath.create(CWD, BUILD_DIR, SIDEBAR_DIR);
|
||||
const versions = Object.keys(sidebarMetadata);
|
||||
|
||||
const pathToVersionsFile = filepath.create(CWD, BUILD_DIR, `versions.json`);
|
||||
return fs.outputFile(pathToVersionsFile.toString(), JSON.stringify(versions.reverse()));
|
||||
}).then(() => {
|
||||
shell.cd(CWD);
|
||||
shell.cd(BUILD_DIR);
|
||||
shell.cd(CHECKOUT_DIR);
|
||||
|
||||
shell.exec(`git config core.sparsecheckout true`).code !== 0;
|
||||
shell.exec(`echo "docs/*" >> .git/info/sparse-checkout`).code !== 0;
|
||||
shell.exec(`echo "Libraries/*" >> .git/info/sparse-checkout`).code !== 0;
|
||||
|
||||
if (shell.exec(`git checkout master`).code !== 0) {
|
||||
throw new Error('Error: git checkout failed');
|
||||
}
|
||||
|
||||
// maybe should clear out before?
|
||||
shell.cp('-r', 'docs/*.md', '../../docs/.');
|
||||
|
||||
return glob('docs/**/*.md');
|
||||
}).then(() => {
|
||||
// now we handle sidebarring
|
||||
// and make versioned sidebar?
|
||||
return; //copy
|
||||
}).then(() => {
|
||||
// then finally we run docgen over Libraries/...
|
||||
});
|
||||
}
|
||||
|
||||
function checkoutMasterDocs() {
|
||||
const pathToGitCheckout = filepath.create(BUILD_DIR, CHECKOUT_DIR);
|
||||
|
||||
let sidebarMetadata = {};
|
||||
const p = Promise.resolve();
|
||||
return p
|
||||
.then(() => {
|
||||
return fs.ensureDir(pathToGitCheckout.toString());
|
||||
})
|
||||
.then(() => {
|
||||
shell.cd(CWD);
|
||||
shell.cd(BUILD_DIR);
|
||||
shell.cd(CHECKOUT_DIR);
|
||||
return fs.exists(pathToGitCheckout.append(`.git`).toString())
|
||||
})
|
||||
.then(gitCheckoutExists => {
|
||||
if (!gitCheckoutExists) {
|
||||
shell.exec(`git init`).code !== 0;
|
||||
|
||||
if (shell.exec(`git remote add origin ${remoteBranch}`).code !== 0) {
|
||||
throw new Error('Error: git remote failed');
|
||||
}
|
||||
}
|
||||
return;
|
||||
})
|
||||
.then(() => {
|
||||
if (shell.exec(`git fetch`).code !== 0) {
|
||||
throw new Error('Error: git fetch failed');
|
||||
}
|
||||
shell.exec(`git config core.sparsecheckout true`).code !== 0;
|
||||
shell.exec(`echo "docs/*" >> .git/info/sparse-checkout`).code !== 0;
|
||||
shell.exec(`echo "Libraries/*" >> .git/info/sparse-checkout`).code !== 0;
|
||||
|
||||
if (shell.exec(`git checkout master`).code !== 0) {
|
||||
throw new Error('Error: git checkout failed');
|
||||
}
|
||||
|
||||
return glob('docs/**/*.md');
|
||||
})
|
||||
.then((files) => {
|
||||
let seq = Promise.resolve();
|
||||
files.forEach((file) => {
|
||||
seq = seq.then(() => {
|
||||
return fs.readFile(file, 'utf8');
|
||||
}).then((originalMarkdown) => {
|
||||
const frontmatter = fm(originalMarkdown);
|
||||
|
||||
const category = frontmatter.attributes.category;
|
||||
const transformedMarkdown = [
|
||||
'---',
|
||||
'id: ' + frontmatter.attributes.id,
|
||||
'title: ' + frontmatter.attributes.title,
|
||||
'---',
|
||||
frontmatter.body
|
||||
].filter(function(line) {
|
||||
return line;
|
||||
}).join('\n');
|
||||
|
||||
if (!sidebarMetadata.hasOwnProperty(category)) {
|
||||
sidebarMetadata[category] = [];
|
||||
}
|
||||
|
||||
sidebarMetadata[category].push(frontmatter.attributes.id);
|
||||
|
||||
const pathToOutputFile = filepath.create(CWD, '..', 'docs', `${frontmatter.attributes.id}.${MARKDOWN_EXTENSION}`);
|
||||
return fs.outputFile(pathToOutputFile.toString(), transformedMarkdown);
|
||||
});
|
||||
});
|
||||
// now we convert
|
||||
// now we handle sidebarring
|
||||
// and make versioned sidebar?
|
||||
return seq; //copy
|
||||
})
|
||||
.then(() => {
|
||||
console.log(`My sidebar: ${JSON.stringify(sidebarMetadata)}`);
|
||||
|
||||
// then finally we run docgen over Libraries/...
|
||||
console.log(`should codegen`)
|
||||
const pathToOutputFile = filepath.create(CWD, '..', 'website', `gen-sidebars.json`);
|
||||
return fs.outputFile(pathToOutputFile.toString(), { "docs": sidebarMetadata });
|
||||
});
|
||||
}
|
||||
|
||||
function extractDocVersionFromFilename(file) {
|
||||
const re = new RegExp('\/([0-9]*[.]?[0-9]*)');
|
||||
return file.match(re)[1];
|
||||
}
|
||||
|
||||
|
||||
function extractComponentNameFromFilename(file) {
|
||||
const re = new RegExp('([A-Za-z-]*).html');
|
||||
return file.match(re)[1];
|
||||
}
|
||||
|
||||
|
||||
function extractMarkdownFromHTMLDocs(file) {
|
||||
if (file.indexOf("404") !== -1) {
|
||||
return { };
|
||||
}
|
||||
// console.log(`Processing ${file}`);
|
||||
return JSDOM.fromFile(filepath.create(file).toString())
|
||||
.then((dom) => {
|
||||
const body = bodyContentFromDOM(dom);
|
||||
|
||||
if (!body) {
|
||||
return {};
|
||||
}
|
||||
const componentName = extractComponentNameFromFilename(file);
|
||||
const version = extractDocVersionFromFilename(file);
|
||||
const markdown = generateMarkdown(componentName, body, version);
|
||||
const frontmatter = fm(markdown);
|
||||
return { frontmatter, markdown };
|
||||
})
|
||||
}
|
||||
|
||||
// DOM FORMATTING FUNCS
|
||||
|
||||
function bodyContentFromDOM(dom) {
|
||||
const el = dom.window.document.querySelector('.inner-content');
|
||||
if (el) {
|
||||
return el.innerHTML;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
function componentNameFromDOM(dom) {
|
||||
const el = dom.window.document.querySelector('h1');
|
||||
if (el) {
|
||||
let componentName = el.innerHTML;
|
||||
const re = new RegExp('docs/([A-Za-z]*)(.html)');
|
||||
const parsedTitle = el.innerHTML.match(re);
|
||||
if (parsedTitle) {
|
||||
componentName = parsedTitle[1];
|
||||
}
|
||||
return componentName;
|
||||
} else {
|
||||
return 'Component';
|
||||
}
|
||||
}
|
||||
|
||||
function componentCategoryFromDOM(dom) {
|
||||
const el = dom.window.document.querySelector('meta[property="rn:category"]');
|
||||
if (el) {
|
||||
return el.content;
|
||||
} else {
|
||||
return 'Components';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a markdown formatted file, including frontmatter.
|
||||
*
|
||||
* @param {*} dom
|
||||
*/
|
||||
function generateMarkdownFromDOM(dom) {
|
||||
const body = bodyContentFromDOM(dom);
|
||||
if (!body) {
|
||||
return;
|
||||
}
|
||||
const componentName = componentNameFromDOM(dom);
|
||||
const slug = slugify(componentName);
|
||||
const markdown = [
|
||||
'---',
|
||||
'id: ' + slug,
|
||||
'title: ' + componentName,
|
||||
'---',
|
||||
body
|
||||
]
|
||||
.filter(function(line) {
|
||||
return line;
|
||||
})
|
||||
.join('\n');
|
||||
|
||||
return markdown;
|
||||
}
|
||||
|
||||
function generateMarkdown(componentName, body, version) {
|
||||
const slug = slugify(componentName);
|
||||
|
||||
let markdown = [
|
||||
'---',
|
||||
'id: ' + slug,
|
||||
'title: ' + componentName,
|
||||
'---',
|
||||
body
|
||||
];
|
||||
if (version) {
|
||||
markdown = [
|
||||
'---',
|
||||
'id: version-' + version + '-' + slug,
|
||||
'title: ' + componentName,
|
||||
'original_id: ' + slug,
|
||||
'---',
|
||||
body
|
||||
];
|
||||
}
|
||||
return markdown.filter(function(line) {
|
||||
return line;
|
||||
}).join('\n');
|
||||
}
|
||||
|
||||
function generateMetatadaFile(categories) {
|
||||
const categoriesMetadataFile = `${BUILD_DIR}/sidebar-metadata.json`;
|
||||
return fs.outputFile(categoriesMetadataFile, JSON.stringify(categories));
|
||||
}
|
||||
// END DOM
|
||||
|
||||
|
||||
function checkoutAutodocs() {
|
||||
return Promise.resolve()
|
||||
.then(() => {
|
||||
return generateAutodocs();
|
||||
})
|
||||
.finally(function() {
|
||||
server.close();
|
||||
}).catch(function(e) {
|
||||
console.error(e);
|
||||
process.exit(1);
|
||||
});
|
||||
}
|
||||
|
||||
if (argv.clean) {
|
||||
cleanFiles();
|
||||
}
|
||||
|
||||
// if (argv.autodocs) {
|
||||
runChecks();
|
||||
// checkOutDocs();
|
||||
checkoutMasterDocs()
|
||||
.then(() => {
|
||||
checkoutAutodocs();
|
||||
})
|
||||
// }
|
||||
|
||||
/**
|
||||
* Check out gh-pages branch, cd releases/
|
||||
* For each version,
|
||||
* For each HTML,
|
||||
* Parse out jsdom
|
||||
* Get body contents
|
||||
* Generate frontmatter
|
||||
* Save into versioned_docs
|
||||
* Then finally generate sidebar files for each version
|
||||
*
|
||||
*/
|
||||
|
||||
module.exports = generateAutodocs;
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
var fs = require('fs')
|
||||
var fs = require('fs');
|
||||
var glob = require('glob');
|
||||
var mkdirp = require('mkdirp');
|
||||
var path = require('path');
|
||||
@@ -36,7 +36,7 @@ function splitHeader(content) {
|
||||
function rmFile(file) {
|
||||
try {
|
||||
fs.unlinkSync(file);
|
||||
} catch(e) {
|
||||
} catch (e) {
|
||||
/* seriously, unlink throws when the file doesn't exist :( */
|
||||
}
|
||||
}
|
||||
@@ -63,7 +63,7 @@ function extractMetadata(content) {
|
||||
var key = keyvalue[0].trim();
|
||||
var value = keyvalue.slice(1).join(':').trim();
|
||||
// Handle the case where you have "Community #10"
|
||||
try { value = JSON.parse(value); } catch(e) { }
|
||||
try { value = JSON.parse(value); } catch (e) { }
|
||||
metadata[key] = value;
|
||||
}
|
||||
return {metadata: metadata, rawContent: both.content};
|
||||
|
||||
@@ -258,7 +258,7 @@ function getViewPropTypes() {
|
||||
}
|
||||
|
||||
return docgen.parse(
|
||||
fs.readFileSync(docsList.viewPropTypes.replace('../','')),
|
||||
fs.readFileSync(docsList.viewPropTypes),
|
||||
viewPropTypesResolver,
|
||||
[
|
||||
viewPropTypesConversionHandler,
|
||||
@@ -268,7 +268,7 @@ function getViewPropTypes() {
|
||||
}
|
||||
|
||||
function renderComponent(filepath) {
|
||||
filepath = filepath.replace('../','');
|
||||
// filepath = filepath.replace('../','');
|
||||
if (!fs.existsSync(filepath)) {
|
||||
console.log(`${filepath} does not exist at ${process.cwd()}`);
|
||||
return;
|
||||
@@ -326,7 +326,7 @@ function parseAPIJsDocFormat(filepath, fileContent) {
|
||||
// Parse via jsdoc-api
|
||||
let jsonParsed = jsdocApi.explainSync({
|
||||
source: code,
|
||||
configure: '../jsdocs/jsdoc-conf.json'
|
||||
configure: 'jsdocs/jsdoc-conf.json'
|
||||
});
|
||||
// Clean up jsdoc-api return
|
||||
jsonParsed = jsonParsed.filter(i => {
|
||||
|
||||
+44
-498
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* Copyright (c) 2017-present, Facebook, Inc.
|
||||
* Copyright (c) 2015-present, Facebook, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
@@ -8,516 +8,62 @@
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
const fetch = require('node-fetch');
|
||||
const filepath = require('filepath');
|
||||
const fm = require('front-matter');
|
||||
const fs = require('fs-extra');
|
||||
const glob = require('glob-promise');
|
||||
const jsdom = require('jsdom');
|
||||
const mkdirp = require('mkdirp');
|
||||
const Promise = require('bluebird');
|
||||
const shell = require('shelljs');
|
||||
var Promise = require('bluebird');
|
||||
var request = require('request');
|
||||
var glob = require('glob');
|
||||
var fs = require('fs.extra');
|
||||
var mkdirp = require('mkdirp');
|
||||
var server = require('./server.js');
|
||||
var Feed = require('feed');
|
||||
|
||||
const convert = require('./convert.js');
|
||||
const slugify = require('../core/slugify');
|
||||
|
||||
const CWD = process.cwd();
|
||||
|
||||
const AUTODOCS_PREFIX = 'autogen_';
|
||||
const MARKDOWN_EXTENSION = 'md';
|
||||
|
||||
const GIT_USER = 'hramos'; //process.env.GIT_USER;
|
||||
const GITHUB_USERNAME = 'facebook'; // process.env.GITHUB_USERNAME;
|
||||
const GITHUB_REPONAME = 'react-native'; // process.env.GITHUB_REPONAME;
|
||||
const remoteBranch = `https://${GIT_USER}@github.com/${GITHUB_USERNAME}/${GITHUB_REPONAME}.git`;
|
||||
|
||||
const CHECKOUT_DIR = `${GITHUB_REPONAME}-docs`;
|
||||
const BUILD_DIR = 'build';
|
||||
const DOCS_DIR = 'versioned_docs';
|
||||
const SIDEBAR_DIR = 'versioned_sidebars';
|
||||
|
||||
const { JSDOM } = jsdom;
|
||||
|
||||
// Start up a server. Don't forget to close the connection when done.
|
||||
const server = require('./server.js');
|
||||
require('./convert.js')({extractDocs: true});
|
||||
server.noconvert = true;
|
||||
|
||||
const argv = require('minimist')(process.argv.slice(2), {
|
||||
alias: {
|
||||
'c': 'clean'
|
||||
},
|
||||
default: {
|
||||
'autodocs': true
|
||||
}
|
||||
});
|
||||
// Sadly, our setup fatals when doing multiple concurrent requests
|
||||
// I don't have the time to dig into why, it's easier to just serialize
|
||||
// requests.
|
||||
var queue = Promise.resolve();
|
||||
|
||||
function runChecks() {
|
||||
if (!shell.which('git')) {
|
||||
shell.echo('Sorry, this script requires git');
|
||||
shell.exit(1);
|
||||
}
|
||||
// Generate HTML for each non-source code JS file
|
||||
glob('src/**/*.*', function(er, files) {
|
||||
files.forEach(function(file) {
|
||||
var targetFile = file.replace(/^src/, 'build');
|
||||
|
||||
if (!GIT_USER) {
|
||||
shell.echo('GIT_USER undefined.');
|
||||
shell.exit(1);
|
||||
}
|
||||
if (!GITHUB_USERNAME) {
|
||||
shell.echo('GITHUB_USERNAME undefined.');
|
||||
shell.exit(1);
|
||||
}
|
||||
if (!GITHUB_REPONAME) {
|
||||
shell.echo('GITHUB_REPONAME undefined.');
|
||||
shell.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
function cleanFiles() {
|
||||
return fs.remove(BUILD_DIR);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates documentation for a given file.
|
||||
*
|
||||
* @param {*} file
|
||||
* @param {*} options
|
||||
*/
|
||||
function generateAutodocForFile(file, options) {
|
||||
if (file.match(/src\/react-native\/js/)) {
|
||||
// Ensure we're only processing extracted docs
|
||||
console.log(`Skipping ${file}`);
|
||||
return;
|
||||
}
|
||||
|
||||
const pathToOutputDir = filepath.create(BUILD_DIR, DOCS_DIR, options.version);
|
||||
|
||||
console.log(`Processing ${file}`);
|
||||
const url = 'http://localhost:8079/' + file
|
||||
.replace(/^src/, '')
|
||||
.replace(/\.js$/, '.html');
|
||||
|
||||
return fetch(url)
|
||||
.then(response => {
|
||||
if(response.ok) {
|
||||
return response.text();
|
||||
}
|
||||
throw new Error('Network response was not ok.');
|
||||
})
|
||||
.then(body => {
|
||||
const dom = new JSDOM(body);
|
||||
|
||||
const markdown = generateMarkdownFromDOM(dom);
|
||||
const frontmatter = fm(markdown);
|
||||
|
||||
const pathToOutputFile = pathToOutputDir.append(`${AUTODOCS_PREFIX}${frontmatter.attributes.original_id}.${MARKDOWN_EXTENSION}`);
|
||||
|
||||
return fs.outputFile(pathToOutputFile.toString(), markdown);
|
||||
})
|
||||
.catch(error => {
|
||||
console.log(error);
|
||||
reject(error);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates Markdown documentation.
|
||||
* Uses the convert script to extract docs from source files.
|
||||
*/
|
||||
function generateAutodocs(options = { }) {
|
||||
console.log(`Generating Markdown files from JavaScript sources.`);
|
||||
|
||||
const metadata = convert({extractDocs: true});
|
||||
return Promise.resolve()
|
||||
.then(function() {
|
||||
return glob('src/**/*.js');
|
||||
})
|
||||
.then(function(files) {
|
||||
let queue = Promise.resolve();
|
||||
files.forEach(function(file) {
|
||||
queue = queue.then(function() {
|
||||
return generateAutodocForFile(file, options);
|
||||
if (file.match(/\.js$/) && !file.match(/src\/react-native\/js/)) {
|
||||
targetFile = targetFile.replace(/\.js$/, '.html');
|
||||
queue = queue.then(function() {
|
||||
return new Promise(function(resolve, reject) {
|
||||
request('http://localhost:8079/' + targetFile.replace(/^build\//, ''), function(error, response, body) {
|
||||
if (error) {
|
||||
reject(error);
|
||||
return;
|
||||
}
|
||||
if (response.statusCode != 200) {
|
||||
reject(new Error('Status ' + response.statusCode + ':\n' + body));
|
||||
return;
|
||||
}
|
||||
mkdirp.sync(targetFile.replace(new RegExp('/[^/]*$'), ''));
|
||||
fs.writeFileSync(targetFile, body);
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
return queue;
|
||||
})
|
||||
.then(function() {
|
||||
console.log(`Generated Markdown files from JavaScript sources.`);
|
||||
return metadata;
|
||||
})
|
||||
.catch(function(e) {
|
||||
console.error(e);
|
||||
process.exit(1);
|
||||
});
|
||||
}
|
||||
|
||||
// Check out gh-pages branch
|
||||
function checkOutDocs() {
|
||||
const pathToGitCheckout = filepath.create(BUILD_DIR, CHECKOUT_DIR);
|
||||
|
||||
let sidebarMetadata = {};
|
||||
const p = Promise.resolve();
|
||||
return p
|
||||
.then(() => {
|
||||
return fs.ensureDir(pathToGitCheckout.toString());
|
||||
})
|
||||
.then(() => {
|
||||
shell.cd(CWD);
|
||||
shell.cd(BUILD_DIR);
|
||||
shell.cd(CHECKOUT_DIR);
|
||||
return fs.exists(pathToGitCheckout.append(`.git`).toString())
|
||||
}).then(gitCheckoutExists => {
|
||||
if (!gitCheckoutExists) {
|
||||
shell.exec(`git init`).code !== 0;
|
||||
|
||||
if (shell.exec(`git remote add origin ${remoteBranch}`).code !== 0) {
|
||||
throw new Error('Error: git remote failed');
|
||||
}
|
||||
}
|
||||
return;
|
||||
})
|
||||
.then(() => {
|
||||
if (shell.exec(`git fetch`).code !== 0) {
|
||||
throw new Error('Error: git fetch failed');
|
||||
}
|
||||
|
||||
if (shell.exec(`git checkout gh-pages`).code !== 0) {
|
||||
throw new Error('Error: git checkout failed');
|
||||
}
|
||||
|
||||
return glob('releases/**/*.html');
|
||||
}).then(files => {
|
||||
let seq = Promise.resolve();
|
||||
files.forEach(function(file) {
|
||||
seq = seq.then(() => {
|
||||
return extractMarkdownFromHTMLDocs(file);
|
||||
}).then((res) => {
|
||||
// console.log(res);
|
||||
if (res.markdown === undefined) {
|
||||
return;
|
||||
}
|
||||
const { frontmatter, markdown } = res;
|
||||
const version = extractDocVersionFromFilename(file);
|
||||
|
||||
if (!version) {
|
||||
return;
|
||||
}
|
||||
|
||||
const pathToOutputFile = filepath.create(CWD, '..', 'website', DOCS_DIR, version, `${frontmatter.attributes.original_id}.${MARKDOWN_EXTENSION}`);
|
||||
|
||||
if (sidebarMetadata[version] === undefined) {
|
||||
sidebarMetadata[version] = [];
|
||||
}
|
||||
|
||||
if (frontmatter.attributes.original_id !== "404"
|
||||
&& frontmatter.attributes.original_id !== "index"
|
||||
&& frontmatter.attributes.original_id !== "help"
|
||||
&& frontmatter.attributes.original_id !== "users"
|
||||
&& frontmatter.attributes.original_id !== "showcase"
|
||||
&& frontmatter.attributes.original_id !== "support"
|
||||
&& frontmatter.attributes.original_id !== "versions") {
|
||||
sidebarMetadata[version].push(frontmatter.attributes.id);
|
||||
return fs.outputFile(pathToOutputFile.toString(), markdown);
|
||||
}
|
||||
return;
|
||||
} else {
|
||||
queue = queue.then(function() {
|
||||
return new Promise(function(resolve, reject) {
|
||||
mkdirp.sync(targetFile.replace(new RegExp('/[^/]*$'), ''));
|
||||
fs.copy(file, targetFile, resolve);
|
||||
});
|
||||
});
|
||||
return seq;
|
||||
}).then(() => {
|
||||
console.log(sidebarMetadata)
|
||||
const pathToSidebarMetadataFile = filepath.create(CWD, BUILD_DIR, SIDEBAR_DIR, `sidebars-metadata.json`);
|
||||
return fs.outputFile(pathToSidebarMetadataFile.toString(), JSON.stringify(sidebarMetadata));
|
||||
}).then(() => {
|
||||
filepath.create(CWD, '..', 'website', SIDEBAR_DIR);
|
||||
for (const version in sidebarMetadata) {
|
||||
if (sidebarMetadata.hasOwnProperty(version)) {
|
||||
const documents = sidebarMetadata[version];
|
||||
let sidebar = {};
|
||||
sidebar[`version-${version}-docs`] = { "APIs": documents };
|
||||
|
||||
const pathToSidebarFile = filepath.create(CWD, '..', 'website', SIDEBAR_DIR, `version-${version}-sidebars.json`);
|
||||
console.log(`Writing ${pathToSidebarFile}: ${sidebar}`);
|
||||
|
||||
fs.outputFileSync(pathToSidebarFile.toString(), JSON.stringify(sidebar));
|
||||
}
|
||||
}
|
||||
return;
|
||||
}).then(() => {
|
||||
filepath.create(CWD, BUILD_DIR, SIDEBAR_DIR);
|
||||
const versions = Object.keys(sidebarMetadata);
|
||||
|
||||
const pathToVersionsFile = filepath.create(CWD, BUILD_DIR, `versions.json`);
|
||||
return fs.outputFile(pathToVersionsFile.toString(), JSON.stringify(versions.reverse()));
|
||||
}).then(() => {
|
||||
shell.cd(CWD);
|
||||
shell.cd(BUILD_DIR);
|
||||
shell.cd(CHECKOUT_DIR);
|
||||
|
||||
shell.exec(`git config core.sparsecheckout true`).code !== 0;
|
||||
shell.exec(`echo "docs/*" >> .git/info/sparse-checkout`).code !== 0;
|
||||
shell.exec(`echo "Libraries/*" >> .git/info/sparse-checkout`).code !== 0;
|
||||
|
||||
if (shell.exec(`git checkout master`).code !== 0) {
|
||||
throw new Error('Error: git checkout failed');
|
||||
}
|
||||
|
||||
// maybe should clear out before?
|
||||
shell.cp('-r', 'docs/*.md', '../../docs/.');
|
||||
|
||||
return glob('docs/**/*.md');
|
||||
}).then(() => {
|
||||
// now we handle sidebarring
|
||||
// and make versioned sidebar?
|
||||
return; //copy
|
||||
}).then(() => {
|
||||
// then finally we run docgen over Libraries/...
|
||||
});
|
||||
}
|
||||
|
||||
function checkoutMasterDocs() {
|
||||
const pathToGitCheckout = filepath.create(BUILD_DIR, CHECKOUT_DIR);
|
||||
|
||||
let sidebarMetadata = {};
|
||||
const p = Promise.resolve();
|
||||
return p
|
||||
.then(() => {
|
||||
return fs.ensureDir(pathToGitCheckout.toString());
|
||||
})
|
||||
.then(() => {
|
||||
shell.cd(CWD);
|
||||
shell.cd(BUILD_DIR);
|
||||
shell.cd(CHECKOUT_DIR);
|
||||
return fs.exists(pathToGitCheckout.append(`.git`).toString())
|
||||
})
|
||||
.then(gitCheckoutExists => {
|
||||
if (!gitCheckoutExists) {
|
||||
shell.exec(`git init`).code !== 0;
|
||||
|
||||
if (shell.exec(`git remote add origin ${remoteBranch}`).code !== 0) {
|
||||
throw new Error('Error: git remote failed');
|
||||
}
|
||||
}
|
||||
return;
|
||||
})
|
||||
.then(() => {
|
||||
if (shell.exec(`git fetch`).code !== 0) {
|
||||
throw new Error('Error: git fetch failed');
|
||||
}
|
||||
shell.exec(`git config core.sparsecheckout true`).code !== 0;
|
||||
shell.exec(`echo "docs/*" >> .git/info/sparse-checkout`).code !== 0;
|
||||
shell.exec(`echo "Libraries/*" >> .git/info/sparse-checkout`).code !== 0;
|
||||
|
||||
if (shell.exec(`git checkout master`).code !== 0) {
|
||||
throw new Error('Error: git checkout failed');
|
||||
}
|
||||
|
||||
return glob('docs/**/*.md');
|
||||
})
|
||||
.then((files) => {
|
||||
let seq = Promise.resolve();
|
||||
files.forEach((file) => {
|
||||
seq = seq.then(() => {
|
||||
return fs.readFile(file, 'utf8');
|
||||
}).then((originalMarkdown) => {
|
||||
const frontmatter = fm(originalMarkdown);
|
||||
|
||||
const category = frontmatter.attributes.category;
|
||||
const transformedMarkdown = [
|
||||
'---',
|
||||
'id: ' + frontmatter.attributes.id,
|
||||
'title: ' + frontmatter.attributes.title,
|
||||
'---',
|
||||
frontmatter.body
|
||||
].filter(function(line) {
|
||||
return line;
|
||||
}).join('\n');
|
||||
|
||||
if (!sidebarMetadata.hasOwnProperty(category)) {
|
||||
sidebarMetadata[category] = [];
|
||||
}
|
||||
|
||||
sidebarMetadata[category].push(frontmatter.attributes.id);
|
||||
|
||||
const pathToOutputFile = filepath.create(CWD, '..', 'docs', `${frontmatter.attributes.id}.${MARKDOWN_EXTENSION}`);
|
||||
return fs.outputFile(pathToOutputFile.toString(), transformedMarkdown);
|
||||
});
|
||||
});
|
||||
// now we convert
|
||||
// now we handle sidebarring
|
||||
// and make versioned sidebar?
|
||||
return seq; //copy
|
||||
})
|
||||
.then(() => {
|
||||
console.log(`My sidebar: ${JSON.stringify(sidebarMetadata)}`);
|
||||
|
||||
// then finally we run docgen over Libraries/...
|
||||
console.log(`should codegen`)
|
||||
const pathToOutputFile = filepath.create(CWD, '..', 'website', `gen-sidebars.json`);
|
||||
return fs.outputFile(pathToOutputFile.toString(), { "docs": sidebarMetadata });
|
||||
});
|
||||
}
|
||||
|
||||
function extractDocVersionFromFilename(file) {
|
||||
const re = new RegExp('\/([0-9]*[.]?[0-9]*)');
|
||||
return file.match(re)[1];
|
||||
}
|
||||
|
||||
|
||||
function extractComponentNameFromFilename(file) {
|
||||
const re = new RegExp('([A-Za-z-]*).html');
|
||||
return file.match(re)[1];
|
||||
}
|
||||
|
||||
|
||||
function extractMarkdownFromHTMLDocs(file) {
|
||||
if (file.indexOf("404") !== -1) {
|
||||
return { };
|
||||
}
|
||||
// console.log(`Processing ${file}`);
|
||||
return JSDOM.fromFile(filepath.create(file).toString())
|
||||
.then((dom) => {
|
||||
const body = bodyContentFromDOM(dom);
|
||||
|
||||
if (!body) {
|
||||
return {};
|
||||
}
|
||||
const componentName = extractComponentNameFromFilename(file);
|
||||
const version = extractDocVersionFromFilename(file);
|
||||
const markdown = generateMarkdown(componentName, body, version);
|
||||
const frontmatter = fm(markdown);
|
||||
return { frontmatter, markdown };
|
||||
})
|
||||
}
|
||||
});
|
||||
|
||||
// DOM FORMATTING FUNCS
|
||||
|
||||
function bodyContentFromDOM(dom) {
|
||||
const el = dom.window.document.querySelector('.inner-content');
|
||||
if (el) {
|
||||
return el.innerHTML;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
function componentNameFromDOM(dom) {
|
||||
const el = dom.window.document.querySelector('h1');
|
||||
if (el) {
|
||||
let componentName = el.innerHTML;
|
||||
const re = new RegExp('docs/([A-Za-z]*)(.html)');
|
||||
const parsedTitle = el.innerHTML.match(re);
|
||||
if (parsedTitle) {
|
||||
componentName = parsedTitle[1];
|
||||
}
|
||||
return componentName;
|
||||
} else {
|
||||
return 'Component';
|
||||
}
|
||||
}
|
||||
|
||||
function componentCategoryFromDOM(dom) {
|
||||
const el = dom.window.document.querySelector('meta[property="rn:category"]');
|
||||
if (el) {
|
||||
return el.content;
|
||||
} else {
|
||||
return 'Components';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a markdown formatted file, including frontmatter.
|
||||
*
|
||||
* @param {*} dom
|
||||
*/
|
||||
function generateMarkdownFromDOM(dom) {
|
||||
const body = bodyContentFromDOM(dom);
|
||||
if (!body) {
|
||||
return;
|
||||
}
|
||||
const componentName = componentNameFromDOM(dom);
|
||||
const slug = slugify(componentName);
|
||||
const markdown = [
|
||||
'---',
|
||||
'id: ' + slug,
|
||||
'title: ' + componentName,
|
||||
'---',
|
||||
body
|
||||
]
|
||||
.filter(function(line) {
|
||||
return line;
|
||||
})
|
||||
.join('\n');
|
||||
|
||||
return markdown;
|
||||
}
|
||||
|
||||
function generateMarkdown(componentName, body, version) {
|
||||
const slug = slugify(componentName);
|
||||
|
||||
let markdown = [
|
||||
'---',
|
||||
'id: ' + slug,
|
||||
'title: ' + componentName,
|
||||
'---',
|
||||
body
|
||||
];
|
||||
if (version) {
|
||||
markdown = [
|
||||
'---',
|
||||
'id: version-' + version + '-' + slug,
|
||||
'title: ' + componentName,
|
||||
'original_id: ' + slug,
|
||||
'---',
|
||||
body
|
||||
];
|
||||
}
|
||||
return markdown.filter(function(line) {
|
||||
return line;
|
||||
}).join('\n');
|
||||
}
|
||||
|
||||
function generateMetatadaFile(categories) {
|
||||
const categoriesMetadataFile = `${BUILD_DIR}/sidebar-metadata.json`;
|
||||
return fs.outputFile(categoriesMetadataFile, JSON.stringify(categories));
|
||||
}
|
||||
// END DOM
|
||||
|
||||
|
||||
function checkoutAutodocs() {
|
||||
return Promise.resolve()
|
||||
.then(() => {
|
||||
return generateAutodocs();
|
||||
})
|
||||
.finally(function() {
|
||||
queue = queue.then(function() {
|
||||
console.log('Generated HTML files from JS');
|
||||
}).finally(function() {
|
||||
server.close();
|
||||
}).catch(function(e) {
|
||||
console.error(e);
|
||||
process.exit(1);
|
||||
});
|
||||
}
|
||||
|
||||
if (argv.clean) {
|
||||
cleanFiles();
|
||||
}
|
||||
|
||||
// if (argv.autodocs) {
|
||||
runChecks();
|
||||
// checkOutDocs();
|
||||
checkoutMasterDocs()
|
||||
.then(() => {
|
||||
checkoutAutodocs();
|
||||
})
|
||||
// }
|
||||
|
||||
/**
|
||||
* Check out gh-pages branch, cd releases/
|
||||
* For each version,
|
||||
* For each HTML,
|
||||
* Parse out jsdom
|
||||
* Get body contents
|
||||
* Generate frontmatter
|
||||
* Save into versioned_docs
|
||||
* Then finally generate sidebar files for each version
|
||||
*
|
||||
*/
|
||||
|
||||
module.exports = generateAutodocs;
|
||||
});
|
||||
+1
-1
@@ -120,7 +120,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"accessibilityinfo","title":"AccessibilityInfo","layout":"autodocs","category":"APIs","permalink":"docs/accessibilityinfo.html","platform":"cross","next":"actionsheetios","previous":"webview","sidebar":true,"path":"Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js","filename":null}}>
|
||||
<Layout metadata={{"id":"accessibilityinfo","title":"AccessibilityInfo","layout":"autodocs","category":"APIs","permalink":"docs/accessibilityinfo.html","platform":"cross","next":"accessibilityinfo","previous":"virtualizedlist","sidebar":true,"path":"Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -78,7 +78,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"actionsheetios","title":"ActionSheetIOS","layout":"autodocs","category":"APIs","permalink":"docs/actionsheetios.html","platform":"ios","next":"alert","previous":"accessibilityinfo","sidebar":true,"path":"Libraries/ActionSheetIOS/ActionSheetIOS.js","filename":null}}>
|
||||
<Layout metadata={{"id":"actionsheetios","title":"ActionSheetIOS","layout":"autodocs","category":"APIs","permalink":"docs/actionsheetios.html","platform":"ios","next":"actionsheetios","previous":"webview","sidebar":true,"path":"Libraries/ActionSheetIOS/ActionSheetIOS.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -61,7 +61,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"alert","title":"Alert","layout":"autodocs","category":"APIs","permalink":"docs/alert.html","platform":"cross","next":"alertios","previous":"actionsheetios","sidebar":true,"path":"Libraries/Alert/Alert.js","filename":null}}>
|
||||
<Layout metadata={{"id":"alert","title":"Alert","layout":"autodocs","category":"APIs","permalink":"docs/alert.html","platform":"cross","next":"alert","previous":"accessibilityinfo","sidebar":true,"path":"Libraries/Alert/Alert.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+5
-5
@@ -132,7 +132,7 @@ var content = `\{
|
||||
500,
|
||||
724
|
||||
],
|
||||
"filename": "a6d91qe3ouou73edh6as9k.js",
|
||||
"filename": "gsok9heafqtbmylcokel7b.js",
|
||||
"lineno": 27,
|
||||
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
|
||||
"code": \{}
|
||||
@@ -181,7 +181,7 @@ var content = `\{
|
||||
1301,
|
||||
6425
|
||||
],
|
||||
"filename": "a6d91qe3ouou73edh6as9k.js",
|
||||
"filename": "gsok9heafqtbmylcokel7b.js",
|
||||
"lineno": 64,
|
||||
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
|
||||
"code": \{
|
||||
@@ -205,7 +205,7 @@ var content = `\{
|
||||
1320,
|
||||
2364
|
||||
],
|
||||
"filename": "a6d91qe3ouou73edh6as9k.js",
|
||||
"filename": "gsok9heafqtbmylcokel7b.js",
|
||||
"lineno": 65,
|
||||
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
|
||||
"code": \{}
|
||||
@@ -280,7 +280,7 @@ var content = `\{
|
||||
2746,
|
||||
4559
|
||||
],
|
||||
"filename": "a6d91qe3ouou73edh6as9k.js",
|
||||
"filename": "gsok9heafqtbmylcokel7b.js",
|
||||
"lineno": 101,
|
||||
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
|
||||
"code": \{}
|
||||
@@ -380,7 +380,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"alertios","title":"AlertIOS","layout":"autodocs","category":"APIs","permalink":"docs/alertios.html","platform":"ios","next":"animated","previous":"alert","sidebar":true,"path":"Libraries/Alert/AlertIOS.js","filename":null}}>
|
||||
<Layout metadata={{"id":"alertios","title":"AlertIOS","layout":"autodocs","category":"APIs","permalink":"docs/alertios.html","platform":"ios","next":"alertios","previous":"actionsheetios","sidebar":true,"path":"Libraries/Alert/AlertIOS.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -1117,7 +1117,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"animated","title":"Animated","layout":"autodocs","category":"APIs","permalink":"docs/animated.html","platform":"cross","next":"appregistry","previous":"alertios","sidebar":true,"path":"Libraries/Animated/src/AnimatedImplementation.js","filename":null}}>
|
||||
<Layout metadata={{"id":"animated","title":"Animated","layout":"autodocs","category":"APIs","permalink":"docs/animated.html","platform":"cross","next":"animated","previous":"alert","sidebar":true,"path":"Libraries/Animated/src/AnimatedImplementation.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -301,7 +301,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"appregistry","title":"AppRegistry","layout":"autodocs","category":"APIs","permalink":"docs/appregistry.html","platform":"cross","next":"appstate","previous":"animated","sidebar":true,"path":"Libraries/ReactNative/AppRegistry.js","filename":null}}>
|
||||
<Layout metadata={{"id":"appregistry","title":"AppRegistry","layout":"autodocs","category":"APIs","permalink":"docs/appregistry.html","platform":"cross","next":"appregistry","previous":"alertios","sidebar":true,"path":"Libraries/ReactNative/AppRegistry.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -92,7 +92,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"appstate","title":"AppState","layout":"autodocs","category":"APIs","permalink":"docs/appstate.html","platform":"cross","next":"asyncstorage","previous":"appregistry","sidebar":true,"path":"Libraries/AppState/AppState.js","filename":null}}>
|
||||
<Layout metadata={{"id":"appstate","title":"AppState","layout":"autodocs","category":"APIs","permalink":"docs/appstate.html","platform":"cross","next":"appstate","previous":"animated","sidebar":true,"path":"Libraries/AppState/AppState.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+13
-13
@@ -11,7 +11,7 @@ var content = `\{
|
||||
1920,
|
||||
14385
|
||||
],
|
||||
"filename": "nkoegy81pald9t0fb6b6.js",
|
||||
"filename": "0ixhk1fcq0ospkxryfsrhc.js",
|
||||
"lineno": 62,
|
||||
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
|
||||
"code": \{
|
||||
@@ -35,7 +35,7 @@ var content = `\{
|
||||
2285,
|
||||
2786
|
||||
],
|
||||
"filename": "nkoegy81pald9t0fb6b6.js",
|
||||
"filename": "0ixhk1fcq0ospkxryfsrhc.js",
|
||||
"lineno": 75,
|
||||
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
|
||||
"code": \{
|
||||
@@ -92,7 +92,7 @@ var content = `\{
|
||||
3094,
|
||||
3459
|
||||
],
|
||||
"filename": "nkoegy81pald9t0fb6b6.js",
|
||||
"filename": "0ixhk1fcq0ospkxryfsrhc.js",
|
||||
"lineno": 99,
|
||||
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
|
||||
"code": \{
|
||||
@@ -158,7 +158,7 @@ var content = `\{
|
||||
3725,
|
||||
4080
|
||||
],
|
||||
"filename": "nkoegy81pald9t0fb6b6.js",
|
||||
"filename": "0ixhk1fcq0ospkxryfsrhc.js",
|
||||
"lineno": 120,
|
||||
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
|
||||
"code": \{
|
||||
@@ -215,7 +215,7 @@ var content = `\{
|
||||
5240,
|
||||
5609
|
||||
],
|
||||
"filename": "nkoegy81pald9t0fb6b6.js",
|
||||
"filename": "0ixhk1fcq0ospkxryfsrhc.js",
|
||||
"lineno": 169,
|
||||
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
|
||||
"code": \{
|
||||
@@ -284,7 +284,7 @@ var content = `\{
|
||||
5934,
|
||||
6263
|
||||
],
|
||||
"filename": "nkoegy81pald9t0fb6b6.js",
|
||||
"filename": "0ixhk1fcq0ospkxryfsrhc.js",
|
||||
"lineno": 190,
|
||||
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
|
||||
"code": \{
|
||||
@@ -332,7 +332,7 @@ var content = `\{
|
||||
6547,
|
||||
6875
|
||||
],
|
||||
"filename": "nkoegy81pald9t0fb6b6.js",
|
||||
"filename": "0ixhk1fcq0ospkxryfsrhc.js",
|
||||
"lineno": 211,
|
||||
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
|
||||
"code": \{
|
||||
@@ -380,7 +380,7 @@ var content = `\{
|
||||
7392,
|
||||
8575
|
||||
],
|
||||
"filename": "nkoegy81pald9t0fb6b6.js",
|
||||
"filename": "0ixhk1fcq0ospkxryfsrhc.js",
|
||||
"lineno": 235,
|
||||
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
|
||||
"code": \{
|
||||
@@ -429,7 +429,7 @@ var content = `\{
|
||||
9513,
|
||||
10248
|
||||
],
|
||||
"filename": "nkoegy81pald9t0fb6b6.js",
|
||||
"filename": "0ixhk1fcq0ospkxryfsrhc.js",
|
||||
"lineno": 292,
|
||||
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
|
||||
"code": \{
|
||||
@@ -492,7 +492,7 @@ var content = `\{
|
||||
10805,
|
||||
11163
|
||||
],
|
||||
"filename": "nkoegy81pald9t0fb6b6.js",
|
||||
"filename": "0ixhk1fcq0ospkxryfsrhc.js",
|
||||
"lineno": 341,
|
||||
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
|
||||
"code": \{
|
||||
@@ -549,7 +549,7 @@ var content = `\{
|
||||
11710,
|
||||
12056
|
||||
],
|
||||
"filename": "nkoegy81pald9t0fb6b6.js",
|
||||
"filename": "0ixhk1fcq0ospkxryfsrhc.js",
|
||||
"lineno": 371,
|
||||
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
|
||||
"code": \{
|
||||
@@ -609,7 +609,7 @@ var content = `\{
|
||||
14021,
|
||||
14383
|
||||
],
|
||||
"filename": "nkoegy81pald9t0fb6b6.js",
|
||||
"filename": "0ixhk1fcq0ospkxryfsrhc.js",
|
||||
"lineno": 443,
|
||||
"path": "/var/folders/82/w8hcc_tj7yq80482srkc1r2x0bj21j/T",
|
||||
"code": \{
|
||||
@@ -673,7 +673,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"asyncstorage","title":"AsyncStorage","layout":"autodocs","category":"APIs","permalink":"docs/asyncstorage.html","platform":"cross","next":"backandroid","previous":"appstate","sidebar":true,"path":"Libraries/Storage/AsyncStorage.js","filename":null}}>
|
||||
<Layout metadata={{"id":"asyncstorage","title":"AsyncStorage","layout":"autodocs","category":"APIs","permalink":"docs/asyncstorage.html","platform":"cross","next":"asyncstorage","previous":"appregistry","sidebar":true,"path":"Libraries/Storage/AsyncStorage.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -80,7 +80,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"backandroid","title":"BackAndroid","layout":"autodocs","category":"APIs","permalink":"docs/backandroid.html","platform":"android","next":"backhandler","previous":"asyncstorage","sidebar":true,"path":"Libraries/Utilities/BackAndroid.js","filename":null}}>
|
||||
<Layout metadata={{"id":"backandroid","title":"BackAndroid","layout":"autodocs","category":"APIs","permalink":"docs/backandroid.html","platform":"android","next":"backandroid","previous":"appstate","sidebar":true,"path":"Libraries/Utilities/BackAndroid.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -80,7 +80,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"backhandler","title":"BackHandler","layout":"autodocs","category":"APIs","permalink":"docs/backhandler.html","platform":"cross","next":"cameraroll","previous":"backhandler","sidebar":true,"path":"Libraries/Utilities/BackHandler.android.js","filename":null}}>
|
||||
<Layout metadata={{"id":"backhandler","title":"BackHandler","layout":"autodocs","category":"APIs","permalink":"docs/backhandler.html","platform":"cross","next":"backhandler","previous":"backandroid","sidebar":true,"path":"Libraries/Utilities/BackHandler.android.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -720,7 +720,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"button","title":"Button","layout":"autodocs","category":"Components","permalink":"docs/button.html","platform":"cross","next":"datepickerios","previous":"activityindicator","sidebar":true,"path":"Libraries/Components/Button.js","filename":null}}>
|
||||
<Layout metadata={{"id":"button","title":"Button","layout":"autodocs","category":"Components","permalink":"docs/button.html","platform":"cross","next":"checkbox","previous":"activityindicator","sidebar":true,"path":"Libraries/Components/Button.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -100,7 +100,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"cameraroll","title":"CameraRoll","layout":"autodocs","category":"APIs","permalink":"docs/cameraroll.html","platform":"cross","next":"clipboard","previous":"backhandler","sidebar":true,"path":"Libraries/CameraRoll/CameraRoll.js","filename":null}}>
|
||||
<Layout metadata={{"id":"cameraroll","title":"CameraRoll","layout":"autodocs","category":"APIs","permalink":"docs/cameraroll.html","platform":"cross","next":"cameraroll","previous":"backhandler","sidebar":true,"path":"Libraries/CameraRoll/CameraRoll.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -55,7 +55,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"clipboard","title":"Clipboard","layout":"autodocs","category":"APIs","permalink":"docs/clipboard.html","platform":"cross","next":"datepickerandroid","previous":"cameraroll","sidebar":true,"path":"Libraries/Components/Clipboard/Clipboard.js","filename":null}}>
|
||||
<Layout metadata={{"id":"clipboard","title":"Clipboard","layout":"autodocs","category":"APIs","permalink":"docs/clipboard.html","platform":"cross","next":"clipboard","previous":"backhandler","sidebar":true,"path":"Libraries/Components/Clipboard/Clipboard.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -64,7 +64,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"datepickerandroid","title":"DatePickerAndroid","layout":"autodocs","category":"APIs","permalink":"docs/datepickerandroid.html","platform":"android","next":"dimensions","previous":"clipboard","sidebar":true,"path":"Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js","filename":null}}>
|
||||
<Layout metadata={{"id":"datepickerandroid","title":"DatePickerAndroid","layout":"autodocs","category":"APIs","permalink":"docs/datepickerandroid.html","platform":"android","next":"datepickerandroid","previous":"cameraroll","sidebar":true,"path":"Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -767,7 +767,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"datepickerios","title":"DatePickerIOS","layout":"autodocs","category":"Components","permalink":"docs/datepickerios.html","platform":"ios","next":"drawerlayoutandroid","previous":"button","sidebar":true,"path":"Libraries/Components/DatePicker/DatePickerIOS.ios.js","filename":null}}>
|
||||
<Layout metadata={{"id":"datepickerios","title":"DatePickerIOS","layout":"autodocs","category":"Components","permalink":"docs/datepickerios.html","platform":"ios","next":"datepickerios","previous":"button","sidebar":true,"path":"Libraries/Components/DatePicker/DatePickerIOS.ios.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -111,7 +111,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"dimensions","title":"Dimensions","layout":"autodocs","category":"APIs","permalink":"docs/dimensions.html","platform":"cross","next":"easing","previous":"datepickerandroid","sidebar":true,"path":"Libraries/Utilities/Dimensions.js","filename":null}}>
|
||||
<Layout metadata={{"id":"dimensions","title":"Dimensions","layout":"autodocs","category":"APIs","permalink":"docs/dimensions.html","platform":"cross","next":"dimensions","previous":"clipboard","sidebar":true,"path":"Libraries/Utilities/Dimensions.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -785,7 +785,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"drawerlayoutandroid","title":"DrawerLayoutAndroid","layout":"autodocs","category":"Components","permalink":"docs/drawerlayoutandroid.html","platform":"android","next":"flatlist","previous":"datepickerios","sidebar":true,"path":"Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js","filename":null}}>
|
||||
<Layout metadata={{"id":"drawerlayoutandroid","title":"DrawerLayoutAndroid","layout":"autodocs","category":"Components","permalink":"docs/drawerlayoutandroid.html","platform":"android","next":"drawerlayoutandroid","previous":"checkbox","sidebar":true,"path":"Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -320,7 +320,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"easing","title":"Easing","layout":"autodocs","category":"APIs","permalink":"docs/easing.html","platform":"cross","next":"geolocation","previous":"dimensions","sidebar":true,"path":"Libraries/Animated/src/Easing.js","filename":null}}>
|
||||
<Layout metadata={{"id":"easing","title":"Easing","layout":"autodocs","category":"APIs","permalink":"docs/easing.html","platform":"cross","next":"easing","previous":"datepickerandroid","sidebar":true,"path":"Libraries/Animated/src/Easing.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -1273,7 +1273,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"flatlist","title":"FlatList","layout":"autodocs","category":"Components","permalink":"docs/flatlist.html","platform":"cross","next":"image","previous":"drawerlayoutandroid","sidebar":true,"path":"Libraries/Lists/FlatList.js","filename":null}}>
|
||||
<Layout metadata={{"id":"flatlist","title":"FlatList","layout":"autodocs","category":"Components","permalink":"docs/flatlist.html","platform":"cross","next":"flatlist","previous":"datepickerios","sidebar":true,"path":"Libraries/Lists/FlatList.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -133,7 +133,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"geolocation","title":"Geolocation","layout":"autodocs","category":"APIs","permalink":"docs/geolocation.html","platform":"cross","next":"imageeditor","previous":"easing","sidebar":true,"path":"Libraries/Geolocation/Geolocation.js","filename":null}}>
|
||||
<Layout metadata={{"id":"geolocation","title":"Geolocation","layout":"autodocs","category":"APIs","permalink":"docs/geolocation.html","platform":"cross","next":"geolocation","previous":"dimensions","sidebar":true,"path":"Libraries/Geolocation/Geolocation.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -902,7 +902,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"image","title":"Image","layout":"autodocs","category":"Components","permalink":"docs/image.html","platform":"cross","next":"keyboardavoidingview","previous":"flatlist","sidebar":true,"path":"Libraries/Image/Image.ios.js","filename":null}}>
|
||||
<Layout metadata={{"id":"image","title":"Image","layout":"autodocs","category":"Components","permalink":"docs/image.html","platform":"cross","next":"image","previous":"drawerlayoutandroid","sidebar":true,"path":"Libraries/Image/Image.ios.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -52,7 +52,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"imageeditor","title":"ImageEditor","layout":"autodocs","category":"APIs","permalink":"docs/imageeditor.html","platform":"cross","next":"imagepickerios","previous":"geolocation","sidebar":true,"path":"Libraries/Image/ImageEditor.js","filename":null}}>
|
||||
<Layout metadata={{"id":"imageeditor","title":"ImageEditor","layout":"autodocs","category":"APIs","permalink":"docs/imageeditor.html","platform":"cross","next":"imageeditor","previous":"easing","sidebar":true,"path":"Libraries/Image/ImageEditor.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -106,7 +106,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"imagepickerios","title":"ImagePickerIOS","layout":"autodocs","category":"APIs","permalink":"docs/imagepickerios.html","platform":"ios","next":"imagestore","previous":"imageeditor","sidebar":true,"path":"Libraries/CameraRoll/ImagePickerIOS.js","filename":null}}>
|
||||
<Layout metadata={{"id":"imagepickerios","title":"ImagePickerIOS","layout":"autodocs","category":"APIs","permalink":"docs/imagepickerios.html","platform":"ios","next":"imagepickerios","previous":"geolocation","sidebar":true,"path":"Libraries/CameraRoll/ImagePickerIOS.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -111,7 +111,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"imagestore","title":"ImageStore","layout":"autodocs","category":"APIs","permalink":"docs/imagestore.html","platform":"cross","next":"interactionmanager","previous":"imagepickerios","sidebar":true,"path":"Libraries/Image/ImageStore.js","filename":null}}>
|
||||
<Layout metadata={{"id":"imagestore","title":"ImageStore","layout":"autodocs","category":"APIs","permalink":"docs/imagestore.html","platform":"cross","next":"imagestore","previous":"imageeditor","sidebar":true,"path":"Libraries/Image/ImageStore.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -138,7 +138,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"imagestyleproptypes","title":"ImageStylePropTypes","layout":"autodocs","category":"APIs","permalink":"docs/imagestyleproptypes.html","platform":"cross","next":null,"previous":"textstyleproptypes","sidebar":true,"path":"Libraries/Image/ImageStylePropTypes.js","filename":null}}>
|
||||
<Layout metadata={{"id":"imagestyleproptypes","title":"ImageStylePropTypes","layout":"autodocs","category":"APIs","permalink":"docs/imagestyleproptypes.html","platform":"cross","next":"imagestyleproptypes","previous":"viewstyleproptypes","sidebar":true,"path":"Libraries/Image/ImageStylePropTypes.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -132,7 +132,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"interactionmanager","title":"InteractionManager","layout":"autodocs","category":"APIs","permalink":"docs/interactionmanager.html","platform":"cross","next":"keyboard","previous":"imagestore","sidebar":true,"path":"Libraries/Interaction/InteractionManager.js","filename":null}}>
|
||||
<Layout metadata={{"id":"interactionmanager","title":"InteractionManager","layout":"autodocs","category":"APIs","permalink":"docs/interactionmanager.html","platform":"cross","next":"interactionmanager","previous":"imagepickerios","sidebar":true,"path":"Libraries/Interaction/InteractionManager.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -106,7 +106,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"keyboard","title":"Keyboard","layout":"autodocs","category":"APIs","permalink":"docs/keyboard.html","platform":"cross","next":"layoutanimation","previous":"interactionmanager","sidebar":true,"path":"Libraries/Components/Keyboard/Keyboard.js","filename":null}}>
|
||||
<Layout metadata={{"id":"keyboard","title":"Keyboard","layout":"autodocs","category":"APIs","permalink":"docs/keyboard.html","platform":"cross","next":"keyboard","previous":"imagestore","sidebar":true,"path":"Libraries/Components/Keyboard/Keyboard.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -744,7 +744,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"keyboardavoidingview","title":"KeyboardAvoidingView","layout":"autodocs","category":"Components","permalink":"docs/keyboardavoidingview.html","platform":"cross","next":"listview","previous":"image","sidebar":true,"path":"Libraries/Components/Keyboard/KeyboardAvoidingView.js","filename":null}}>
|
||||
<Layout metadata={{"id":"keyboardavoidingview","title":"KeyboardAvoidingView","layout":"autodocs","category":"Components","permalink":"docs/keyboardavoidingview.html","platform":"cross","next":"keyboardavoidingview","previous":"flatlist","sidebar":true,"path":"Libraries/Components/Keyboard/KeyboardAvoidingView.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -702,7 +702,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"layout-props","title":"Layout Props","layout":"autodocs","category":"APIs","permalink":"docs/layout-props.html","platform":"cross","next":"shadow-props","previous":"vibrationios","sidebar":true,"path":"Libraries/StyleSheet/LayoutPropTypes.js","filename":null}}>
|
||||
<Layout metadata={{"id":"layout-props","title":"Layout Props","layout":"autodocs","category":"APIs","permalink":"docs/layout-props.html","platform":"cross","next":"layout-props","previous":"vibration","sidebar":true,"path":"Libraries/StyleSheet/LayoutPropTypes.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -175,7 +175,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"layoutanimation","title":"LayoutAnimation","layout":"autodocs","category":"APIs","permalink":"docs/layoutanimation.html","platform":"cross","next":"linking","previous":"keyboard","sidebar":true,"path":"Libraries/LayoutAnimation/LayoutAnimation.js","filename":null}}>
|
||||
<Layout metadata={{"id":"layoutanimation","title":"LayoutAnimation","layout":"autodocs","category":"APIs","permalink":"docs/layoutanimation.html","platform":"cross","next":"layoutanimation","previous":"interactionmanager","sidebar":true,"path":"Libraries/LayoutAnimation/LayoutAnimation.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -120,7 +120,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"linking","title":"Linking","layout":"autodocs","category":"APIs","permalink":"docs/linking.html","platform":"cross","next":"netinfo","previous":"layoutanimation","sidebar":true,"path":"Libraries/Linking/Linking.js","filename":null}}>
|
||||
<Layout metadata={{"id":"linking","title":"Linking","layout":"autodocs","category":"APIs","permalink":"docs/linking.html","platform":"cross","next":"linking","previous":"keyboard","sidebar":true,"path":"Libraries/Linking/Linking.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -854,7 +854,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"listview","title":"ListView","layout":"autodocs","category":"Components","permalink":"docs/listview.html","platform":"cross","next":"maskedviewios","previous":"keyboardavoidingview","sidebar":true,"path":"Libraries/Lists/ListView/ListView.js","filename":null}}>
|
||||
<Layout metadata={{"id":"listview","title":"ListView","layout":"autodocs","category":"Components","permalink":"docs/listview.html","platform":"cross","next":"listview","previous":"image","sidebar":true,"path":"Libraries/Lists/ListView/ListView.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -212,7 +212,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"listviewdatasource","title":"ListViewDataSource","layout":"autodocs","category":"APIs","permalink":"docs/listviewdatasource.html","platform":"cross","next":"netinfo","previous":"linking","sidebar":false,"path":"Libraries/Lists/ListView/ListViewDataSource.js","filename":null}}>
|
||||
<Layout metadata={{"id":"listviewdatasource","title":"ListViewDataSource","layout":"autodocs","category":"APIs","permalink":"docs/listviewdatasource.html","platform":"cross","next":"netinfo","previous":"layoutanimation","sidebar":false,"path":"Libraries/Lists/ListView/ListViewDataSource.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -672,7 +672,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"maskedviewios","title":"MaskedViewIOS","layout":"autodocs","category":"Components","permalink":"docs/maskedviewios.html","platform":"ios","next":"modal","previous":"listview","sidebar":true,"path":"Libraries/Components/MaskedView/MaskedViewIOS.ios.js","filename":null}}>
|
||||
<Layout metadata={{"id":"maskedviewios","title":"MaskedViewIOS","layout":"autodocs","category":"Components","permalink":"docs/maskedviewios.html","platform":"ios","next":"maskedviewios","previous":"keyboardavoidingview","sidebar":true,"path":"Libraries/Components/MaskedView/MaskedViewIOS.ios.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -784,7 +784,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"modal","title":"Modal","layout":"autodocs","category":"Components","permalink":"docs/modal.html","platform":"cross","next":"navigatorios","previous":"maskedviewios","sidebar":true,"path":"Libraries/Modal/Modal.js","filename":null}}>
|
||||
<Layout metadata={{"id":"modal","title":"Modal","layout":"autodocs","category":"Components","permalink":"docs/modal.html","platform":"cross","next":"modal","previous":"listview","sidebar":true,"path":"Libraries/Modal/Modal.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -1002,7 +1002,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"navigatorios","title":"NavigatorIOS","layout":"autodocs","category":"Components","permalink":"docs/navigatorios.html","platform":"ios","next":"picker","previous":"modal","sidebar":true,"path":"Libraries/Components/Navigation/NavigatorIOS.ios.js","filename":null}}>
|
||||
<Layout metadata={{"id":"navigatorios","title":"NavigatorIOS","layout":"autodocs","category":"Components","permalink":"docs/navigatorios.html","platform":"ios","next":"navigatorios","previous":"maskedviewios","sidebar":true,"path":"Libraries/Components/Navigation/NavigatorIOS.ios.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -113,7 +113,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"netinfo","title":"NetInfo","layout":"autodocs","category":"APIs","permalink":"docs/netinfo.html","platform":"cross","next":"panresponder","previous":"linking","sidebar":true,"path":"Libraries/Network/NetInfo.js","filename":null}}>
|
||||
<Layout metadata={{"id":"netinfo","title":"NetInfo","layout":"autodocs","category":"APIs","permalink":"docs/netinfo.html","platform":"cross","next":"netinfo","previous":"linking","sidebar":true,"path":"Libraries/Network/NetInfo.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -46,7 +46,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"panresponder","title":"PanResponder","layout":"autodocs","category":"APIs","permalink":"docs/panresponder.html","platform":"cross","next":"permissionsandroid","previous":"netinfo","sidebar":true,"path":"Libraries/Interaction/PanResponder.js","filename":null}}>
|
||||
<Layout metadata={{"id":"panresponder","title":"PanResponder","layout":"autodocs","category":"APIs","permalink":"docs/panresponder.html","platform":"cross","next":"panresponder","previous":"linking","sidebar":true,"path":"Libraries/Interaction/PanResponder.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -115,7 +115,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"permissionsandroid","title":"PermissionsAndroid","layout":"autodocs","category":"APIs","permalink":"docs/permissionsandroid.html","platform":"android","next":"pixelratio","previous":"panresponder","sidebar":true,"path":"Libraries/PermissionsAndroid/PermissionsAndroid.js","filename":null}}>
|
||||
<Layout metadata={{"id":"permissionsandroid","title":"PermissionsAndroid","layout":"autodocs","category":"APIs","permalink":"docs/permissionsandroid.html","platform":"android","next":"permissionsandroid","previous":"netinfo","sidebar":true,"path":"Libraries/PermissionsAndroid/PermissionsAndroid.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -757,7 +757,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"picker","title":"Picker","layout":"autodocs","category":"Components","permalink":"docs/picker.html","platform":"cross","next":"pickerios","previous":"navigatorios","sidebar":true,"path":"Libraries/Components/Picker/Picker.js","filename":null}}>
|
||||
<Layout metadata={{"id":"picker","title":"Picker","layout":"autodocs","category":"Components","permalink":"docs/picker.html","platform":"cross","next":"picker","previous":"modal","sidebar":true,"path":"Libraries/Components/Picker/Picker.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -673,7 +673,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"pickerios","title":"PickerIOS","layout":"autodocs","category":"Components","permalink":"docs/pickerios.html","platform":"ios","next":"progressbarandroid","previous":"picker","sidebar":true,"path":"Libraries/Components/Picker/PickerIOS.ios.js","filename":null}}>
|
||||
<Layout metadata={{"id":"pickerios","title":"PickerIOS","layout":"autodocs","category":"Components","permalink":"docs/pickerios.html","platform":"ios","next":"pickerios","previous":"navigatorios","sidebar":true,"path":"Libraries/Components/Picker/PickerIOS.ios.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -93,7 +93,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"pixelratio","title":"PixelRatio","layout":"autodocs","category":"APIs","permalink":"docs/pixelratio.html","platform":"cross","next":"pushnotificationios","previous":"permissionsandroid","sidebar":true,"path":"Libraries/Utilities/PixelRatio.js","filename":null}}>
|
||||
<Layout metadata={{"id":"pixelratio","title":"PixelRatio","layout":"autodocs","category":"APIs","permalink":"docs/pixelratio.html","platform":"cross","next":"pixelratio","previous":"panresponder","sidebar":true,"path":"Libraries/Utilities/PixelRatio.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -726,7 +726,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"progressbarandroid","title":"ProgressBarAndroid","layout":"autodocs","category":"Components","permalink":"docs/progressbarandroid.html","platform":"android","next":"progressviewios","previous":"pickerios","sidebar":true,"path":"Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js","filename":null}}>
|
||||
<Layout metadata={{"id":"progressbarandroid","title":"ProgressBarAndroid","layout":"autodocs","category":"Components","permalink":"docs/progressbarandroid.html","platform":"android","next":"progressbarandroid","previous":"picker","sidebar":true,"path":"Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -705,7 +705,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"progressviewios","title":"ProgressViewIOS","layout":"autodocs","category":"Components","permalink":"docs/progressviewios.html","platform":"ios","next":"refreshcontrol","previous":"progressbarandroid","sidebar":true,"path":"Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js","filename":null}}>
|
||||
<Layout metadata={{"id":"progressviewios","title":"ProgressViewIOS","layout":"autodocs","category":"Components","permalink":"docs/progressviewios.html","platform":"ios","next":"progressviewios","previous":"pickerios","sidebar":true,"path":"Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -410,7 +410,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"pushnotificationios","title":"PushNotificationIOS","layout":"autodocs","category":"APIs","permalink":"docs/pushnotificationios.html","platform":"ios","next":"settings","previous":"pixelratio","sidebar":true,"path":"Libraries/PushNotificationIOS/PushNotificationIOS.js","filename":null}}>
|
||||
<Layout metadata={{"id":"pushnotificationios","title":"PushNotificationIOS","layout":"autodocs","category":"APIs","permalink":"docs/pushnotificationios.html","platform":"ios","next":"pushnotificationios","previous":"permissionsandroid","sidebar":true,"path":"Libraries/PushNotificationIOS/PushNotificationIOS.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -738,7 +738,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"refreshcontrol","title":"RefreshControl","layout":"autodocs","category":"Components","permalink":"docs/refreshcontrol.html","platform":"cross","next":"scrollview","previous":"progressviewios","sidebar":true,"path":"Libraries/Components/RefreshControl/RefreshControl.js","filename":null}}>
|
||||
<Layout metadata={{"id":"refreshcontrol","title":"RefreshControl","layout":"autodocs","category":"Components","permalink":"docs/refreshcontrol.html","platform":"cross","next":"refreshcontrol","previous":"progressbarandroid","sidebar":true,"path":"Libraries/Components/RefreshControl/RefreshControl.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -1108,7 +1108,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"scrollview","title":"ScrollView","layout":"autodocs","category":"Components","permalink":"docs/scrollview.html","platform":"cross","next":"sectionlist","previous":"refreshcontrol","sidebar":true,"path":"Libraries/Components/ScrollView/ScrollView.js","filename":null}}>
|
||||
<Layout metadata={{"id":"scrollview","title":"ScrollView","layout":"autodocs","category":"Components","permalink":"docs/scrollview.html","platform":"cross","next":"scrollview","previous":"progressviewios","sidebar":true,"path":"Libraries/Components/ScrollView/ScrollView.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -1226,7 +1226,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"sectionlist","title":"SectionList","layout":"autodocs","category":"Components","permalink":"docs/sectionlist.html","platform":"cross","next":"segmentedcontrolios","previous":"scrollview","sidebar":true,"path":"Libraries/Lists/SectionList.js","filename":null}}>
|
||||
<Layout metadata={{"id":"sectionlist","title":"SectionList","layout":"autodocs","category":"Components","permalink":"docs/sectionlist.html","platform":"cross","next":"sectionlist","previous":"refreshcontrol","sidebar":true,"path":"Libraries/Lists/SectionList.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -711,7 +711,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"segmentedcontrolios","title":"SegmentedControlIOS","layout":"autodocs","category":"Components","permalink":"docs/segmentedcontrolios.html","platform":"ios","next":"slider","previous":"sectionlist","sidebar":true,"path":"Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js","filename":null}}>
|
||||
<Layout metadata={{"id":"segmentedcontrolios","title":"SegmentedControlIOS","layout":"autodocs","category":"Components","permalink":"docs/segmentedcontrolios.html","platform":"ios","next":"segmentedcontrolios","previous":"scrollview","sidebar":true,"path":"Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -113,7 +113,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"settings","title":"Settings","layout":"autodocs","category":"APIs","permalink":"docs/settings.html","platform":"cross","next":"share","previous":"pushnotificationios","sidebar":true,"path":"Libraries/Settings/Settings.ios.js","filename":null}}>
|
||||
<Layout metadata={{"id":"settings","title":"Settings","layout":"autodocs","category":"APIs","permalink":"docs/settings.html","platform":"cross","next":"settings","previous":"pixelratio","sidebar":true,"path":"Libraries/Settings/Settings.ios.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -54,7 +54,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"shadow-props","title":"Shadow Props","layout":"autodocs","category":"APIs","permalink":"docs/shadow-props.html","platform":"ios","next":"viewproptypes","previous":"layout-props","sidebar":true,"path":"Libraries/Components/View/ShadowPropTypesIOS.js","filename":null}}>
|
||||
<Layout metadata={{"id":"shadow-props","title":"Shadow Props","layout":"autodocs","category":"APIs","permalink":"docs/shadow-props.html","platform":"ios","next":"shadow-props","previous":"layout-props","sidebar":true,"path":"Libraries/Components/View/ShadowPropTypesIOS.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -77,7 +77,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"share","title":"Share","layout":"autodocs","category":"APIs","permalink":"docs/share.html","platform":"cross","next":"statusbarios","previous":"settings","sidebar":true,"path":"Libraries/Share/Share.js","filename":null}}>
|
||||
<Layout metadata={{"id":"share","title":"Share","layout":"autodocs","category":"APIs","permalink":"docs/share.html","platform":"cross","next":"share","previous":"pushnotificationios","sidebar":true,"path":"Libraries/Share/Share.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -791,7 +791,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"slider","title":"Slider","layout":"autodocs","category":"Components","permalink":"docs/slider.html","platform":"cross","next":"snapshotviewios","previous":"segmentedcontrolios","sidebar":true,"path":"Libraries/Components/Slider/Slider.js","filename":null}}>
|
||||
<Layout metadata={{"id":"slider","title":"Slider","layout":"autodocs","category":"Components","permalink":"docs/slider.html","platform":"cross","next":"slider","previous":"sectionlist","sidebar":true,"path":"Libraries/Components/Slider/Slider.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -670,7 +670,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"snapshotviewios","title":"SnapshotViewIOS","layout":"autodocs","category":"Components","permalink":"docs/snapshotviewios.html","platform":"ios","next":"statusbar","previous":"slider","sidebar":true,"path":"Libraries/RCTTest/SnapshotViewIOS.ios.js","filename":null}}>
|
||||
<Layout metadata={{"id":"snapshotviewios","title":"SnapshotViewIOS","layout":"autodocs","category":"Components","permalink":"docs/snapshotviewios.html","platform":"ios","next":"snapshotviewios","previous":"segmentedcontrolios","sidebar":true,"path":"Libraries/RCTTest/SnapshotViewIOS.ios.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -985,7 +985,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"statusbar","title":"StatusBar","layout":"autodocs","category":"Components","permalink":"docs/statusbar.html","platform":"cross","next":"switch","previous":"snapshotviewios","sidebar":true,"path":"Libraries/Components/StatusBar/StatusBar.js","filename":null}}>
|
||||
<Layout metadata={{"id":"statusbar","title":"StatusBar","layout":"autodocs","category":"Components","permalink":"docs/statusbar.html","platform":"cross","next":"statusbar","previous":"slider","sidebar":true,"path":"Libraries/Components/StatusBar/StatusBar.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"statusbarios","title":"StatusBarIOS","layout":"autodocs","category":"APIs","permalink":"docs/statusbarios.html","platform":"ios","next":"stylesheet","previous":"share","sidebar":true,"path":"Libraries/Components/StatusBar/StatusBarIOS.ios.js","filename":null}}>
|
||||
<Layout metadata={{"id":"statusbarios","title":"StatusBarIOS","layout":"autodocs","category":"APIs","permalink":"docs/statusbarios.html","platform":"ios","next":"statusbarios","previous":"settings","sidebar":true,"path":"Libraries/Components/StatusBar/StatusBarIOS.ios.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -130,7 +130,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"stylesheet","title":"StyleSheet","layout":"autodocs","category":"APIs","permalink":"docs/stylesheet.html","platform":"cross","next":"systrace","previous":"statusbarios","sidebar":true,"path":"Libraries/StyleSheet/StyleSheet.js","filename":null}}>
|
||||
<Layout metadata={{"id":"stylesheet","title":"StyleSheet","layout":"autodocs","category":"APIs","permalink":"docs/stylesheet.html","platform":"cross","next":"stylesheet","previous":"share","sidebar":true,"path":"Libraries/StyleSheet/StyleSheet.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -711,7 +711,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"switch","title":"Switch","layout":"autodocs","category":"Components","permalink":"docs/switch.html","platform":"cross","next":"tabbarios","previous":"statusbar","sidebar":true,"path":"Libraries/Components/Switch/Switch.js","filename":null}}>
|
||||
<Layout metadata={{"id":"switch","title":"Switch","layout":"autodocs","category":"Components","permalink":"docs/switch.html","platform":"cross","next":"switch","previous":"snapshotviewios","sidebar":true,"path":"Libraries/Components/Switch/Switch.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -233,7 +233,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"systrace","title":"Systrace","layout":"autodocs","category":"APIs","permalink":"docs/systrace.html","platform":"cross","next":"timepickerandroid","previous":"stylesheet","sidebar":true,"path":"Libraries/Performance/Systrace.js","filename":null}}>
|
||||
<Layout metadata={{"id":"systrace","title":"Systrace","layout":"autodocs","category":"APIs","permalink":"docs/systrace.html","platform":"cross","next":"systrace","previous":"statusbarios","sidebar":true,"path":"Libraries/Performance/Systrace.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -789,7 +789,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"tabbarios-item","title":"TabBarIOS.Item","layout":"autodocs","category":"Components","permalink":"docs/tabbarios-item.html","platform":"ios","next":"text","previous":"tabbarios","sidebar":true,"path":"Libraries/Components/TabBarIOS/TabBarItemIOS.ios.js","filename":null}}>
|
||||
<Layout metadata={{"id":"tabbarios-item","title":"TabBarIOS.Item","layout":"autodocs","category":"Components","permalink":"docs/tabbarios-item.html","platform":"ios","next":"tabbarios-item","previous":"switch","sidebar":true,"path":"Libraries/Components/TabBarIOS/TabBarItemIOS.ios.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -754,7 +754,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"tabbarios","title":"TabBarIOS","layout":"autodocs","category":"Components","permalink":"docs/tabbarios.html","platform":"ios","next":"tabbarios-item","previous":"switch","sidebar":true,"path":"Libraries/Components/TabBarIOS/TabBarIOS.ios.js","filename":null}}>
|
||||
<Layout metadata={{"id":"tabbarios","title":"TabBarIOS","layout":"autodocs","category":"Components","permalink":"docs/tabbarios.html","platform":"ios","next":"tabbarios","previous":"statusbar","sidebar":true,"path":"Libraries/Components/TabBarIOS/TabBarIOS.ios.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
Vendored
+1
-1
@@ -825,7 +825,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"text","title":"Text","layout":"autodocs","category":"Components","permalink":"docs/text.html","platform":"cross","next":"textinput","previous":"tabbarios-item","sidebar":true,"path":"Libraries/Text/Text.js","filename":null}}>
|
||||
<Layout metadata={{"id":"text","title":"Text","layout":"autodocs","category":"Components","permalink":"docs/text.html","platform":"cross","next":"text","previous":"tabbarios","sidebar":true,"path":"Libraries/Text/Text.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -1226,7 +1226,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"textinput","title":"TextInput","layout":"autodocs","category":"Components","permalink":"docs/textinput.html","platform":"cross","next":"toolbarandroid","previous":"text","sidebar":true,"path":"Libraries/Components/TextInput/TextInput.js","filename":null}}>
|
||||
<Layout metadata={{"id":"textinput","title":"TextInput","layout":"autodocs","category":"Components","permalink":"docs/textinput.html","platform":"cross","next":"textinput","previous":"tabbarios-item","sidebar":true,"path":"Libraries/Components/TextInput/TextInput.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -325,7 +325,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"textstyleproptypes","title":"TextStylePropTypes","layout":"autodocs","category":"APIs","permalink":"docs/textstyleproptypes.html","platform":"cross","next":"imagestyleproptypes","previous":"viewstyleproptypes","sidebar":true,"path":"Libraries/Text/TextStylePropTypes.js","filename":null}}>
|
||||
<Layout metadata={{"id":"textstyleproptypes","title":"TextStylePropTypes","layout":"autodocs","category":"APIs","permalink":"docs/textstyleproptypes.html","platform":"cross","next":"textstyleproptypes","previous":"viewproptypes","sidebar":true,"path":"Libraries/Text/TextStylePropTypes.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -64,7 +64,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"timepickerandroid","title":"TimePickerAndroid","layout":"autodocs","category":"APIs","permalink":"docs/timepickerandroid.html","platform":"android","next":"toastandroid","previous":"systrace","sidebar":true,"path":"Libraries/Components/TimePickerAndroid/TimePickerAndroid.android.js","filename":null}}>
|
||||
<Layout metadata={{"id":"timepickerandroid","title":"TimePickerAndroid","layout":"autodocs","category":"APIs","permalink":"docs/timepickerandroid.html","platform":"android","next":"timepickerandroid","previous":"stylesheet","sidebar":true,"path":"Libraries/Components/TimePickerAndroid/TimePickerAndroid.android.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -131,7 +131,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"toastandroid","title":"ToastAndroid","layout":"autodocs","category":"APIs","permalink":"docs/toastandroid.html","platform":"android","next":"vibration","previous":"timepickerandroid","sidebar":true,"path":"Libraries/Components/ToastAndroid/ToastAndroid.android.js","filename":null}}>
|
||||
<Layout metadata={{"id":"toastandroid","title":"ToastAndroid","layout":"autodocs","category":"APIs","permalink":"docs/toastandroid.html","platform":"android","next":"toastandroid","previous":"systrace","sidebar":true,"path":"Libraries/Components/ToastAndroid/ToastAndroid.android.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -790,7 +790,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"toolbarandroid","title":"ToolbarAndroid","layout":"autodocs","category":"Components","permalink":"docs/toolbarandroid.html","platform":"android","next":"touchablehighlight","previous":"textinput","sidebar":true,"path":"Libraries/Components/ToolbarAndroid/ToolbarAndroid.android.js","filename":null}}>
|
||||
<Layout metadata={{"id":"toolbarandroid","title":"ToolbarAndroid","layout":"autodocs","category":"Components","permalink":"docs/toolbarandroid.html","platform":"android","next":"toolbarandroid","previous":"text","sidebar":true,"path":"Libraries/Components/ToolbarAndroid/ToolbarAndroid.android.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -702,7 +702,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"touchablehighlight","title":"TouchableHighlight","layout":"autodocs","category":"Components","permalink":"docs/touchablehighlight.html","platform":"cross","next":"touchablenativefeedback","previous":"toolbarandroid","sidebar":true,"path":"Libraries/Components/Touchable/TouchableHighlight.js","filename":null}}>
|
||||
<Layout metadata={{"id":"touchablehighlight","title":"TouchableHighlight","layout":"autodocs","category":"Components","permalink":"docs/touchablehighlight.html","platform":"cross","next":"touchablehighlight","previous":"textinput","sidebar":true,"path":"Libraries/Components/Touchable/TouchableHighlight.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -729,7 +729,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"touchablenativefeedback","title":"TouchableNativeFeedback","layout":"autodocs","category":"Components","permalink":"docs/touchablenativefeedback.html","platform":"cross","next":"touchableopacity","previous":"touchablehighlight","sidebar":true,"path":"Libraries/Components/Touchable/TouchableNativeFeedback.android.js","filename":null}}>
|
||||
<Layout metadata={{"id":"touchablenativefeedback","title":"TouchableNativeFeedback","layout":"autodocs","category":"Components","permalink":"docs/touchablenativefeedback.html","platform":"cross","next":"touchablenativefeedback","previous":"toolbarandroid","sidebar":true,"path":"Libraries/Components/Touchable/TouchableNativeFeedback.android.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -706,7 +706,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"touchableopacity","title":"TouchableOpacity","layout":"autodocs","category":"Components","permalink":"docs/touchableopacity.html","platform":"cross","next":"touchablewithoutfeedback","previous":"touchablenativefeedback","sidebar":true,"path":"Libraries/Components/Touchable/TouchableOpacity.js","filename":null}}>
|
||||
<Layout metadata={{"id":"touchableopacity","title":"TouchableOpacity","layout":"autodocs","category":"Components","permalink":"docs/touchableopacity.html","platform":"cross","next":"touchableopacity","previous":"touchablehighlight","sidebar":true,"path":"Libraries/Components/Touchable/TouchableOpacity.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
@@ -777,7 +777,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"touchablewithoutfeedback","title":"TouchableWithoutFeedback","layout":"autodocs","category":"Components","permalink":"docs/touchablewithoutfeedback.html","platform":"cross","next":"view","previous":"touchableopacity","sidebar":true,"path":"Libraries/Components/Touchable/TouchableWithoutFeedback.js","filename":null}}>
|
||||
<Layout metadata={{"id":"touchablewithoutfeedback","title":"TouchableWithoutFeedback","layout":"autodocs","category":"Components","permalink":"docs/touchablewithoutfeedback.html","platform":"cross","next":"touchablewithoutfeedback","previous":"touchablenativefeedback","sidebar":true,"path":"Libraries/Components/Touchable/TouchableWithoutFeedback.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -151,7 +151,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"transforms","title":"Transforms","layout":"autodocs","category":"APIs","permalink":"docs/transforms.html","platform":"cross","next":"shadow-props","previous":"layout-props","sidebar":false,"path":"Libraries/StyleSheet/TransformPropTypes.js","filename":null}}>
|
||||
<Layout metadata={{"id":"transforms","title":"Transforms","layout":"autodocs","category":"APIs","permalink":"docs/transforms.html","platform":"cross","next":"shadow-props","previous":"vibrationios","sidebar":false,"path":"Libraries/StyleSheet/TransformPropTypes.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -61,7 +61,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"vibration","title":"Vibration","layout":"autodocs","category":"APIs","permalink":"docs/vibration.html","platform":"cross","next":"vibrationios","previous":"toastandroid","sidebar":true,"path":"Libraries/Vibration/Vibration.js","filename":null}}>
|
||||
<Layout metadata={{"id":"vibration","title":"Vibration","layout":"autodocs","category":"APIs","permalink":"docs/vibration.html","platform":"cross","next":"vibration","previous":"timepickerandroid","sidebar":true,"path":"Libraries/Vibration/Vibration.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"vibrationios","title":"VibrationIOS","layout":"autodocs","category":"APIs","permalink":"docs/vibrationios.html","platform":"ios","next":"layout-props","previous":"vibration","sidebar":true,"path":"Libraries/Vibration/VibrationIOS.ios.js","filename":null}}>
|
||||
<Layout metadata={{"id":"vibrationios","title":"VibrationIOS","layout":"autodocs","category":"APIs","permalink":"docs/vibrationios.html","platform":"ios","next":"vibrationios","previous":"toastandroid","sidebar":true,"path":"Libraries/Vibration/VibrationIOS.ios.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
Vendored
+1
-1
@@ -942,7 +942,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"view","title":"View","layout":"autodocs","category":"Components","permalink":"docs/view.html","platform":"cross","next":"viewpagerandroid","previous":"touchablewithoutfeedback","sidebar":true,"path":"Libraries/Components/View/View.js","filename":null}}>
|
||||
<Layout metadata={{"id":"view","title":"View","layout":"autodocs","category":"Components","permalink":"docs/view.html","platform":"cross","next":"view","previous":"touchableopacity","sidebar":true,"path":"Libraries/Components/View/View.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -791,7 +791,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"viewpagerandroid","title":"ViewPagerAndroid","layout":"autodocs","category":"Components","permalink":"docs/viewpagerandroid.html","platform":"android","next":"virtualizedlist","previous":"view","sidebar":true,"path":"Libraries/Components/ViewPager/ViewPagerAndroid.android.js","filename":null}}>
|
||||
<Layout metadata={{"id":"viewpagerandroid","title":"ViewPagerAndroid","layout":"autodocs","category":"Components","permalink":"docs/viewpagerandroid.html","platform":"android","next":"viewpagerandroid","previous":"touchablewithoutfeedback","sidebar":true,"path":"Libraries/Components/ViewPager/ViewPagerAndroid.android.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -294,7 +294,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"viewproptypes","title":"ViewPropTypes","layout":"autodocs","category":"APIs","permalink":"docs/viewproptypes.html","platform":"cross","next":"viewstyleproptypes","previous":"shadow-props","sidebar":true,"path":"Libraries/Components/View/ViewPropTypes.js","filename":null}}>
|
||||
<Layout metadata={{"id":"viewproptypes","title":"ViewPropTypes","layout":"autodocs","category":"APIs","permalink":"docs/viewproptypes.html","platform":"cross","next":"viewproptypes","previous":"layout-props","sidebar":true,"path":"Libraries/Components/View/ViewPropTypes.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -185,7 +185,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"viewstyleproptypes","title":"ViewStylePropTypes","layout":"autodocs","category":"APIs","permalink":"docs/viewstyleproptypes.html","platform":"cross","next":"textstyleproptypes","previous":"viewproptypes","sidebar":true,"path":"Libraries/Components/View/ViewStylePropTypes.js","filename":null}}>
|
||||
<Layout metadata={{"id":"viewstyleproptypes","title":"ViewStylePropTypes","layout":"autodocs","category":"APIs","permalink":"docs/viewstyleproptypes.html","platform":"cross","next":"viewstyleproptypes","previous":"shadow-props","sidebar":true,"path":"Libraries/Components/View/ViewStylePropTypes.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -1276,7 +1276,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"virtualizedlist","title":"VirtualizedList","layout":"autodocs","category":"Components","permalink":"docs/virtualizedlist.html","platform":"cross","next":"webview","previous":"viewpagerandroid","sidebar":true,"path":"Libraries/Lists/VirtualizedList.js","filename":null}}>
|
||||
<Layout metadata={{"id":"virtualizedlist","title":"VirtualizedList","layout":"autodocs","category":"Components","permalink":"docs/virtualizedlist.html","platform":"cross","next":"virtualizedlist","previous":"view","sidebar":true,"path":"Libraries/Lists/VirtualizedList.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+1
-1
@@ -985,7 +985,7 @@ var Page = React.createClass({
|
||||
statics: { content: content },
|
||||
render: function() {
|
||||
return (
|
||||
<Layout metadata={{"id":"webview","title":"WebView","layout":"autodocs","category":"Components","permalink":"docs/webview.html","platform":"cross","next":"accessibilityinfo","previous":"virtualizedlist","sidebar":true,"path":"Libraries/Components/WebView/WebView.ios.js","filename":null}}>
|
||||
<Layout metadata={{"id":"webview","title":"WebView","layout":"autodocs","category":"Components","permalink":"docs/webview.html","platform":"cross","next":"webview","previous":"viewpagerandroid","sidebar":true,"path":"Libraries/Components/WebView/WebView.ios.js","filename":null}}>
|
||||
{content}
|
||||
</Layout>
|
||||
);
|
||||
|
||||
+4032
File diff suppressed because it is too large
Load Diff
Generated
+7028
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user