eslint fix

This commit is contained in:
张磊 2018-10-26 16:09:45 +08:00
parent 29fdaf1150
commit e9112e429f
12 changed files with 345 additions and 346 deletions

View File

@ -1,4 +1,5 @@
{
"parser": "babel-eslint",
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module",

View File

@ -1,56 +1,55 @@
import { render, WeElement, tag } from "../../src/omi";
import "omi-transform";
import { render, WeElement, tag } from "../../src/omi"
import "omi-transform"
@tag("my-app")
class MyApp extends WeElement {
install() {
this.data.rotateZ = 30
install() {
this.data.rotateZ = 30
this.linkRef = (e) => {
this.animDiv = e
}
}
this.linkRef = (e) => {
this.animDiv = e
}
}
css() {
return `
css() {
return `
div{
color: red;
cursor: pointer;
width:150px;
height:150px;
line-height:150px;
text-align: center;
border: 1px solid green;
color: red;
cursor: pointer;
width:150px;
height:150px;
line-height:150px;
text-align: center;
border: 1px solid green;
}`
}
}`;
}
installed() {
setInterval(() => {
//slow
// this.data.rotateZ += 2
// this.update()
installed() {
setInterval(() => {
//slow
// this.data.rotateZ += 2
// this.update()
//fast
this.animDiv.rotateZ += 2
//sync for update call of any scenario
this.data.rotateZ = this.animDiv.rotateZ
//fast
this.animDiv.rotateZ += 2
//sync for update call of any scenario
this.data.rotateZ = this.animDiv.rotateZ
}, 16)
}, 16)
}
render(props, data) {
}
render(props, data) {
return (
<css3-transform rotateZ={data.rotateZ} translateX={0} perspective={0} >
<div ref={this.linkRef}>
return (
<css3-transform rotateZ={data.rotateZ} translateX={0} perspective={0} >
<div ref={this.linkRef}>
omi-transform
</div>
</css3-transform>
</div>
</css3-transform>
);
}
)
}
}
render(<my-app />, "body");
render(<my-app />, "body")

View File

@ -1,61 +1,61 @@
import { render, WeElement, tag } from "../../src/omi";
import { observe } from "./omi-mobx";
import { render, WeElement, tag } from "../../src/omi"
import { observe } from "./omi-mobx"
@tag("todo-list")
class TodoList extends WeElement {
render(props) {
return (
<ul>
{props.items.map(item => (
<li key={item.id}>{item.text}</li>
))}
</ul>
);
}
render(props) {
return (
<ul>
{props.items.map(item => (
<li key={item.id}>{item.text}</li>
))}
</ul>
)
}
}
@observe
@tag("todo-app")
class TodoApp extends WeElement {
static get data() {
return { items: [], text: "" };
}
static get data() {
return { items: [], text: "" }
}
render() {
console.log('render')
return (
<div>
<h3>TODO</h3>
<todo-list items={this.data.items} />
<form onSubmit={this.handleSubmit}>
<input
id="new-todo"
onChange={this.handleChange}
value={this.data.text}
/>
<button>
render() {
console.log('render')
return (
<div>
<h3>TODO</h3>
<todo-list items={this.data.items} />
<form onSubmit={this.handleSubmit}>
<input
id="new-todo"
onChange={this.handleChange}
value={this.data.text}
/>
<button>
Add #{this.data.items.length + 1}
</button>
</form>
</div>
)
}
</button>
</form>
</div>
)
}
handleChange = e => {
this.data.text = e.target.value;
this.data.text = e.target.value
};
handleSubmit = e => {
e.preventDefault();
if (!this.data.text.trim().length) {
return;
}
this.data.items.push({
text: this.data.text,
id: Date.now()
});
this.data.text = "";
e.preventDefault()
if (!this.data.text.trim().length) {
return
}
this.data.items.push({
text: this.data.text,
id: Date.now()
})
this.data.text = ""
};
}
render(<todo-app />, "body");
render(<todo-app />, "body")

View File

@ -23,63 +23,63 @@ import { options } from "../../src/omi"
window.requestIdleCallback =
window.requestIdleCallback ||
function(cb) {
return setTimeout(() => {
let start = Date.now()
cb({
didTimeout: false,
timeRemaining() {
return Math.max(0, 50 - (Date.now() - start))
}
})
}, 1)
return setTimeout(() => {
let start = Date.now()
cb({
didTimeout: false,
timeRemaining() {
return Math.max(0, 50 - (Date.now() - start))
}
})
}, 1)
}
window.cancelIdleCallback =
window.cancelIdleCallback ||
function(id) {
clearTimeout(id)
clearTimeout(id)
}
options.afterInstall = function(ele) {
if (ele.constructor.observe) {
oba(ele.data, ele)
}
if (ele.constructor.observe) {
oba(ele.data, ele)
}
}
let idleId = null
const updateList = []
function oba(data, ele) {
const o = observable(data)
const o = observable(data)
autorun(() => {
JSON.stringify(o)
if (ele._isInstalled) {
updateList.push(ele)
cancelIdleCallback(idleId)
idleId = requestIdleCallback(backgroundTask)
}
})
autorun(() => {
JSON.stringify(o)
if (ele._isInstalled) {
updateList.push(ele)
cancelIdleCallback(idleId)
idleId = requestIdleCallback(backgroundTask)
}
})
ele.data = o
ele.data = o
}
function backgroundTask(deadline) {
while (deadline.timeRemaining() > 0 && updateList.length > 0) {
updateList.shift().update()
}
while (deadline.timeRemaining() > 0 && updateList.length > 0) {
updateList.shift().update()
}
if (updateList.length > 0) {
idleId = requestIdleCallback(backgroundTask)
}
if (updateList.length > 0) {
idleId = requestIdleCallback(backgroundTask)
}
}
function observe(target) {
target.observe = true
target.observe = true
}
export { observe }
export default {
observe
observe
}

View File

@ -1,19 +1,19 @@
import { render, tag } from "../../src/omi";
import { render, tag } from "../../src/omi"
//Do not use pure element in browsers that do not support Reflect, such as ie11.
tag('my-ele', function (props) {
return (
<ul>
{props.items.map(item => (
<li key={item.id}>{item.text}</li>
))}
</ul>
)
return (
<ul>
{props.items.map(item => (
<li key={item.id}>{item.text}</li>
))}
</ul>
)
})
render((
<my-ele
items={[{ text: 'Omi', id: 1 }, { text: "Tencent", id: 2 }]}
/>
), "body");
<my-ele
items={[{ text: 'Omi', id: 1 }, { text: "Tencent", id: 2 }]}
/>
), "body")

