All files / blong-marine/meta/model marineFamilyModel.ts

100% Statements 95/95
100% Branches 3/3
100% Functions 1/1
100% Lines 95/95

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 961x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x  
import {model} from '@feasibleone/blong';
 
export default model(
    () =>
        async function marineFamilyModel() {
            return {
                subject: 'marine',
                object: 'family',
                objectTitle: 'Family',
                nameField: 'family.familyName',
 
                schema: {
                    properties: {
                        family: {
                            properties: {
                                // server schema defined
                                // familyId: {},
                                // familyName: {},
                                // parentFamilyId: {title: 'Parent Group'},
                                // order: {},
                                // class: {},
                                // familyDescription: {},
                            },
                            widget: {
                                columns: ['familyName', 'order', 'class'],
                            },
                        },
                    },
                },
 
                cards: {
                    browse: {
                        label: 'Family',
                        widgets: ['family'],
                    },
                    edit: {
                        label: 'Family Details',
                        widgets: [
                            'family.familyName',
                            'family.order',
                            'family.class',
                            'family.familyDescription',
                        ],
                    },
                    editFull: {
                        label: 'Full Details',
                        widgets: [
                            'family.familyName',
                            'family.parentFamilyId',
                            'family.order',
                            'family.class',
                            'family.familyDescription',
                        ],
                    },
                },
 
                layouts: {
                    edit: ['edit'],
                    editFull: ['editFull'],
                },
 
                browser: {
                    icon: 'pi pi-sitemap',
                    toolbar: [
                        {
                            label: 'Create',
                            icon: 'pi pi-plus',
                            action: 'component/marine.family.new',
                            permission: 'marine.family.add',
                        },
                        {
                            label: 'Edit',
                            icon: 'pi pi-pencil',
                            enabled: 'current' as const,
                            method: 'component/marine.family.open',
                            params: '${current}',
                        },
                        {
                            label: 'Report',
                            icon: 'pi pi-chart-bar',
                            action: 'component/marine.family.report',
                        },
                        {
                            label: 'Delete',
                            icon: 'pi pi-trash',
                            enabled: 'selected' as const,
                            confirm: 'Delete selected family record?',
                            method: 'marine.family.remove',
                            params: {familyId: '${familyId}'},
                        },
                    ],
                },
            };
        },
);