UNPKG

weex-nuke

Version:

基于 Rax 、Weex 的高性能组件体系 ~~

144 lines (131 loc) 3.81 kB
/** @jsx createElement */ import { createElement, Component, render } from 'rax'; import View from 'nuke-view'; import Env from 'nuke-env'; import Dialog from 'nuke-dialog'; import { StyleProvider } from 'nuke-theme-provider'; import { decodeVar, DemoContainer, DemoSection, Demo, DemoItem, initDemo, } from '@alife/nuke-demo-helper'; const msg = Env.appInfo.platform === 'iOS' ? 'A message should be a short, complete sentence.' : 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna wirl aliqua. Up exlaborum incididunt.'; const App = class NukeDemoIndex extends Component { constructor() { super(); } componentDidMount() { Dialog.confirm({ title: 'A Short Title is Best', content: msg, locale: { confirm: 'Primary' }, type: 'iOS', renderMask: false, container: this.refs.confirmRoot1, }); Dialog.alert({ title: 'A Short Title is Best', content: msg, locale: { confirm: 'Primary' }, type: 'iOS', renderMask: false, container: this.refs.alertRoot1, }); Dialog.alert({ title: 'A longer title can extend over multiple lines', content: msg, locale: { confirm: 'Primary' }, type: 'iOS', renderMask: false, container: this.refs.alertRoot2, }); Dialog.confirm({ title: 'A Short Title is Best', content: msg, locale: { confirm: 'Primary' }, type: 'android', renderMask: false, container: this.refs.confirmRoot2, }); Dialog.alert({ title: 'A Short Title is Best', content: msg, type: 'android', locale: { confirm: 'Primary' }, renderMask: false, container: this.refs.alertRoot3, }); Dialog.alert({ title: 'A longer title can extend over multiple lines', content: msg, type: 'android', locale: { confirm: 'Primary' }, renderMask: false, container: this.refs.alertRoot4, }); } render() { return ( <StyleProvider style={decodeVar(this.props.variable)}> <DemoContainer> <DemoSection title="Alert iOS"> <Demo> <DemoItem direction="column"> <View ref="alertRoot1" style={styles.miniMask} /> </DemoItem> <DemoItem direction="column"> <View ref="alertRoot2" style={styles.miniMask} /> </DemoItem> </Demo> </DemoSection> <DemoSection title="Confirm iOS"> <Demo> <DemoItem direction="column"> <View ref="confirmRoot1" style={styles.miniMask} /> </DemoItem> </Demo> </DemoSection> <DemoSection title="Alert android"> <Demo> <DemoItem direction="column"> <View ref="alertRoot3" style={styles.miniMask} /> </DemoItem> <DemoItem direction="column"> <View ref="alertRoot4" style={styles.miniMask} /> </DemoItem> </Demo> </DemoSection> <DemoSection title="Confirm android"> <Demo> <DemoItem direction="column"> <View ref="confirmRoot2" style={styles.miniMask} /> </DemoItem> </Demo> </DemoSection> </DemoContainer> </StyleProvider> ); } }; const styles = { btn: { marginBottom: 30, }, miniMask: { height: 600, backgroundColor: '#cccccc', alignItems: 'center', justifyContent: 'center', }, }; window.renderDemo = function (lang, variable) { render(<App variable={variable} />); }; renderDemo('en-us', window.THEME_VARIABLE); initDemo('dialog');