View File

@ -1,24 +1,24 @@
import { tag, render, WeElement } from "../../src/omi";
import { tag, render, WeElement } from "../../src/omi"
@tag("hello-element")
class HelloElement extends WeElement {
render() {
return [
<div>Hello</div>,
<div>Element</div>
]
}
render() {
return [
<div>Hello</div>,
<div>Element</div>
]
}
}
@tag("my-app")
class MyApp extends WeElement {
render() {
return [
<hello-element></hello-element>,
<hello-element></hello-element>,
<div>abc</div>
]
}
render() {
return [
<hello-element></hello-element>,
<hello-element></hello-element>,
<div>abc</div>
]
}
}
render(<my-app />, "body");
render(<my-app />, "body")

View File

@ -1,62 +1,62 @@
import { WeElement, tag } from "../../src/omi";
import { WeElement, tag } from "../../src/omi"
@tag("hello-element")
class HelloElement extends WeElement {
static get props() {
return {
propFromParent: {
value: "9"
},
msg: {
value: ""
},
num: {
value: 10
}
};
}
static get props() {
return {
propFromParent: {
value: "9"
},
msg: {
value: ""
},
num: {
value: 10
}
}
}
static get data() {
return {
a: 1,
b: {
c: 2
}
};
}
static get data() {
return {
a: 1,
b: {
c: 2
}
}
}
onClick = evt => {
//trigger CustomEvent
this.fire("abc", { name: "dntzhang", age: 12 });
evt.stopPropagation();
//trigger CustomEvent
this.fire("abc", { name: "dntzhang", age: 12 })
evt.stopPropagation()
};
installed() {
setTimeout(() => {
this.data.a = 2;
this.update();
}, 1000);
setTimeout(() => {
this.data.a = 2
this.update()
}, 1000)
}
css() {
return `
return `
div{
color: red;
cursor: pointer;
}`;
}`
}
render(props, data) {
return (
<div onClick={this.onClick}>
return (
<div onClick={this.onClick}>
Hello {props.msg} {props.propFromParent}
<div>
<div>
Click Me!
{props.num}
</div>
<div>data: {data.a}</div>
<div>props {props.num}</div>
</div>
);
{props.num}
</div>
<div>data: {data.a}</div>
<div>props {props.num}</div>
</div>
)
}
}

