DAO.select() convenience support

8 views
Skip to first unread message

Kevin Greer

unread,
Dec 10, 2017, 1:08:42 PM12/10/17
to foam-framework-discuss
I've added some convenience features to the DAO.select() method. In particular, they make it easier to use when debugging from the browser console.

1. Sink defaults to ArraySink if not provided. If you don't specify a sink, you get an ArraySink by default.

Ex.
ctrl.countryDAO.select().then(function(a) { console.log(a.array); });

 (13) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]


2. If you select to the console, your objects will be printed in JSON format to the console.

Ex.
ctrl.countryDAO.select(console);

AbstractDAO.js:404 {instance_: {…}, private_: {…}} "{
class: "foam.nanos.auth.Country",
code: "TT",
name: "Trinidad and Tobago"
}"
AbstractDAO.js:404 {instance_: {…}, private_: {…}} "{
class: "foam.nanos.auth.Country",
code: "RS",
name: "Serbia"
}"
AbstractDAO.js:404 {instance_: {…}, private_: {…}} "{
class: "foam.nanos.auth.Country",
code: "JM",
name: "Jamaica"
}"
AbstractDAO.js:404 {instance_: {…}, private_: {…}} "{
class: "foam.nanos.auth.Country",
code: "IN",
name: "India"
}"
AbstractDAO.js:404 {instance_: {…}, private_: {…}} "{
class: "foam.nanos.auth.Country",
code: "ZA",
name: "South Africa"
}"
AbstractDAO.js:404 {instance_: {…}, private_: {…}} "{
class: "foam.nanos.auth.Country",
code: "CN",
name: "China"
}"
AbstractDAO.js:404 {instance_: {…}, private_: {…}} "{
class: "foam.nanos.auth.Country",
code: "MX",
name: "Mexico"
}"
AbstractDAO.js:404 {instance_: {…}, private_: {…}} "{
class: "foam.nanos.auth.Country",
code: "MY",
name: "Malaysia"
}"
AbstractDAO.js:404 {instance_: {…}, private_: {…}} "{
class: "foam.nanos.auth.Country",
code: "BR",
name: "Brazil"
}"
AbstractDAO.js:404 {instance_: {…}, private_: {…}} "{
class: "foam.nanos.auth.Country",
code: "LB",
name: "Lebanon"
}"
AbstractDAO.js:404 {instance_: {…}, private_: {…}} "{
class: "foam.nanos.auth.Country",
code: "UK",
name: "United Kingdom"
}"
AbstractDAO.js:404 {instance_: {…}, private_: {…}} "{
class: "foam.nanos.auth.Country",
code: "CA",
name: "Canada"
}"
AbstractDAO.js:404 {instance_: {…}, private_: {…}} "{
class: "foam.nanos.auth.Country",
code: "US",
name: "USA"
}"


3. If you select to the document, your objects will be displayed in DetailViews in the document.

Ex.: ctrl.countryDAO.select(document);

(see window)

Kevin Greer

unread,
Dec 10, 2017, 3:47:19 PM12/10/17
to foam-framework-discuss
Also, you can just pass a function which will get promoted to a sink.

Ex. 
ctrl.countryDAO.select(function(o) { console.log(o); });

Reply all
Reply to author
Forward
0 new messages