Beispiel #1
0
module.exports = function (ds) {

    hm.Model(
        {
            data: [
                {id: 1, name: 'Alpha Article', content: 'alpha beta gamma rodan'},
                {id: 1, name: 'Shopping List', content: 'milk beets bread beef'}
            ]
        , name: 'articles'},
        {},
        ds
    );

};
Beispiel #2
0
function Resource_Model_Base(mixins) {

    var dataspace = {add: _.identity};

    var base_mixins = [
        {
            /**
             * note - override with a more context-relevant property merge
             *
             * @param new_data {object}
             * @param old_data {object}
             */
            merge: function (new_data, old_data) {
                _.defaults(new_data, old_data);
            },

            get_context: function (context) {
                var items = this.find({context: context}).records();
                var reqs = _.compact(_.flatten(_.pluck(items, 'requires')));
                if (reqs.length){

                _.each(reqs, function (r) {
                    var found = this.find({name: r}).one();
                    if (!found) {
                        items.push({name: r, url: '/not_found/' + r, context: context});
                    } else {
                        items.push(found);
                    }
                }, this);
                    items = order.OrderByPrereq(items, 'name', 'requires');
            }

                return _.reject(items, function(s){ return s.rendered});
            }
        }
    ];

    if (_.isArray(mixins)) {
        base_mixins = base_mixins.concat(mixins);
    } else if (_.isObject(mixins)) {
        base_mixins.push(mixins);
    }

    return hive_model.Model(base_mixins, {}, dataspace);

}