Skip to content

Reference-list-Initializer #1444

@gideruette

Description

@gideruette

Current behaviour

We have to create initializer and services for all referenceList

Expected behaviour

reference-list-initializer
import { config } from 'focus-core/reference';
// Path to the reference service.
const referenceService = require('../../services/commun/reference');

// chargez ici toutes vos listes de référence
export const referenceNameList = [
    'etatDeclaration',
    'etatLrb',
    'profil',
    'role',
    'typeTaxe',
    'typePeriode',
    'trimestre',
    'etatPaiement',
    'classeAeroport',
    'moyenPaiement'
];
//See AutoForm
export const referenceNameMap = {
    edeCd: 'etatDeclaration',
    elrCd: 'etatLrb',
    proId: 'profil',
    rolCd: 'role',
    ttaCd: 'typeTaxe',
    tpeCd: 'typePeriode',
    triCd: 'trimestre',
    epaCd: 'etatPaiement',
    claCd: 'classeAeroport',
    mpaCd: 'moyenPaiement'
};


const specificReferences = {};

const getServiceConfig = function() {
    const referenceConfig = specificReferences;
    for (const key in referenceNameList) {
        if(referenceNameList.hasOwnProperty(key)) {
            const referenceName = referenceNameList[key];
            referenceConfig[referenceName] = referenceService.getDefaultReferenceService(referenceName);
        }
    }
    return referenceConfig;
};

export default () => {
    config.set(getServiceConfig());
};

services/commun//reference.js
export default {
    getDefaultReferenceService(referenceName) {
        return () => {
            return server.get(referenceServiceRoot + '/' + referenceName, null);
        };
    },
    getAutoCompleteServices(referenceName) {
        return {
            querySearcher: (texte) => {
                return server.get(referenceServiceRoot + '/querySearcher/' + referenceName + '?texte=${texte}',
                    { texte },
                    { parser: totalCountWrapperJsonParser });
            },
            keyResolver: (id) =>{
                return server.get(referenceServiceRoot + '/keyResolver/' + referenceName + '?id=${id}', { id });
            }
        };
    }
};

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions