| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 | $(function() {    $.extend(BemsWebApplication.Factory, {        getColumns: function(columns) {            var defaultColumns = this.defaultColumns;            if (_.isNull(defaultColumns)) {                throw new Error('it must be "defaultColumns"');            }            if (_.isUndefined(columns)) {                return defaultColumns;            }            _.each(columns, function(c) {                var defaultColumn = _.find(defaultColumns, function(x) {                    return x.dataField === c.dataField;                });                _.each(defaultColumn, function(value, name) {                    if (_.isUndefined(c[name])) {                        c[name] = value;                    }                });            });            //columns = _.map(columns, function(c) {            //    return _.extend(_.find(defaultColumns, function(x) {            //        return x.dataField === c.dataField;            //    }), c);            //});            //columns.forEach(function(column) {            //    c.push($.extend({}, defaultColumns[column.dataField], column));            //});            //return c;            return columns;        },        getAlterNames: function(select, alterNames) {            return $.extend(_.reduce(select, function(o, name) {                if (name.indexOf('/') < 0) {                    o[name] = name;                }                return o;            }, {}), alterNames);        },        getBaseDataSourceWithRelation: function(store, options, dataSourceOptions, refTable) {            var o = {                 dataSourceOptions: {                    store: store,                    select: dataSourceOptions.select,                    expand: dataSourceOptions.expand,                    refOptions: options,                },                ref: refTable            };             if (_.has(dataSourceOptions, 'extendOptions')) {                var extendOptions = {};                if (_.has(dataSourceOptions.extendOptions, 'multipleItems')) {                    extendOptions.multipleItems = dataSourceOptions.extendOptions.multipleItems;                }                if (_.has(dataSourceOptions.extendOptions, 'alterNames')) {                    extendOptions.alterNames = BWA.DataUtil.mapObject(dataSourceOptions.extendOptions.alterNames, function(x) {                        return [refTable, '/', x].join('');                    });                }                o.dataSourceOptions.extendOptions = extendOptions;            }            return BWA.DataUtil.createDataSource(o);                    }    });});
 |