View File

@ -1,39 +1,39 @@
import { render, WeElement, tag } from "../../src/omi";
import "./hello-element";
import { render, WeElement, tag } from "../../src/omi"
import "./hello-element"
@tag("my-app")
class MyApp extends WeElement {
onClick = evt => {};
static get data() {
return { abc: "abc", passToChild: 123 };
return { abc: "abc", passToChild: 123 }
}
onAbc = evt => {
this.data.abc = " by " + evt.detail.name;
this.data.passToChild = 1234;
this.update();
this.data.abc = " by " + evt.detail.name
this.data.passToChild = 1234
this.update()
};
css() {
return `
return `
div{
color: green;
}`;
}`
}
render(props, data) {
return (
<div onClick={this.onClick}>
return (
<div onClick={this.onClick}>
Hello {props.name} {data.abc}
<hello-element
onAbc={this.onAbc}
prop-from-parent={data.passToChild}
msg="WeElement"
/>
</div>
);
<hello-element
onAbc={this.onAbc}
prop-from-parent={data.passToChild}
msg="WeElement"
/>
</div>
)
}
}
render(<my-app name="Omi v4.0" />, "body");
render(<my-app name="Omi v4.0" />, "body")

View File

@ -1,29 +1,29 @@
import { tag, render, WeElement } from "../../src/omi";
import { tag, render, WeElement } from "../../src/omi"
@tag("hello-element")
class HelloElement extends WeElement {
render() {
return (
<div onClick={this.onClick}>
<p>
<slot name="my-text">My default text</slot>
</p>
</div>
);
}
render() {
return (
<div onClick={this.onClick}>
<p>
<slot name="my-text">My default text</slot>
</p>
</div>
)
}
}
@tag("my-app")
class MyApp extends WeElement {
render() {
return (
<div>
<hello-element>
<span slot="my-text">Let's have some different text!</span>
</hello-element>
</div>
);
}
render() {
return (
<div>
<hello-element>
<span slot="my-text">Let's have some different text!</span>
</hello-element>
</div>
)
}
}
render(<my-app />, "body");
render(<my-app />, "body")

View File

@ -1,103 +1,103 @@
import { render, WeElement, tag } from "../../src/omi";
import { render, WeElement, tag } from "../../src/omi"
@tag("todo-list", true)
class TodoList extends WeElement {
render(props) {
return (
<ul>
{props.items.map(item => (
<li key={item.id}>{item.text}</li>
))}
</ul>
);
}
render(props) {
return (
<ul>
{props.items.map(item => (
<li key={item.id}>{item.text}</li>
))}
</ul>
)
}
}
@tag("todo-app")
class TodoApp extends WeElement {
static get data() {
return {
showList: null,
items: null,
text: null,
firstName: null,
lastName: null
};
}
static get data() {
return {
showList: null,
items: null,
text: null,
firstName: null,
lastName: null
}
}
render(props, data) {
return (
<div>
<h3>TODO by {data.fullName()}</h3>
{data.showList && <todo-list items={data.items} />}
<form onSubmit={this.handleSubmit}>
<input id="new-todo" onChange={this.handleChange} value={data.text} />
<button>Add #{data.items.length + 1}</button>
</form>
</div>
);
}
render(props, data) {
return (
<div>
<h3>TODO by {data.fullName()}</h3>
{data.showList && <todo-list items={data.items} />}
<form onSubmit={this.handleSubmit}>
<input id="new-todo" onChange={this.handleChange} value={data.text} />
<button>Add #{data.items.length + 1}</button>
</form>
</div>
)
}
handleChange = e => {
this.store.data.text = e.target.value;
this.store.data.text = e.target.value
};
handleSubmit = e => {
e.preventDefault();
this.store.add();
e.preventDefault()
this.store.add()
};
installed() {
setTimeout(() => {
this.store.rename();
}, 2000);
setTimeout(() => {
this.store.rename()
}, 2000)
setTimeout(() => {
this.store.data.items.push({ text: "abc" });
}, 4000);
setTimeout(() => {
this.store.data.items.push({ text: "abc" })
}, 4000)
setTimeout(() => {
this.store.data.items[2].text = "changed";
}, 6000);
setTimeout(() => {
this.store.data.items[2].text = "changed"
}, 6000)
setTimeout(() => {
this.store.data.items.splice(1, 1);
}, 8000);
setTimeout(() => {
this.store.data.items.splice(1, 1)
}, 8000)
setTimeout(() => {
this.store.data.showList = false;
}, 10000);
setTimeout(() => {
this.store.data.showList = false
}, 10000)
setTimeout(() => {
this.store.data.showList = true;
}, 12000);
setTimeout(() => {
this.store.data.showList = true
}, 12000)
}
}
const store = {
data: {
showList: true,
items: [{ text: "Omi", id: Date.now() }, { text: "JSX", id: Date.now() }],
text: "",
firstName: "dnt",
lastName: "zhang",
fullName: function() {
return this.firstName + this.lastName;
}
},
rename: function() {
this.data.firstName = "Dnt";
},
add: function() {
if (!this.data.text.trim().length) {
return;
}
this.data.items.push({
text: this.data.text,
id: Date.now()
});
this.data.text = "";
}
};
data: {
showList: true,
items: [{ text: "Omi", id: Date.now() }, { text: "JSX", id: Date.now() }],
text: "",
firstName: "dnt",
lastName: "zhang",
fullName: function() {
return this.firstName + this.lastName
}
},
rename: function() {
this.data.firstName = "Dnt"
},
add: function() {
if (!this.data.text.trim().length) {
return
}
this.data.items.push({
text: this.data.text,
id: Date.now()
})
this.data.text = ""
}
}
render(<todo-app />, "body", store);
render(<todo-app />, "body", store)

