@_linked/shape-ui
由形状驱动的UI.
每个组成部分都有一个 Shape 和属性形状, 并对此进行控制—— 文本
字段、选取器、取枣机、相机。 有用吗 任意 形状,不是已知的,这就是
整个点: 添加属性的应用程序会为此获得一个编辑器而不写入
一个.
<TextfieldEditor of={person} property={givenName} />
其所坐处
| 层 | 软件包 | 已经知道 |
|---|---|---|
| 设计符号 | @_linked/css | 无 |
| 无头组件 | @_linked/primitives | dOM 和标志 |
| 数据绑定 | @_linked/react | 形状和查询; 无部件的船舶 |
| 形状驱动 UI | @_linked/shape-ui | 如何制造任意形状 |
| 产品表面 | 应用程序 | 一个产品的域名词汇 |
这里的一切都使 @_linked/primitives 控制并添加形状绑定。 没什么
这里知道一个特定的产品.
保持这一层而不是重建. 需要形状驱动的产品 字段延伸这里的内容; 应用程序内第二个执行是 同一成分最终存在了三次,然后漂移.
东道主
桌子、表格和拾取者问 DataManagerHost 对于什么取决于应用程序
在他们周围,供给一次 <DataManagerHostProvider host={host}> 并阅读
useDataManagerHost()。主机名称没有工程、分支或数据集:查询由
LinkedStorage。 。 。 .
| 成员 | 需求 | 它是为了什么 |
|---|---|---|
resolveShape(iri) | 对 | 一个形状的线元数据,用于显示和一个字段或窗体使用的形状 |
resolveCatalog() | 没有 | 每个形状的线元数据; sh:class- 只有他们之间的关系才能解决 |
resolveShapeCatalog() | 没有 | 页:1 ShapeCatalog 每个查询都建在( 下面) |
dataRoot | 用于创建 | 以 IRI 为底点的新实例 |
searchInstances, (中文(简体) ), createInstance, (中文(简体) ), updateInstance | 没有 | 缺席时从 DSL 中填入 |
readInstance, (中文(简体) ), inlineCreate, (中文(简体) ), navigate, (中文(简体) ), picking | 没有 | 特定主机读取和流量 |
哪个形状的查询解决了. 无 resolveShapeCatalog默认值
搜索、创建和更新他们在核心全球登记册中解析的形状
(单位:千美元)registerRuntimeShapes),它适合一个具有一组形状的应用程序. 一个服务于
返回 a ShapeCatalog (单位:千美元)@_linked/core(中文(简体) )
改为:
import {ShapeCatalog} from '@_linked/core/utils/ShapeCatalog';
const host: DataManagerHost = {
dataRoot,
resolveShape: async (iri) => wires[iri],
resolveCatalog: async () => wires,
resolveShapeCatalog: async () => ShapeCatalog.from(wires, {name: `${project}#${branch}`}),
};
提供者每个主机对象要求一次( 重试一个拒绝, 如
resolveCatalog) (中文(简体) ). 每一个默认值然后在内部构建查询 withShapeCatalog(catalog, …)
并且没有注册。 在目录装入时打个电话等待它;在它之后
失败时, 电话会拒绝, 而不是退回登记。 另一个范围的主机
必须是新对象. useHostShapeCatalog() 返回已装入目录,用于查询
一个主机自称: selectInstances, (中文(简体) ), selectInstance, (中文(简体) ), searchInstancesWithDsl, (中文(简体) ),
createInstanceWithDsl 财务报告和审定财务报表 updateInstanceWithDsl 每一个 {catalog} 作为他们最后的
参数.
所传田地. 一个主机的电线列出一个形状 继承的财产形状旁边的
自己可以标记每个继承的 inheritedFrom: {id},其形状为宣布
这个. AddInstanceForms 财务报告和审定财务报表 EditInstanceForms 然后在字段标签下命名形状
在“添加可选字段”菜单(“从动作”中)中,按其标签排列 allShapes 否则,最后
(b) 其IRI部分内容. inheritedFromName(property, shapes) 给与同一个名字.
测试
npm test
贾斯特,完毕 src/**/*.test.ts 财务报告和审定财务报表 src/**/*.test.tsxCI在每一个公关上运行.
为什么名字变了
这个包裹是 @_linked/ui。这个名字只说“不是后端”——信息最少
为最需要说明合同的层提供的标签. shape-ui 说
何为.