UNPKG

@lcap/asl

Version:

NetEase Application Specific Language

151 lines (150 loc) 5.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.genGetBlock = exports.genH5GetTemplate = exports.genGetTemplate = void 0; const __1 = require("../.."); const _1 = require("."); function genGetTemplate(entity, nameGroup) { const propertyList = entity.propertyList .filter(_1.filterProperty('inDetail')); return `<u-info-list> <u-info-list-group title="基本信息"> ${propertyList.map((property) => { let formItem = ` <u-info-list-item label="${property.label || property.name}">`; if (__1.dataTypesMap[property.typeKey].type === 'enum') formItem += '<u-text :text="' + _1.getExpression(property, `${nameGroup.model}.${property.name}`) + '"></u-text>'; else formItem += '<u-text :text="' + _1.getExpression(property, `${nameGroup.model}.${property.name}`) + '"></u-text>'; formItem += ` </u-info-list-item>\n`; return formItem; }).join('')} </u-info-list-group> </u-info-list>`; } exports.genGetTemplate = genGetTemplate; function genLoadLogic(resolver, nameGroup) { const resSchema = { $ref: `#/${resolver.entity.dataNode.service.id}/${resolver.entity.id}`, }; const idParam = _1.getParamFromResolver(resolver, 'id'); return { level: 'logic', expanded: false, name: nameGroup.load, description: '', params: [], returns: [], body: [ { level: 'logicNode', type: 'Start', label: '开始', }, { level: 'logicNode', type: 'AssignmentExpression', label: '赋值', operator: '=', left: { level: 'expressionNode', type: 'Identifier', name: nameGroup.model, }, right: _1.genCallInterface(resolver.interface, [ { parentAttr: 'params', level: __1.LEVEL_ENUM.param, type: 'CallInterParam', name: '', callInterParam: `#/${idParam.id}`, callInterParamValue: { parentAttr: 'callInterParamValue', level: 'expressionNode', type: 'Identifier', name: 'id', }, }, ]), }, { level: 'logicNode', type: 'End', label: '结束', }, ], playground: [], serviceType: 'web', }; } function genH5GetTemplate(entity, nameGroup) { const propertyList = entity.propertyList .filter(_1.filterProperty('inDetail')); return `<van-cell-group> ${propertyList.map((property) => { let formItem = ` <van-cell isLink title="${property.label || property.name}"`; if (__1.dataTypesMap[property.typeKey].type === 'enum') formItem += ' :value="' + _1.getExpression(property, `${nameGroup.model}.${property.name}`) + '">'; else formItem += ' :value="' + _1.getExpression(property, `${nameGroup.model}.${property.name}`) + '">'; formItem += ` </van-cell>\n`; return formItem; }).join('')} </van-cell-group>`; } exports.genH5GetTemplate = genH5GetTemplate; function genGetBlock(entity, view) { const resolver = entity.resolvers.find((item) => item.name.startsWith('get') && !item.name.startsWith('getAll')); const modelSchema = { $ref: resolver.entity.schemaRef, }; const existingNameSets = { viewLogic: new Set(view.$def.logics.map((logic) => logic.name)), }; const nameGroup = { model: __1.utils.firstLowerCase(resolver.entity.name), }; nameGroup.load = __1.utils.unique('load', existingNameSets.viewLogic); return `<template> ${__1.config.scope === 'h5' ? genH5GetTemplate(entity, nameGroup) : genGetTemplate(entity, nameGroup)} </template> <definition> { "params": [ { "level": "param", "type": "Identifier", "name": "id", "description": "", "schema": { "type": "integer", "format": "long", "isLeaf": true }, "isLeaf": true, "init": { "type": "Identifier", "name": "undefined" } } ], "variables": [{ "level": "variable", "type": "Identifier", "name": "${nameGroup.model}", "schema": ${JSON.stringify(modelSchema)} }], "lifecycles": [ { "level": "lifecycle", "name": "created", "logicId": "${nameGroup.load}" } ], "logics": [ ${JSON.stringify(genLoadLogic(resolver, nameGroup))} ] } </definition> `; } exports.genGetBlock = genGetBlock; exports.default = genGetBlock; //# sourceMappingURL=genGetBlock.js.map