View File

@ -4,11 +4,11 @@ import "omi-tap"
@tag("my-app")
class MyApp extends WeElement {
onTap = () => {
console.log('tap')
console.log('tap')
}
css() {
return `
return `
div{
width: 100px;
height: 100px;
@ -21,12 +21,12 @@ class MyApp extends WeElement {
}
render() {
return (
<omi-tap onTap={this.onTap} >
<div>Tap Me!</div>
</omi-tap>
)
return (
<omi-tap onTap={this.onTap} >
<div>Tap Me!</div>
</omi-tap>
)
}
}
render(<my-app />, "body");
render(<my-app />, "body")

View File

@ -1,58 +1,57 @@
import { render, WeElement, tag } from "../../src/omi";
import { render, WeElement, tag } from "../../src/omi"
@tag("todo-list")
class TodoList extends WeElement {
render(props) {
return (
<ul>
{props.items.map(item => (
<li key={item.id}>{item.text}</li>
))}
</ul>
);
}
render(props) {
return (
<ul>
{props.items.map(item => (
<li key={item.id}>{item.text}</li>
))}
</ul>
)
}
}
@tag("todo-app")
class TodoApp extends WeElement {
static get data() {
return { items: [], text: "" };
}
static get data() {
return { items: [], text: "" }
}
render() {
console.log(111);
return (
<div>
<h3>TODO</h3>
<todo-list items={this.data.items} />
<form onSubmit={this.handleSubmit}>
<input
id="new-todo"
onChange={this.handleChange}
value={this.data.text}
/>
<button>Add #{this.data.items.length + 1}</button>
</form>
</div>
);
}
render() {
return (
<div>
<h3>TODO</h3>
<todo-list items={this.data.items} />
<form onSubmit={this.handleSubmit}>
<input
id="new-todo"
onChange={this.handleChange}
value={this.data.text}
/>
<button>Add #{this.data.items.length + 1}</button>
</form>
</div>
)
}
handleChange = e => {
this.data.text = e.target.value;
this.data.text = e.target.value
};
handleSubmit = e => {
e.preventDefault();
if (!this.data.text.trim().length) {
return;
}
this.data.items.push({
text: this.data.text,
id: Date.now()
});
this.data.text = "";
this.update();
e.preventDefault()
if (!this.data.text.trim().length) {
return
}
this.data.items.push({
text: this.data.text,
id: Date.now()
})
this.data.text = ""
this.update()
};
}
render(<todo-app />, "body");
render(<todo-app />, "body")