{"classData":[{"comment":"/**\n * @class Neo.data.RecordFactory\n * @extends Neo.core.Base\n * @singleton\n */","meta":{"filename":"RecordFactory.mjs","lineno":7,"columnno":0,"path":"/Users/Shared/github/neomjs/neomjs-realworld-example-app/node_modules/neo.mjs/src/data","code":{}},"kind":"class","name":"RecordFactory","augments":["Neo.core.Base"],"tags":[{"originalTitle":"singleton","title":"singleton","text":""}],"memberof":"Neo.data","longname":"Neo.data.RecordFactory","scope":"static","$longname":"Neo.data.RecordFactory","$kind":"class","id":1460,"neoClassName":"Neo.data.RecordFactory"},{"comment":"/**\n         * @member {String} className='Neo.data.RecordFactory'\n         * @protected\n         */","meta":{"filename":"RecordFactory.mjs","lineno":18,"columnno":8,"path":"/Users/Shared/github/neomjs/neomjs-realworld-example-app/node_modules/neo.mjs/src/data","code":{}},"kind":"member","name":"className","type":{"names":["String"]},"defaultvalue":"'Neo.data.RecordFactory'","access":"protected","longname":"className","scope":"global","$longname":"className","$kind":"property","id":1461,"neoClassName":"Neo.data.RecordFactory"},{"comment":"/**\n         * @member {Boolean} singleton=true\n         * @protected\n         */","meta":{"filename":"RecordFactory.mjs","lineno":23,"columnno":8,"path":"/Users/Shared/github/neomjs/neomjs-realworld-example-app/node_modules/neo.mjs/src/data","code":{}},"kind":"member","name":"singleton","type":{"names":["Boolean"]},"defaultvalue":true,"access":"protected","longname":"singleton","scope":"global","$longname":"singleton","$kind":"property","id":1462,"neoClassName":"Neo.data.RecordFactory"},{"comment":"/**\n         * The internal record prefix for original field values.\n         * Only used in case the model has trackModifiedFields set to true.\n         * @member {String} ovPrefix='ov_'\n         */","meta":{"filename":"RecordFactory.mjs","lineno":29,"columnno":8,"path":"/Users/Shared/github/neomjs/neomjs-realworld-example-app/node_modules/neo.mjs/src/data","code":{}},"description":"The internal record prefix for original field values.<br />Only used in case the model has trackModifiedFields set to true.","kind":"member","name":"ovPrefix","type":{"names":["String"]},"defaultvalue":"'ov_'","longname":"ovPrefix","scope":"global","$longname":"ovPrefix","$kind":"property","id":1463,"neoClassName":"Neo.data.RecordFactory"},{"comment":"/**\n         * @member {String} recordNamespace='Neo.data.record'\n         */","meta":{"filename":"RecordFactory.mjs","lineno":33,"columnno":8,"path":"/Users/Shared/github/neomjs/neomjs-realworld-example-app/node_modules/neo.mjs/src/data","code":{}},"kind":"member","name":"recordNamespace","type":{"names":["String"]},"defaultvalue":"'Neo.data.record'","longname":"recordNamespace","scope":"global","$longname":"recordNamespace","$kind":"property","id":1464,"neoClassName":"Neo.data.RecordFactory"},{"comment":"/**\n     * @param {Neo.data.Model} model\n     * @param {Object} config\n     * @returns {Object}\n     */","meta":{"range":[1030,1294],"filename":"RecordFactory.mjs","lineno":41,"columnno":4,"path":"/Users/Shared/github/neomjs/neomjs-realworld-example-app/node_modules/neo.mjs/src/data","code":{"id":"astnode100048754","name":"RecordFactory#createRecord","type":"MethodDefinition","paramnames":["model","config"]},"vars":{"":null}},"params":[{"type":{"names":["Neo.data.Model"]},"name":"model"},{"type":{"names":["Object"]},"name":"config"}],"returns":[{"type":{"names":["Object"]}}],"name":"createRecord","longname":"RecordFactory#createRecord","kind":"function","memberof":"RecordFactory","scope":"instance","$longname":"RecordFactory#createRecord","$kind":"method","id":1465,"neoClassName":"Neo.data.RecordFactory"},{"comment":"/**\n     * @param {Neo.data.Model} model\n     * @returns {Object}\n     */","meta":{"range":[1378,5640],"filename":"RecordFactory.mjs","lineno":55,"columnno":4,"path":"/Users/Shared/github/neomjs/neomjs-realworld-example-app/node_modules/neo.mjs/src/data","code":{"id":"astnode100048797","name":"RecordFactory#createRecordClass","type":"MethodDefinition","paramnames":["model"]},"vars":{"":null}},"params":[{"type":{"names":["Neo.data.Model"]},"name":"model"}],"returns":[{"type":{"names":["Object"]}}],"name":"createRecordClass","longname":"RecordFactory#createRecordClass","kind":"function","memberof":"RecordFactory","scope":"instance","$longname":"RecordFactory#createRecordClass","$kind":"method","id":1466,"neoClassName":"Neo.data.RecordFactory"},{"comment":"","meta":{"range":[1829,4871],"filename":"RecordFactory.mjs","lineno":66,"columnno":20,"path":"/Users/Shared/github/neomjs/neomjs-realworld-example-app/node_modules/neo.mjs/src/data","code":{"id":"astnode100048871","name":"ns[undefined]","type":"MethodDefinition","paramnames":["config"]},"vars":{"":null}},"undocumented":true,"name":"ns[undefined]","longname":"<anonymous>~ns~ns[undefined]","kind":"class","memberof":"<anonymous>~ns","scope":"inner","params":[],"$longname":"ns~ns[undefined]","$kind":"constructor","id":1467,"neoClassName":"Neo.data.RecordFactory"},{"comment":"/**\n                     * Bulk-update multiple record fields at once\n                     * @param {Object} fields\n                     */","meta":{"range":[5053,5159],"filename":"RecordFactory.mjs","lineno":134,"columnno":20,"path":"/Users/Shared/github/neomjs/neomjs-realworld-example-app/node_modules/neo.mjs/src/data","code":{"id":"astnode100049069","name":"ns[undefined]#set","type":"MethodDefinition","paramnames":["fields"]},"vars":{"":null}},"description":"Bulk-update multiple record fields at once","params":[{"type":{"names":["Object"]},"name":"fields"}],"name":"undefined]#set","longname":"<anonymous>~ns.undefined]#set","kind":"function","memberof":"<anonymous>~ns","scope":"static","$longname":"ns.undefined]#set","$kind":"method","id":1468,"neoClassName":"Neo.data.RecordFactory"},{"comment":"/**\n                     * Bulk-update multiple record fields at once without triggering a change event\n                     * @param {Object} fields\n                     */","meta":{"range":[5375,5493],"filename":"RecordFactory.mjs","lineno":142,"columnno":20,"path":"/Users/Shared/github/neomjs/neomjs-realworld-example-app/node_modules/neo.mjs/src/data","code":{"id":"astnode100049082","name":"ns[undefined]#setSilent","type":"MethodDefinition","paramnames":["fields"]},"vars":{"":null}},"description":"Bulk-update multiple record fields at once without triggering a change event","params":[{"type":{"names":["Object"]},"name":"fields"}],"name":"undefined]#setSilent","longname":"<anonymous>~ns.undefined]#setSilent","kind":"function","memberof":"<anonymous>~ns","scope":"static","$longname":"ns.undefined]#setSilent","$kind":"method","id":1469,"neoClassName":"Neo.data.RecordFactory"},{"comment":"/**\n     * @param {Object} record\n     * @param {Boolean} trackModifiedFields\n     * @returns {Boolean} true in case a change was found\n     */","meta":{"range":[5794,6305],"filename":"RecordFactory.mjs","lineno":161,"columnno":4,"path":"/Users/Shared/github/neomjs/neomjs-realworld-example-app/node_modules/neo.mjs/src/data","code":{"id":"astnode100049110","name":"RecordFactory#isModified","type":"MethodDefinition","paramnames":["record","trackModifiedFields"]},"vars":{"":null}},"params":[{"type":{"names":["Object"]},"name":"record"},{"type":{"names":["Boolean"]},"name":"trackModifiedFields"}],"returns":[{"type":{"names":["Boolean"]},"description":"true in case a change was found"}],"name":"isModified","longname":"RecordFactory#isModified","kind":"function","memberof":"RecordFactory","scope":"instance","$longname":"RecordFactory#isModified","$kind":"method","id":1470,"neoClassName":"Neo.data.RecordFactory"},{"comment":"/**\n     * @param {Object} record\n     * @param {String} fieldName\n     * @returns {Boolean|null} null in case the model does not use trackModifiedFields, true in case a change was found\n     */","meta":{"range":[6510,6916],"filename":"RecordFactory.mjs","lineno":187,"columnno":4,"path":"/Users/Shared/github/neomjs/neomjs-realworld-example-app/node_modules/neo.mjs/src/data","code":{"id":"astnode100049175","name":"RecordFactory#isModifiedField","type":"MethodDefinition","paramnames":["record","fieldName"]},"vars":{"":null}},"params":[{"type":{"names":["Object"]},"name":"record"},{"type":{"names":["String"]},"name":"fieldName"}],"returns":[{"type":{"names":["Boolean","null"]},"description":"null in case the model does not use trackModifiedFields, true in case a change was found"}],"name":"isModifiedField","longname":"RecordFactory#isModifiedField","kind":"function","memberof":"RecordFactory","scope":"instance","$longname":"RecordFactory#isModifiedField","$kind":"method","id":1471,"neoClassName":"Neo.data.RecordFactory"},{"comment":"/**\n     * Tests if a given object is an instance of a class created by this factory\n     * @param {Object} record\n     * @returns {Boolean}\n     */","meta":{"range":[7075,7157],"filename":"RecordFactory.mjs","lineno":206,"columnno":4,"path":"/Users/Shared/github/neomjs/neomjs-realworld-example-app/node_modules/neo.mjs/src/data","code":{"id":"astnode100049226","name":"RecordFactory#isRecord","type":"MethodDefinition","paramnames":["record"]},"vars":{"":null}},"description":"Tests if a given object is an instance of a class created by this factory","params":[{"type":{"names":["Object"]},"name":"record"}],"returns":[{"type":{"names":["Boolean"]}}],"name":"isRecord","longname":"RecordFactory#isRecord","kind":"function","memberof":"RecordFactory","scope":"instance","$longname":"RecordFactory#isRecord","$kind":"method","id":1472,"neoClassName":"Neo.data.RecordFactory"},{"comment":"/**\n     * Gets triggered after changing the value of a record field.\n     * E.g. myRecord.foo = 'bar';\n     * @param {Object} opts\n     * @param {Object[]} opts.fields Each field object contains the keys: name, oldValue, value\n     * @param {Neo.data.Model} opts.model The model instance of the changed record\n     * @param {Object} opts.record\n     */","meta":{"range":[7521,7608],"filename":"RecordFactory.mjs","lineno":218,"columnno":4,"path":"/Users/Shared/github/neomjs/neomjs-realworld-example-app/node_modules/neo.mjs/src/data","code":{"id":"astnode100049235","name":"RecordFactory#onRecordChange","type":"MethodDefinition","paramnames":["opts"]},"vars":{"":null}},"description":"Gets triggered after changing the value of a record field.<br />E.g. myRecord.foo = 'bar';","params":[{"type":{"names":["Object"]},"name":"opts"},{"type":{"names":["Array.<Object>"]},"description":"Each field object contains the keys: name, oldValue, value","name":"opts.fields"},{"type":{"names":["Neo.data.Model"]},"description":"The model instance of the changed record","name":"opts.model"},{"type":{"names":["Object"]},"name":"opts.record"}],"name":"onRecordChange","longname":"RecordFactory#onRecordChange","kind":"function","memberof":"RecordFactory","scope":"instance","$longname":"RecordFactory#onRecordChange","$kind":"method","id":1473,"neoClassName":"Neo.data.RecordFactory"},{"comment":"/**\n     * todo: parse value for more field types\n     * @param {Object} record\n     * @param {Object} field\n     * @param {*} value\n     * @param {Object} recordConfig=null\n     * @returns {*}\n     */","meta":{"range":[7820,9460],"filename":"RecordFactory.mjs","lineno":230,"columnno":4,"path":"/Users/Shared/github/neomjs/neomjs-realworld-example-app/node_modules/neo.mjs/src/data","code":{"id":"astnode100049242","name":"RecordFactory#parseRecordValue","type":"MethodDefinition","paramnames":["record","field","value","recordConfig"]},"vars":{"":null}},"description":"todo: parse value for more field types","params":[{"type":{"names":["Object"]},"name":"record"},{"type":{"names":["Object"]},"name":"field"},{"type":{"names":["*"]},"name":"value"},{"type":{"names":["Object"]},"defaultvalue":null,"name":"recordConfig"}],"returns":[{"type":{"names":["*"]}}],"name":"parseRecordValue","longname":"RecordFactory#parseRecordValue","kind":"function","memberof":"RecordFactory","scope":"instance","$longname":"RecordFactory#parseRecordValue","$kind":"method","id":1474,"neoClassName":"Neo.data.RecordFactory"},{"comment":"/**\n     * @param {Neo.data.Model} model\n     * @param {Object} record\n     * @param {Object} fields\n     * @param {Boolean} silent=false\n     */","meta":{"range":[9616,10287],"filename":"RecordFactory.mjs","lineno":282,"columnno":4,"path":"/Users/Shared/github/neomjs/neomjs-realworld-example-app/node_modules/neo.mjs/src/data","code":{"id":"astnode100049427","name":"RecordFactory#setRecordFields","type":"MethodDefinition","paramnames":["model","record","fields","silent"]},"vars":{"":null}},"params":[{"type":{"names":["Neo.data.Model"]},"name":"model"},{"type":{"names":["Object"]},"name":"record"},{"type":{"names":["Object"]},"name":"fields"},{"type":{"names":["Boolean"]},"defaultvalue":false,"name":"silent"}],"name":"setRecordFields","longname":"RecordFactory#setRecordFields","kind":"function","memberof":"RecordFactory","scope":"instance","$longname":"RecordFactory#setRecordFields","$kind":"method","id":1475,"neoClassName":"Neo.data.RecordFactory"}]}