UNPKG

leds-spark-lib

Version:

Biblioteca de geração de código

31 lines 1.16 kB
import { isLocalEntity, ident_size } from "../../../../models/model.js"; const ident = ' '.repeat(ident_size); export function generateAdmin(m) { const non_abstract_entities = m.elements.filter(isLocalEntity).filter(e => !e.is_abstract); if (non_abstract_entities.length === 0) { return ''; } const lines = [ `from django.contrib import admin`, `from .models import ${non_abstract_entities.map(e => e.name)}`, ``, ...non_abstract_entities.flatMap(generateModelAdmin), ``, ]; return lines.join('\n'); } function generateModelAdmin(e) { const non_file_attrs = e.attributes.filter(a => a.type !== 'file').map(a => ` '${a.name}'`).join(); const lines = [ `@admin.register(${e.name})`, `class ${e.name}Admin(admin.ModelAdmin):`, `${ident}list_display = ['id',${non_file_attrs}]`, `${ident}list_display_links = ['id',${non_file_attrs}]`, `${ident}search_fields = ['id',${non_file_attrs}]`, `${ident}list_per_page = 25`, `${ident}ordering = ['-id']`, `` ]; return lines; } //# sourceMappingURL=admin-generator.js.map