0.22.8 • Published 2 years ago

farmy v0.22.8

Weekly downloads
3
License
-
Repository
github
Last release
2 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

2 years ago

0.20.31

2 years ago

0.20.32

2 years ago

0.20.30

2 years ago

0.16.10

2 years ago

0.16.14

2 years ago

0.20.28

2 years ago

0.16.12

2 years ago

0.20.26

2 years ago

0.20.24

2 years ago

0.20.22

2 years ago

0.20.20

2 years ago

0.16.4

2 years ago

0.16.6

2 years ago

0.16.8

2 years ago

0.12.16

2 years ago

0.12.18

2 years ago

0.16.0

2 years ago

0.16.2

2 years ago

0.12.20

2 years ago

0.12.22

2 years ago

0.20.18

2 years ago

0.22.6

2 years ago

0.22.4

2 years ago

0.22.2

2 years ago

0.22.0

2 years ago

0.12.24

2 years ago

0.22.8

2 years ago

0.12.26

2 years ago

0.9.8

3 years ago

0.8.9

3 years ago

0.9.7

3 years ago

0.8.8

3 years ago

0.12.10

3 years ago

0.9.4

3 years ago

0.8.5

3 years ago

0.9.3

3 years ago

0.8.4

3 years ago

0.9.6

3 years ago

0.8.7

3 years ago

0.9.5

3 years ago

0.8.6

3 years ago

0.12.8

3 years ago

0.11.0

3 years ago

0.10.1

3 years ago

0.12.0

3 years ago

0.10.2

3 years ago

0.10.3

3 years ago

0.12.2

3 years ago

0.10.4

3 years ago

0.12.12

3 years ago

0.12.4

3 years ago

0.12.14

2 years ago

0.12.5

3 years ago

0.12.6

3 years ago

0.10.0

3 years ago

0.9.0

3 years ago

0.9.2

3 years ago

0.8.3

3 years ago

0.9.1

3 years ago

0.8.2

3 years ago

0.8.1

3 years ago

0.8.0

3 years ago

0.7.8

3 years ago

0.7.6

3 years ago

0.7.2

3 years ago

0.7.4

3 years ago

0.7.0

3 years ago

0.3.2

3 years ago

0.3.1

3 years ago

0.3.0

3 years ago

0.2.1

3 years ago

0.2.0

3 years ago

0.2.2

3 years ago

0.1.6

3 years ago

0.1.4

3 years ago

0.0.0

3 years ago

0.1.0

3 years ago

1.0.0

3 years ago