ant-design/scripts/demo.js

79 lines
2.5 KiB
JavaScript
Raw Normal View History

2015-07-07 15:39:21 +08:00
window['css-animation'] = require('css-animation');
window['react-router'] = require('react-router');
2015-10-20 16:47:55 +08:00
var antd = require('../index');
2015-07-14 20:16:05 +08:00
var React = require('react');
2015-10-20 16:47:55 +08:00
var ReactDOM = require('react-dom');
2015-10-19 18:04:54 +08:00
var semver = require('semver');
2015-10-20 16:47:55 +08:00
window.antd = antd;
window.React = React;
window.ReactDOM = ReactDOM;
2015-07-14 20:16:05 +08:00
2015-09-11 14:57:32 +08:00
InstantClickChangeFns.push(function () {
// auto complete for components
2015-07-14 20:16:05 +08:00
var Select = antd.Select;
var Option = Select.Option;
// 获取搜索数据
2015-10-20 16:47:55 +08:00
var searchData = window.ANT_COMPONENTS.sort(function (a, b) {
2015-09-02 20:50:18 +08:00
return a.title.localeCompare(b.title);
});
2015-07-14 20:16:05 +08:00
var AutoComplete = React.createClass({
getOptions() {
return searchData.map(function (s) {
2015-07-22 20:57:27 +08:00
return <Option sData={s} key={s.title} text={'跳转到 ' + s.title}>
2015-07-14 20:16:05 +08:00
<strong>{s.title}</strong>
2015-10-20 16:47:55 +08:00
&nbsp;
<span className="ant-component-decs">{s.desc}</span>
2015-07-14 20:16:05 +08:00
</Option>;
});
},
handleSelect(value) {
2015-09-17 18:05:06 +08:00
location.href = rootUrl + '/components/' + value.replace(/([a-z])([A-Z])/g, function (m, m1, m2) {
2015-10-20 16:47:55 +08:00
return m1 + '-' + m2;
}).toLowerCase() + '/';
2015-07-14 20:16:05 +08:00
},
filterOption(input, option) {
return option.props.sData.title.toLowerCase().indexOf(input.toLowerCase()) !== -1 || option.props.sData.desc.indexOf(input) !== -1;
},
render() {
2015-08-26 22:16:20 +08:00
return <Select combobox style={{width: '100%'}}
2015-10-20 16:47:55 +08:00
onSelect={this.handleSelect}
optionLabelProp="text"
dropdownClassName="autoComplete"
searchPlaceholder="搜索组件..."
filterOption={this.filterOption}>{this.getOptions()}</Select>;
2015-07-14 20:16:05 +08:00
}
});
React.render(<AutoComplete/>, document.getElementById('autoComplete'));
});
InstantClickChangeFns.push(function () {
var versionsHistory = {
2015-10-19 19:39:59 +08:00
'0.9.1': '09x.ant.design'
};
versionsHistory[antdVersion.latest] =
versionsHistory[antdVersion.latest] || 'http://ant.design';
2015-10-20 16:47:55 +08:00
var versions = Object.keys(versionsHistory).sort(function (a, b) {
2015-10-19 18:04:54 +08:00
return semver.lt(a, b);
});
2015-10-20 16:47:55 +08:00
var options = versions.map(function (version) {
var link = versionsHistory[version];
2015-10-19 19:27:06 +08:00
return <option key={version} value={version}>{version}</option>;
});
2015-10-20 16:47:55 +08:00
function onChange(e) {
if (versionsHistory[e.target.value]) {
2015-10-19 19:39:59 +08:00
location.href = location.href.replace(location.host, versionsHistory[e.target.value]);
}
}
2015-10-20 16:47:55 +08:00
React.render(<select defaultValue={antdVersion.latest}
onChange={onChange}>{options}</select>, document.getElementById('versions-select'));
});
2015-07-21 16:05:13 +08:00
module.exports = antd;