UNPKG

macoolka-type-model

Version:

`macoolka-type-model` is a library for define model in TypeScript. It easily build a type contain field and method to your Application. It provide a generation model for type and validition

564 lines 14.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Module = exports.Entity = exports.QueryForm = exports.MutationForm = exports.Formable = exports.MutationStyle = exports.Card = exports.LayoutType = exports.CardType = exports.Elements = exports.Element = exports.Action = exports.ActionTarget = exports.ActionTypes = exports.FieldElement = exports.ElementType = void 0; exports.ElementType = [ "H1", "H2", "H3", "P", "P1", "P2", "P3", "Header", "Subtitle", "Overline", "Caption", "TextField", "Display", ]; var Iconable = { name: 'Iconable', description: [ 'Type have a icon field' ], descriptions: { zh: [ '有一个图标字段' ] }, fields: [{ name: 'icon', description: [ 'Icon name' ], descriptions: { zh: [ '图标名称' ] }, type: { _kind: 'string', format: 'Icon' } } ] }; var Pageable = { name: 'Pageable', description: [ 'Type have a page information' ], descriptions: { zh: [ '单独页面' ] }, fields: [{ name: 'href', description: [ 'The page url ' ], descriptions: { zh: [ '页面url' ] }, type: { _kind: 'string', format: 'URL' } }] }; exports.FieldElement = { name: 'FieldElement', description: ['The used with field when render'], descriptions: { 'zh': ['字段渲染时对应的组件'] }, implements: ['MInfoable', 'MNameable', 'Iconable'], fields: [{ name: '_kind', description: [ 'The _kind is a tag that check which Type be used.' ], descriptions: { zh: [ '标签判断哪一个Type被使用' ] }, type: { _kind: 'kind', value: 'fieldElement', defaultValue: 'fieldElement' }, required: true }, { name: 'field', description: ['The Field used on render'], descriptions: { 'zh': ['对应字段'] }, type: { _kind: 'type', value: 'Field', } }, { name: 'type', description: ['The Element type'], descriptions: { 'zh': ['类型'] }, type: { _kind: 'enum', values: exports.ElementType, } }, { name: 'maxRows', description: ['max rows count on render with non-TextField'], descriptions: { 'zh': ['在渲染中最大行数,用在类型非TextField时'] }, type: 'number' }] }; exports.ActionTypes = [ "Load", "Loads", "Query", "QueryReset", "Reset", "QueryMore", "LoadWithID", "OpenWithID", "DeleteWithID", "UploadImage", "UploadFile", "Search", "Submit", "Link" ]; exports.ActionTarget = [ "Main", "NewPage", "Dialog", ]; exports.Action = { name: 'Action', implements: ['MInfoable', 'MNameable', 'Iconable'], fields: [{ name: '_kind', description: [ 'The _kind is a tag that check which Type be used.' ], descriptions: { zh: [ '标签判断哪一个Type被使用' ] }, type: { _kind: 'kind', value: 'action', defaultValue: 'action' }, required: true }, { name: 'actionType', description: ['action type'], descriptions: { 'zh': ['动作类型'] }, type: { _kind: 'enum', values: exports.ActionTypes } }, { name: 'link', description: ['link url'], descriptions: { 'zh': ['链接url'] }, }, { name: 'target', description: ['action target'], descriptions: { 'zh': ['动作目标'] }, type: { _kind: 'enum', values: exports.ActionTarget, defaultValue: 'Main' } }] }; exports.Element = { name: 'Element', description: ['The Element when render'], descriptions: { 'zh': ['渲染要素'] }, type: { _kind: 'typeUnion', values: ['Field', 'FieldElement', 'Card', 'MutationForm', 'QueryForm', 'Action',] } }; exports.Elements = { name: 'Elements', description: ['The element collection'], descriptions: { 'zh': ['渲染要素集合'] }, fields: [{ name: 'item', type: { _kind: 'type', value: 'Element', } }, { name: 'order', type: 'number', required: true, }, { name: 'items', type: { _kind: 'type', value: "Elements", isArray: true, defaultEmptyArray: true, } }] }; exports.CardType = [ "Add", "Edit", "Setting", "Display", "Manager", "Home", "Form", "App", "Grid", "Group", ]; exports.LayoutType = [ "Center", "Left", "Right" ]; exports.Card = { name: 'Card', description: ['The card '], descriptions: { 'zh': [''] }, implements: ['MInfoable', 'MNameable', 'Pageable'], fields: [{ name: '_kind', description: [ 'The _kind is a tag that check which Type be used.' ], descriptions: { zh: [ '标签判断哪一个Type被使用' ] }, type: { _kind: 'kind', value: 'card', defaultValue: 'card' }, required: true }, { name: 'type', type: { _kind: 'enum', values: exports.CardType } }, { name: 'image', type: 'string' }, { name: 'elements', type: { _kind: 'type', value: "Elements", isArray: true, defaultEmptyArray: true, } }, { name: 'actions', type: { _kind: 'type', value: "Elements", isArray: true, defaultEmptyArray: true, } }, { name: 'links', type: { _kind: 'type', value: "Elements", isArray: true, defaultEmptyArray: true, } }, { name: 'mainActions', type: { _kind: 'type', value: "Elements", isArray: true, defaultEmptyArray: true, } }, { name: 'moreActions', type: { _kind: 'type', value: "Elements", isArray: true, defaultEmptyArray: true, } }] }; exports.MutationStyle = [ "Add", "Edit", "Setting", "Display" ]; exports.Formable = { name: 'Formable', implements: ['MInfoable', 'MNameable', 'Pageable', 'Iconable'], fields: [{ name: 'input', description: ['Contain query condition element'], descriptions: { 'zh': ['输入容器'] }, type: { _kind: 'type', value: "Elements", isArray: true, defaultEmptyArray: true, } }, { name: 'style', type: { _kind: 'enum', values: exports.MutationStyle } }, { name: 'changeSubmit', description: ['Execute submit action after change event'], descriptions: { 'zh': ['当数据改变事件触发后执行submit动作'] }, type: { _kind: 'boolean', defaultValue: false, } }, { name: 'autoSubmit', description: ['Execute submit action after init action execute when the render is ready'], descriptions: { 'zh': ['当渲染完毕后以及初始化动作完成后执行submit动作'] }, type: { _kind: 'boolean', defaultValue: false, } }, { name: 'actions', type: { _kind: 'type', value: "Elements", isArray: true, defaultEmptyArray: true, } }, { name: 'submitAction', description: ['Get data from input element and execute submit action '], descriptions: { 'zh': ['提交动作表示从input中得到对应数据并执行预定义方法'] }, }, { name: 'initAction', description: ['The action mean init input element.Excute when the render is ready'], descriptions: { 'zh': ['初始化数据,渲染完成后自动执行'] }, }, { name: 'initActionOnServer', description: ['The action mean init data.Excute on server render'], descriptions: { 'zh': ['初始化查询条件,服务器端自动执行'] }, }, { name: 'success', description: [ 'Show the info when submit success' ], descriptions: { zh: [ '显示这个信息在提交成功后' ] }, type: { _kind: 'string', isArray: true, defaultEmptyArray: true }, }, { name: 'successes', description: [ 'i18n success' ], descriptions: { zh: [ '国际化成功消息' ] }, type: 'json' }] }; exports.MutationForm = { name: 'MutationForm', implements: ['Formable'], fields: [{ name: '_kind', description: [ 'The _kind is a tag that check which Type be used.' ], descriptions: { zh: [ '标签判断哪一个Type被使用' ] }, type: { _kind: 'kind', value: 'mutation', defaultValue: 'mutation' }, required: true },] }; exports.QueryForm = { name: 'QueryForm', implements: ['Formable'], fields: [{ name: '_kind', description: [ 'The _kind is a tag that check which Type be used.' ], descriptions: { zh: [ '标签判断哪一个Type被使用' ] }, type: { _kind: 'kind', value: 'query', defaultValue: 'query' }, required: true }, { name: 'result', description: ['Contain query condition element'], descriptions: { 'zh': ['查询结果'] }, type: { _kind: 'type', value: "Elements", isArray: true, defaultEmptyArray: true, } }] }; exports.Entity = { name: 'Entity', implements: ['MInfoable', 'MNameable'], fields: [{ name: 'fields', type: { _kind: 'type', value: 'Field', isArray: true, defaultEmptyArray: true, }, required: true, }, { name: 'mutations', type: { _kind: 'type', value: 'MutationForm', isArray: true, defaultEmptyArray: true, }, required: true, }, { name: 'forms', type: { _kind: 'type', value: 'QueryForm', isArray: true, defaultEmptyArray: true, }, required: true, }, { name: 'cards', type: { _kind: 'type', value: 'Card', isArray: true, defaultEmptyArray: true, }, required: true, }, { name: 'actions', type: { _kind: 'type', value: 'Action', isArray: true, defaultEmptyArray: true, }, required: true, }, { name: 'elements', type: { _kind: 'type', value: 'FieldElement', isArray: true, defaultEmptyArray: true, }, required: true, }] }; exports.Module = { name: 'Module', implements: ['MInfoable', 'MNameable'], fields: [{ name: 'nav', type: { _kind: 'type', value: "Elements", isArray: true, defaultEmptyArray: true, }, required: true, }, { name: 'bar', type: { _kind: 'type', value: "Elements", isArray: true, defaultEmptyArray: true, }, required: true, }] }; var module = { name: 'macoolka-schema', interfaces: [exports.Entity, exports.Card, exports.QueryForm, exports.MutationForm, exports.Elements, exports.Action, Iconable, exports.FieldElement, exports.Formable, Pageable], typealiases: [exports.Element] }; exports.default = module; //# sourceMappingURL=SchemaModel.js.map