0.22.8 • Published 4 years ago

farmy v0.22.8

Weekly downloads
3
License
-
Repository
github
Last release
4 years ago
$ npm i farmy

OR

$ npx farmy sample
import {$, Component, View, State, Router} from 'farmy';

const ArticleView = new View(`

<article>
	<h1>[title]</h1>
	<p>[body]</p>
</article>

`);

ArticleView
	.catch('title',
		(value) => {
			return value.toUpperCase();
		})
	.catch('body',
		(value) => {
			return value + '...'
		});

class Article extends Component {
	
	constructor({title, body}) {
		super();
		this.title = title;
		this.body = body;
	}
	
	view() {
		return ArticleView.get({
			title: this.title,
			body: this.body
		});
	}
	
	load() {
		console.log('Article is loaded : ' + this.title);
	}
	
}

const ArticleState = new State();

ArticleState.init('articles', []);
ArticleState.catch('newArticle', (title, body) => {
	ArticleState.articles.push({
		title,
		body
	});
});


ArticleState.fire('newArticle', 'Farmy', 'Powerful, modern and fast web framework');
ArticleState.fire('newArticle', 'Features', '$, Component, View, State, Route');

const $root = $('#root');

const app = new Router();

app.use(() => {
	$root
		.clear()
		.renderClear();
});

app.path('/', () => {
	$root.innerHTML('<h1>Home Page</h1>');
});

app.path('/articles', () => {
	$root.renderAdd(
		new Article(ArticleState.articles[0]),
		new Article(ArticleState.articles[1])
	);
});

app.path('/articles/:n', ({params}) => {
	
	const n = params.n - 1;
	
	if (n >= ArticleState.articles.length) {
		Router.to('/articles');
		return;
	}
	
	$root.renderAdd(
		new Article(ArticleState.articles[n]),
	);
});

Router.after(() => {
	$root.render();
});

Router.start(app);
0.17.0

4 years ago

0.20.31

4 years ago

0.20.32

4 years ago

0.20.30

4 years ago

0.16.10

4 years ago

0.16.14

4 years ago

0.20.28

4 years ago

0.16.12

4 years ago

0.20.26

4 years ago

0.20.24

4 years ago

0.20.22

4 years ago

0.20.20

4 years ago

0.16.4

4 years ago

0.16.6

4 years ago

0.16.8

4 years ago

0.12.16

4 years ago

0.12.18

4 years ago

0.16.0

4 years ago

0.16.2

4 years ago

0.12.20

4 years ago

0.12.22

4 years ago

0.20.18

4 years ago

0.22.6

4 years ago

0.22.4

4 years ago

0.22.2

4 years ago

0.22.0

4 years ago

0.12.24

4 years ago

0.22.8

4 years ago

0.12.26

4 years ago

0.9.8

4 years ago

0.8.9

4 years ago

0.9.7

4 years ago

0.8.8

4 years ago

0.12.10

4 years ago

0.9.4

4 years ago

0.8.5

4 years ago

0.9.3

4 years ago

0.8.4

4 years ago

0.9.6

4 years ago

0.8.7

4 years ago

0.9.5

4 years ago

0.8.6

4 years ago

0.12.8

4 years ago

0.11.0

4 years ago

0.10.1

4 years ago

0.12.0

4 years ago

0.10.2

4 years ago

0.10.3

4 years ago

0.12.2

4 years ago

0.10.4

4 years ago

0.12.12

4 years ago

0.12.4

4 years ago

0.12.14

4 years ago

0.12.5

4 years ago

0.12.6

4 years ago

0.10.0

4 years ago

0.9.0

4 years ago

0.9.2

4 years ago

0.8.3

4 years ago

0.9.1

4 years ago

0.8.2

4 years ago

0.8.1

4 years ago

0.8.0

4 years ago

0.7.8

4 years ago

0.7.6

4 years ago

0.7.2

4 years ago

0.7.4

4 years ago

0.7.0

4 years ago

0.3.2

4 years ago

0.3.1

4 years ago

0.3.0

4 years ago

0.2.1

4 years ago

0.2.0

4 years ago

0.2.2

4 years ago

0.1.6

4 years ago

0.1.4

4 years ago

0.0.0

4 years ago

0.1.0

4 years ago

1.0.0

4 years ago