From bc095b5bc3f1f745f806c7afd456ae8375c2613e Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Thu, 8 Feb 2018 17:58:51 +0530 Subject: [PATCH] more camelCase --- client/desk/formpage.js | 2 +- client/desk/index.js | 2 +- docs/client/controls.md | 25 +++++++++--- docs/client/forms.md | 4 +- docs/client/index.md | 6 +-- docs/client/lists.md | 4 +- docs/client/router.md | 15 +++----- docs/models/controllers.md | 4 +- docs/models/document.md | 20 +++++----- docs/models/metadata.md | 4 +- index.js | 38 +++++++++---------- model/boilerplate.js | 2 +- model/index.js | 4 +- model/meta.js | 4 +- models/doctype/number_series/number_series.js | 2 +- models/doctype/role/role.js | 2 +- models/doctype/session/session.js | 4 +- models/doctype/todo/todo.js | 2 +- models/doctype/user/user.js | 2 +- models/doctype/user_role/user_role.js | 2 +- server/rest_api.js | 10 ++--- tests/test_controller.js | 2 +- tests/test_document.js | 12 +++--- tests/test_rest_api.js | 14 +++---- 24 files changed, 99 insertions(+), 87 deletions(-) diff --git a/client/desk/formpage.js b/client/desk/formpage.js index 0d47d342..5d609be3 100644 --- a/client/desk/formpage.js +++ b/client/desk/formpage.js @@ -34,7 +34,7 @@ module.exports = class FormPage extends Page { async show_doc(doctype, name) { try { - this.doc = await frappe.get_doc(doctype, name); + this.doc = await frappe.getDoc(doctype, name); this.form.use(this.doc); } catch (e) { this.renderError(e.status_code, e.message); diff --git a/client/desk/index.js b/client/desk/index.js index ee6f6c7b..b615b50a 100644 --- a/client/desk/index.js +++ b/client/desk/index.js @@ -49,7 +49,7 @@ module.exports = class Desk { }) frappe.router.add('new/:doctype', async (params) => { - let doc = await frappe.get_new_doc(params.doctype); + let doc = await frappe.getNewDoc(params.doctype); // unset the name, its local await frappe.router.setRoute('edit', doc.doctype, doc.name); await doc.set('name', ''); diff --git a/docs/client/controls.md b/docs/client/controls.md index cd6b4d70..09f4212b 100644 --- a/docs/client/controls.md +++ b/docs/client/controls.md @@ -4,12 +4,12 @@ Frappe.js comes in with built-in controls for various types of inputs ## Creating -A new control can be created with `control.make_control` method. +A new control can be created with `control.makeControl` method. ```js const controls = require('./controls'); -let control = controls.make_control({ +let control = controls.makeControl({ fieldname: 'test', fieldtype: 'Data', label: 'Test Control' @@ -20,7 +20,7 @@ let control = controls.make_control({ The control has the following structure of HTML Elements -- `form_group` +- `formGroup` - `label` - `input` - `description` @@ -46,7 +46,7 @@ Options can be set in the `options` property as a list Example: ```js -let control = controls.make_control({ +let control = controls.makeControl({ fieldname: 'test', fieldtype: 'Select', label: 'Test Select', @@ -64,10 +64,25 @@ You can select a value from another DocType with a Link type field. The value of Example: ```js -let control = controls.make_control({ +let control = controls.makeControl({ fieldname: 'user', fieldtype: 'Link', label: 'User', target: 'User' }, body); ``` + +## Table + +A table control renders a grid object (datatable). The columns of the table are defined by the `childtype` property of the field definition + +Example: + +```js +let control = controls.makeControl({ + fieldname: 'roles', + fieldtype: 'Table', + label: 'Roles', + childtype: 'User Role' +}, body); +``` diff --git a/docs/client/forms.md b/docs/client/forms.md index 89267de8..71ac2405 100644 --- a/docs/client/forms.md +++ b/docs/client/forms.md @@ -78,10 +78,10 @@ To setup a form for a new document, just create a new document with the Frappe.j frappe.router.add('new/todo', async (params) => { // new document - app.doc = await frappe.get_doc({doctype: 'ToDo'}); + app.doc = await frappe.getDoc({doctype: 'ToDo'}); // set a random name - app.doc.set_name(); + app.doc.setName(); // show the page app.edit_page.show(); diff --git a/docs/client/index.md b/docs/client/index.md index 68352ad9..19c836db 100644 --- a/docs/client/index.md +++ b/docs/client/index.md @@ -48,13 +48,13 @@ You can manage documents, using the same Document API as if it were a local data ```js await frappe.init(); -await frappe.init_db('rest', {server: 'localhost:8000'}); +await frappe.initDb('rest', {server: 'localhost:8000'}); -let doc = await frappe.get_doc({doctype:'ToDo', subject:'test rest insert 1'}); +let doc = await frappe.getDoc({doctype:'ToDo', subject:'test rest insert 1'}); await doc.insert(); doc.subject = 'subject changed'; await doc.update(); -let data = await frappe.db.get_all({doctype:'ToDo'}); +let data = await frappe.db.getAll({doctype:'ToDo'}); ``` diff --git a/docs/client/lists.md b/docs/client/lists.md index bbb0f686..7e97ae3f 100644 --- a/docs/client/lists.md +++ b/docs/client/lists.md @@ -39,10 +39,10 @@ Lists can be extended by defining a client module for the doctype, similar to fo const BaseList = require('frappejs/client/view/list'); class ToDoList extends BaseList { - get_fields() { + getFields() { return ['name', 'subject', 'status']; } - get_row_html(data) { + getRowHTML(data) { let symbol = data.status=="Closed" ? "✔" : ""; return `${symbol} ${data.subject}`; } diff --git a/docs/client/router.md b/docs/client/router.md index cb763ca4..d908f888 100644 --- a/docs/client/router.md +++ b/docs/client/router.md @@ -17,14 +17,11 @@ let todo_list = new Page('ToDo List'); // make the current page active todo_list.show(); -``` - -```js // to do list frappe.router.add('default', () => { - app.todo_list.show(); - app.todo_list.list.run(); + todo_list.show(); + todo_list.list.run(); }); // setup todo form @@ -48,18 +45,18 @@ frappe.router.add('new/todo', async (params) => { You can change route with ```js -await frappe.router.set_route('list', 'todo'); +await frappe.router.setRoute('list', 'todo'); ``` ## Getting current route -`frappe.router.get_route()` will return the current route as a list. +`frappe.router.getRoute()` will return the current route as a list. ```js -await frappe.router.set_route('list', 'todo'); +await frappe.router.setRoute('list', 'todo'); // returns ['list', 'todo']; -route = frappe.router.get_route(); +route = frappe.router.getRoute(); ``` ## Show a route diff --git a/docs/models/controllers.md b/docs/models/controllers.md index cceba38d..099b758e 100644 --- a/docs/models/controllers.md +++ b/docs/models/controllers.md @@ -40,13 +40,13 @@ The `meta` class contains actions that are done on a group of objects and a docu ```js // extend the meta class class todo_meta extends frappe.meta.Meta { - setup_meta() { + setupMeta() { Object.assign(this, require('./todo.json')); this.name = 'ToDo'; this.list_options.fields = ['name', 'subject', 'status', 'description']; } - get_row_html(data) { + getRowHTML(data) { return `${data.subject}`; } diff --git a/docs/models/document.md b/docs/models/document.md index e010e267..4b601f7e 100644 --- a/docs/models/document.md +++ b/docs/models/document.md @@ -8,11 +8,11 @@ All document write methods are asynchronous and return javascript Promise object ### Initialize -Documents are initialized with the `frappe.get_doc` method. If `doctype` and `name` are passed as parameters, then the document is fetched from the backend. If a simple object is passed, then object properties are set in the document. +Documents are initialized with the `frappe.getDoc` method. If `doctype` and `name` are passed as parameters, then the document is fetched from the backend. If a simple object is passed, then object properties are set in the document. ```js // make a new todo -let todo = await frappe.get_doc({doctype: 'ToDo', subject: 'something'}); +let todo = await frappe.getDoc({doctype: 'ToDo', subject: 'something'}); ``` ### Create @@ -21,18 +21,18 @@ You can insert a document in the backend with the `insert` method. ```js // make a new todo -let todo = await frappe.get_doc({doctype: 'ToDo', subject: 'something'}); +let todo = await frappe.getDoc({doctype: 'ToDo', subject: 'something'}); await todo.insert(); ``` ### Read -You can read a document from the backend with the `frappe.get_doc` method +You can read a document from the backend with the `frappe.getDoc` method ```js // get all open todos -let todos = await frappe.db.get_all({doctype:'ToDo', fields:['name'], filters: {status: "Open"}); -let first_todo = await frappe.get_doc('ToDo', toods[0].name); +let todos = await frappe.db.getAll({doctype:'ToDo', fields:['name'], filters: {status: "Open"}); +let first_todo = await frappe.getDoc('ToDo', toods[0].name); ``` ### Update @@ -41,8 +41,8 @@ The `update` method updates a document. ```js // get all open todos -let todos = await frappe.db.get_all({doctype:'ToDo', fields:['name'], filters: {status: "Open"}); -let first_todo = await frappe.get_doc('ToDo', toods[0].name); +let todos = await frappe.db.getAll({doctype:'ToDo', fields:['name'], filters: {status: "Open"}); +let first_todo = await frappe.getDoc('ToDo', toods[0].name); first_todo.status = 'Closed'; await first_todo.update(); @@ -54,8 +54,8 @@ The `delete` method deletes a document. ```js // get all open todos -let todos = await frappe.db.get_all({doctype:'ToDo', fields:['name'], filters: {status: "Open"}); -let first_todo = await frappe.get_doc('ToDo', toods[0].name); +let todos = await frappe.db.getAll({doctype:'ToDo', fields:['name'], filters: {status: "Open"}); +let first_todo = await frappe.getDoc('ToDo', toods[0].name); await first_todo.delete(); ``` diff --git a/docs/models/metadata.md b/docs/models/metadata.md index 7955eea2..4088ac5c 100644 --- a/docs/models/metadata.md +++ b/docs/models/metadata.md @@ -1,11 +1,11 @@ # Metadata -Metadata are first class objects in Frappe.js. You can get a metadata object by `frappe.get_meta`. All objects from the `models` folders of all modules are loaded. +Metadata are first class objects in Frappe.js. You can get a metadata object by `frappe.getMeta`. All objects from the `models` folders of all modules are loaded. ### Example ```js -let todo_meta = frappe.get_meta('ToDo'); +let todo_meta = frappe.getMeta('ToDo'); // get all fields of type "Data" let data_fields = todo_meta.fields.map(d => d.fieldtype=='Data' ? d : null); diff --git a/index.js b/index.js index 49d1cb90..2ff2b5ac 100644 --- a/index.js +++ b/index.js @@ -1,19 +1,19 @@ module.exports = { async init() { if (this._initialized) return; - this.init_config(); - this.init_globals(); + this.initConfig(); + this.initGlobals(); this._initialized = true; }, - init_config() { + initConfig() { this.config = { backend: 'sqlite', port: 8000 }; }, - init_globals() { + initGlobals() { this.meta_cache = {}; this.modules = {}; this.docs = {}; @@ -22,7 +22,7 @@ module.exports = { } }, - add_to_cache(doc) { + addToCache(doc) { if (!this.flags.cache_docs) return; // add to `docs` cache @@ -34,7 +34,7 @@ module.exports = { } }, - get_doc_from_cache(doctype, name) { + getDocFromCache(doctype, name) { if (this.docs[doctype] && this.docs[doctype][name]) { return this.docs[doctype][name]; } @@ -42,12 +42,12 @@ module.exports = { getMeta(doctype) { if (!this.meta_cache[doctype]) { - this.meta_cache[doctype] = new (this.getMeta_class(doctype))(); + this.meta_cache[doctype] = new (this.getMetaClass(doctype))(); } return this.meta_cache[doctype]; }, - getMeta_class(doctype) { + getMetaClass(doctype) { doctype = this.slug(doctype); if (this.modules[doctype] && this.modules[doctype].Meta) { return this.modules[doctype].Meta; @@ -56,23 +56,23 @@ module.exports = { } }, - async get_doc(doctype, name) { - let doc = this.get_doc_from_cache(doctype, name); + async getDoc(doctype, name) { + let doc = this.getDocFromCache(doctype, name); if (!doc) { - let controller_class = this.get_controller_class(doctype); + let controller_class = this.getControllerClass(doctype); doc = new controller_class({doctype:doctype, name: name}); await doc.load(); - this.add_to_cache(doc); + this.addToCache(doc); } return doc; }, - new_doc(data) { - let controller_class = this.get_controller_class(data.doctype); + newDoc(data) { + let controller_class = this.getControllerClass(data.doctype); return new controller_class(data); }, - get_controller_class(doctype) { + getControllerClass(doctype) { doctype = this.slug(doctype); if (this.modules[doctype] && this.modules[doctype].Document) { return this.modules[doctype].Document; @@ -81,16 +81,16 @@ module.exports = { } }, - async get_new_doc(doctype) { - let doc = frappe.new_doc({doctype: doctype}); + async getNewDoc(doctype) { + let doc = this.newDoc({doctype: doctype}); doc.setName(); doc.__not_inserted = true; - this.add_to_cache(doc); + this.addToCache(doc); return doc; }, async insert(data) { - return await (this.new_doc(data)).insert(); + return await (this.newDoc(data)).insert(); }, login(user='guest', user_key) { diff --git a/model/boilerplate.js b/model/boilerplate.js index 626957bc..c64e97a8 100644 --- a/model/boilerplate.js +++ b/model/boilerplate.js @@ -28,7 +28,7 @@ module.exports = { const BaseDocument = require('frappejs/model/document'); class ${thinname}Meta extends BaseMeta { - setup_meta() { + setupMeta() { Object.assign(this, require('./${utils.slug(name)}.json')); } } diff --git a/model/index.js b/model/index.js index 922f1a8b..b2bae795 100644 --- a/model/index.js +++ b/model/index.js @@ -4,12 +4,12 @@ module.exports = { async get_series_next(prefix) { let series; try { - series = await frappe.get_doc('Number Series', prefix); + series = await frappe.getDoc('Number Series', prefix); } catch (e) { if (!e.status_code || e.status_code !== 404) { throw e; } - series = frappe.new_doc({doctype: 'Number Series', name: prefix, current: 0}); + series = frappe.newDoc({doctype: 'Number Series', name: prefix, current: 0}); await series.insert(); } let next = await series.next() diff --git a/model/meta.js b/model/meta.js index d2e71eb7..ad75e745 100644 --- a/model/meta.js +++ b/model/meta.js @@ -8,8 +8,8 @@ module.exports = class BaseMeta extends BaseDocument { this.list_options = { fields: ['name', 'modified'] }; - if (this.setup_meta) { - this.setup_meta(); + if (this.setupMeta) { + this.setupMeta(); } } diff --git a/models/doctype/number_series/number_series.js b/models/doctype/number_series/number_series.js index 4d485be1..c8f6c372 100644 --- a/models/doctype/number_series/number_series.js +++ b/models/doctype/number_series/number_series.js @@ -2,7 +2,7 @@ const BaseMeta = require('frappejs/model/meta'); const BaseDocument = require('frappejs/model/document'); class NumberSeriesMeta extends BaseMeta { - setup_meta() { + setupMeta() { Object.assign(this, require('./number_series.json')); } } diff --git a/models/doctype/role/role.js b/models/doctype/role/role.js index e4523fab..85d44904 100644 --- a/models/doctype/role/role.js +++ b/models/doctype/role/role.js @@ -2,7 +2,7 @@ const BaseMeta = require('frappejs/model/meta'); const BaseDocument = require('frappejs/model/document'); class RoleMeta extends BaseMeta { - setup_meta() { + setupMeta() { Object.assign(this, require('./role.json')); } } diff --git a/models/doctype/session/session.js b/models/doctype/session/session.js index be67303f..9e224871 100644 --- a/models/doctype/session/session.js +++ b/models/doctype/session/session.js @@ -2,13 +2,13 @@ const BaseMeta = require('frappejs/model/meta'); const BaseDocument = require('frappejs/model/document'); class SessionMeta extends BaseMeta { - setup_meta() { + setupMeta() { Object.assign(this, require('./session.json')); } } class Session extends BaseDocument { - + } module.exports = { diff --git a/models/doctype/todo/todo.js b/models/doctype/todo/todo.js index 392622c8..ccc2d08d 100644 --- a/models/doctype/todo/todo.js +++ b/models/doctype/todo/todo.js @@ -2,7 +2,7 @@ const BaseMeta = require('frappejs/model/meta'); const BaseDocument = require('frappejs/model/document'); class ToDoMeta extends BaseMeta { - setup_meta() { + setupMeta() { Object.assign(this, require('./todo.json')); } } diff --git a/models/doctype/user/user.js b/models/doctype/user/user.js index 427582c4..8ce243b1 100644 --- a/models/doctype/user/user.js +++ b/models/doctype/user/user.js @@ -2,7 +2,7 @@ const BaseMeta = require('frappejs/model/meta'); const BaseDocument = require('frappejs/model/document'); class UserMeta extends BaseMeta { - setup_meta() { + setupMeta() { Object.assign(this, require('./user.json')); } } diff --git a/models/doctype/user_role/user_role.js b/models/doctype/user_role/user_role.js index c4f4a4ce..69348ca8 100644 --- a/models/doctype/user_role/user_role.js +++ b/models/doctype/user_role/user_role.js @@ -2,7 +2,7 @@ const BaseMeta = require('frappejs/model/meta'); const BaseDocument = require('frappejs/model/document'); class UserRoleMeta extends BaseMeta { - setup_meta() { + setupMeta() { Object.assign(this, require('./user_role.json')); } } diff --git a/server/rest_api.js b/server/rest_api.js index 49a38412..dde97708 100644 --- a/server/rest_api.js +++ b/server/rest_api.js @@ -27,7 +27,7 @@ module.exports = { app.post('/api/resource/:doctype', frappe.async_handler(async function(request, response) { let data = request.body; data.doctype = request.params.doctype; - let doc = frappe.new_doc(data); + let doc = frappe.newDoc(data); await doc.insert(); await frappe.db.commit(); return response.json(doc.getValidDict()); @@ -36,7 +36,7 @@ module.exports = { // update app.put('/api/resource/:doctype/:name', frappe.async_handler(async function(request, response) { let data = request.body; - let doc = await frappe.get_doc(request.params.doctype, request.params.name); + let doc = await frappe.getDoc(request.params.doctype, request.params.name); Object.assign(doc, data); await doc.update(); await frappe.db.commit(); @@ -46,7 +46,7 @@ module.exports = { // get document app.get('/api/resource/:doctype/:name', frappe.async_handler(async function(request, response) { - let doc = await frappe.get_doc(request.params.doctype, request.params.name); + let doc = await frappe.getDoc(request.params.doctype, request.params.name); return response.json(doc.getValidDict()); })); @@ -58,7 +58,7 @@ module.exports = { // delete app.delete('/api/resource/:doctype/:name', frappe.async_handler(async function(request, response) { - let doc = await frappe.get_doc(request.params.doctype, request.params.name) + let doc = await frappe.getDoc(request.params.doctype, request.params.name) await doc.delete(); return response.json({}); })); @@ -67,7 +67,7 @@ module.exports = { app.delete('/api/resource/:doctype', frappe.async_handler(async function(request, response) { let names = request.body; for (let name of names) { - let doc = await frappe.get_doc(request.params.doctype, name); + let doc = await frappe.getDoc(request.params.doctype, name); await doc.delete(); } return response.json({}); diff --git a/tests/test_controller.js b/tests/test_controller.js index 9b920cae..1b3455e5 100644 --- a/tests/test_controller.js +++ b/tests/test_controller.js @@ -8,7 +8,7 @@ describe('Controller', () => { }); it('should call controller method', async () => { - let doc = frappe.new_doc({ + let doc = frappe.newDoc({ doctype:'ToDo', subject: 'test' }); diff --git a/tests/test_document.js b/tests/test_document.js index a0c42c4b..27e4e529 100644 --- a/tests/test_document.js +++ b/tests/test_document.js @@ -14,7 +14,7 @@ describe('Document', () => { await doc1.insert(); // get it back from the db - let doc2 = await frappe.get_doc(doc1.doctype, doc1.name); + let doc2 = await frappe.getDoc(doc1.doctype, doc1.name); assert.equal(doc1.subject, doc2.subject); assert.equal(doc1.description, doc2.description); @@ -68,10 +68,10 @@ describe('Document', () => { }); it('should add, fetch and delete documents with children', async() => { - await frappe.new_doc({doctype: 'Role', name: 'Test Role'}).insert(); - await frappe.new_doc({doctype: 'Role', name: 'Test Role 1'}).insert(); + await frappe.newDoc({doctype: 'Role', name: 'Test Role'}).insert(); + await frappe.newDoc({doctype: 'Role', name: 'Test Role 1'}).insert(); - let user = frappe.new_doc({ + let user = frappe.newDoc({ doctype: 'User', name: 'test_user', full_name: 'Test User', @@ -105,7 +105,7 @@ describe('Document', () => { await user.update(); - user = await frappe.get_doc('User', user.name); + user = await frappe.getDoc('User', user.name); assert.equal(user.roles.length, 1); assert.equal(user.roles[0].role, 'Test Role 1'); @@ -118,7 +118,7 @@ describe('Document', () => { }); function test_doc() { - return frappe.new_doc({ + return frappe.newDoc({ doctype: 'ToDo', status: 'Open', subject: 'testing 1', diff --git a/tests/test_rest_api.js b/tests/test_rest_api.js index 7bce6b71..bd102a83 100644 --- a/tests/test_rest_api.js +++ b/tests/test_rest_api.js @@ -32,23 +32,23 @@ describe('REST', () => { }); it('should create a document', async () => { - let doc = frappe.new_doc({doctype:'ToDo', subject:'test rest insert 1'}); + let doc = frappe.newDoc({doctype:'ToDo', subject:'test rest insert 1'}); await doc.insert(); - let doc1 = await frappe.get_doc('ToDo', doc.name); + let doc1 = await frappe.getDoc('ToDo', doc.name); assert.equal(doc.subject, doc1.subject); assert.equal(doc1.status, 'Open'); }); it('should update a document', async () => { - let doc = frappe.new_doc({doctype:'ToDo', subject:'test rest insert 1'}); + let doc = frappe.newDoc({doctype:'ToDo', subject:'test rest insert 1'}); await doc.insert(); doc.subject = 'subject changed'; await doc.update(); - let doc1 = await frappe.get_doc('ToDo', doc.name); + let doc1 = await frappe.getDoc('ToDo', doc.name); assert.equal(doc.subject, doc1.subject); }); @@ -63,7 +63,7 @@ describe('REST', () => { }); it('should delete a document', async () => { - let doc = frappe.new_doc({doctype:'ToDo', subject:'test rest insert 1'}); + let doc = frappe.newDoc({doctype:'ToDo', subject:'test rest insert 1'}); await doc.insert(); assert.equal(await frappe.db.exists(doc.doctype, doc.name), true); @@ -73,8 +73,8 @@ describe('REST', () => { }); it('should delete multiple documents', async () => { - let doc1 = frappe.new_doc({doctype:'ToDo', subject:'test rest insert 5'}); - let doc2 = frappe.new_doc({doctype:'ToDo', subject:'test rest insert 6'}); + let doc1 = frappe.newDoc({doctype:'ToDo', subject:'test rest insert 5'}); + let doc2 = frappe.newDoc({doctype:'ToDo', subject:'test rest insert 6'}); await doc1.insert(); await doc2.insert();