stackpress
Version:
Incept is a content management framework.
52 lines (51 loc) • 1.96 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const Fieldset_js_1 = __importDefault(require("./Fieldset.js"));
class Model extends Fieldset_js_1.default {
get active() {
return Array.from(this.columns.values()).find(column => column.attributes.active === true);
}
get created() {
return Array.from(this.columns.values()).find(column => column.attributes.created === true);
}
get filters() {
return Array.from(this.columns.values()).filter(column => column.filter.method !== 'none');
}
get ids() {
return Array.from(this.columns.values()).filter(column => column.id);
}
get indexables() {
return Array.from(this.columns.values()).filter(column => column.indexable);
}
get query() {
return this.attributes.query;
}
get related() {
return Array.from(this.columns.values()).filter(column => column.related !== null);
}
get relations() {
return Array.from(this.columns.values()).filter(column => column.relation !== null);
}
get restorable() {
return Array.from(this.columns.values()).some(column => column.attributes.active === true);
}
get searchables() {
return Array.from(this.columns.values()).filter(column => column.searchable);
}
get sortables() {
return Array.from(this.columns.values()).filter(column => column.sortable);
}
get spans() {
return Array.from(this.columns.values()).filter(column => column.span.method !== 'none');
}
get uniques() {
return Array.from(this.columns.values()).filter(column => column.unique);
}
get updated() {
return Array.from(this.columns.values()).find(column => column.attributes.updated === true);
}
}
exports.default = Model;