mirror of
https://github.com/frappe/books.git
synced 2024-12-22 10:58:59 +00:00
add pages
This commit is contained in:
parent
90b5badec8
commit
60832b1d96
2
Procfile
Normal file
2
Procfile
Normal file
@ -0,0 +1,2 @@
|
||||
server: nodemon server.js
|
||||
watch: node_modules/.bin/webpack --watch
|
25
README.md
Normal file
25
README.md
Normal file
@ -0,0 +1,25 @@
|
||||
# Sample app for frappe-core
|
||||
|
||||
Sample To Do app for frappe-core
|
||||
|
||||
### Install
|
||||
|
||||
Install dependencies
|
||||
|
||||
`yarn install`
|
||||
|
||||
### Build
|
||||
|
||||
```sh
|
||||
node_modules/.bin/webpack
|
||||
```
|
||||
|
||||
### Start
|
||||
|
||||
To start the app + build process
|
||||
|
||||
```sh
|
||||
yarn global add foreman
|
||||
|
||||
nf start
|
||||
```
|
60
index.js
60
index.js
@ -1,32 +1,50 @@
|
||||
require('./scss/main.scss');
|
||||
window.$ = require('jquery');
|
||||
|
||||
const common = require('frappe-core/frappe/common');
|
||||
const Database = require('frappe-core/frappe/backends/rest_client').Database
|
||||
const client = require('frappe-core/frappe/client');
|
||||
|
||||
window.frappe = require('frappe-core');
|
||||
const listview = require('frappe-core/frappe/view/list.js');
|
||||
const ListView = require('frappe-core/frappe/client/view/list').ListView;
|
||||
const Page = require('frappe-core/frappe/client/view/page').Page;
|
||||
const Form = require('frappe-core/frappe/client/view/form').Form;
|
||||
|
||||
async function start() {
|
||||
frappe.init();
|
||||
common.init_libs(frappe);
|
||||
|
||||
frappe.db = await new Database({
|
||||
server: 'localhost:8000',
|
||||
fetch: window.fetch.bind()
|
||||
});
|
||||
window.todo_app = {};
|
||||
|
||||
// start server
|
||||
client.start({
|
||||
server: 'localhost:8000',
|
||||
container: document.querySelector('.container'),
|
||||
}).then(() => {
|
||||
const todo = require('frappe-core/frappe/models/doctype/todo/todo.js');
|
||||
frappe.init_controller('todo', todo);
|
||||
|
||||
frappe.init_view({container: $('.container')});
|
||||
}
|
||||
// make pages
|
||||
todo_app.edit_page = new Page('Edit To Do');
|
||||
todo_app.todo_list = new Page('ToDo List');
|
||||
|
||||
start().then(() => {
|
||||
let todo_list = new listview.ListView({
|
||||
doctype: 'ToDo',
|
||||
parent: frappe.main
|
||||
// to do list
|
||||
frappe.router.add('default', () => {
|
||||
todo_app.todo_list.show();
|
||||
if (!todo_app.todo_list.list) {
|
||||
todo_app.todo_list.list = new ListView({
|
||||
doctype: 'ToDo',
|
||||
parent: todo_app.todo_list.body
|
||||
});
|
||||
}
|
||||
todo_app.todo_list.list.run();
|
||||
});
|
||||
todo_list.render();
|
||||
})
|
||||
|
||||
// setup todo form
|
||||
frappe.router.add('todo/:name', async (params) => {
|
||||
todo_app.edit_page.show();
|
||||
if (!todo_app.edit_page.form) {
|
||||
todo_app.edit_page.form = new Form({
|
||||
doctype: 'ToDo',
|
||||
parent: todo_app.edit_page.body
|
||||
});
|
||||
todo_app.edit_page.form.make();
|
||||
}
|
||||
todo_app.doc = await frappe.get_doc('ToDo', params.name);
|
||||
todo_app.edit_page.form.use(todo_app.doc);
|
||||
});
|
||||
|
||||
frappe.router.show(window.location.hash);
|
||||
});
|
11189
js/bundle.js
11189
js/bundle.js
File diff suppressed because one or more lines are too long
@ -16,7 +16,6 @@ html {
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
margin-top: 20px;
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 4fr;
|
||||
grid-auto-rows: minmax(500px, auto);
|
||||
@ -25,3 +24,7 @@ html {
|
||||
.sidebar {
|
||||
background-color: $gray-100;
|
||||
}
|
||||
|
||||
.hide {
|
||||
display: none !important;
|
||||
}
|
||||
|
@ -1,10 +1,7 @@
|
||||
const server = require('frappe-core/frappe/server');
|
||||
const frappe = require('frappe-core');
|
||||
const express = require('express');
|
||||
|
||||
server.start({
|
||||
backend: 'sqllite',
|
||||
connection_params: {db_path: 'test.db'}
|
||||
}).then(() => {
|
||||
frappe.app.use(express.static('./'));
|
||||
connection_params: {db_path: 'test.db'},
|
||||
static: './'
|
||||
});
|
Loading…
Reference in New Issue
Block a user