This repository has been archived by the owner on Aug 1, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
17-es2015.a339f83fe3d4fabaa7c9.js
1 lines (1 loc) · 383 KB
/
17-es2015.a339f83fe3d4fabaa7c9.js
1
(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{AlQi:function(t,e,d){"use strict";d.r(e);var o=d("8Y7J"),n=d("0qEG");class c{constructor(){this.item={cols:1,urls:{"en-US":"packages/form/docs/customize.en-US.md","zh-CN":"packages/form/docs/customize.zh-CN.md"},content:{"en-US":{content:'<section class="markdown"><article><h2 id="Foreword">Foreword<a onclick="window.location.hash = \'Foreword\'" class="anchor">#</a></h2><p><code>@delon/form</code> try our best to meet the needs of different environments, in addition to the built-in basic component widgets, you can further expand the requirements in two ways:</p><h2 id="Custom-widget-in-sf">Custom widget in sf<a onclick="window.location.hash = \'Custom-widget-in-sf\'" class="anchor">#</a></h2><p>Please refer to <a href="/form/custom" data-url="/form/custom">Custom Widget</a>.</p><h2 id="Making-widgets">Making widgets<a onclick="window.location.hash = \'Making-widgets\'" class="anchor">#</a></h2><p>Making a set of widgets for project can lead to faster development work.</p><h3 id="How-to-making-widget">How to making widget<a onclick="window.location.hash = \'How-to-making-widget\'" class="anchor">#</a></h3><p><strong>Third-party library</strong></p><p>By default <code>@delon/form</code> implements some common third-party library widgets, which are called third-party component widgets. This widget exists in <a target="_blank" href="https://github.com/ng-alain /delon/tree/master/packages/form/widgets-third" data-url="https://github.com/ng-alain /delon/tree/master/packages/form/widgets-third">widgets-third</a> directory; you can use directly.</p><table><thead><tr><th>Name</th><th>Description</th><th>Document</th><th>Source</th></tr></thead><tbody><tr><td><code>markdown</code></td><td>Markdown Editor</td><td><a href="/form/markdown" data-url="/form/markdown">Document</a></td><td><a target="_blank" href="https://github.com/ng-alain/delon/tree/master/packages/form/widgets-third/markdown" data-url="https://github.com/ng-alain/delon/tree/master/packages/form/widgets-third/markdown">Source</a></td></tr><tr><td><code>tinymce</code></td><td>Tinymce Editor</td><td><a href="/form/tinymce" data-url="/form/tinymce">Document</a></td><td><a target="_blank" href="https://github.com/ng-alain/delon/tree/master/packages/form/widgets-third/tinymce" data-url="https://github.com/ng-alain/delon/tree/master/packages/form/widgets-third/tinymce">Source</a></td></tr><tr><td><code>ueditor</code></td><td>UEditor Editor</td><td><a href="/form/ueditor" data-url="/form/ueditor">Document</a></td><td><a target="_blank" href="https://github.com/ng-alain/delon/tree/master/packages/form/widgets-third/ueditor" data-url="https://github.com/ng-alain/delon/tree/master/packages/form/widgets-third/ueditor">Source</a></td></tr></tbody></table><p><strong>Create widgets</strong></p><p>A widget is a component. You only need to inherit <code>ControlWidget</code> to create a widget. For example:</p><pre class="hljs language-ts"><code>import { Component, OnInit } from \'@angular/core\';\nimport { ControlWidget } from \'@delon/form\';\n\n@Component({\n selector: \'sf-tinymce\',\n template: `\n <sf-item-wrap [id]="id" [schema]="schema" [ui]="ui" [showError]="showError" [error]="error" [showTitle]="schema.title">\n <!-- Start area -->\n <tinymce\n [ngModel]="value"\n (ngModelChange)="change($event)"\n [config]="config"\n [loading]="loading">\n </tinymce>\n <!-- End area -->\n </sf-item-wrap>`\n})\nexport class TinymceWidget extends ControlWidget implements OnInit {\n static readonly KEY = \'tinymce\';\n\n config: any;\n loadingTip: string;\n\n ngOnInit(): void {\n this.loadingTip = this.ui.loadingTip || \'Loading\u2026\u2026\';\n this.config = this.ui.config || {};\n }\n\n reset(value: string) {\n\n }\n\n change(value: string) {\n if (this.ui.change) this.ui.change(value);\n this.setValue(value);\n }\n}</code></pre><p><strong>sf-item-wrap</strong></p><p>Wrap your custom content in the template with the <code>sf-item-wrap</code> component, which encapsulates the form base elements internally.</p><p><strong>Change detection</strong></p><p>The widget is manually trigger changed detection during the rendering process. In most cases, the <code>ControlWidget</code> is well manage of changing detection. but the asynchronous operation may be encountered, you can call the <code>detectChanges()</code> method to trigger a change detection of the widget.</p><h3 id="Register">Register<a onclick="window.location.hash = \'Register\'" class="anchor">#</a></h3><p>Define the widget component in the root module (includes: <code>declarations</code>, <code>entryComponents</code>), import <code>WidgetRegistry</code> in the module and register the custom widget.</p><pre class="hljs language-ts"><code>@NgModule({\n declarations: [ TinymceWidget ],\n entryComponents: [ TinymceWidget ],\n imports: [\n DelonFormModule.forRoot()\n ]\n})\nexport class AppModule {\n constructor(widgetRegistry: WidgetRegistry) {\n widgetRegistry.register(TinymceWidget.KEY, TinymceWidget);\n }\n}</code></pre><p>Of course, for more friendly maintenance, recommended to define a Json schema module in the Shared directory. Please refer to <a target="_blank" href="https://github.com/ng-alain/ng-alain/blob/master/ Src/app/shared/json-schema/json-schema.module.ts" data-url="https://github.com/ng-alain/ng-alain/blob/master/ Src/app/shared/json-schema/json-schema.module.ts">ng-alain implementation</a>.</p><h3 id="Usage">Usage<a onclick="window.location.hash = \'Usage\'" class="anchor">#</a></h3><p>Just like other widgets, just specify the <code>widget</code> value, for example:</p><pre class="hljs language-json"><code>"intro": {\n "type": "string",\n "ui": {\n "widget": "tinymce",\n "loadingTip": "loading..."\n }\n}</code></pre></article></section>',meta:{order:4,title:"Customize Widgets",type:"Documents"},toc:[{id:"Foreword",title:"Foreword",h:2},{id:"Custom-widget-in-sf",title:"Custom widget in sf",h:2},{id:"Making-widgets",title:"Making widgets",h:2},{id:"How-to-making-widget",title:"How to making widget",h:3},{id:"Register",title:"Register",h:3},{id:"Usage",title:"Usage",h:3}]},"zh-CN":{content:'<section class="markdown"><article><h2 id="\u5199\u5728\u524d\u9762">\u5199\u5728\u524d\u9762<a onclick="window.location.hash = \'\u5199\u5728\u524d\u9762\'" class="anchor">#</a></h2><p><code>@delon/form</code> \u5c3d\u53ef\u80fd\u6ee1\u8db3\u4e0d\u540c\u9700\u6c42\uff0c\u9664\u73b0\u6709\u5185\u7f6e\u7684\u5341\u51e0\u79cd\u57fa\u7840\u7ec4\u4ef6\u5c0f\u90e8\u4ef6\u5916\uff0c\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u4e24\u79cd\u65b9\u5f0f\u8fdb\u4e00\u6b65\u6269\u5c55\u9700\u6c42\uff1a</p><h2 id="\u81ea\u5b9a\u4e49\u5c0f\u90e8\u4ef6">\u81ea\u5b9a\u4e49\u5c0f\u90e8\u4ef6<a onclick="window.location.hash = \'\u81ea\u5b9a\u4e49\u5c0f\u90e8\u4ef6\'" class="anchor">#</a></h2><p>\u7ec6\u8282\u8bf7\u53c2\u8003 <a href="/form/custom" data-url="/form/custom">\u81ea\u5b9a\u4e49\u5c0f\u90e8\u4ef6</a>\u3002</p><h2 id="\u5236\u4f5c\u5c0f\u90e8\u4ef6">\u5236\u4f5c\u5c0f\u90e8\u4ef6<a onclick="window.location.hash = \'\u5236\u4f5c\u5c0f\u90e8\u4ef6\'" class="anchor">#</a></h2><p>\u5236\u4f5c\u4e00\u5957\u9879\u76ee\u9700\u6c42\u7684\u5c0f\u90e8\u4ef6\uff0c\u53ef\u4ee5\u66f4\u5feb\u901f\u7684\u5f00\u53d1\u5de5\u4f5c\u3002</p><h3 id="\u7f16\u5199\u5c0f\u90e8\u4ef6">\u7f16\u5199\u5c0f\u90e8\u4ef6<a onclick="window.location.hash = \'\u7f16\u5199\u5c0f\u90e8\u4ef6\'" class="anchor">#</a></h3><p><strong>\u5e38\u89c1\u5c0f\u90e8\u4ef6\u5e93</strong></p><p>\u9ed8\u8ba4\u60c5\u51b5\u4e0b @delon/form \u5b9e\u73b0\u4e86\u4e00\u4e9b\u5e38\u89c1\u9700\u6c42\uff0c\u4f46\u9700\u8981\u989d\u5916\u7c7b\u5e93\u652f\u6301\u7684\uff0c\u79f0\u5b83\u4e3a\u7b2c\u4e09\u65b9\u7ec4\u4ef6\u5c0f\u90e8\u4ef6\uff0c\u8fd9\u4e00\u90e8\u5206\u5c0f\u90e8\u4ef6\u5b58\u5728\u4e8e<a target="_blank" href="https://github.com/ng-alain/delon/tree/master/packages/form/widgets-third" data-url="https://github.com/ng-alain/delon/tree/master/packages/form/widgets-third">widgets-third</a>\u76ee\u5f55\u91cc\uff1b\u4f60\u53ef\u4ee5\u76f4\u63a5\u590d\u5236\u4f7f\u7528\u3002</p><p>\u8fd9\u4e9b\u7ec4\u4ef6\u5305\u62ec\uff1a</p><table><thead><tr><th>\u540d\u79f0</th><th>\u63cf\u8ff0</th><th>\u6587\u6863</th><th>\u6e90\u4ee3\u7801</th></tr></thead><tbody><tr><td><code>markdown</code></td><td>Markdown \u7f16\u8f91\u5668</td><td><a href="/form/markdown" data-url="/form/markdown">\u6587\u6863</a></td><td><a target="_blank" href="https://github.com/ng-alain/delon/tree/master/packages/form/widgets-third/markdown" data-url="https://github.com/ng-alain/delon/tree/master/packages/form/widgets-third/markdown">\u6e90\u4ee3\u7801</a></td></tr><tr><td><code>tinymce</code></td><td>Tinymce \u5bcc\u6587\u672c\u6846</td><td><a href="/form/tinymce" data-url="/form/tinymce">\u6587\u6863</a></td><td><a target="_blank" href="https://github.com/ng-alain/delon/tree/master/packages/form/widgets-third/tinymce" data-url="https://github.com/ng-alain/delon/tree/master/packages/form/widgets-third/tinymce">\u6e90\u4ee3\u7801</a></td></tr><tr><td><code>ueditor</code></td><td>UEditor \u5bcc\u6587\u672c\u6846</td><td><a href="/form/ueditor" data-url="/form/ueditor">\u6587\u6863</a></td><td><a target="_blank" href="https://github.com/ng-alain/delon/tree/master/packages/form/widgets-third/ueditor" data-url="https://github.com/ng-alain/delon/tree/master/packages/form/widgets-third/ueditor">\u6e90\u4ee3\u7801</a></td></tr></tbody></table><p><strong>\u81ea\u5df1\u521b\u5efa\u5c0f\u90e8\u4ef6</strong></p><p>\u5c0f\u90e8\u4ef6\u5c31\u662f\u4e00\u4e2a\u7ec4\u4ef6\uff0c\u4f60\u53ea\u9700\u8981\u7ee7\u627f <code>ControlWidget</code> \u5c31\u76f8\u5f53\u4e8e\u6784\u5efa\u4e00\u4e2a\u5c0f\u90e8\u4ef6\uff0c\u5176\u7ed3\u6784\u5982\u4e0b\uff1a</p><pre class="hljs language-ts"><code>import { Component, OnInit } from \'@angular/core\';\nimport { ControlWidget } from \'@delon/form\';\n\n@Component({\n selector: \'sf-tinymce\',\n template: `\n <sf-item-wrap [id]="id" [schema]="schema" [ui]="ui" [showError]="showError" [error]="error" [showTitle]="schema.title">\n <!-- \u5f00\u59cb\u81ea\u5b9a\u4e49\u63a7\u4ef6\u533a\u57df -->\n <tinymce\n [ngModel]="value"\n (ngModelChange)="change($event)"\n [config]="config"\n [loading]="loading">\n </tinymce>\n <!-- \u7ed3\u675f\u81ea\u5b9a\u4e49\u63a7\u4ef6\u533a\u57df -->\n </sf-item-wrap>`\n})\nexport class TinymceWidget extends ControlWidget implements OnInit {\n /* \u7528\u4e8e\u6ce8\u518c\u5c0f\u90e8\u4ef6 KEY \u503c */\n static readonly KEY = \'tinymce\';\n\n // \u7ec4\u4ef6\u6240\u9700\u8981\u7684\u53c2\u6570\uff0c\u5efa\u8bae\u4f7f\u7528 `ngOnInit` \u83b7\u53d6\n config: any;\n loadingTip: string;\n\n ngOnInit(): void {\n this.loadingTip = this.ui.loadingTip || \'\u52a0\u8f7d\u4e2d\u2026\u2026\';\n this.config = this.ui.config || {};\n }\n\n // reset \u53ef\u4ee5\u66f4\u597d\u7684\u89e3\u51b3\u8868\u5355\u91cd\u7f6e\u8fc7\u7a0b\u4e2d\u6240\u9700\u8981\u7684\u65b0\u6570\u636e\u95ee\u9898\n reset(value: string) {\n\n }\n\n change(value: string) {\n if (this.ui.change) this.ui.change(value);\n this.setValue(value);\n }\n}</code></pre><p><strong>sf-item-wrap</strong></p><p>\u5728\u6a21\u677f\u4e2d\u552f\u4e00\u662f\u5229\u7528 <code>sf-item-wrap</code> \u5305\u88f9\u81ea\u5b9a\u4e49\u5185\u5bb9\uff0c\u5b83\u5185\u90e8\u5c01\u88c5\u8868\u5355\u57fa\u7840\u5143\u7d20\u3002</p><p><strong>\u53d8\u66f4\u68c0\u6d4b</strong></p><p>\u5c0f\u90e8\u4ef6\u5728\u6e32\u67d3\u8fc7\u7a0b\u662f\u624b\u52a8\u53d8\u66f4\u68c0\u6d4b\uff0c\u5927\u90e8\u5206\u60c5\u51b5\u4e0b <code>ControlWidget</code> \u5df2\u7ecf\u5f88\u597d\u7684\u7ba1\u7406\u4ec0\u4e48\u65f6\u673a\u5e94\u8be5\u6267\u884c\u53d8\u66f4\u68c0\u6d4b\uff0c\u5728\u81ea\u5b9a\u4e49\u5c0f\u90e8\u4ef6\u8fc7\u7a0b\u4e2d\u53ef\u80fd\u4f1a\u9047\u5230\u5f02\u6b65\u64cd\u4f5c\u5bfc\u81f4\u754c\u9762\u5e76\u672a\u6e32\u67d3\uff0c\u6b64\u65f6\u53ef\u4ee5\u8c03\u7528 <code>detectChanges()</code> \u65b9\u6cd5\u6765\u89e6\u53d1\u4e00\u6b21\u5c0f\u90e8\u4ef6\u8282\u70b9\u7684\u53d8\u66f4\u68c0\u6d4b\u3002</p><h3 id="\u6ce8\u518c\u5c0f\u90e8\u4ef6">\u6ce8\u518c\u5c0f\u90e8\u4ef6<a onclick="window.location.hash = \'\u6ce8\u518c\u5c0f\u90e8\u4ef6\'" class="anchor">#</a></h3><p>\u5728\u6839\u6a21\u5757\u4e2d\u5b9a\u4e49\uff08<code>declarations</code>\u3001<code>entryComponents</code>\uff09\u6ce8\u518c\u5c0f\u90e8\u4ef6\u7ec4\u4ef6\uff0c\u540c\u65f6\u5728\u6a21\u5757\u4e2d\u5bfc\u5165 <code>WidgetRegistry</code> \u5e76\u6ce8\u518c\u81ea\u5b9a\u4e49\u5c0f\u90e8\u4ef6\u3002</p><pre class="hljs language-ts"><code>@NgModule({\n declarations: [ TinymceWidget ],\n entryComponents: [ TinymceWidget ],\n imports: [\n DelonFormModule.forRoot()\n ]\n})\nexport class AppModule {\n constructor(widgetRegistry: WidgetRegistry) {\n widgetRegistry.register(TinymceWidget.KEY, TinymceWidget);\n }\n}</code></pre><p>\u5f53\u7136\u4e3a\u4e86\u66f4\u53cb\u597d\u7684\u7ef4\u62a4\uff0c\u5efa\u8bae\u5728Shared\u76ee\u5f55\u4e0b\u5b9a\u4e49\u4e00\u4e2a\u4e13\u5c5e Json schema \u6a21\u5757\uff0c\u6709\u5174\u8da3\u53ef\u53c2\u8003 <a target="_blank" href="https://github.com/ng-alain/ng-alain/blob/master/src/app/shared/json-schema/json-schema.module.ts" data-url="https://github.com/ng-alain/ng-alain/blob/master/src/app/shared/json-schema/json-schema.module.ts">ng-alain\u5b9e\u73b0</a>\u3002</p><h3 id="\u4f7f\u7528\u81ea\u5b9a\u4e49\u5c0f\u90e8\u4ef6">\u4f7f\u7528\u81ea\u5b9a\u4e49\u5c0f\u90e8\u4ef6<a onclick="window.location.hash = \'\u4f7f\u7528\u81ea\u5b9a\u4e49\u5c0f\u90e8\u4ef6\'" class="anchor">#</a></h3><p>\u540c\u5176\u4ed6\u5c0f\u90e8\u4ef6\u4e00\u6837\uff0c\u53ea\u9700\u8981\u6307\u5b9a <code>widget</code> \u503c\uff0c\u4f8b\u5982\uff1a</p><pre class="hljs language-json"><code>"intro": {\n "type": "string",\n "ui": {\n "widget": "tinymce",\n "loadingTip": "loading..."\n }\n}</code></pre></article></section>',meta:{order:4,title:"\u81ea\u5b9a\u4e49\u5c0f\u90e8\u4ef6",type:"Documents"},toc:[{id:"\u5199\u5728\u524d\u9762",title:"\u5199\u5728\u524d\u9762",h:2},{id:"\u81ea\u5b9a\u4e49\u5c0f\u90e8\u4ef6",title:"\u81ea\u5b9a\u4e49\u5c0f\u90e8\u4ef6",h:2},{id:"\u5236\u4f5c\u5c0f\u90e8\u4ef6",title:"\u5236\u4f5c\u5c0f\u90e8\u4ef6",h:2},{id:"\u7f16\u5199\u5c0f\u90e8\u4ef6",title:"\u7f16\u5199\u5c0f\u90e8\u4ef6",h:3},{id:"\u6ce8\u518c\u5c0f\u90e8\u4ef6",title:"\u6ce8\u518c\u5c0f\u90e8\u4ef6",h:3},{id:"\u4f7f\u7528\u81ea\u5b9a\u4e49\u5c0f\u90e8\u4ef6",title:"\u4f7f\u7528\u81ea\u5b9a\u4e49\u5c0f\u90e8\u4ef6",h:3}]}},demo:!1},this.codes=[]}}class a{constructor(){this.item={cols:1,urls:{"zh-CN":"packages/form/docs/error.md"},content:{"zh-CN":{content:'<section class="markdown"><article><h2 id="\u5199\u5728\u524d\u9762">\u5199\u5728\u524d\u9762<a onclick="window.location.hash = \'\u5199\u5728\u524d\u9762\'" class="anchor">#</a></h2><p>JSON Schema \u6821\u9a8c\u8fc7\u7a0b\u4e2d\u4f1a\u751f\u4ea7\u4e00\u7ec4\u9519\u8bef\u4fe1\u606f\uff0c\u6bcf\u4e00\u4e2a\u9519\u8bef\u90fd\u6709\u4e00\u4e2a\u56fa\u5b9a\u7684 <code>keyword</code> \u6765\u8868\u793a\uff0c\u5141\u8bb8\u901a\u8fc7 <code>DelonFormConfig.errors</code> \u6765\u8986\u76d6\u9ed8\u8ba4\u7684\u9519\u8bef\u4fe1\u606f\uff0c\u5305\u62ec\u5904\u7406\u9519\u8bef\u4fe1\u606f\u56fd\u9645\u5316\u95ee\u9898\u3002\u4f8b\u5982\u5f53\u67d0\u5c5e\u6027\u4e3a\u5fc5\u586b\u6027\u65f6\u4ea7\u751f\u7684\u9519\u8bef\u4fe1\u606f\u4e3a:</p><pre class="hljs language-json"><code>[{\n "keyword": "required",\n "dataPath": ".client",\n "schemaPath": "#/required",\n "params": {"missingProperty":"client"},\n "message":"\u5fc5\u586b\u9879"\n}]</code></pre><p>\u5176\u4e2d <code>message</code> \u7528\u4e8e\u9875\u9762\u6e32\u67d3\u7684\u9519\u8bef\u6587\u672c\u3002</p><blockquote><p><strong>\u6ce8\uff1a</strong>\u7b2c\u4e00\u6b21\u6e32\u67d3\u4f1a\u89e6\u53d1\u6821\u9a8c\uff0c\u4f46\u4e0d\u4f1a\u6709\u4efb\u4f55\u89c6\u89c9\u5c55\u793a\uff0c\u82e5\u9700\u8981\u4e00\u5f00\u59cb\u5c31\u4f53\u73b0\u9519\u8bef\u89c6\u89c9\u6548\u679c\u53ef\u4ee5\u6307\u5b9a <code><sf firstVisual></sf></code>\u3002</p></blockquote><h2 id="\u81ea\u5b9a\u4e49\u9519\u8bef\u6587\u672c">\u81ea\u5b9a\u4e49\u9519\u8bef\u6587\u672c<a onclick="window.location.hash = \'\u81ea\u5b9a\u4e49\u9519\u8bef\u6587\u672c\'" class="anchor">#</a></h2><p>\u5206\u522b\u652f\u6301 <code>DelonFormConfig.errors</code>\uff08\u4e00\u822c\u7528\u4e8e\u56fd\u9645\u5316\uff09 \u6216 <code>ui.errors</code>\uff08\u9488\u5bf9\u67d0\u4e2a\u5c5e\u6027\uff09 \u7ed3\u6784\u6765\u5904\u7406\u9519\u8bef\u6587\u672c\u3002</p><p><strong>DelonFormConfig</strong></p><p>\u5728\u6839\u6a21\u5757\u91cd\u65b0\u6ce8\u5165 <code>DelonFormConfig</code> \u5b9e\u4f8b\uff1a</p><pre class="hljs language-ts"><code>import { DelonFormConfig } from \'@delon/form\';\nexport function fnDelonFormConfig(): DelonFormConfig {\n return Object.assign(new DelonFormConfig(), <DelonFormConfig>{\n errors: {\n \'required\': \'\u5fc5\u586b\u9879\',\n // others\n }\n });\n}\n\n@NgModule({ })\nexport class DelonModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: DelonModule,\n providers: [\n { provide: DelonFormConfig, useFactory: fnDelonFormConfig }\n ]\n };\n }\n}</code></pre><p><strong>ui.errors</strong></p><pre class="hljs language-ts"><code>schema: SFSchema = {\n properties: {\n email: {\n type: \'string\',\n title: \'\u90ae\u7bb1\',\n format: \'email\',\n maxLength: 20,\n ui: {\n errors: {\n \'required\': \'\u5fc5\u586b\u9879\'\n }\n }\n }\n }\n};</code></pre><h3 id="keyword">keyword<a onclick="window.location.hash = \'keyword\'" class="anchor">#</a></h3><p>\u4e0d\u7ba1\u91c7\u7528\u54ea\u79cd\u65b9\u5f0f\u6765\u6784\u5efa\u9519\u8bef\u6587\u672c\uff0c\u90fd\u5fc5\u987b\u901a\u8fc7 <code>keyword</code> \u6765\u533a\u5206\u9519\u8bef\u7c7b\u578b\uff08\u5b8c\u6574\u7c7b\u578b\u89c1 <a target="_blank" href="https://github.com/ng-alain/delon/blob/master/packages/form/src/errors.ts#L4" data-url="https://github.com/ng-alain/delon/blob/master/packages/form/src/errors.ts#L4">ERRORSDEFAULT</a>\uff09\u3002</p><h2 id="\u81ea\u5b9a\u4e49\u6821\u9a8c">\u81ea\u5b9a\u4e49\u6821\u9a8c<a onclick="window.location.hash = \'\u81ea\u5b9a\u4e49\u6821\u9a8c\'" class="anchor">#</a></h2><p>JSON Schema \u6821\u9a8c\u5e76\u4e0d\u4e00\u5b9a\u80fd\u591f\u6ee1\u8db3\u4e00\u4e9b\u4e1a\u52a1\u7684\u9700\u6c42\uff0c\u4f8b\u5982\u9700\u8981\u6839\u636e\u5176\u4ed6\u5c5e\u6027\u503c\u533a\u5206\u4e0d\u540c\u6821\u9a8c\u89c4\u5219\uff1a</p><h3 id="\u5c5e\u6027\u6821\u9a8c">\u5c5e\u6027\u6821\u9a8c<a onclick="window.location.hash = \'\u5c5e\u6027\u6821\u9a8c\'" class="anchor">#</a></h3><pre class="hljs language-ts"><code>schema: SFSchema = {\n properties: {\n name: {\n type: \'string\'\n },\n email: {\n type: \'string\',\n title: \'\u90ae\u7bb1\',\n format: \'email\',\n ui: {\n validator: (value: any, formProperty: FormProperty, form: PropertyGroup) => {\n return form.value.name === \'cipchk\' ? [] : [{ keyword: \'required\', message: \'\u5fc5\u987b\[email protected]\'}];\n }\n }\n }\n }\n};</code></pre><h3 id="\u5f02\u6b65\u6821\u9a8c">\u5f02\u6b65\u6821\u9a8c<a onclick="window.location.hash = \'\u5f02\u6b65\u6821\u9a8c\'" class="anchor">#</a></h3><p>\u4f8b\u5982\u4e00\u4e2a\u5f02\u6b65\u6821\u9a8c\u7528\u6237\u540d\u662f\u5426\u5b58\u5728\u793a\u4f8b\uff1a</p><pre class="hljs language-ts"><code>schema: SFSchema = {\n properties: {\n name: {\n type: \'string\',\n ui: {\n validator: (value: any) => this.http.get(`/user/check/${value}`).pipe(\n map(res => res ? [ { keyword: \'required\', message: \'\u7528\u6237\u540d\u5df2\u5b58\u5728\'} ] : [])\n )\n }\n }\n }\n};</code></pre><p><strong>\u6ce8\u610f\uff1a</strong> \u7531\u4e8e\u6bcf\u4e00\u6b21\u6821\u9a8c\u90fd\u662f\u91cd\u65b0\u5b9e\u4f8b\u4e00\u6b21\uff0c\u56e0\u6b64\u65e0\u6cd5\u505a\u4e00\u4e9b\u63a7\u5236\u7684\u64cd\u4f5c\uff0c\u4f8b\u5982\uff1a\u53bb\u6296 <code>debounceTime</code>\u3002</p><h2 id="\u89c6\u89c9">\u89c6\u89c9<a onclick="window.location.hash = \'\u89c6\u89c9\'" class="anchor">#</a></h2><p>\u53ef\u4ee5\u901a\u8fc7\u8bbe\u7f6e <code>DelonFormConfig.onlyVisual</code> \u6216 <code>ui.onlyVisual</code> \u5c5e\u6027\u63a7\u5236\u53ea\u5c55\u793a\u9519\u8bef\u89c6\u89c9\u4e0d\u663e\u793a\u9519\u8bef\u6587\u672c\u3002</p><h2 id="Debug">Debug<a onclick="window.location.hash = \'Debug\'" class="anchor">#</a></h2><p>JSON Schema \u5bf9\u683c\u5f0f\u6709\u4e25\u683c\u7684\u8981\u6c42\uff0c\u4f8b\u5982\u65e5\u671f\u683c\u5f0f\u5fc5\u987b\u9075\u5b88 <a target="_blank" href="https://tools.ietf.org/html/rfc3339#section-5.6" data-url="https://tools.ietf.org/html/rfc3339#section-5.6">RFC3339</a> \u65f6\u95f4\u683c\u5f0f\uff1a</p><pre class="hljs language-ts"><code>{\n properties: {\n time: {\n type: \'string\',\n ui: { widget: \'date\', mode: \'range\' },\n title: \'Date\',\n format: \'YYYY-MM-DD HH:mm:ss\'\n }\n },\n ui: {\n debug: true\n }\n}</code></pre><p>\u5176\u4e2d <code>format</code> \u662f\u4e00\u4e2a\u9519\u8bef\u65f6\u95f4\u683c\u5f0f\uff0c\u5f53\u6307\u5b9a <code>debug: true</code> \u65f6\uff0c\u4f1a\u5728\u63a7\u5236\u53f0\u63a5\u6536\u5230\u8be6\u7ec6\u7684\u6821\u9a8c\u9519\u8bef\u63cf\u8ff0\uff1a</p><pre class="hljs language-null"><code>Error: unknown format "YYYY-MM-DD HH:mm:ss" is used in schema at path "#/properties/time"</code></pre></article></section>',meta:{order:3,title:"\u6821\u9a8c\u9519\u8bef",type:"Documents"},toc:[{id:"\u5199\u5728\u524d\u9762",title:"\u5199\u5728\u524d\u9762",h:2},{id:"\u81ea\u5b9a\u4e49\u9519\u8bef\u6587\u672c",title:"\u81ea\u5b9a\u4e49\u9519\u8bef\u6587\u672c",h:2},{id:"keyword",title:"keyword",h:3},{id:"\u81ea\u5b9a\u4e49\u6821\u9a8c",title:"\u81ea\u5b9a\u4e49\u6821\u9a8c",h:2},{id:"\u5c5e\u6027\u6821\u9a8c",title:"\u5c5e\u6027\u6821\u9a8c",h:3},{id:"\u5f02\u6b65\u6821\u9a8c",title:"\u5f02\u6b65\u6821\u9a8c",h:3},{id:"\u89c6\u89c9",title:"\u89c6\u89c9",h:2},{id:"Debug",title:"Debug",h:2}]}},demo:!1},this.codes=[]}}class l{constructor(){this.item={cols:1,urls:{"en-US":"packages/form/docs/getting-started.en-US.md","zh-CN":"packages/form/docs/getting-started.zh-CN.md"},content:{"en-US":{content:'<section class="markdown"><p>@delon/form is a dynamic build form based on the <a target="_blank" href="http://json-schema.org/" data-url="http://json-schema.org/">JSON Schema</a> standard.</p><h2 id="Features">Features<a onclick="window.location.hash = \'Features\'" class="anchor">#</a></h2><ul><li><p>Compliance with the JSON Schema standard</p></li><li><p>Based on the ng-zorro-antd library</p></li><li><p>Built on the design principles developed by Ant Design</p></li><li><p>Twenty different widgets</p></li><li><p>Customizable widgets</p></li><li><p>No third-party dependencies, so applicable to all antd projects</p></li></ul><h2 id="How-to-read-document">How to read document<a onclick="window.location.hash = \'How-to-read-document\'" class="anchor">#</a></h2><p>This document uses the following conventions:</p><ul><li><p>With <code>schema.</code> prefix is JSON Schema properties</p></li><li><p>With <code>ui.</code> prefix is UI properties</p></li><li><p>Some widget data sources are divided into <strong>static</strong> and <strong>realtime</strong></p><ul><li><p><strong>Static</strong> refers to the <code>schema.enum</code> value, which is JSON Schema standard, and limited to the array format <code>any[]</code></p></li><li><p><strong>Real-time</strong> refers to the <code>ui.asyncData</code> value, which is not JSON Schema standard, the format <code>(input?: any) => Observable<SFSchemaEnumType[]></code></p></li></ul></li></ul><h2 id="Usage">Usage<a onclick="window.location.hash = \'Usage\'" class="anchor">#</a></h2><p>Install <code>@delon/form</code> from <code>yarn</code>.</p><pre class="hljs language-bash"><code>yarn add @delon/form</code></pre><p>Import <code>DelonFormModule</code> in to your root <code>AppModule</code>.</p><pre class="hljs language-typescript"><code>import { DelonFormModule } from \'@delon/form\';\n\n@NgModule({\n imports: [\n DelonFormModule.forRoot()\n ]\n})\nexport class AppModule { }</code></pre><p>Although the default <code>@delon/form</code> validator is <a target="_blank" href="http://epoberezkin.github.io/ajv/" data-url="http://epoberezkin.github.io/ajv/">ajv</a>, you can override <code>SchemaValidatorFactory</code> to use other validator libraries, so you still have to install <code>ajv</code> and in <code>angular.json</code> import it.</p><pre class="hljs language-bash"><code>yarn add ajv @types/ajv</code></pre><p>angular.json</p><pre class="hljs language-json"><code>"scripts": [\n "node_modules/ajv/dist/ajv.bundle.js"\n]</code></pre><p><strong>DelonFormConfig</strong></p><pre class="hljs language-ts"><code>import { DelonFormConfig } from \'@delon/form\';\nexport function fnDelonFormConfig(): DelonFormConfig {\n return Object.assign(new DelonFormConfig(), <DelonFormConfig>{\n // values\n });\n}\n\n@NgModule({ })\nexport class DelonModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: DelonModule,\n providers: [\n { provide: DelonFormConfig, useFactory: fnDelonFormConfig }\n ]\n };\n }\n}</code></pre><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[ajv]</code></td><td><a target="_blank" href="http://epoberezkin.github.io/ajv/#options" data-url="http://epoberezkin.github.io/ajv/#options">ajv</a> options</td><td><code>Ajv.Options</code></td><td>-</td></tr><tr><td><code>[ingoreKeywords]</code></td><td>Whether to ignore data type validator (<a target="_blank" href="https://github.com/ng-alain/delon/blob/master/packages/form/src/errors.ts#L4" data-url="https://github.com/ng-alain/delon/blob/master/packages/form/src/errors.ts#L4">all types</a>)</td><td><code>string[]</code></td><td><code>[ \'type\', \'enum\' ]</code></td></tr><tr><td><code>[liveValidate]</code></td><td>Whether to live validate</td><td><code>boolean</code></td><td><code>true</code></td></tr><tr><td><code>[autocomplete]</code></td><td>autocomplete value of this form</td><td><code>on,off</code></td><td><code>null</code></td></tr><tr><td><code>[firstVisual]</code></td><td>Whether to show visual error immediately</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[onlyVisual]</code></td><td>Whether only show visual error not include text, and cancel the error text spacing</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[errors]</code></td><td>Customize error messages</td><td><code>{ [ key: string ]: string }</code></td><td><code>ERRORSDEFAULT</code></td></tr><tr><td><code>[ui]</code></td><td>Default global ui property</td><td><code>SFUISchemaItem</code></td><td>-</td></tr><tr><td><code>[size]</code></td><td>Size of the all angular element</td><td><code>default,large,small</code></td><td>-</td></tr><tr><td><code>[button]</code></td><td>Submit button of the form</td><td><code><a data-toc="SFButton">SFButton</a></code></td><td><code>{submit:\'\u63d0\u4ea4\',submit_type:\'primary\',reset:\'\u91cd\u7f6e\',reset_type:\'default\'}</code></td></tr><tr><td><code>[uiDateStringFormat]</code></td><td>Date widget default format</td><td><code>string</code></td><td><code>YYYY-MM-DD HH:mm:ss</code></td></tr><tr><td><code>[uiDateNumberFormat]</code></td><td>Date widget default format</td><td><code>string</code></td><td><code>x</code></td></tr><tr><td><code>[uiTimeStringFormat]</code></td><td>Time widget default format</td><td><code>string</code></td><td><code>HH:mm:ss</code></td></tr><tr><td><code>[uiTimeNumberFormat]</code></td><td>Time widget default format</td><td><code>string</code></td><td><code>x</code></td></tr><tr><td><code>[uiEmailSuffixes]</code></td><td>Specify the default Email suffix for <code>format: \'email\'</code></td><td><code>string[]</code></td><td><code>[\'qq.com\', \'163.com\', \'gmail.com\', \'126.com\', \'aliyun.com\']</code></td></tr></tbody></table><p>For example, Build a email and name form:</p><pre class="hljs language-ts"><code>@Component({\n selector: \'app-home\',\n template: `\n <sf [schema]="schema" (formSubmit)="submit($event)"></sf>\n `\n})\nexport class HomeComponent {\n schema: SFSchema = {\n properties: {\n email: {\n type: \'string\',\n title: \'Email\',\n format: \'email\',\n maxLength: 20\n },\n name: {\n type: \'string\',\n title: \'Name\',\n minLength: 3\n }\n }\n };\n\n submit(value: any) { }\n}</code></pre></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="sf">sf<a onclick="window.location.hash = \'sf\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[layout]</code></td><td>layout of the form</td><td><code>horizontal,vertical,inline</code></td><td><code>horizontal</code></td></tr><tr><td><code>[schema]</code></td><td><strong>Required</strong> JSON Schema</td><td><code>SFSchema</code></td><td>-</td></tr><tr><td><code>[ui]</code></td><td>UI Schema</td><td><code>SFUISchema</code></td><td>-</td></tr><tr><td><code>[formData]</code></td><td>Default form values</td><td><code>any</code></td><td>-</td></tr><tr><td><code>[mode]</code></td><td>Form type mode</td><td><code>default,search,edit</code></td><td><code>default</code></td></tr><tr><td><code>[button]</code></td><td>Submit button of the form</td><td><code><a data-toc="SFButton">SFButton</a>, \'none\'</code></td><td><code>{}</code></td></tr><tr><td><code>[firstVisual]</code></td><td>Whether to show visual error immediately</td><td><code>boolean</code></td><td><code>true</code></td></tr><tr><td><code>[liveValidate]</code></td><td>Whether to live validate</td><td><code>boolean</code></td><td><code>true</code></td></tr><tr><td><code>[autocomplete]</code></td><td>autocomplete value of this form</td><td><code>on,off</code></td><td><code>null</code></td></tr><tr><td><code>[disabled]</code></td><td>Whether to disabled status</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[loading]</code></td><td>Whether to load status\uff0cwhen <code>true</code> reset button is disabled status, submit button is loading status</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[noColon]</code></td><td>Whether to not display <code>:</code> after label text.</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[cleanValue]</code></td><td>Whether to clean up data for undefined Schema</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>(formChange)</code></td><td>Callback when data changes</td><td><code>EventEmitter<{}></code></td><td>-</td></tr><tr><td><code>(formSubmit)</code></td><td>Callback when submitting the form</td><td><code>EventEmitter<{}></code></td><td>-</td></tr><tr><td><code>(formReset)</code></td><td>Callback when resetting the form</td><td><code>EventEmitter<{}></code></td><td>-</td></tr><tr><td><code>(formError)</code></td><td>Callback when form check</td><td><code>EventEmitter<ErrorData[]></code></td><td>-</td></tr></tbody></table><h3 id="SFButton">SFButton<a onclick="window.location.hash = \'SFButton\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[submit]</code></td><td>Submit text of button</td><td><code>string</code></td><td><code>\u63d0\u4ea4</code></td></tr><tr><td><code>[submit_type]</code></td><td>Submit type of button</td><td><code>string</code></td><td><code>primary</code></td></tr><tr><td><code>[submit_icon]</code></td><td>Submit icon of button</td><td><code>SFButtonIcon</code></td><td>-</td></tr><tr><td><code>[reset]</code></td><td>Reset text of button</td><td><code>string</code></td><td><code>\u91cd\u7f6e</code></td></tr><tr><td><code>[reset_type]</code></td><td>Reset type of button</td><td><code>string</code></td><td><code>default</code></td></tr><tr><td><code>[reset_icon]</code></td><td>Reset icon of button</td><td><code>SFButtonIcon</code></td><td>-</td></tr><tr><td><code>[search]</code></td><td>Search text of button</td><td><code>string</code></td><td><code>\u641c\u7d22</code></td></tr><tr><td><code>[edit]</code></td><td>Edit text of button</td><td><code>string</code></td><td><code>\u4fdd\u5b58</code></td></tr><tr><td><code>[render]</code></td><td>Button layout</td><td><code>SFRenderButton</code></td><td>-</td></tr></tbody></table><h3 id="Methods">Methods<a onclick="window.location.hash = \'Methods\'" class="anchor">#</a></h3><table><thead><tr><th>Method Name</th><th>Description</th><th>Return Value</th></tr></thead><tbody><tr><td><code>valid</code></td><td>Form is valid</td><td><code>boolean</code></td></tr><tr><td><code>value</code></td><td>The current value of the form</td><td><code>any</code></td></tr><tr><td><code>refreshSchema</code></td><td>Refresh JSON Schema</td><td><code>void</code></td></tr><tr><td><code>reset</code></td><td>Resets the form</td><td><code>void</code></td></tr><tr><td><code>validator</code></td><td>Manually verify a form</td><td><code>void</code></td></tr><tr><td><code>getProperty</code></td><td>Get a form property via path</td><td><code>FormProperty</code></td></tr><tr><td><code>getValue</code></td><td>Get value via path</td><td><code>any</code></td></tr><tr><td><code>setValue</code></td><td>Set value via path, shoudl be throw error when invalid path</td><td><code>this</code></td></tr></tbody></table><blockquote><p><strong>Note:</strong> All paths are separated by <code>/</code>, for example: <code>/user/name</code>, <code>/arr/0/name</code>.</p></blockquote><h3 id="Button">Button<a onclick="window.location.hash = \'Button\'" class="anchor">#</a></h3><p><strong>Notice</strong></p><ul><li><p>Manually add button when value is <code>null</code> or <code>undefined</code>, but keeping container element.</p></li><li><p>Manually add button when value is <code>none</code>, but removed container element.</p></li><li><p>When using fixed <code>label</code> width. Default is center when <code>render.class</code> is not spacifid.</p></li></ul><p><strong>Custom Button</strong></p><p><strong>NOTICE:</strong> Must be setting <code>button</code> value is <code>null</code>.</p><pre class="hljs language-html"><code><sf #sf [button]="null">\n <button type="submit" nz-button [disabled]="!sf.valid">Save</button>\n <button (click)="sf.reset()" type="button" nz-button>Reset</button>\n</sf></code></pre><h2 id="FAQ">FAQ<a onclick="window.location.hash = \'FAQ\'" class="anchor">#</a></h2><h3 id="What-is-mode">What is mode<a onclick="window.location.hash = \'What-is-mode\'" class="anchor">#</a></h3><p><code>mode</code> \u53ea\u662f\u5feb\u6377\u4f5c\u7528\uff0c<strong>\u4e14\u4f18\u5148\u7ea7\u9ad8\u4e8e\u4e00\u5207</strong>\uff0c\u89c4\u5219\u5982\u4e0b\uff1a</p><ul><li><p><code>default</code> \u9ed8\u8ba4\u6a21\u5f0f\uff0c\u4ec0\u4e48\u4e5f\u4e0d\u505a</p></li><li><p><code>search</code> \u641c\u7d22\u6a21\u5f0f\uff0c\u81ea\u52a8\u8bbe\u7f6e <code>layout: inline</code>\u3001<code>firstVisual: false</code>\u3001<code>liveValidate: false</code>\u3001<code>button.submit: \'\u641c\u7d22\'</code></p></li><li><p><code>edit</code> \u7f16\u8f91\u6a21\u5f0f\uff0c\u81ea\u52a8\u8bbe\u7f6e <code>layout: horizontal</code>\u3001<code>firstVisual: false</code>\u3001<code>liveValidate: true</code>\u3001<code>button.submit: \'\u4fdd\u5b58\'</code></p></li></ul><h3 id="Schema\u56fd\u9645\u5316">Schema\u56fd\u9645\u5316<a onclick="window.location.hash = \'Schema\u56fd\u9645\u5316\'" class="anchor">#</a></h3><p><code><a data-toc="sf">sf</a></code> \u5e76\u4e0d\u652f\u6301\u4efb\u4f55 Schema \u56fd\u9645\u5316\u52a8\u4f5c\uff0c\u8fd9\u662f\u56e0\u4e3a\u672c\u8eab Schema \u662f\u4e00\u7ec4 JSON \u503c\uff0c\u56fd\u9645\u5316\u7684\u5b9e\u73b0\u53ea\u9700\u8981\u63d0\u4f9b\u4e0d\u540c\u8bed\u8a00\u7248\u672c\u5373\u53ef\u3002</p>',meta:{order:1,title:"Getting Started",type:"Documents",module:"DelonFormModule",config:"DelonFormConfig"},toc:[{id:"Features",title:"Features",h:2},{id:"How-to-read-document",title:"How to read document",h:2},{id:"Usage",title:"Usage",h:2},{id:"API",title:"API",h:2},{id:"sf",title:"sf",h:3},{id:"SFButton",title:"SFButton",h:3},{id:"Methods",title:"Methods",h:3},{id:"Button",title:"Button",h:3},{id:"FAQ",title:"FAQ",h:2},{id:"What-is-mode",title:"What is mode",h:3},{id:"Schema\u56fd\u9645\u5316",title:"Schema\u56fd\u9645\u5316",h:3}]},"zh-CN":{content:'<section class="markdown"><p>@delon/form \u662f\u4e00\u4e2a\u57fa\u4e8e <a target="_blank" href="http://json-schema.org/" data-url="http://json-schema.org/">JSON Schema</a> \u6807\u51c6\u7684\u52a8\u6001\u6784\u5efa\u8868\u5355\u3002</p><h2 id="\u7279\u6027">\u7279\u6027<a onclick="window.location.hash = \'\u7279\u6027\'" class="anchor">#</a></h2><ul><li><p>\u7b26\u5408 JSON Schema \u6807\u51c6</p></li><li><p>\u57fa\u4e8e ng-zorro-antd \u57fa\u7840\u7ec4\u4ef6\u5e93</p></li><li><p>\u79c9\u627f Ant Design \u4ef7\u503c\u89c2</p></li><li><p>\u4e8c\u5341\u51e0\u79cd\u5c0f\u90e8\u4ef6</p></li><li><p>\u53ef\u81ea\u5b9a\u4e49\u5c0f\u90e8\u4ef6\u6ee1\u8db3\u4e1a\u52a1\u9700\u6c42</p></li><li><p>\u65e0\u4efb\u4f55\u7b2c\u4e09\u65b9\u4f9d\u8d56\uff0c\u53ef\u9002\u7528\u6240\u6709 antd \u9879\u76ee</p></li></ul><h2 id="\u5982\u4f55\u9605\u8bfb">\u5982\u4f55\u9605\u8bfb<a onclick="window.location.hash = \'\u5982\u4f55\u9605\u8bfb\'" class="anchor">#</a></h2><p>\u5728\u5f00\u59cb\u4e4b\u524d\u9700\u8981\u77e5\u9053\u6587\u6863\u7684\u4e00\u4e9b\u7b80\u5355\u7f16\u5199\u89c4\u5219\uff1a</p><ul><li><p>\u4ee3\u7801\u4ee5 <code>schema.</code> \u5f00\u5934\u7684\u8868\u793a JSON Schema \u5bf9\u8c61\u5c5e\u6027</p></li><li><p>\u4ee3\u7801\u4ee5 <code>ui.</code> \u5f00\u5934\u7684\u8868\u793a UI \u5bf9\u8c61\u5c5e\u6027</p></li><li><p>\u90e8\u5206\u5c0f\u90e8\u4ef6\u6570\u636e\u6e90\u5206\u4e3a <strong>\u9759\u6001</strong> \u548c <strong>\u5b9e\u65f6</strong> \u4e24\u7c7b</p><ul><li><p><strong>\u9759\u6001</strong> \u7406\u89e3\u4e3a <code>schema.enum</code> \u503c\uff0c\u662f\u7b26\u5408 JSON Schema \u6807\u51c6\uff0c\u4e14\u9650\u6570\u7ec4\u683c\u5f0f <code>any[]</code></p></li><li><p><strong>\u5b9e\u65f6</strong> \u7406\u89e3\u4e3a <code>ui.asyncData</code> \u503c\uff0c\u975e JSON Schema \u6807\u51c6\uff0c\u683c\u5f0f <code>(input?: any) => Observable<SFSchemaEnumType[]></code></p></li></ul></li></ul><h2 id="\u5982\u4f55\u4f7f\u7528">\u5982\u4f55\u4f7f\u7528<a onclick="window.location.hash = \'\u5982\u4f55\u4f7f\u7528\'" class="anchor">#</a></h2><p>\u5b89\u88c5 <code>@delon/form</code> \u4f9d\u8d56\u5305\uff1a</p><pre class="hljs language-bash"><code>yarn add @delon/form</code></pre><p>\u5bfc\u5165 <code>DelonFormModule</code> \u6a21\u5757\uff1a</p><pre class="hljs language-typescript"><code>import { DelonFormModule } from \'@delon/form\';\n\n@NgModule({\n imports: [\n DelonFormModule.forRoot()\n ]\n})\nexport class AppModule { }</code></pre><p>\u867d\u7136\u9ed8\u8ba4 <code>@delon/form</code> \u6821\u9a8c\u662f <a target="_blank" href="http://epoberezkin.github.io/ajv/" data-url="http://epoberezkin.github.io/ajv/">ajv</a>\uff0c\u4f46\u8fd9\u5e76\u4e0d\u662f\u552f\u4e00\u7684\u9009\u62e9\uff0c\u4f60\u53ef\u4ee5\u8986\u76d6 <code>SchemaValidatorFactory</code> \u4f7f\u7528\u5176\u4ed6\u6821\u9a8c\u7c7b\u5e93\uff0c\u6240\u4ee5 <code>ajv</code> \u5e76\u6ca1\u6709\u5f3a\u5236\u4f9d\u8d56\uff1b\u5176\u5b9e\u4ece\u53e6\u4e00\u4e2a\u70b9\u6765\u770b\u5c06\u8fd9\u79cd\u7b2c\u4e09\u65b9\u7c7b\u5e93\u7edf\u4e00\u5728 <code>scripts</code> \u52a0\u8f7d\u624d\u662f\u66f4\u5408\u7406\u7684\uff0c\u56e0\u6b64\u4f60\u4f9d\u7136\u8981\u81ea\u5df1\u5b89\u88c5 <code>ajv</code> \u5e76\u5728 <code>angular.json</code> \u4e2d\u5bfc\u5165\u5b83\uff1a</p><pre class="hljs language-bash"><code>yarn add ajv @types/ajv</code></pre><p>angular.json</p><pre class="hljs language-json"><code>"scripts": [\n "node_modules/ajv/dist/ajv.bundle.js"\n]</code></pre><p><strong>DelonFormConfig</strong></p><p>\u5168\u5c40\u914d\u7f6e\u6027\u53ef\u4ee5\u901a\u8fc7\u5728\u6839\u6a21\u5757\u6216 <code>DelonModule</code> \u91cc\u8986\u76d6\uff0c\u4f8b\u5982\uff1a</p><pre class="hljs language-ts"><code>import { DelonFormConfig } from \'@delon/form\';\nexport function fnDelonFormConfig(): DelonFormConfig {\n return Object.assign(new DelonFormConfig(), <DelonFormConfig>{\n // values\n });\n}\n\n@NgModule({ })\nexport class DelonModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: DelonModule,\n providers: [\n { provide: DelonFormConfig, useFactory: fnDelonFormConfig }\n ]\n };\n }\n}</code></pre><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[ajv]</code></td><td><a target="_blank" href="http://epoberezkin.github.io/ajv/#options" data-url="http://epoberezkin.github.io/ajv/#options">ajv</a> \u53c2\u6570</td><td><code>Ajv.Options</code></td><td>-</td></tr><tr><td><code>[ingoreKeywords]</code></td><td>\u662f\u5426\u5ffd\u7565\u67d0\u4e9b\u6570\u636e\u7c7b\u578b\u6821\u9a8c\uff08<a target="_blank" href="https://github.com/ng-alain/delon/blob/master/packages/form/src/errors.ts#L4" data-url="https://github.com/ng-alain/delon/blob/master/packages/form/src/errors.ts#L4">\u6240\u6709\u7c7b\u578b</a>\uff09</td><td><code>string[]</code></td><td><code>[ \'type\', \'enum\' ]</code></td></tr><tr><td><code>[liveValidate]</code></td><td>\u662f\u5426\u5b9e\u65f6\u6821\u9a8c</td><td><code>boolean</code></td><td><code>true</code></td></tr><tr><td><code>[autocomplete]</code></td><td>\u6307\u5b9a\u8868\u5355 <code>autocomplete</code> \u503c</td><td><code>on,off</code></td><td><code>null</code></td></tr><tr><td><code>[firstVisual]</code></td><td>\u662f\u5426\u7acb\u5373\u5448\u73b0\u9519\u8bef\u89c6\u89c9</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[onlyVisual]</code></td><td>\u662f\u5426\u53ea\u5c55\u793a\u9519\u8bef\u89c6\u89c9\u4e0d\u663e\u793a\u9519\u8bef\u6587\u672c\uff0c\u5e76\u53d6\u6d88\u9519\u8bef\u6587\u672c\u95f4\u8ddd</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[errors]</code></td><td>\u81ea\u5b9a\u4e49\u901a\u7528\u9519\u8bef\u4fe1\u606f</td><td><code>{ [ key: string ]: string }</code></td><td><code>ERRORSDEFAULT</code></td></tr><tr><td><code>[ui]</code></td><td>\u9ed8\u8ba4\u5168\u5c40\u5e03\u5c40</td><td><code>SFUISchemaItem</code></td><td>-</td></tr><tr><td><code>[size]</code></td><td>\u5143\u7d20\u7ec4\u4ef6\u5927\u5c0f\uff0c\u7528\u4e8e <code>nzSize</code> \u503c</td><td><code>default,large,small</code></td><td>-</td></tr><tr><td><code>[button]</code></td><td>\u6309\u94ae\u98ce\u683c</td><td><code><a data-toc="SFButton">SFButton</a></code></td><td><code>{submit:\'\u63d0\u4ea4\',submit_type:\'primary\',reset:\'\u91cd\u7f6e\',reset_type:\'default\'}</code></td></tr><tr><td><code>[uiDateStringFormat]</code></td><td>date\u5c0f\u90e8\u4ef6\uff1a<code>type="string"</code> \u4e14\u4e0d\u6307\u5b9a <code>schema.format</code> \u548c <code>ui.format</code> \u65f6\u65e5\u671f\u683c\u5f0f</td><td><code>string</code></td><td><code>YYYY-MM-DD HH:mm:ss</code></td></tr><tr><td><code>[uiDateNumberFormat]</code></td><td>date\u5c0f\u90e8\u4ef6\uff1a<code>type="number"</code> \u4e14\u4e0d\u6307\u5b9a <code>schema.format</code> \u548c <code>ui.format</code> \u65f6\u65e5\u671f\u683c\u5f0f\uff0c\u9ed8\u8ba4\uff1a<code>x</code> 13\u4f4dUnix Timestamp</td><td><code>string</code></td><td><code>x</code></td></tr><tr><td><code>[uiTimeStringFormat]</code></td><td>time\u5c0f\u90e8\u4ef6\uff1a<code>type="string"</code> \u4e14\u4e0d\u6307\u5b9a <code>schema.format</code> \u548c <code>ui.format</code> \u65f6\u65e5\u671f\u683c\u5f0f</td><td><code>string</code></td><td><code>HH:mm:ss</code></td></tr><tr><td><code>[uiTimeNumberFormat]</code></td><td>time\u5c0f\u90e8\u4ef6\uff1a<code>type="number"</code> \u4e14\u4e0d\u6307\u5b9a <code>schema.format</code> \u548c <code>ui.format</code> \u65f6\u65e5\u671f\u683c\u5f0f\uff0c\u9ed8\u8ba4\uff1a<code>x</code> 13\u4f4dUnix Timestamp\uff0c\u65e5\u671f\u7edf\u4e00\u4f7f\u7528 <code>1970-01-01</code></td><td><code>string</code></td><td><code>x</code></td></tr><tr><td><code>[uiEmailSuffixes]</code></td><td>\u6307\u5b9a <code>format: \'email\'</code> \u7684\u9ed8\u8ba4Email\u540e\u7f00</td><td><code>string[]</code></td><td><code>[\'qq.com\', \'163.com\', \'gmail.com\', \'126.com\', \'aliyun.com\']</code></td></tr></tbody></table><p>\u6784\u5efa\u4e00\u4e2a\u90ae\u7bb1\u3001\u59d3\u540d\u8868\u5355\uff1a</p><pre class="hljs language-ts"><code>@Component({\n selector: \'app-home\',\n template: `\n <sf [schema]="schema" (formSubmit)="submit($event)"></sf>\n `\n})\nexport class HomeComponent {\n schema: SFSchema = {\n properties: {\n email: {\n type: \'string\',\n title: \'\u90ae\u7bb1\',\n format: \'email\',\n maxLength: 20\n },\n name: {\n type: \'string\',\n title: \'\u59d3\u540d\',\n minLength: 3\n }\n }\n };\n\n submit(value: any) { }\n}</code></pre></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="sf">sf<a onclick="window.location.hash = \'sf\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[layout]</code></td><td>\u8868\u5355\u5e03\u5c40\uff0c\u7b49\u540c <code>nzLayout</code></td><td><code>\'horizontal\',\'vertical\',\'inline\'</code></td><td><code>\'horizontal\'</code></td></tr><tr><td><code>[schema]</code></td><td><strong>\u5fc5\u586b\u9879</strong> JSON Schema</td><td><code>SFSchema</code></td><td>-</td></tr><tr><td><code>[ui]</code></td><td>UI Schema</td><td><code>SFUISchema</code></td><td>-</td></tr><tr><td><code>[formData]</code></td><td>\u8868\u5355\u9ed8\u8ba4\u503c</td><td><code>any</code></td><td>-</td></tr><tr><td><code>[mode]</code></td><td>\u8868\u5355\u6a21\u5f0f\uff0c\u7ec6\u8282\u89c1\u5e38\u89c1\u95ee\u9898</td><td><code>\'default\',\'search\',\'edit\'</code></td><td><code>\'default\'</code></td></tr><tr><td><code>[button]</code></td><td>\u6309\u94ae</td><td><code><a data-toc="SFButton">SFButton</a>|\'none\'</code></td><td><code>{}</code></td></tr><tr><td><code>[firstVisual]</code></td><td>\u662f\u5426\u7acb\u5373\u5448\u73b0\u9519\u8bef\u89c6\u89c9</td><td><code>boolean</code></td><td><code>true</code></td></tr><tr><td><code>[liveValidate]</code></td><td>\u662f\u5426\u5b9e\u65f6\u6821\u9a8c\uff0c<code>false</code> \u63d0\u4ea4\u65f6\u68c0\u9a8c</td><td><code>boolean</code></td><td><code>true</code></td></tr><tr><td><code>[autocomplete]</code></td><td>\u6307\u5b9a\u8868\u5355 <code>autocomplete</code> \u503c</td><td><code>\'on\',\'off\'</code></td><td><code>null</code></td></tr><tr><td><code>[disabled]</code></td><td>\u662f\u5426\u7981\u7528\u72b6\u6001</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[loading]</code></td><td>\u662f\u5426\u52a0\u8f7d\u72b6\u6001\uff0c\u5f53 <code>true</code> \u91cd\u7f6e\u6309\u94ae\u7981\u6b62\u72b6\u6001\uff0c\u63d0\u4ea4\u6309\u94ae\u52a0\u8f7d\u72b6\u6001</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[noColon]</code></td><td>\u662f\u5426\u4e0d\u663e\u793a <code>label</code> \u540e\u9762\u7684\u5192\u53f7</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[cleanValue]</code></td><td>\u662f\u5426\u6e05\u7406\u672a\u5b9a\u4e49 Schema \u7684\u6570\u636e</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>(formChange)</code></td><td>\u6570\u636e\u53d8\u66f4\u65f6\u56de\u8c03</td><td><code>EventEmitter<{}></code></td><td>-</td></tr><tr><td><code>(formSubmit)</code></td><td>\u63d0\u4ea4\u8868\u5355\u65f6\u56de\u8c03</td><td><code>EventEmitter<{}></code></td><td>-</td></tr><tr><td><code>(formReset)</code></td><td>\u91cd\u7f6e\u8868\u5355\u65f6\u56de\u8c03</td><td><code>EventEmitter<{}></code></td><td>-</td></tr><tr><td><code>(formError)</code></td><td>\u8868\u5355\u6821\u9a8c\u7ed3\u679c\u56de\u8c03</td><td><code>EventEmitter<ErrorData[]></code></td><td>-</td></tr></tbody></table><h3 id="SFButton">SFButton<a onclick="window.location.hash = \'SFButton\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[submit]</code></td><td>\u63d0\u4ea4\u6309\u94ae\u6587\u672c</td><td><code>string</code></td><td><code>\u63d0\u4ea4</code></td></tr><tr><td><code>[submit_type]</code></td><td>\u63d0\u4ea4\u6309\u94ae\u7c7b\u578b</td><td><code>string</code></td><td><code>primary</code></td></tr><tr><td><code>[submit_icon]</code></td><td>\u63d0\u4ea4\u6309\u94ae\u56fe\u6807</td><td><code>SFButtonIcon</code></td><td>-</td></tr><tr><td><code>[reset]</code></td><td>\u91cd\u7f6e\u6309\u94ae\u6587\u672c</td><td><code>string</code></td><td><code>\u91cd\u7f6e</code></td></tr><tr><td><code>[reset_type]</code></td><td>\u91cd\u7f6e\u6309\u94ae\u7c7b\u578b</td><td><code>string</code></td><td><code>default</code></td></tr><tr><td><code>[reset_icon]</code></td><td>\u91cd\u7f6e\u6309\u94ae\u56fe\u6807</td><td><code>SFButtonIcon</code></td><td>-</td></tr><tr><td><code>[search]</code></td><td>\u641c\u7d22\u6309\u94ae\u6587\u672c</td><td><code>string</code></td><td><code>\u641c\u7d22</code></td></tr><tr><td><code>[edit]</code></td><td>\u7f16\u8f91\u6309\u94ae\u6587\u672c</td><td><code>string</code></td><td><code>\u4fdd\u5b58</code></td></tr><tr><td><code>[render]</code></td><td>\u6309\u94ae\u6837\u5f0f</td><td><code>SFRenderButton</code></td><td>-</td></tr></tbody></table><h3 id="\u7ec4\u4ef6\u65b9\u6cd5">\u7ec4\u4ef6\u65b9\u6cd5<a onclick="window.location.hash = \'\u7ec4\u4ef6\u65b9\u6cd5\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u8fd4\u56de\u503c</th></tr></thead><tbody><tr><td><code>valid</code></td><td>\u8868\u5355\u662f\u5426\u6709\u6548</td><td><code>boolean</code></td></tr><tr><td><code>value</code></td><td>\u8868\u5355\u503c</td><td><code>any</code></td></tr><tr><td><code>refreshSchema</code></td><td>\u5237\u65b0 JSON Schema</td><td><code>void</code></td></tr><tr><td><code>reset</code></td><td>\u91cd\u7f6e\u8868\u5355</td><td><code>void</code></td></tr><tr><td><code>validator</code></td><td>\u624b\u52a8\u6821\u9a8c\u4e00\u6b21\u8868\u5355</td><td><code>void</code></td></tr><tr><td><code>getProperty</code></td><td>\u6839\u636e\u8def\u5f84\u83b7\u53d6\u8868\u5355\u5143\u7d20\u5c5e\u6027</td><td><code>FormProperty</code></td></tr><tr><td><code>getValue</code></td><td>\u6839\u636e\u8def\u5f84\u83b7\u53d6\u8868\u5355\u5143\u7d20\u5f53\u524d\u503c</td><td><code>any</code></td></tr><tr><td><code>setValue</code></td><td>\u6839\u636e\u8def\u5f84\u8bbe\u7f6e\u67d0\u4e2a\u8868\u5355\u5143\u7d20\u5c5e\u6027\u503c\uff0c\u82e5\u8def\u5f84\u4e0d\u5b58\u5728\u4f1a\u4ea7\u751f\u5f02\u5e38</td><td><code>this</code></td></tr></tbody></table><blockquote><p><strong>\u6ce8\uff1a</strong> \u6240\u6709 path \u91c7\u7528 <code>/</code> \u6765\u5206\u9694\uff0c\u4f8b\u5982\uff1a<code>/user/name</code>\u3001<code>/arr/0/name</code>\u3002</p></blockquote><h3 id="\u6309\u94ae\u8bf4\u660e">\u6309\u94ae\u8bf4\u660e<a onclick="window.location.hash = \'\u6309\u94ae\u8bf4\u660e\'" class="anchor">#</a></h3><p><strong>\u6ce8\u610f\u4e8b\u9879</strong></p><ul><li><p>\u503c\u4e3a <code>null</code> \u6216 <code>undefined</code> \u8868\u793a\u624b\u52a8\u6dfb\u52a0\u6309\u94ae\uff0c\u4f46\u4fdd\u7559\u5bb9\u5668</p></li><li><p>\u503c\u4e3a <code>none</code> \u8868\u793a\u624b\u52a8\u6dfb\u52a0\u6309\u94ae\uff0c\u4e14\u4e0d\u4fdd\u7559\u5bb9\u5668</p></li><li><p>\u4f7f\u7528 <code>spanLabelFixed</code> \u56fa\u5b9a\u6807\u7b7e\u5bbd\u5ea6\u65f6\uff0c\u82e5\u65e0 <code>render.class</code> \u5219\u9ed8\u8ba4\u4e3a\u5c45\u4e2d\u72b6\u6001</p></li></ul><p><strong>\u81ea\u5b9a\u4e49</strong></p><p>\u5f53\u4f60\u5e0c\u671b\u81ea\u5b9a\u4e49\u6309\u94ae\u65f6\uff0c\u52a1\u5fc5\u8bbe\u7f6e <code>button</code> \u503c\u4e3a <code>null</code>\u3002</p><pre class="hljs language-html"><code><sf #sf [button]="null">\n <button type="submit" nz-button [disabled]="!sf.valid">\u4fdd\u5b58</button>\n <button (click)="sf.reset()" type="button" nz-button>\u91cd\u7f6e</button>\n</sf></code></pre><h2 id="\u5e38\u89c1\u95ee\u9898">\u5e38\u89c1\u95ee\u9898<a onclick="window.location.hash = \'\u5e38\u89c1\u95ee\u9898\'" class="anchor">#</a></h2><h3 id="mode\u6709\u4ec0\u4e48\u4f5c\u7528\uff1f">mode\u6709\u4ec0\u4e48\u4f5c\u7528\uff1f<a onclick="window.location.hash = \'mode\u6709\u4ec0\u4e48\u4f5c\u7528\uff1f\'" class="anchor">#</a></h3><p><code>mode</code> \u53ea\u662f\u5feb\u6377\u4f5c\u7528\uff0c<strong>\u4e14\u4f18\u5148\u7ea7\u9ad8\u4e8e\u4e00\u5207</strong>\uff0c\u89c4\u5219\u5982\u4e0b\uff1a</p><ul><li><p><code>default</code> \u9ed8\u8ba4\u6a21\u5f0f\uff0c\u4ec0\u4e48\u4e5f\u4e0d\u505a</p></li><li><p><code>search</code> \u641c\u7d22\u6a21\u5f0f\uff0c\u81ea\u52a8\u8bbe\u7f6e <code>layout: inline</code>\u3001<code>firstVisual: false</code>\u3001<code>liveValidate: false</code>\u3001<code>button.submit: \'\u641c\u7d22\'</code></p></li><li><p><code>edit</code> \u7f16\u8f91\u6a21\u5f0f\uff0c\u81ea\u52a8\u8bbe\u7f6e <code>layout: horizontal</code>\u3001<code>firstVisual: false</code>\u3001<code>liveValidate: true</code>\u3001<code>button.submit: \'\u4fdd\u5b58\'</code></p></li></ul><h3 id="Schema\u56fd\u9645\u5316">Schema\u56fd\u9645\u5316<a onclick="window.location.hash = \'Schema\u56fd\u9645\u5316\'" class="anchor">#</a></h3><p><code><a data-toc="sf">sf</a></code> \u5e76\u4e0d\u652f\u6301\u4efb\u4f55 Schema \u56fd\u9645\u5316\u52a8\u4f5c\uff0c\u8fd9\u662f\u56e0\u4e3a\u672c\u8eab Schema \u662f\u4e00\u7ec4 JSON \u503c\uff0c\u56fd\u9645\u5316\u7684\u5b9e\u73b0\u53ea\u9700\u8981\u63d0\u4f9b\u4e0d\u540c\u8bed\u8a00\u7248\u672c\u5373\u53ef\u3002</p>',meta:{order:1,title:"\u5f00\u59cb\u4f7f\u7528",type:"Documents",module:"DelonFormModule",config:"DelonFormConfig"},toc:[{id:"\u7279\u6027",title:"\u7279\u6027",h:2},{id:"\u5982\u4f55\u9605\u8bfb",title:"\u5982\u4f55\u9605\u8bfb",h:2},{id:"\u5982\u4f55\u4f7f\u7528",title:"\u5982\u4f55\u4f7f\u7528",h:2},{id:"API",title:"API",h:2},{id:"sf",title:"sf",h:3},{id:"SFButton",title:"SFButton",h:3},{id:"\u7ec4\u4ef6\u65b9\u6cd5",title:"\u7ec4\u4ef6\u65b9\u6cd5",h:3},{id:"\u6309\u94ae\u8bf4\u660e",title:"\u6309\u94ae\u8bf4\u660e",h:3},{id:"\u5e38\u89c1\u95ee\u9898",title:"\u5e38\u89c1\u95ee\u9898",h:2},{id:"mode\u6709\u4ec0\u4e48\u4f5c\u7528\uff1f",title:"mode\u6709\u4ec0\u4e48\u4f5c\u7528\uff1f",h:3},{id:"Schema\u56fd\u9645\u5316",title:"Schema\u56fd\u9645\u5316",h:3}]}},demo:!1},this.codes=[]}}class i{constructor(){this.item={cols:1,urls:{"zh-CN":"packages/form/docs/layout.md"},content:{"zh-CN":{content:'<section class="markdown"><article><p>@delon/form \u5e03\u5c40\u662f\u57fa\u4e8e <a target="_blank" href="https://ng.ant.design/components/grid/zh" data-url="https://ng.ant.design/components/grid/zh">Grid</a> \u6805\u683c\u7cfb\u7edf\uff0c\u800c SFSchema \u7684<a href="/form/schema/en#%E6%B8%B2%E6%9F%93%E7%B1%BB" data-url="/form/schema/en#%E6%B8%B2%E6%9F%93%E7%B1%BB">\u6e32\u67d3\u7c7b</a>\u6765\u51b3\u5b9a\u5e03\u5c40\u53c2\u6570\u3002</p><p>\u8868\u5355\u5e03\u5c40\u5206\u4e3a\u884c\u5185\u3001\u5782\u76f4\u3001\u6c34\u5e73\uff08\u9ed8\u8ba4\uff09\u4e09\u7c7b\uff0c\u5b83\u7531 <a href="/form/getting-started/zh#API" data-url="/form/getting-started/zh#API">layout</a> \u51b3\u5b9a\u3002</p><h2 id="\u7c7b\u578b">\u7c7b\u578b<a onclick="window.location.hash = \'\u7c7b\u578b\'" class="anchor">#</a></h2><h3 id="\u884c\u5185">\u884c\u5185<a onclick="window.location.hash = \'\u884c\u5185\'" class="anchor">#</a></h3><p>\u8868\u5355\u9879\u6c34\u5e73\u884c\u5185\u6392\u5217\uff0c\u4e00\u822c\u7528\u4e8e\u7b80\u5355\u641c\u7d22\u6846\u3002</p><p>\u8868\u5355\u9879\u7684\u5bbd\u5ea6\u7531\u7ec4\u4ef6\u81ea\u8eab\u6765\u51b3\u5b9a\uff0c\u4f60\u53ef\u4ee5\u4f7f\u7528 <code>width</code> \u53c2\u6570\u6765\u8c03\u6574\u5176\u5927\u5c0f\uff0c\u50cf\u5c0f\u90e8\u4ef6 <code>select</code> \u53ef\u80fd\u4f1a\u56e0\u4e3a\u672a\u8bbe\u7f6e\u9ed8\u8ba4\u503c\u5012\u7f6e\u5bbd\u5ea6\u6781\u5c0f\u3002</p><blockquote><p>\u53ef\u901a\u8fc7\u8bbe\u7f6e <a href="/form/getting-started/zh#mode%E6%9C%89%E4%BB%80%E4%B9%88%E4%BD%9C%E7%94%A8%EF%BC%9F" data-url="/form/getting-started/zh#mode%E6%9C%89%E4%BB%80%E4%B9%88%E4%BD%9C%E7%94%A8%EF%BC%9F">mode</a> \u53c2\u6570\u6765\u5feb\u901f\u8bbe\u7f6e\u4e3a\u641c\u7d22\u6a21\u5f0f\u3002</p></blockquote><h3 id="\u5782\u76f4">\u5782\u76f4<a onclick="window.location.hash = \'\u5782\u76f4\'" class="anchor">#</a></h3><p>\u6807\u7b7e\u548c\u8868\u5355\u63a7\u4ef6\u4e0a\u4e0b\u5782\u76f4\u6392\u5217\u3002</p><h3 id="\u6c34\u5e73">\u6c34\u5e73<a onclick="window.location.hash = \'\u6c34\u5e73\'" class="anchor">#</a></h3><p>\u6807\u7b7e\u548c\u8868\u5355\u63a7\u4ef6\u6c34\u5e73\u6392\u5217\uff0c\u4e00\u822c\u7528\u4e8e\u7f16\u8f91\u9875\u3002</p><p>\u6c34\u5e73\u7c7b\u578b\u76f8\u5bf9\u4e8e\u884c\u5185\u4e0e\u5782\u76f4\u66f4\u590d\u6742\u4e00\u70b9\uff0c\u56e0\u4e3a\u4f1a\u6d89\u53ca\u54cd\u5e94\u5f0f\uff0c\u51b3\u5b9a\u6bcf\u4e2a\u8868\u5355\u9879\u6240\u7ad9\u7684\u683c\u6570\u662f\u7531 <a href="/form/schema#%E5%93%8D%E5%BA%94%E5%BC%8F%E5%B1%9E%E6%80%A7-SFGridSchema" data-url="/form/schema#%E5%93%8D%E5%BA%94%E5%BC%8F%E5%B1%9E%E6%80%A7-SFGridSchema">grid</a> \u5c5e\u6027\u6765\u51b3\u5b9a\u3002</p><blockquote><p>\u53ef\u901a\u8fc7\u8bbe\u7f6e <a href="/form/getting-started/zh#mode%E6%9C%89%E4%BB%80%E4%B9%88%E4%BD%9C%E7%94%A8%EF%BC%9F" data-url="/form/getting-started/zh#mode%E6%9C%89%E4%BB%80%E4%B9%88%E4%BD%9C%E7%94%A8%EF%BC%9F">mode</a> \u53c2\u6570\u6765\u5feb\u901f\u8bbe\u7f6e\u4e3a\u7f16\u8f91\u6a21\u5f0f\u3002</p></blockquote><p><strong>\u975e\u54cd\u5e94\u5f0f</strong></p><p>\u975e\u54cd\u5e94\u5f0f\u65f6\u53ea\u9700\u8981\u7ef4\u62a4 <code>span</code> \u5c5e\u6027\u5373\u53ef\u3002</p><p><strong>\u54cd\u5e94\u5f0f</strong></p><p>\u54cd\u5e94\u5f0f\u662f\u6839\u636e <code>xs</code>\u3001<code>sm</code>\u3001<code>md</code>\u3001<code>lg</code>\u3001<code>xl</code>\u3001<code>xxl</code> \u6765\u51b3\u5b9a\u4e0d\u540c\u5c4f\u5e55\u65f6\u51b3\u5b9a\u8981\u5360\u7528\u51e0\u683c\uff0c\u6709\u51e0\u4e2a\u6ce8\u610f\u70b9\uff1a</p><ul><li><p>\u6bcf\u4e00\u884c\u53ea\u80fd\u6709 <code>24</code> \u683c</p></li><li><p>\u8868\u793a\u4e24\u4e2a\u8868\u5355\u9879\u5728\u540c\u4e00\u884c\uff0c\u5219\u8bbe\u7f6e\u503c\u4e3a <code>12</code></p></li><li><p>\u8868\u793a\u5c4f\u5e55 <code>\u2265992px</code> \u65f6\u4e24\u4e2a\u8868\u5355\u9879\u5728\u540c\u4e00\u884c\uff0c\u5c0f\u4e8e\u5219\u6bcf\u4e2a\u8868\u5355\u9879\u4e3a\u4e00\u884c\uff0c\u5219\uff1a<code>{ sm: 24, md: 12 }</code></p></li></ul><h2 id="\u4e0d\u89c4\u5219\u5e03\u5c40">\u4e0d\u89c4\u5219\u5e03\u5c40<a onclick="window.location.hash = \'\u4e0d\u89c4\u5219\u5e03\u5c40\'" class="anchor">#</a></h2><p>\u5f53\u7136\uff0c\u8868\u5355\u4e0d\u53ef\u80fd\u6bcf\u4e00\u884c\u90fd\u6709\u56fa\u5b9a\u8868\u5355\u9879\u6570\u91cf\uff0c\u6709\u53ef\u80fd\u67d0\u4e2a\u8868\u5355\u9879\u4f1a\u5360\u7528\u4e00\u6574\u884c\uff0c\u7531\u4e8e\u6805\u683c\u7cfb\u7edf\u7684\u56e0\u7d20\uff0c\u8fd9\u4f1a\u4ea7\u751f\u53e6\u4e00\u4e2a\u95ee\u9898\uff1a<strong>\u6807\u7b7e\u65e0\u6cd5\u5bf9\u9f50</strong>\uff0csf \u63d0\u4f9b\u4e00\u79cd\u65b9\u6848\uff0c\u5373\u56fa\u5b9a\u6240\u6709\u6807\u7b7e\u7684\u5bbd\u5ea6 <code>spanLabelFixed</code> \u5c5e\u6027\uff0c\u4f8b\u5982\uff1a</p><pre class="hljs language-json"><code>{\n "properties": {\n "email": {\n "type": "string",\n "title": "\u90ae\u7bb1",\n "format": "email"\n },\n "name": {\n "type": "string",\n "title": "\u59d3\u540d",\n "minLength": 5\n },\n "remark": {\n "type": "string",\n "title": "\u63cf\u8ff0",\n "ui": {\n "widget": "textarea",\n "autosize": true,\n "grid": {\n "span": 24\n }\n }\n }\n },\n "ui": {\n "spanLabelFixed": 100,\n "grid": {\n "span": 12\n }\n }\n}</code></pre><h2 id="\u6309\u94ae">\u6309\u94ae<a onclick="window.location.hash = \'\u6309\u94ae\'" class="anchor">#</a></h2><p>\u6309\u94ae\u5e03\u5c40\u6e32\u67d3\u540c\u8868\u5355\u9879\u4e00\u6837\u5e03\u5c40\u3001\u53c2\u6570\uff0c\u53ef\u4ee5\u901a\u8fc7 <a href="/form/getting-started#SFButton" data-url="/form/getting-started#SFButton">SFButton</a> \u5c5e\u6027\u6765\u8c03\u6574\u6309\u94ae\u6e32\u67d3\u98ce\u683c\u3002</p><p><strong>\u6ce8\u610f\u4e8b\u9879</strong></p><ul><li><p>\u503c\u4e3a <code>null</code> \u6216 <code>undefined</code> \u8868\u793a\u624b\u52a8\u6dfb\u52a0\u6309\u94ae\uff0c\u4f46\u4fdd\u7559\u5bb9\u5668</p></li><li><p>\u503c\u4e3a <code>none</code> \u8868\u793a\u624b\u52a8\u6dfb\u52a0\u6309\u94ae\uff0c\u4e14\u4e0d\u4fdd\u7559\u5bb9\u5668</p></li><li><p>\u4f7f\u7528 <code>spanLabelFixed</code> \u56fa\u5b9a\u6807\u7b7e\u5bbd\u5ea6\u65f6\uff0c\u82e5\u65e0 <code>render.class</code> \u5219\u9ed8\u8ba4\u4e3a\u5c45\u4e2d\u72b6\u6001</p></li></ul><p><strong>\u81ea\u5b9a\u4e49</strong></p><p>\u5f53\u4f60\u5e0c\u671b\u81ea\u5b9a\u4e49\u6309\u94ae\u65f6\uff0c\u52a1\u5fc5\u8bbe\u7f6e <code>button</code> \u503c\u4e3a <code>null</code>\u3002</p><pre class="hljs language-html"><code><sf #sf [button]="null">\n <button type="submit" nz-button [disabled]="!sf.valid">\u4fdd\u5b58</button>\n <button (click)="sf.reset()" type="button" nz-button>\u91cd\u7f6e</button>\n</sf></code></pre></article></section>',meta:{order:5,title:"\u5982\u4f55\u5e03\u5c40",type:"Documents"},toc:[{id:"\u7c7b\u578b",title:"\u7c7b\u578b",h:2},{id:"\u884c\u5185",title:"\u884c\u5185",h:3},{id:"\u5782\u76f4",title:"\u5782\u76f4",h:3},{id:"\u6c34\u5e73",title:"\u6c34\u5e73",h:3},{id:"\u4e0d\u89c4\u5219\u5e03\u5c40",title:"\u4e0d\u89c4\u5219\u5e03\u5c40",h:2},{id:"\u6309\u94ae",title:"\u6309\u94ae",h:2}]}},demo:!1},this.codes=[]}}class r{constructor(){this.item={cols:1,urls:{"zh-CN":"packages/form/docs/qa.md"},content:{"zh-CN":{content:"<section class=\"markdown\"><article><h2 id=\"path\">path<a onclick=\"window.location.hash = 'path'\" class=\"anchor\">#</a></h2><p>\u6709\u8bb8\u591a\u65b9\u6cd5\u90fd\u9700\u8981\u4f20\u9012 <code>path</code> \u53c2\u6570\uff0c\u5b83\u4f7f\u7528 <code>/</code> \u5206\u9694\u7b26\u6765\u8868\u793a\u8bbf\u95ee\u8868\u5355\u5bf9\u8c61\u8def\u5f84\uff0c\u4f8b\u5982\u4e00\u4e2a JSON Schema \u793a\u4f8b\uff1a</p><pre class=\"hljs language-ts\"><code>schema: SFSchema = {\n properties: {\n app: {\n type: 'string',\n title: 'APP',\n },\n user: {\n type: 'object',\n properties: {\n name: {\n type: 'string',\n },\n age: {\n type: 'number',\n },\n }\n },\n }\n};</code></pre><p>\u4ee5\u4e0b <code>path</code> \u884c\u4e3a\u90fd\u6709\u6548\uff1a</p><ul><li><p><code>/app</code></p></li><li><p><code>/user/name</code></p></li></ul><p>\u4f7f\u7528 <code>/</code> \u5f00\u5934\u65f6\u8868\u793a\u4ece\u6839\u8def\u5f84\u67e5\u627e\uff0c\u53cd\u4e4b\u4ece\u5f53\u524d\u8def\u5f84\u5411\u4e0b\u67e5\u627e\u3002</p><h2 id=\"\u4e3a\u4ec0\u4e48\u975e\u5b9e\u65f6\u6821\u9a8c\u90e8\u5206\u81ea\u5b9a\u4e49\u6821\u9a8c\u65e0\u6cd5\u751f\u6548\uff1f\">\u4e3a\u4ec0\u4e48\u975e\u5b9e\u65f6\u6821\u9a8c\u90e8\u5206\u81ea\u5b9a\u4e49\u6821\u9a8c\u65e0\u6cd5\u751f\u6548\uff1f<a onclick=\"window.location.hash = '\u4e3a\u4ec0\u4e48\u975e\u5b9e\u65f6\u6821\u9a8c\u90e8\u5206\u81ea\u5b9a\u4e49\u6821\u9a8c\u65e0\u6cd5\u751f\u6548\uff1f'\" class=\"anchor\">#</a></h2><p>\u7531\u4e8e\u975e\u5b9e\u65f6\u6821\u9a8c\uff08\u8bbe\u7f6e <code>liveValidate:false</code>\uff09\u4e0d\u4f1a\u91cd\u65b0\u5bf9\u6bcf\u4e2a\u5143\u7d20\u6267\u884c\u4e00\u6b21\u6821\u9a8c\uff0c\u867d\u7136\u80fd\u505a\u5230\uff0c\u4f46\u81ea\u5b9a\u4e49\u6821\u9a8c\u6709\u53ef\u80fd\u5b58\u5728\u5f02\u6b65\uff0c\u65e0\u6cd5\u4fdd\u8bc1\u6267\u884c\u7684\u987a\u5e8f\uff0c\u56e0\u6b64\u975e\u5b9e\u65f6\u6821\u9a8c\u5b9e\u9645\u53ea\u5bf9 JSON Schema \u672c\u8eab\u7684\u6821\u9a8c\u3002</p><h2 id=\"\u5982\u4f55\u52a8\u6001\u4f7f\u7528-Schema\uff1f\">\u5982\u4f55\u52a8\u6001\u4f7f\u7528 Schema\uff1f<a onclick=\"window.location.hash = '\u5982\u4f55\u52a8\u6001\u4f7f\u7528-Schema\uff1f'\" class=\"anchor\">#</a></h2><p>\u4e00\u822c\u5206\u4e3a\u4e24\u79cd\u60c5\u5f62\uff1a</p><p><strong>1\u3001Schema \u5b9a\u4e49\u540e\u53ef\u80fd\u53d7\u9650\u4e8e\u67d0\u4e2a\u6570\u636e\u6765\u81ea\u8fdc\u7a0b</strong></p><pre class=\"hljs language-ts\"><code>@ViewChild('sf', { static: false }) sf: SFComponent;\nschema: SFSchema = {\n properties: {\n app: {\n type: 'string',\n title: '\u9644\u5c5e\u5e94\u7528',\n ui: 'select',\n enum: []\n }\n }\n};\n\nngOnInit() {\n this.http.get('/apps').subscribe((res: any) => {\n this.schema.properties.app.enum = res;\n this.sf.refreshSchema();\n });\n}</code></pre><p><strong>2\u3001\u8fdc\u7a0b Schema</strong></p><pre class=\"hljs language-ts\"><code>schema: SFSchema = {\n properties: {}\n};\n\nngOnInit() {\n this.http.get('/schema').subscribe((res: any) => this.sf.refreshSchema(res));\n}</code></pre><h2 id=\"\u4ec0\u4e48\u65f6\u5019\u4f7f\u7528-default\uff1f\">\u4ec0\u4e48\u65f6\u5019\u4f7f\u7528 <code>default</code>\uff1f<a onclick=\"window.location.hash = '\u4ec0\u4e48\u65f6\u5019\u4f7f\u7528-default\uff1f'\" class=\"anchor\">#</a></h2><p>Schema \u7684 <code>default</code> \u7528\u4e8e\u8bbe\u7f6e\u521d\u59cb\u5316\uff0c\u4e00\u822c\u60c5\u51b5\u4e0b\u5f53\u4fee\u6539\u8868\u5355\u65f6\u662f\u9700\u8981\u63d0\u4f9b <code>formData</code> \u53c2\u6570\uff0c\u4f46\u5bf9\u4e8e\u589e\u52a0\u8868\u5355\u6765\u8bf4\uff0c\u5e94\u8be5\u4f9d\u9760 <code>default</code> \u63d0\u4f9b\u4e00\u4e2a\u66f4\u53cb\u597d\u7684\u8868\u5355\u7ed9\u7528\u6237\u3002</p><h2 id=\"\u5982\u4f55\u5237\u65b0\u7279\u5b9a-Schema\uff1f\">\u5982\u4f55\u5237\u65b0\u7279\u5b9a Schema\uff1f<a onclick=\"window.location.hash = '\u5982\u4f55\u5237\u65b0\u7279\u5b9a-Schema\uff1f'\" class=\"anchor\">#</a></h2><p>\u53ef\u4ee5\u901a\u8fc7 <code>getProperty</code> \u65b9\u6cd5\u6765\u83b7\u53d6\u67d0\u4e2a Schema \u7684\u5c5e\u6027\uff0c\u5176\u5c5e\u6027\u5305\u542b Schema \u6570\u636e\u4ee5\u53ca Ui \u6570\u636e\uff0c\u53ef\u4ee5\u4fee\u6539\u8fd9\u4e9b\u6570\u636e\uff0c\u5e76\u91cd\u65b0\u8c03\u7528\u5c0f\u90e8\u4ef6\u7684 <code>reset</code> \u65b9\u6cd5\u91cd\u65b0\u6e32\u67d3\u8be5 Schema\uff0c\u4f8b\u5982\uff1a</p><pre class=\"hljs language-ts\"><code>const statusProperty = this.sf.getProperty('/status')!;\nstatusProperty.schema.enum = ['1', '2', '3'];\nstatusProperty.widget.reset('2');</code></pre></article></section>",meta:{order:99,title:"\u5e38\u89c1\u95ee\u9898",type:"Documents"},toc:[{id:"path",title:"path",h:2},{id:"\u4e3a\u4ec0\u4e48\u975e\u5b9e\u65f6\u6821\u9a8c\u90e8\u5206\u81ea\u5b9a\u4e49\u6821\u9a8c\u65e0\u6cd5\u751f\u6548\uff1f",title:"\u4e3a\u4ec0\u4e48\u975e\u5b9e\u65f6\u6821\u9a8c\u90e8\u5206\u81ea\u5b9a\u4e49\u6821\u9a8c\u65e0\u6cd5\u751f\u6548\uff1f",h:2},{id:"\u5982\u4f55\u52a8\u6001\u4f7f\u7528-Schema\uff1f",title:"\u5982\u4f55\u52a8\u6001\u4f7f\u7528 Schema\uff1f",h:2},{id:"\u4ec0\u4e48\u65f6\u5019\u4f7f\u7528-default\uff1f",title:"\u4ec0\u4e48\u65f6\u5019\u4f7f\u7528 default\uff1f",h:2},{id:"\u5982\u4f55\u5237\u65b0\u7279\u5b9a-Schema\uff1f",title:"\u5982\u4f55\u5237\u65b0\u7279\u5b9a Schema\uff1f",h:2}]}},demo:!1},this.codes=[]}}class s{constructor(){this.item={cols:1,urls:{"en-US":"packages/form/docs/schema.en-US.md","zh-CN":"packages/form/docs/schema.zh-CN.md"},content:{"en-US":{content:'<section class="markdown"><article><h2 id="Prologue">Prologue<a onclick="window.location.hash = \'Prologue\'" class="anchor">#</a></h2><p><a target="_blank" href="http://json-schema.org/" data-url="http://json-schema.org/">JSON Schema</a> is a specification to define JSON data structure, it doesn\'t include detailed explanation about how to convert the specification to specific forms, <code>@delon/form</code> is a dynamic form library developed based on our own understanding of JSON Schema and current data input components of <code>ng-zorro-antd</code>.</p><p>JSON Schema <strong>must always</strong> have a type <code>type="object"</code> as <strong>root node</strong>\uff0ctherefore a simplest Schema structure at least is:</p><pre class="hljs language-ts"><code>schema = {\n type: \'object\', // optional, set to `object` by default\n properties: {}\n}</code></pre><p>Ahead of dscribing Schema, it is necessary to make a systematic description about the relationship between form elements and Schema.</p><p>As we know, form is a set of HTML elements, every element maps to one Schema property, a property has it\'s own data type, format, visual information, etc., but this is not enough to describe the rich APIs provided by <code>ng-zorro-antd</code>. In order to better use these APIs, <code>@delon/form</code> not only implemented most standard JSON Schema, but also added an additional property <code>ui</code>, which is used to describe how to render the property.</p><h3 id="Non-Pollution">Non Pollution<a onclick="window.location.hash = \'Non-Pollution\'" class="anchor">#</a></h3><p>Of course, you can set <code><sf [ui]="ui"></code> to add additional UI rendering if you have strict requirement about standard, or JSON Schema data is generated from backend. For example:</p><pre class="hljs language-ts"><code>schema = {\n properties: {\n url: {\n type: \'string\',\n title: \'Web Site\'\n }\n }\n}</code></pre><p>A URL property, the pure JSON Schema structure cann\'t describe about adding prefix <code>https://</code>, but <code>nz-input</code> supports very rich prefix and postfix texts, so we can customize it in <code>ui</code> to add prefix <code>https://</code>:</p><pre class="hljs language-ts"><code>ui = {\n $url: {\n addOnBefore: \'https://\'\n }\n}</code></pre><p><code>ui</code> itself is a JSON structure, in order to distinguish with relationship of JSON Schema property, <strong>must</strong> add prefix <code>$</code> to all properties; must replace array elements with <code>$items</code>. When KEY is <code>*</code>, it is valid for all properties.</p><h3 id="Relationship-between-Form-and-Data-Structure">Relationship between Form and Data Structure<a onclick="window.location.hash = \'Relationship-between-Form-and-Data-Structure\'" class="anchor">#</a></h3><p>We think a complete form should include some of following elements:</p><p><img src="./assets/img/form-input.png" /></p><p>Description from left to right:</p><table><thead><tr><th>Structure Source</th><th>Parameter</th><th>Description</th><th>Type</th><th>Default Value</th></tr></thead><tbody><tr><td>Schema</td><td><code>[required]</code></td><td>If required</td><td><code>string[]</code></td><td>-</td></tr><tr><td>Schema</td><td><code>[title]</code></td><td>Title</td><td><code>string</code></td><td>-</td></tr><tr><td>ui</td><td><code>[optional]</code></td><td>Optional information</td><td><code>string</code></td><td>-</td></tr><tr><td>ui</td><td><code>[optionalHelp]</code></td><td>Optional help information</td><td><code>string, SFOptionalHelp</code></td><td>-</td></tr><tr><td>ui</td><td><code>[placeholder]</code></td><td>Placeholder</td><td><code>string</code></td><td>-</td></tr><tr><td>Schema</td><td><code>[description]</code></td><td>Description for the property</td><td><code>string</code></td><td>-</td></tr><tr><td>-</td><td><code>[error]</code></td><td>Error information</td><td><code>string</code></td><td>-</td></tr></tbody></table><h3 id="Some-Specifications">Some Specifications<a onclick="window.location.hash = \'Some-Specifications\'" class="anchor">#</a></h3><ul><li><p>Following camelCase to name <code>key</code></p></li><li><p>You can ignore description marked as <strong>Not recommended</strong> if you are very familiar with JSON Schema.</p></li></ul><h2 id="JSON-Schema\uff08SFSchema\uff09">JSON Schema\uff08SFSchema\uff09<a onclick="window.location.hash = \'JSON-Schema\uff08SFSchema\uff09\'" class="anchor">#</a></h2><p>JSON Schema has complete specification descrbes for each property, <code>@delon/form</code> is currently based on specification <a target="_blank" href="http://json-schema.org/" data-url="http://json-schema.org/">draft-07</a>, following is the detailed explanation of specification:</p><h3 id="Common-Type">Common Type<a onclick="window.location.hash = \'Common-Type\'" class="anchor">#</a></h3><table><thead><tr><th>Parameter</th><th>Description</th><th>Type</th><th>Default Value</th></tr></thead><tbody><tr><td><code>[type]</code></td><td>Data type, support JavaScript basic types</td><td><code>number,string,boolean,object,array</code></td><td><code>object</code></td></tr><tr><td><code>[enum]</code></td><td>Enum, static data source</td><td><code>SFSchemaEnumType[]</code></td><td>-</td></tr></tbody></table><h3 id="Value-Type">Value Type<a onclick="window.location.hash = \'Value-Type\'" class="anchor">#</a></h3><table><thead><tr><th>Parameter</th><th>Description</th><th>Type</th><th>Default Value</th></tr></thead><tbody><tr><td><code>[minimum]</code></td><td>Minimum value</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[exclusiveMinimum]</code></td><td>If excluding <code>minimum</code> value</td><td><code>boolean</code></td><td>-</td></tr><tr><td><code>[maximum]</code></td><td>Maximum value</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[exclusiveMaximum]</code></td><td>If excluding <code>maximum</code> value</td><td><code>boolean</code></td><td>-</td></tr><tr><td><code>[multipleOf]</code></td><td>Multiple</td><td><code>number</code></td><td>-</td></tr></tbody></table><p><strong>About exclusiveMinimum and exclusiveMaximum</strong></p><p>The implementation mechanism of <code>sf</code> causes that it couldn\'t handle error capturing for <code>type</code> perpectly, therefore <code>sf</code> ignores all <code>type</code> (see <a target="_blank" href="https://github.com/ng-alain/delon/blob/master/packages/form/src/config.ts#L12" data-url="https://github.com/ng-alain/delon/blob/master/packages/form/src/config.ts#L12">config.ts</a>) errors by default, these two kinds of errors are considered as <code>type</code> error, which will trigger invalid check. (find more details from <a target="_blank" href="https://github.com/ng-alain/ng-alain/issues/676#issuecomment-420208459" data-url="https://github.com/ng-alain/ng-alain/issues/676#issuecomment-420208459">#676</a>\uff09</p><h3 id="String-Type">String Type<a onclick="window.location.hash = \'String-Type\'" class="anchor">#</a></h3><table><thead><tr><th>Parameter</th><th>Description</th><th>Type</th><th>Default Value</th></tr></thead><tbody><tr><td><code>[maxLength]</code></td><td>Maximum length of string</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[minLength]</code></td><td>Minimum length of string</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[pattern]</code></td><td>Regular expression, must set if <code>format: \'regex\'</code> has been set</td><td><code>string</code></td><td>-</td></tr></tbody></table><h3 id="Array-Type">Array Type<a onclick="window.location.hash = \'Array-Type\'" class="anchor">#</a></h3><table><thead><tr><th>Parameter</th><th>Description</th><th>Type</th><th>Default Value</th></tr></thead><tbody><tr><td><code>[items]</code></td><td>Array element description, only support array object. Can use other components if array of basic type is needed</td><td><code>SFSchema</code></td><td>-</td></tr><tr><td><code>[minItems]</code></td><td>Minimum number of element in array</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[maxItems]</code></td><td>Maximum number of element in array</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[uniqueItems]</code></td><td>Element is unique in array</td><td><code>boolean</code></td><td>-</td></tr><tr><td><code>[additionalItems]</code></td><td>additional validation rules for array</td><td><code>SFSchema</code></td><td>-</td></tr></tbody></table><h3 id="Object-Type">Object Type<a onclick="window.location.hash = \'Object-Type\'" class="anchor">#</a></h3><table><thead><tr><th>Parameter</th><th>Description</th><th>Type</th><th>Default Value</th></tr></thead><tbody><tr><td><code>[maxProperties]</code></td><td>Maximum number of property, must be a nonnegative integer</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[minProperties]</code></td><td>Maximum number of property, must be a nonnegative integer</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[required]</code></td><td>If required</td><td><code>string[]</code></td><td>-</td></tr><tr><td><code>[properties]</code></td><td>Propery definition</td><td><code>{ [key: string]: SFSchema }</code></td><td>-</td></tr></tbody></table><h3 id="Condition-Type">Condition Type<a onclick="window.location.hash = \'Condition-Type\'" class="anchor">#</a></h3><table><thead><tr><th>Parameter</th><th>Description</th><th>Type</th><th>Default Value</th></tr></thead><tbody><tr><td><code>[if]</code></td><td>Condition validation</td><td><code>SFSchema</code></td><td>-</td></tr><tr><td><code>[then]</code></td><td>Condition validation</td><td><code>SFSchema</code></td><td>-</td></tr><tr><td><code>[else]</code></td><td>Condition validation</td><td><code>SFSchema</code></td><td>-</td></tr></tbody></table><p>Validation of condition check is very strong and rich, but considering it breaks UI and adds complexity to component build, <code>@delon/form</code> only implements <code>required</code>, and uses it to determine if need validation, for example, a login page, it can show different login mode based on different login methods:</p><pre class="hljs language-ts"><code>schema: SFSchema = {\n properties: {\n type: { type: \'string\', enum: [ \'mobile\', \'name\' ], default: \'mobile\' },\n name: { type: \'string\' },\n pwd: { type: \'string\' },\n mobile: { type: \'string\' },\n code: { type: \'string\' }\n },\n required: [ \'type\' ],\n if: {\n properties: { type: { enum: [ \'mobile\' ] } }\n },\n then: {\n required: [ \'mobile\', \'code\' ]\n },\n else: {\n required: [ \'name\', \'pwd\' ]\n }\n};</code></pre><p>For above configuraion, eventual behavior is showing <code>mobile</code> and <code>code</code> in UI when login method is <code>mobile</code>, otherwise, showing <code>name</code> and <code>pwd</code>.</p><p>Actually, condition type is eventually parsed to <code>ui.visibleIf</code>, more information maybe added into condition type in the future.</p><h3 id="Logic-Type">Logic Type<a onclick="window.location.hash = \'Logic-Type\'" class="anchor">#</a></h3><table><thead><tr><th>Parameter</th><th>Description</th><th>Type</th><th>Default Value</th></tr></thead><tbody><tr><td><code>[allOf]</code></td><td><strong>Not recommended</strong>, can be replaced by <code>required</code></td><td><code>SFSchema[]</code></td><td>-</td></tr><tr><td><code>[anyOf]</code></td><td><strong>Not recommended</strong>, can be replaced by <code>required</code> and <code>minProperties</code></td><td><code>SFSchema[]</code></td><td>-</td></tr><tr><td><code>[oneOf]</code></td><td><strong>Not recommended</strong>, value must be one of</td><td><code>SFSchema[]</code></td><td>-</td></tr></tbody></table><blockquote><p><strong>Not recommended</strong>, mainly because there is no UI handle for logic type, it\'s similar to condition type, will affect UI rendering.</p></blockquote><h3 id="Format-and-Visual-Type">Format and Visual Type<a onclick="window.location.hash = \'Format-and-Visual-Type\'" class="anchor">#</a></h3><table><thead><tr><th>Parameter</th><th>Description</th><th>Type</th><th>Default Value</th></tr></thead><tbody><tr><td><code>[title]</code></td><td>Title</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[description]</code></td><td>Description</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[default]</code></td><td>Default value</td><td><code>any</code></td><td>-</td></tr><tr><td><code>[readOnly]</code></td><td>If read only, equals to <code>nzDisabled</code></td><td><code>boolean</code></td><td>-</td></tr><tr><td><code>[format]</code></td><td>Data format, <a target="_blank" href="http://json-schema.org/latest/json-schema-validation.html#rfc.section.7.3" data-url="http://json-schema.org/latest/json-schema-validation.html#rfc.section.7.3">Doc</a></td><td><code>string</code></td><td>-</td></tr></tbody></table><h3 id="Other">Other<a onclick="window.location.hash = \'Other\'" class="anchor">#</a></h3><table><thead><tr><th>Parameter</th><th>Description</th><th>Type</th><th>Default Value</th></tr></thead><tbody><tr><td><code>[definitions]</code></td><td>Internal definition</td><td><code>SFSchemaDefinition</code></td><td>-</td></tr><tr><td><code>[$ref]</code></td><td>Reference definition</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[$comment]</code></td><td>Comment for developer, no real meaning, won\'t be validated</td><td><code>string</code></td><td>-</td></tr></tbody></table><h3 id="Non-Standard">Non Standard<a onclick="window.location.hash = \'Non-Standard\'" class="anchor">#</a></h3><table><thead><tr><th>Parameter</th><th>Description</th><th>Type</th><th>Default Value</th></tr></thead><tbody><tr><td><code>[ui]</code></td><td>UI configuration, has more priority than <code>ui</code> property of <code>sf</code> component</td><td><code>SFUISchemaItem</code></td><td>-</td></tr></tbody></table><h2 id="UI\uff08SFUISchemaItem\uff09">UI\uff08SFUISchemaItem\uff09<a onclick="window.location.hash = \'UI\uff08SFUISchemaItem\uff09\'" class="anchor">#</a></h2><p>UI Schema structure is composed by commonality and widgets, following is descriptioin of commonality part, please refer to widget API for widget part.</p><blockquote><p>In order to keep integrity of API, Schema of widget may includes commonality information.</p></blockquote><h3 id="SFUISchema">SFUISchema<a onclick="window.location.hash = \'SFUISchema\'" class="anchor">#</a></h3><p>Equals to <code><sf [ui]="ui"></code>, a group of UI structure corresponds to JSON Schema structure, type is: <code>[ key: string ]: SFUISchemaItem</code>\u3002</p><h3 id="Basic-Type">Basic Type<a onclick="window.location.hash = \'Basic-Type\'" class="anchor">#</a></h3><table><thead><tr><th>Parameter</th><th>Description</th><th>Type</th><th>Default Value</th></tr></thead><tbody><tr><td><code>[debug]</code></td><td>Debug mode</td><td><code>boolean</code></td><td>-</td></tr><tr><td><code>[order]</code></td><td>Order of property</td><td><code>string[]</code></td><td>-</td></tr><tr><td><code>[asyncData]</code></td><td>Asynchronized static data source</td><td><code>(input?: any) => Observable<SFSchemaEnumType[]></code></td><td>-</td></tr><tr><td><code>[hidden]</code></td><td>If hide</td><td><code>boolean</code></td><td><code>false</code></td><td></td></tr><tr><td><code>[visibleIf]</code></td><td>Is visible with conditions</td><td><code>{ [key: string]: any[] | ((value: any) => boolean) }</code></td><td>-</td></tr><tr><td><code>[acl]</code></td><td>ACL permission (Use <code>can()</code> verify)</td><td><code>ACLCanType</code></td><td>-</td></tr></tbody></table><p><strong>visibleIf</strong></p><p>Is visible with conditions, for example:</p><ul><li><p><code>visibleIf: { shown: [ true ] }</code>: show current property when <code>shown: true</code></p></li><li><p><code>visibleIf: { shown: [ \'$ANY$\' ] }</code>: show current property when <code>shown</code> is any value</p></li><li><p><code>visibleIf: { shown: (value: any) => value > 0 }</code>: complex expression</p></li></ul><h3 id="Validation-Type">Validation Type<a onclick="window.location.hash = \'Validation-Type\'" class="anchor">#</a></h3><table><thead><tr><th>Parameter</th><th>Description</th><th>Type</th><th>Default Value</th></tr></thead><tbody><tr><td><code>[liveValidate]</code></td><td>If realtime validation</td><td><code>boolean</code></td><td><code>true</code></td></tr><tr><td><code>[firstVisual]</code></td><td>If show visual error immediately</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[onlyVisual]</code></td><td>If only show visiual error not error text</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[ingoreKeywords]</code></td><td>Ignore validation for some data types</td><td><code>string[]</code></td><td></td></tr><tr><td><code>[errors]</code></td><td>Customized error text</td><td><code>{ [ key: string ]: string | ((obj: ErrorData) => string) }</code></td><td>-</td></tr><tr><td><code>[validator]</code></td><td>Customized validator</td><td><code>(value: any, formProperty: FormProperty, form: PropertyGroup) => ErrorData[]</code></td><td>-</td></tr></tbody></table><h3 id="Array-Type">Array Type<a onclick="window.location.hash = \'Array-Type\'" class="anchor">#</a></h3><table><thead><tr><th>Parameter</th><th>Description</th><th>Type</th><th>Default Value</th></tr></thead><tbody><tr><td><code>[items]</code></td><td>UI of specific sub element</td><td><code><a data-toc="SFUISchema">SFUISchema</a></code></td><td>-</td></tr><tr><td><code>[addTitle]</code></td><td>Add Title</td><td><code>string</code></td><td><code>Add</code></td></tr><tr><td><code>[addType]</code></td><td>Add button style, equals to <code>nzType</code></td><td><code>string</code></td><td><code>dashed</code></td></tr><tr><td><code>[removable]</code></td><td>If show remove button</td><td><code>boolean</code></td><td>-</td></tr><tr><td><code>[removeTitle]</code></td><td>Text of remove button</td><td><code>string</code></td><td><code>Remove</code></td></tr></tbody></table><h3 id="Form-Element-Type">Form Element Type<a onclick="window.location.hash = \'Form-Element-Type\'" class="anchor">#</a></h3><table><thead><tr><th>Parameter</th><th>Description</th><th>Type</th><th>Default Value</th></tr></thead><tbody><tr><td><code>[type]</code></td><td><code>type</code> of <code>input</code></td><td><code>string</code></td><td><code>text</code></td></tr><tr><td><code>[placeholder]</code></td><td>placeholder</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[autofocus]</code></td><td>If auto focus during loading</td><td><code>boolean</code></td><td>-</td></tr></tbody></table><h3 id="Render-Type">Render Type<a onclick="window.location.hash = \'Render-Type\'" class="anchor">#</a></h3><table><thead><tr><th>Parameter</th><th>Description</th><th>Type</th><th>Default Value</th></tr></thead><tbody><tr><td><code>[widget]</code></td><td>Widget</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[i18n]</code></td><td>Refers to the i18n key of <code>schema.title</code></td><td><code>string</code></td><td>-</td></tr><tr><td><code>[descriptionI18n]</code></td><td>Refers to the i18n key of <code>schema.description</code></td><td><code>string</code></td><td>-</td></tr><tr><td><code>[class]</code></td><td>Customized class, equals to <code>[ngClass]</code></td><td><code>string,string[]</code></td><td>-</td></tr><tr><td><code>[width]</code></td><td>Width, unit: <code>px</code></td><td><code>number</code></td><td>-</td></tr><tr><td><code>[size]</code></td><td>Size of element</td><td><code>default,large,small</code></td><td>-</td></tr><tr><td><code>[grid]</code></td><td>Property for responsive</td><td><code>SFGridSchema</code></td><td>-</td></tr><tr><td><code>[optional]</code></td><td>Optional</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[optionalHelp]</code></td><td>Optional help</td><td><code>string, SFOptionalHelp</code></td><td>-</td></tr></tbody></table><h3 id="Responsive-Property-SFGridSchema">Responsive Property SFGridSchema<a onclick="window.location.hash = \'Responsive-Property-SFGridSchema\'" class="anchor">#</a></h3><p><code>grid</code> equals to complete <a target="_blank" href="https://ng.ant.design/components/grid/en" data-url="https://ng.ant.design/components/grid/en">Grid</a>, can determine how to render the form by <code>grid</code></p><table><thead><tr><th>Parameter</th><th>Description</th><th>Type</th><th>Default Value</th></tr></thead><tbody><tr><td><code>[gutter]</code></td><td>Gutter</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[span]</code></td><td>Number of column for each element, <code>0</code> means <code>display: none</code></td><td><code>number</code></td><td>-</td></tr><tr><td><code>[xs]</code></td><td><code><768px</code> responsive grid, can be number of columns or including object of other properties</td><td><code>number, SFGridSizeSchema</code></td><td>-</td></tr><tr><td><code>[sm]</code></td><td><code>\u2265768px</code> responsive grid, can be number of columns or including object of other properties</td><td><code>number, SFGridSizeSchema</code></td><td>-</td></tr><tr><td><code>[md]</code></td><td><code>\u2265992px</code> responsive grid, can be number of columns or including object of other properties</td><td><code>number, SFGridSizeSchema</code></td><td>-</td></tr><tr><td><code>[lg]</code></td><td><code>\u22651200px</code> responsive grid, can be number of columns or including object of other properties</td><td><code>number, SFGridSizeSchema</code></td><td>-</td></tr><tr><td><code>[xl]</code></td><td><code>\u22651600px</code> responsive grid, can be number of columns or including object of other properties</td><td><code>number, SFGridSizeSchema</code></td><td>-</td></tr><tr><td><code>[xxl]</code></td><td>Reserved field, support after version <code>0.7.0</code></td><td><code>number, SFGridSizeSchema</code></td><td>-</td></tr></tbody></table><h3 id="Horizontal-Layout-Type">Horizontal Layout Type<a onclick="window.location.hash = \'Horizontal-Layout-Type\'" class="anchor">#</a></h3><blockquote><p>The sum of label and control <strong>must</strong> be <code>24</code></p></blockquote><table><thead><tr><th>Parameter</th><th>Description</th><th>Type</th><th>Default Value</th></tr></thead><tbody><tr><td><code>[spanLabel]</code></td><td>Number of column for <code>label</code></td><td><code>number</code></td><td>5</td></tr><tr><td><code>[spanControl]</code></td><td>Number of column for form element</td><td><code>number</code></td><td>19</td></tr><tr><td><code>[offsetControl]</code></td><td>Number of column for left side of <code>control</code></td><td><code>number</code></td><td>-</td></tr><tr><td><code>[spanLabelFixed]</code></td><td>Fixed width for <code>label</code></td><td><code>number</code></td><td>-</td></tr></tbody></table></article></section>',meta:{order:2,title:"Schema",type:"Documents"},toc:[{id:"Prologue",title:"Prologue",h:2},{id:"Non-Pollution",title:"Non Pollution",h:3},{id:"Relationship-between-Form-and-Data-Structure",title:"Relationship between Form and Data Structure",h:3},{id:"Some-Specifications",title:"Some Specifications",h:3},{id:"JSON-Schema\uff08SFSchema\uff09",title:"JSON Schema\uff08SFSchema\uff09",h:2},{id:"Common-Type",title:"Common Type",h:3},{id:"Value-Type",title:"Value Type",h:3},{id:"String-Type",title:"String Type",h:3},{id:"Array-Type",title:"Array Type",h:3},{id:"Object-Type",title:"Object Type",h:3},{id:"Condition-Type",title:"Condition Type",h:3},{id:"Logic-Type",title:"Logic Type",h:3},{id:"Format-and-Visual-Type",title:"Format and Visual Type",h:3},{id:"Other",title:"Other",h:3},{id:"Non-Standard",title:"Non Standard",h:3},{id:"UI\uff08SFUISchemaItem\uff09",title:"UI\uff08SFUISchemaItem\uff09",h:2},{id:"SFUISchema",title:"SFUISchema",h:3},{id:"Basic-Type",title:"Basic Type",h:3},{id:"Validation-Type",title:"Validation Type",h:3},{id:"Array-Type",title:"Array Type",h:3},{id:"Form-Element-Type",title:"Form Element Type",h:3},{id:"Render-Type",title:"Render Type",h:3},{id:"Responsive-Property-SFGridSchema",title:"Responsive Property SFGridSchema",h:3},{id:"Horizontal-Layout-Type",title:"Horizontal Layout Type",h:3}]},"zh-CN":{content:'<section class="markdown"><article><h2 id="\u5199\u5728\u524d\u9762">\u5199\u5728\u524d\u9762<a onclick="window.location.hash = \'\u5199\u5728\u524d\u9762\'" class="anchor">#</a></h2><p><a target="_blank" href="http://json-schema.org/" data-url="http://json-schema.org/">JSON Schema</a> \u662f\u4e00\u79cd\u6807\u51c6\u7684\u5b9a\u4e49 JSON \u6570\u636e\u7ed3\u6784\u7684\u89c4\u8303\uff0c\u5e76\u4e0d\u5305\u542b\u5bf9\u8fd9\u4e9b\u89c4\u8303\u8f6c\u6362\u6210\u8868\u5355\u5177\u4f53\u8bf4\u660e\uff0c<code>@delon/form</code> \u4e5f\u662f\u6839\u636e\u81ea\u5df1\u7684\u7406\u89e3\u5e76\u7ed3\u5408 <code>ng-zorro-antd</code> \u73b0\u6709\u6570\u636e\u5f55\u5165\u7ec4\u4ef6\u5e93\u4ea7\u751f\u7684\u52a8\u6001\u6784\u5efa\u8868\u5355\u7c7b\u5e93\u3002</p><p>JSON Schema <strong>\u59cb\u7ec8</strong>\u90fd\u5fc5\u987b\u6709\u4e00\u4e2a\u7c7b\u578b\u4e3a <code>type="object"</code> \u4f5c\u4e3a<strong>\u6839\u8282\u70b9</strong>\uff0c\u56e0\u6b64\u4e00\u4e2a\u6700\u7b80\u5355\u7684 Schema \u7ed3\u6784\u81f3\u5c11\u662f\uff1a</p><pre class="hljs language-ts"><code>schema = {\n type: \'object\', // \u53ef\u6709\u53ef\u65e0\uff0c\u9ed8\u8ba4\u4f1a\u5f3a\u5236\u4e3a `object`\n properties: {}\n}</code></pre><p>\u5728\u63cf\u8ff0 Schema \u8bf4\u660e\u4e4b\u524d\uff0c\u6709\u5fc5\u8981\u5bf9\u8868\u5355\u5143\u7d20\u4e0e Schema \u4e4b\u524d\u7684\u8054\u7cfb\u505a\u4e00\u4e2a\u7cfb\u7edf\u6027\u8bf4\u660e\u3002</p><p>\u6211\u4eec\u77e5\u9053\uff0c\u8868\u5355\u662f\u7531\u4e00\u7ec4HTML\u5143\u7d20\u7ec4\u4ef6\uff0c\u6bcf\u4e00\u4e2a\u5143\u7d20\u5bf9\u5e94\u4e00\u4e2a Schema \u5c5e\u6027\uff0c\u5c5e\u6027\u6709\u81ea\u5df1\u7684\u6570\u636e\u7c7b\u578b\u3001\u683c\u5f0f\u4fe1\u606f\u3001\u89c6\u89c9\u4fe1\u606f\u7b49\uff0c\u4f46\u8fd9\u4e9b\u4fe1\u606f\u4e0d\u8db3\u4ee5\u8868\u8ff0 <code>ng-zorro-antd</code> \u6240\u63d0\u4f9b\u7684\u4e30\u5bccAPI\u63a5\u53e3\u3002\u4e3a\u4e86\u66f4\u597d\u5229\u7528\u8fd9\u4e9bAPI\u63a5\u53e3\uff0c<code>@delon/form</code> \u9664\u4e86\u5b9e\u73b0\u7edd\u5927\u90e8\u5206 JSON Schema \u6807\u51c6\u4ee5\u5916\uff0c\u989d\u5916\u552f\u4e00\u589e\u52a0\u4e86\u4e00\u4e2a <code>ui</code> \u5c5e\u6027\u7528\u4e8e\u8868\u8ff0\u5c5e\u6027\u5982\u4f55\u6e32\u67d3\u7684\u95ee\u9898\u3002</p><h3 id="\u65e0\u6c61\u67d3">\u65e0\u6c61\u67d3<a onclick="window.location.hash = \'\u65e0\u6c61\u67d3\'" class="anchor">#</a></h3><p>\u5f53\u7136\u82e5\u4f60\u5bf9\u6807\u51c6\u6709\u975e\u5e38\u4e25\u683c\uff0c\u6216\u8005 JSON Schema \u6570\u636e\u7ed3\u6784\u662f\u6765\u81ea\u540e\u7aef\u7684\u4ea7\u751f\u65f6\uff0c\u53ef\u4ee5\u901a\u8fc7 <code><sf [ui]="ui"></code> \u6765\u989d\u5916\u5bf9\u5f53\u524d JSON Schema \u6dfb\u52a0 UI \u6e32\u67d3\u3002\u4f8b\u5982\uff1a</p><pre class="hljs language-ts"><code>schema = {\n properties: {\n url: {\n type: \'string\',\n title: \'Web Site\'\n }\n }\n}</code></pre><p>\u4e00\u4e2aURL\u5c5e\u6027\uff0c\u82e5\u6211\u4eec\u4e0d\u5e0c\u671b\u7528\u4e8e\u6dfb\u52a0 <code>https://</code> \u524d\u7f00\u7684\u60c5\u51b5\u4e0b\uff0c\u5c31\u5355\u7eaf\u7684 JSON Schema \u7ed3\u6784\u662f\u65e0\u6cd5\u8868\u8ff0\uff0c\u800c <code>nz-input</code> \u53c8\u652f\u6301\u975e\u5e38\u4e30\u5bcc\u7684\u524d\u540e\u7f00\u6587\u672c\uff0c\u5219\u6211\u4eec\u53ef\u4ee5\u4e3a <code>ui</code> \u5b9a\u5236\u5e76\u589e\u52a0 <code>https://</code> \u7684\u524d\u7f00\u6587\u672c\uff1a</p><pre class="hljs language-ts"><code>ui = {\n $url: {\n addOnBefore: \'https://\'\n }\n}</code></pre><p>ui \u672c\u8eab\u4e5f\u662f\u4e00\u4e2a JSON \u7ed3\u6784\uff0c\u4e3a\u4e86\u533a\u5206 JSON Schema \u5c5e\u6027\u540d\u7684\u5bf9\u5e94\u5173\u7cfb\uff0c<strong>\u5fc5\u987b</strong>\u7edf\u4e00\u5bf9\u5c5e\u6027\u540d\u52a0\u4e0a <code>$</code> \u524d\u7f00\uff1b\u5bf9\u4e8e\u6570\u7ec4\u7684\u5143\u7d20\u5bf9\u8c61\u5fc5\u987b\u4f7f\u7528 <code>$items</code> \u66ff\u4ee3\u3002\u5f53KEY\u4e3a <code>*</code> \u65f6\u8868\u793a\u5bf9\u6240\u6709\u5b50\u8868\u5355\u5143\u7d20\u90fd\u6709\u6548\u3002</p><h3 id="\u8868\u5355\u5143\u7d20\u4e0e\u6570\u636e\u7ed3\u6784\u7684\u5bf9\u5e94\u5173\u7cfb">\u8868\u5355\u5143\u7d20\u4e0e\u6570\u636e\u7ed3\u6784\u7684\u5bf9\u5e94\u5173\u7cfb<a onclick="window.location.hash = \'\u8868\u5355\u5143\u7d20\u4e0e\u6570\u636e\u7ed3\u6784\u7684\u5bf9\u5e94\u5173\u7cfb\'" class="anchor">#</a></h3><p>\u4e00\u4e2a\u5b8c\u6574\u7684\u8868\u5355\u5143\u7d20\u6211\u4eec\u8ba4\u4e3a\u5e94\u8be5\u5305\u542b\u4ee5\u4e0b\u82e5\u5e72\u5143\u7d20\uff1a</p><p><img src="./assets/img/form-input.png" /></p><p>\u4ece\u5de6\u81f3\u5411\u5404\u5143\u7d20\u63cf\u8ff0\uff1a</p><table><thead><tr><th>\u7ed3\u6784\u6e90</th><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td>Schema</td><td><code>[required]</code></td><td>\u662f\u5426\u5fc5\u586b\u9879</td><td><code>string[]</code></td><td>-</td></tr><tr><td>Schema</td><td><code>[title]</code></td><td>\u5c5e\u6027\u63cf\u8ff0</td><td><code>string</code></td><td>-</td></tr><tr><td>ui</td><td><code>[optional]</code></td><td>\u6807\u7b7e\u53ef\u9009\u4fe1\u606f</td><td><code>string</code></td><td>-</td></tr><tr><td>ui</td><td><code>[optionalHelp]</code></td><td>\u6807\u7b7e\u53ef\u9009\u5e2e\u52a9</td><td><code>string, SFOptionalHelp</code></td><td>-</td></tr><tr><td>ui</td><td><code>[placeholder]</code></td><td>\u6587\u5b57\u6846\u4e2d\u663e\u793a\u63d0\u793a\u4fe1\u606f</td><td><code>string</code></td><td>-</td></tr><tr><td>Schema</td><td><code>[description]</code></td><td>\u5c5e\u6027\u76ee\u7684\u6027\u89e3\u91ca</td><td><code>string</code></td><td>-</td></tr><tr><td>-</td><td><code>[error]</code></td><td>\u9519\u8bef\u4fe1\u606f</td><td><code>string</code></td><td>-</td></tr></tbody></table><h3 id="\u4e00\u70b9\u89c4\u8303">\u4e00\u70b9\u89c4\u8303<a onclick="window.location.hash = \'\u4e00\u70b9\u89c4\u8303\'" class="anchor">#</a></h3><ul><li><p>\u6240\u6709 <code>key</code> \u6309\u9a7c\u5cf0\u5f0f\u547d\u540d\u6cd5</p></li><li><p>\u82e5\u4f60\u5bf9 JSON Schema \u5f88\u719f\u6089\uff0c\u5219\u5ffd\u7565 <strong>\u4e0d\u5efa\u8bae</strong> \u5b57\u6837</p></li></ul><h2 id="JSON-Schema\uff08SFSchema\uff09">JSON Schema\uff08SFSchema\uff09<a onclick="window.location.hash = \'JSON-Schema\uff08SFSchema\uff09\'" class="anchor">#</a></h2><p>JSON Schema \u6709\u5b8c\u6574\u7684\u5bf9\u6bcf\u4e2a\u5c5e\u6027\u7684\u89c4\u8303\u63cf\u8ff0\uff0c<code>@delon/form</code> \u5f53\u524d\u662f\u57fa\u4e8e <a target="_blank" href="http://json-schema.org/" data-url="http://json-schema.org/">draft-07</a> \u89c4\u8303\uff0c\u4e0b\u5217\u662f\u89c4\u8303\u5177\u4f53\u8bf4\u660e\uff1a</p><h3 id="\u5e38\u89c4\u7c7b">\u5e38\u89c4\u7c7b<a onclick="window.location.hash = \'\u5e38\u89c4\u7c7b\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[type]</code></td><td>\u6570\u636e\u7c7b\u578b\uff0c\u652f\u6301 JavaScript \u57fa\u7840\u7c7b\u578b</td><td><code>number,string,boolean,object,array</code></td><td><code>object</code></td></tr><tr><td><code>[enum]</code></td><td>\u679a\u4e3e\uff0c\u9759\u6001\u6570\u636e\u6e90</td><td><code>SFSchemaEnumType[]</code></td><td>-</td></tr></tbody></table><h3 id="\u6570\u503c\u7c7b\u578b">\u6570\u503c\u7c7b\u578b<a onclick="window.location.hash = \'\u6570\u503c\u7c7b\u578b\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[minimum]</code></td><td>\u6700\u5c0f\u503c</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[exclusiveMinimum]</code></td><td>\u7ea6\u675f\u662f\u5426\u5305\u62ec <code>minimum</code> \u503c</td><td><code>boolean</code></td><td>-</td></tr><tr><td><code>[maximum]</code></td><td>\u6700\u5927\u503c</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[exclusiveMaximum]</code></td><td>\u7ea6\u675f\u662f\u5426\u5305\u62ec <code>maximum</code> \u503c</td><td><code>boolean</code></td><td>-</td></tr><tr><td><code>[multipleOf]</code></td><td>\u500d\u6570</td><td><code>number</code></td><td>-</td></tr></tbody></table><p><strong>\u5173\u4e8eexclusiveMinimum\u548cexclusiveMaximum</strong></p><p><code>sf</code> \u7684\u5b9e\u73b0\u673a\u5236\u5bfc\u81f4\u65e0\u6cd5\u5f88\u597d\u7684\u5904\u7406 <code>type</code> \u7c7b\u578b\u7684\u9519\u8bef\u6355\u83b7\uff0c\u56e0\u6b64\u9ed8\u8ba4\u60c5\u51b5\u4e0b <code>sf</code> \u662f\u5ffd\u7565\u4e86\u6240\u6709 <code>type</code> \uff08\u89c1 <a target="_blank" href="https://github.com/ng-alain/delon/blob/master/packages/form/src/config.ts#L12" data-url="https://github.com/ng-alain/delon/blob/master/packages/form/src/config.ts#L12">config.ts</a>\uff09\u7c7b\u578b\u9519\u8bef\uff0c\u800c\u8fd9\u4e24\u79cd\u90fd\u9519\u8bef\u90fd\u4f1a\u88ab\u8ba4\u4e3a <code>type</code> \u7c7b\u578b\u9519\u8bef\uff0c\u4ece\u800c\u5bfc\u81f4\u89e6\u53d1\u65e0\u6548\u68c0\u67e5\u7684\u539f\u56e0\u3002\uff08\u66f4\u591a\u7ec6\u8282\u8bf7\u53c2\u8003 <a target="_blank" href="https://github.com/ng-alain/ng-alain/issues/676#issuecomment-420208459" data-url="https://github.com/ng-alain/ng-alain/issues/676#issuecomment-420208459">#676</a>\uff09</p><h3 id="\u5b57\u7b26\u4e32\u7c7b\u578b">\u5b57\u7b26\u4e32\u7c7b\u578b<a onclick="window.location.hash = \'\u5b57\u7b26\u4e32\u7c7b\u578b\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[maxLength]</code></td><td>\u5b9a\u4e49\u5b57\u7b26\u4e32\u7684\u6700\u5927\u957f\u5ea6</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[minLength]</code></td><td>\u5b9a\u4e49\u5b57\u7b26\u4e32\u7684\u6700\u5c0f\u957f\u5ea6</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[pattern]</code></td><td>\u9a8c\u8bc1\u8f93\u5165\u5b57\u6bb5\u6b63\u5219\u8868\u8fbe\u5f0f\u5b57\u7b26\u4e32\uff0c\u82e5\u6307\u5b9a <code>format: \'regex\'</code> \u65f6\u52a1\u5fc5\u6307\u5b9a</td><td><code>string</code></td><td>-</td></tr></tbody></table><h3 id="\u6570\u7ec4\u7c7b\u578b">\u6570\u7ec4\u7c7b\u578b<a onclick="window.location.hash = \'\u6570\u7ec4\u7c7b\u578b\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[items]</code></td><td>\u6570\u7ec4\u5143\u7d20\u7c7b\u578b\u63cf\u8ff0\uff0c\u53ea\u652f\u6301\u6570\u7ec4\u5bf9\u8c61\uff0c\u82e5\u9700\u8981\u57fa\u7840\u7c7b\u578b\u6570\u7ec4\u53ef\u901a\u8fc7\u5176\u4ed6\u90e8\u4ef6\u652f\u6301</td><td><code>SFSchema</code></td><td>-</td></tr><tr><td><code>[minItems]</code></td><td>\u7ea6\u675f\u6570\u7ec4\u6700\u5c0f\u7684\u5143\u7d20\u4e2a\u6570</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[maxItems]</code></td><td>\u7ea6\u675f\u6570\u7ec4\u6700\u5927\u7684\u5143\u7d20\u4e2a\u6570</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[uniqueItems]</code></td><td>\u7ea6\u675f\u6570\u7ec4\u6bcf\u4e2a\u5143\u7d20\u90fd\u4e0d\u76f8\u540c</td><td><code>boolean</code></td><td>-</td></tr><tr><td><code>[additionalItems]</code></td><td>\u6570\u7ec4\u989d\u5916\u5143\u7d20\u7684\u6821\u9a8c\u89c4\u5219</td><td><code>SFSchema</code></td><td>-</td></tr></tbody></table><h3 id="\u5bf9\u8c61\u7c7b\u578b">\u5bf9\u8c61\u7c7b\u578b<a onclick="window.location.hash = \'\u5bf9\u8c61\u7c7b\u578b\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[maxProperties]</code></td><td>\u6700\u5927\u5c5e\u6027\u4e2a\u6570\uff0c\u5fc5\u987b\u662f\u975e\u8d1f\u6574\u6570</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[minProperties]</code></td><td>\u6700\u5c0f\u5c5e\u6027\u4e2a\u6570\uff0c\u5fc5\u987b\u662f\u975e\u8d1f\u6574\u6570</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[required]</code></td><td>\u5fc5\u9700\u5c5e\u6027</td><td><code>string[]</code></td><td>-</td></tr><tr><td><code>[properties]</code></td><td>\u5b9a\u4e49\u5c5e\u6027</td><td><code>{ [key: string]: SFSchema }</code></td><td>-</td></tr></tbody></table><h3 id="\u6761\u4ef6\u7c7b">\u6761\u4ef6\u7c7b<a onclick="window.location.hash = \'\u6761\u4ef6\u7c7b\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[if]</code></td><td>\u6761\u4ef6\u9a8c\u8bc1</td><td><code>SFSchema</code></td><td>-</td></tr><tr><td><code>[then]</code></td><td>\u6761\u4ef6\u9a8c\u8bc1</td><td><code>SFSchema</code></td><td>-</td></tr><tr><td><code>[else]</code></td><td>\u6761\u4ef6\u9a8c\u8bc1</td><td><code>SFSchema</code></td><td>-</td></tr></tbody></table><p>\u6761\u4ef6\u7c7b\u7684\u6821\u9a8c\u975e\u5e38\u5f3a\u5927\u548c\u4e30\u5bcc\uff0c\u4f46\u662f\u51fa\u4e8e\u4f1a\u7834\u574fUI\u5bfc\u81f4\u6574\u4e2a\u7ec4\u4ef6\u6784\u5efa\u66f4\u590d\u6742\uff0c<code>@delon/form</code> \u4ec5\u5b9e\u73b0 <code>required</code> \u7684\u5904\u7406\uff0c\u5e76\u4e14\u628a\u5b83\u5f53\u6210\u662f\u5426\u663e\u793a\u6821\u9a8c\u76ee\u6807\uff0c\u6bd4\u5982\uff1a\u4e00\u4e2a\u767b\u5f55\u9875\uff0c\u4f1a\u6839\u636e\u4e0d\u540c\u767b\u5f55\u65b9\u5f0f\u6765\u663e\u793a\u4e0d\u540c\u767b\u5f55\u6a21\u5f0f\uff1a</p><pre class="hljs language-ts"><code>schema: SFSchema = {\n properties: {\n type: { type: \'string\', enum: [ \'mobile\', \'name\' ], default: \'mobile\' },\n name: { type: \'string\' },\n pwd: { type: \'string\' },\n mobile: { type: \'string\' },\n code: { type: \'string\' }\n },\n required: [ \'type\' ],\n if: {\n properties: { type: { enum: [ \'mobile\' ] } }\n },\n then: {\n required: [ \'mobile\', \'code\' ]\n },\n else: {\n required: [ \'name\', \'pwd\' ]\n }\n};</code></pre><p>\u4e0a\u8ff0\u7684\u6700\u7ec8\u884c\u4e3a\u662f\u5f53\u767b\u5f55\u65b9\u5f0f\u4e3a <code>mobile</code> \u65f6UI\u663e\u793a <code>mobile</code> \u548c <code>code</code>\uff0c\u53cd\u4e4bUI\u663e\u793a <code>name</code> \u548c <code>pwd</code>\u3002</p><p>\u5176\u5b9e\u6761\u4ef6\u7c7b\u6700\u7ec8\u88ab\u89e3\u6790\u6210 <code>ui.visibleIf</code>\uff0c\u5728\u672a\u6765\u53ef\u80fd\u4f1a\u589e\u52a0\u6761\u4ef6\u7c7b\u7684\u5904\u7406\u3002</p><h3 id="\u903b\u8f91\u7c7b">\u903b\u8f91\u7c7b<a onclick="window.location.hash = \'\u903b\u8f91\u7c7b\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[allOf]</code></td><td><strong>\u4e0d\u5efa\u8bae</strong> \u4f7f\u7528\uff0c\u53ef\u7528 <code>required</code> \u66ff\u4ee3</td><td><code>SFSchema[]</code></td><td>-</td></tr><tr><td><code>[anyOf]</code></td><td><strong>\u4e0d\u5efa\u8bae</strong> \u4f7f\u7528\uff0c\u53ef\u7528 <code>required</code> \u548c <code>minProperties</code> \u66ff\u4ee3</td><td><code>SFSchema[]</code></td><td>-</td></tr><tr><td><code>[oneOf]</code></td><td><strong>\u4e0d\u5efa\u8bae</strong> \u4f7f\u7528\uff0c\u503c\u5fc5\u987b\u662f\u5176\u4e2d\u4e4b\u4e00</td><td><code>SFSchema[]</code></td><td>-</td></tr></tbody></table><blockquote><p><strong>\u4e0d\u5efa\u8bae</strong> \u4e3b\u8981\u662f\u5e76\u6ca1\u6709\u5bf9\u903b\u8f91\u7c7b\u8fdb\u884cUI\u76f8\u5173\u5904\u7406\uff0c\u5b83\u540c\u6761\u4ef6\u7c7b\u7c7b\u4f3c\uff0c\u4f1a\u5f71\u54cdUI\u6e32\u67d3\u3002</p></blockquote><h3 id="\u683c\u5f0f\u4e0e\u89c6\u89c9\u7c7b">\u683c\u5f0f\u4e0e\u89c6\u89c9\u7c7b<a onclick="window.location.hash = \'\u683c\u5f0f\u4e0e\u89c6\u89c9\u7c7b\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[title]</code></td><td>\u5c5e\u6027\u63cf\u8ff0</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[description]</code></td><td>\u5c5e\u6027\u76ee\u7684\u6027\u89e3\u91ca</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[default]</code></td><td>\u9ed8\u8ba4\u503c</td><td><code>any</code></td><td>-</td></tr><tr><td><code>[readOnly]</code></td><td>\u662f\u5426\u53ea\u8bfb\u72b6\u6001\uff0c\u7b49\u540c <code>nzDisabled</code></td><td><code>boolean</code></td><td>-</td></tr><tr><td><code>[format]</code></td><td>\u6570\u636e\u683c\u5f0f\uff0c<a target="_blank" href="http://json-schema.org/latest/json-schema-validation.html#rfc.section.7.3" data-url="http://json-schema.org/latest/json-schema-validation.html#rfc.section.7.3">\u6587\u6863</a></td><td><code>string</code></td><td>-</td></tr></tbody></table><h3 id="\u5176\u4ed6">\u5176\u4ed6<a onclick="window.location.hash = \'\u5176\u4ed6\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[definitions]</code></td><td>\u5185\u90e8\u7c7b\u578b\u5b9a\u4e49\u4f53</td><td><code>SFSchemaDefinition</code></td><td>-</td></tr><tr><td><code>[$ref]</code></td><td>\u5f15\u7528\u5b9a\u4e49\u4f53</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[$comment]</code></td><td>\u9488\u5bf9\u5f00\u53d1\u8005\u7684\u6ce8\u91ca\uff0c\u65e0\u4efb\u4f55\u610f\u4e49\uff0c\u4e5f\u4e0d\u4f1a\u88ab\u6821\u9a8c</td><td><code>string</code></td><td>-</td></tr></tbody></table><h3 id="\u975e\u6807\u51c6">\u975e\u6807\u51c6<a onclick="window.location.hash = \'\u975e\u6807\u51c6\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[ui]</code></td><td>\u6307\u5b9aUI\u914d\u7f6e\u4fe1\u606f\uff0c\u4f18\u5148\u7ea7\u9ad8\u4e8e <code>sf</code> \u7ec4\u4ef6 <code>ui</code> \u5c5e\u6027\u503c</td><td><code>SFUISchemaItem</code></td><td>-</td></tr></tbody></table><h2 id="UI\uff08SFUISchemaItem\uff09">UI\uff08SFUISchemaItem\uff09<a onclick="window.location.hash = \'UI\uff08SFUISchemaItem\uff09\'" class="anchor">#</a></h2><p>UI Schema \u7ed3\u6784\u7531\u901a\u7528\u6027\u548c\u5c0f\u90e8\u4ef6API\u4e24\u90e8\u5206\u7ec4\u6210\uff0c\u4ee5\u4e0b\u662f\u901a\u7528\u6027\u90e8\u5206\u8fdb\u884c\u63a5\u53e3\u8bf4\u660e\uff0c\u5c0f\u90e8\u4ef6\u90e8\u5206\u81ea\u884c\u53c2\u6570\u5c0f\u90e8\u4ef6API\u3002</p><blockquote><p>\u4e3a\u4e86\u5c0f\u90e8\u4ef6\u7684API\u5b8c\u6574\u6027\uff0c\u5c0f\u90e8\u4ef6Schema\u8bf4\u660e\u53ef\u80fd\u4e5f\u4f1a\u5305\u542b\u4e0b\u5217\u901a\u7528\u6027\u90e8\u5206\u3002</p></blockquote><h3 id="SFUISchema">SFUISchema<a onclick="window.location.hash = \'SFUISchema\'" class="anchor">#</a></h3><p>\u7b49\u540c <code><sf [ui]="ui"></code> \u4e00\u7ec4\u4e0e JSON Schema \u7ed3\u6784\u76f8\u5bf9\u5e94\u7684 UI \u7ed3\u6784\u4f53\uff0c\u7c7b\u578b\u4e3a\uff1a<code>[ key: string ]: SFUISchemaItem</code>\u3002</p><h3 id="\u57fa\u7840\u7c7b">\u57fa\u7840\u7c7b<a onclick="window.location.hash = \'\u57fa\u7840\u7c7b\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[debug]</code></td><td>\u8c03\u8bd5\u6a21\u5f0f</td><td><code>boolean</code></td><td>-</td></tr><tr><td><code>[order]</code></td><td>\u5c5e\u6027\u987a\u5e8f</td><td><code>string[]</code></td><td>-</td></tr><tr><td><code>[asyncData]</code></td><td>\u5f02\u6b65\u9759\u6001\u6570\u636e\u6e90</td><td><code>(input?: any) => Observable<SFSchemaEnumType[]></code></td><td>-</td></tr><tr><td><code>[hidden]</code></td><td>\u662f\u5426\u9690\u85cf\u6e32\u67d3</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[visibleIf]</code></td><td>\u6307\u5b9a\u6761\u4ef6\u65f6\u624d\u663e\u793a</td><td><code>{ [key: string]: any[] | ((value: any) => boolean) }</code></td><td>-</td></tr><tr><td><code>[acl]</code></td><td>ACL\u6743\u9650\uff0c\u7b49\u540c <code>can()</code> \u53c2\u6570\u503c</td><td><code>ACLCanType</code></td><td>-</td></tr></tbody></table><p><strong>visibleIf</strong></p><p>\u6307\u5b9a\u6761\u4ef6\u65f6\u624d\u663e\u793a\uff0c\u4f8b\u5982\uff1a</p><ul><li><p><code>visibleIf: { shown: [ true ] }</code>\uff1a\u5f53 <code>shown: true</code> \u65f6\u624d\u663e\u793a\u5f53\u524d\u5c5e\u6027</p></li><li><p><code>visibleIf: { shown: [ \'$ANY$\' ] }</code>\uff1a\u5f53 <code>shown</code> \u5305\u62ec\u4efb\u610f\u503c\u65f6</p></li><li><p><code>visibleIf: { shown: (value: any) => value > 0 }</code>\uff1a\u590d\u6742\u8868\u8fbe\u5f0f</p></li></ul><h3 id="\u6821\u9a8c\u7c7b">\u6821\u9a8c\u7c7b<a onclick="window.location.hash = \'\u6821\u9a8c\u7c7b\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[liveValidate]</code></td><td>\u662f\u5426\u5b9e\u65f6\u6821\u9a8c</td><td><code>boolean</code></td><td><code>true</code></td></tr><tr><td><code>[firstVisual]</code></td><td>\u662f\u5426\u7acb\u5373\u5448\u73b0\u9519\u8bef\u89c6\u89c9</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[onlyVisual]</code></td><td>\u662f\u5426\u53ea\u5c55\u793a\u9519\u8bef\u89c6\u89c9\u4e0d\u663e\u793a\u9519\u8bef\u6587\u672c</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[ingoreKeywords]</code></td><td>\u5ffd\u7565\u67d0\u4e9b\u6570\u636e\u7c7b\u578b\u6821\u9a8c</td><td><code>string[]</code></td><td></td></tr><tr><td><code>[errors]</code></td><td>\u81ea\u5b9a\u4e49\u9519\u8bef\u4fe1\u606f\u6587\u672c</td><td><code>{ [ key: string ]: string | ((obj: ErrorData) => string) }</code></td><td>-</td></tr><tr><td><code>[validator]</code></td><td>\u81ea\u5b9a\u4e49\u6821\u9a8c</td><td><code>(value: any, formProperty: FormProperty, form: PropertyGroup) => ErrorData[]</code></td><td>-</td></tr></tbody></table><h3 id="\u6570\u7ec4\u7c7b">\u6570\u7ec4\u7c7b<a onclick="window.location.hash = \'\u6570\u7ec4\u7c7b\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[items]</code></td><td>\u6307\u5b9a\u5b50\u5143\u7d20\u7684UI</td><td><code><a data-toc="SFUISchema">SFUISchema</a></code></td><td>-</td></tr><tr><td><code>[addTitle]</code></td><td>\u6307\u5b9a\u6dfb\u52a0\u6309\u94ae\u6587\u672c</td><td><code>string</code></td><td><code>\u6dfb\u52a0</code></td></tr><tr><td><code>[addType]</code></td><td>\u6307\u5b9a\u6dfb\u52a0\u6309\u94ae\u98ce\u683c\uff0c\u7b49\u540c\u6309\u94ae <code>nzType</code></td><td><code>string</code></td><td><code>dashed</code></td></tr><tr><td><code>[removable]</code></td><td>\u6307\u5b9a\u662f\u5426\u663e\u793a\u79fb\u9664\u6309\u94ae</td><td><code>boolean</code></td><td>-</td></tr><tr><td><code>[removeTitle]</code></td><td>\u6307\u5b9a\u79fb\u9664\u6309\u94ae\u6587\u672c</td><td><code>string</code></td><td><code>\u79fb\u9664</code></td></tr></tbody></table><h3 id="\u8868\u5355\u5143\u7d20\u7c7b">\u8868\u5355\u5143\u7d20\u7c7b<a onclick="window.location.hash = \'\u8868\u5355\u5143\u7d20\u7c7b\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[type]</code></td><td>\u6307\u5b9a <code>input</code> \u7684 <code>type</code> \u503c</td><td><code>string</code></td><td><code>text</code></td></tr><tr><td><code>[placeholder]</code></td><td>\u6587\u5b57\u6846\u4e2d\u663e\u793a\u63d0\u793a\u4fe1\u606f</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[autofocus]</code></td><td>\u52a0\u8f7d\u65f6\u662f\u5426\u83b7\u5f97\u7126\u70b9</td><td><code>boolean</code></td><td>-</td></tr></tbody></table><h3 id="\u6e32\u67d3\u7c7b">\u6e32\u67d3\u7c7b<a onclick="window.location.hash = \'\u6e32\u67d3\u7c7b\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[widget]</code></td><td>\u6307\u5b9a\u91c7\u7528\u4ec0\u4e48\u5c0f\u90e8\u4ef6\u6e32\u67d3</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[i18n]</code></td><td>\u6307 <code>schema.title</code> \u7684\u56fd\u9645\u5316\u952e\u503c</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[descriptionI18n]</code></td><td>\u6307 <code>schema.description</code> \u7684\u56fd\u9645\u5316\u952e\u503c</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[class]</code></td><td>\u81ea\u5b9a\u4e49\u7c7b\uff0c\u7b49\u540c <code>[ngClass]</code> \u503c</td><td><code>string,string[]</code></td><td>-</td></tr><tr><td><code>[width]</code></td><td>\u6307\u5b9a\u5bbd\u5ea6\uff0c\u5355\u4f4d\uff1a<code>px</code></td><td><code>number</code></td><td>-</td></tr><tr><td><code>[size]</code></td><td>\u5143\u7d20\u7ec4\u4ef6\u5927\u5c0f</td><td><code>default,large,small</code></td><td>-</td></tr><tr><td><code>[grid]</code></td><td>\u54cd\u5e94\u5f0f\u5c5e\u6027</td><td><code>SFGridSchema</code></td><td>-</td></tr><tr><td><code>[optional]</code></td><td>\u6807\u7b7e\u53ef\u9009\u4fe1\u606f</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[optionalHelp]</code></td><td>\u6807\u7b7e\u53ef\u9009\u5e2e\u52a9</td><td><code>string, SFOptionalHelp</code></td><td>-</td></tr></tbody></table><h3 id="\u54cd\u5e94\u5f0f\u5c5e\u6027-SFGridSchema">\u54cd\u5e94\u5f0f\u5c5e\u6027 SFGridSchema<a onclick="window.location.hash = \'\u54cd\u5e94\u5f0f\u5c5e\u6027-SFGridSchema\'" class="anchor">#</a></h3><p><code>grid</code> \u5c5e\u6027\u7b49\u540c\u5b8c\u6574\u7684 <a target="_blank" href="https://ng.ant.design/components/grid/zh" data-url="https://ng.ant.design/components/grid/zh">Grid\u6805\u683c\u7cfb\u7edf</a>\uff0c\u900f\u8fc7 <code>grid</code> \u53ef\u4ee5\u51b3\u5b9a\u8868\u5355\u5982\u4f55\u6e32\u67d3\u3002</p><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[gutter]</code></td><td>\u6805\u683c\u95f4\u9694</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[span]</code></td><td>\u6bcf\u4e2a\u8868\u5355\u5143\u7d20\u6805\u683c\u5360\u4f4d\u683c\u6570\uff0c\u4e3a <code>0</code> \u65f6\u76f8\u5f53\u4e8e <code>display: none</code></td><td><code>number</code></td><td>-</td></tr><tr><td><code>[xs]</code></td><td><code><768px</code> \u54cd\u5e94\u5f0f\u6805\u683c\uff0c\u53ef\u4e3a\u6805\u683c\u6570\u6216\u4e00\u4e2a\u5305\u542b\u5176\u4ed6\u5c5e\u6027\u7684\u5bf9\u8c61</td><td><code>number, SFGridSizeSchema</code></td><td>-</td></tr><tr><td><code>[sm]</code></td><td><code>\u2265768px</code> \u54cd\u5e94\u5f0f\u6805\u683c\uff0c\u53ef\u4e3a\u6805\u683c\u6570\u6216\u4e00\u4e2a\u5305\u542b\u5176\u4ed6\u5c5e\u6027\u7684\u5bf9\u8c61</td><td><code>number, SFGridSizeSchema</code></td><td>-</td></tr><tr><td><code>[md]</code></td><td><code>\u2265992px</code> \u54cd\u5e94\u5f0f\u6805\u683c\uff0c\u53ef\u4e3a\u6805\u683c\u6570\u6216\u4e00\u4e2a\u5305\u542b\u5176\u4ed6\u5c5e\u6027\u7684\u5bf9\u8c61</td><td><code>number, SFGridSizeSchema</code></td><td>-</td></tr><tr><td><code>[lg]</code></td><td><code>\u22651200px</code> \u54cd\u5e94\u5f0f\u6805\u683c\uff0c\u53ef\u4e3a\u6805\u683c\u6570\u6216\u4e00\u4e2a\u5305\u542b\u5176\u4ed6\u5c5e\u6027\u7684\u5bf9\u8c61</td><td><code>number, SFGridSizeSchema</code></td><td>-</td></tr><tr><td><code>[xl]</code></td><td><code>\u22651600px</code> \u54cd\u5e94\u5f0f\u6805\u683c\uff0c\u53ef\u4e3a\u6805\u683c\u6570\u6216\u4e00\u4e2a\u5305\u542b\u5176\u4ed6\u5c5e\u6027\u7684\u5bf9\u8c61</td><td><code>number, SFGridSizeSchema</code></td><td>-</td></tr><tr><td><code>[xxl]</code></td><td>\u4fdd\u7559\u5b57\u6bb5\uff0c<code>0.7.0</code> \u540e\u652f\u6301</td><td><code>number, SFGridSizeSchema</code></td><td>-</td></tr></tbody></table><h3 id="\u6c34\u5e73\u5e03\u5c40\u7c7b-Schema">\u6c34\u5e73\u5e03\u5c40\u7c7b Schema<a onclick="window.location.hash = \'\u6c34\u5e73\u5e03\u5c40\u7c7b-Schema\'" class="anchor">#</a></h3><blockquote><p><strong>\u52a1\u5fc5</strong>\u4e8c\u8005\u603b\u548c\u4e3a <code>24</code></p></blockquote><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[spanLabel]</code></td><td><code>label</code> \u6240\u5360\u6805\u683c\u6570</td><td><code>number</code></td><td>5</td></tr><tr><td><code>[spanControl]</code></td><td>\u8868\u5355\u63a7\u4ef6\u6240\u5360\u6805\u683c\u6570</td><td><code>number</code></td><td>19</td></tr><tr><td><code>[offsetControl]</code></td><td><code>control</code> \u6805\u683c\u5de6\u4fa7\u7684\u95f4\u9694\u683c\u6570\uff0c\u95f4\u9694\u5185\u4e0d\u53ef\u4ee5\u6709\u6805\u683c</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[spanLabelFixed]</code></td><td><code>label</code> \u56fa\u5b9a\u5bbd\u5ea6</td><td><code>number</code></td><td>-</td></tr></tbody></table></article></section>',meta:{order:2,title:"Schema",type:"Documents"},toc:[{id:"\u5199\u5728\u524d\u9762",title:"\u5199\u5728\u524d\u9762",h:2},{id:"\u65e0\u6c61\u67d3",title:"\u65e0\u6c61\u67d3",h:3},{id:"\u8868\u5355\u5143\u7d20\u4e0e\u6570\u636e\u7ed3\u6784\u7684\u5bf9\u5e94\u5173\u7cfb",title:"\u8868\u5355\u5143\u7d20\u4e0e\u6570\u636e\u7ed3\u6784\u7684\u5bf9\u5e94\u5173\u7cfb",h:3},{id:"\u4e00\u70b9\u89c4\u8303",title:"\u4e00\u70b9\u89c4\u8303",h:3},{id:"JSON-Schema\uff08SFSchema\uff09",title:"JSON Schema\uff08SFSchema\uff09",h:2},{id:"\u5e38\u89c4\u7c7b",title:"\u5e38\u89c4\u7c7b",h:3},{id:"\u6570\u503c\u7c7b\u578b",title:"\u6570\u503c\u7c7b\u578b",h:3},{id:"\u5b57\u7b26\u4e32\u7c7b\u578b",title:"\u5b57\u7b26\u4e32\u7c7b\u578b",h:3},{id:"\u6570\u7ec4\u7c7b\u578b",title:"\u6570\u7ec4\u7c7b\u578b",h:3},{id:"\u5bf9\u8c61\u7c7b\u578b",title:"\u5bf9\u8c61\u7c7b\u578b",h:3},{id:"\u6761\u4ef6\u7c7b",title:"\u6761\u4ef6\u7c7b",h:3},{id:"\u903b\u8f91\u7c7b",title:"\u903b\u8f91\u7c7b",h:3},{id:"\u683c\u5f0f\u4e0e\u89c6\u89c9\u7c7b",title:"\u683c\u5f0f\u4e0e\u89c6\u89c9\u7c7b",h:3},{id:"\u5176\u4ed6",title:"\u5176\u4ed6",h:3},{id:"\u975e\u6807\u51c6",title:"\u975e\u6807\u51c6",h:3},{id:"UI\uff08SFUISchemaItem\uff09",title:"UI\uff08SFUISchemaItem\uff09",h:2},{id:"SFUISchema",title:"SFUISchema",h:3},{id:"\u57fa\u7840\u7c7b",title:"\u57fa\u7840\u7c7b",h:3},{id:"\u6821\u9a8c\u7c7b",title:"\u6821\u9a8c\u7c7b",h:3},{id:"\u6570\u7ec4\u7c7b",title:"\u6570\u7ec4\u7c7b",h:3},{id:"\u8868\u5355\u5143\u7d20\u7c7b",title:"\u8868\u5355\u5143\u7d20\u7c7b",h:3},{id:"\u6e32\u67d3\u7c7b",title:"\u6e32\u67d3\u7c7b",h:3},{id:"\u54cd\u5e94\u5f0f\u5c5e\u6027-SFGridSchema",title:"\u54cd\u5e94\u5f0f\u5c5e\u6027 SFGridSchema",h:3},{id:"\u6c34\u5e73\u5e03\u5c40\u7c7b-Schema",title:"\u6c34\u5e73\u5e03\u5c40\u7c7b Schema",h:3}]}},demo:!1},this.codes=[]}}class u{constructor(){this.item={cols:1,urls:{"zh-CN":"packages/form/examples/acl/index.md"},content:{"zh-CN":{content:'<section class="markdown"><article><p>\u7ed3\u5408 <code>@delon/acl</code> \u6743\u9650\u53ef\u4ee5\u5229\u7528\u4e00\u4e2a Schema \u6765\u6784\u5efa\u4e0d\u540c\u89d2\u8272\u6216\u6743\u9650\u70b9\u7684\u8868\u5355\u3002</p></article></section>',meta:{title:"acl",subtitle:"ACL",type:"Examples"},toc:[]}},demo:!0},this.codes=[{id:"form-acl-simple",meta:{title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"},order:0},summary:{"zh-CN":"<p>\u6700\u7b80\u5355\u7684\u7528\u6cd5\u3002</p>","en-US":"<p>Simplest of usage.</p>"},code:"import { Component } from '@angular/core';\nimport { ACLService } from '@delon/acl';\nimport { SFSchema } from '@delon/form';\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\n@Component({\n selector: 'form-acl-simple',\n template: `\n <sf [schema]=\"schema\" (formSubmit)=\"submit($event)\"></sf>\n <button nz-button nzType=\"primary\" (click)=\"acl.setFull(true)\">Full</button>\n <button nz-button nzType=\"primary\" (click)=\"acl.setFull(false)\">Not Full</button>\n <button nz-button nzType=\"primary\" (click)=\"acl.setRole(['admin'])\">Admin Role</button>\n <button nz-button nzType=\"primary\" (click)=\"acl.setRole(['user'])\">User Role</button>\n `,\n})\nexport class FormAclSimpleComponent {\n schema: SFSchema = {\n properties: {\n name: {\n type: 'string',\n title: 'name-user',\n ui: {\n acl: 'user',\n },\n },\n age: {\n type: 'string',\n title: 'age-admin',\n ui: {\n acl: 'admin',\n },\n },\n },\n required: ['name'],\n };\n constructor(public msg: NzMessageService, public acl: ACLService) {\n }\n submit(value: any) {\n this.msg.success(JSON.stringify(value));\n }\n}",name:"simple",urls:"packages/form/examples/acl/demo/simple.md",type:"demo",lang:"ts",componentName:"FormAclSimpleComponent",point:0}]}}class m{constructor(t,e){this.msg=t,this.acl=e,this.schema={properties:{name:{type:"string",title:"name-user",ui:{acl:"user"}},age:{type:"string",title:"age-admin",ui:{acl:"admin"}}},required:["name"]}}submit(t){this.msg.success(JSON.stringify(t))}}class h{constructor(){this.item={cols:1,urls:{"en-US":"packages/form/examples/i18n/index.en-US.md","zh-CN":"packages/form/examples/i18n/index.zh-CN.md"},content:{"en-US":{content:'<section class="markdown"><article><p>JSON Schema just a JSON object, it\'s support for internationalization. In addition, <code>sf</code> also supports some faster internationalization methods, but the elements it supports are based on the following: <code>title</code>, <code>description</code>, <code>optionalHelp</code>.</p></article></section>',meta:{title:"i18n",subtitle:"Internationalization",type:"Examples"},toc:[]},"zh-CN":{content:'<section class="markdown"><article><p>JSON Schema \u672c\u8eab\u53ea\u662f\u4e00\u4e2a JSON \u5bf9\u8c61\uff0c\u56e0\u6b64\u672c\u8d28\u4e0a\u5df2\u7ecf\u662f\u652f\u6301\u56fd\u9645\u5316\u3002\u6b64\u5916\uff0c<code>sf</code> \u8fd8\u652f\u6301\u4e00\u4e9b\u6bd4\u8f83\u5feb\u6377\u7684\u56fd\u9645\u5316\u65b9\u5f0f\uff0c\u4f46\u5b83\u652f\u6301\u7684\u5143\u7d20\u6bd4\u8f83\u57fa\u7840\uff1a<code>title</code>\u3001<code>description</code>\u3001<code>optionalHelp</code> \u4e09\u4e2a\u5143\u7d20\u3002</p></article></section>',meta:{title:"i18n",subtitle:"\u56fd\u9645\u5316",type:"Examples"},toc:[]}},demo:!0},this.codes=[{id:"form-i18n-simple",meta:{title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"},order:0},summary:{"zh-CN":"<p><code>name</code> \u5143\u7d20\u91c7\u7528\u5185\u7f6e\u7684\u56fd\u9645\u5316\u65b9\u5f0f\uff1b<code>password</code> \u91c7\u7528\u5916\u90e8\u56fd\u9645\u5316\u65b9\u5f0f\u3002</p>","en-US":"<p>The <code>name</code> element uses built-in i18n method; <code>password</code> uses external i18n method.</p>"},code:"import { Component, Inject, ViewChild } from '@angular/core';\nimport { SFSchema, SFComponent } from '@delon/form';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { ALAIN_I18N_TOKEN } from '@delon/theme';\nimport { I18NService } from '@core/i18n/service';\n\n@Component({\n selector: 'form-i18n-simple',\n template: `\n <button nz-button type=\"button\" (click)=\"changeLang('srv')\">Change Language Via Service</button>\n <button nz-button type=\"button\" (click)=\"changeLang('ref')\">Change Language Via call refresh schema</button>\n <sf #sf [schema]=\"schema\" (formSubmit)=\"submit($event)\"></sf>\n `,\n})\nexport class FormI18nSimpleComponent {\n @ViewChild('sf', { static: true }) comp: SFComponent;\n schema = this.i18nSchema;\n\n private get i18nSchema(): SFSchema {\n return {\n properties: {\n name: {\n type: 'string',\n ui: {\n i18n: 'sf.name',\n descriptionI18n: 'sf.description',\n optionalHelp: {\n i18n: 'sf.description',\n },\n },\n },\n password: {\n type: 'string',\n title: this.i18n.fanyi('sf.name'),\n description: this.i18n.fanyi('sf.description'),\n ui: {\n type: 'password',\n },\n },\n },\n required: ['name', 'password'],\n };\n }\n\n constructor(public msg: NzMessageService, @Inject(ALAIN_I18N_TOKEN) private i18n: I18NService) {}\n\n changeLang(type: 'srv' | 'ref') {\n this.i18n.use(this.i18n.zone === 'zh' ? 'en-US' : 'zh-CN');\n if (type === 'ref') {\n this.comp.refreshSchema(this.i18nSchema);\n }\n }\n\n submit(value: any) {\n this.msg.success(JSON.stringify(value));\n }\n}",name:"simple",urls:"packages/form/examples/i18n/demo/simple.md",type:"demo",lang:"ts",componentName:"FormI18nSimpleComponent",point:0}]}}d("xw4t");class p{constructor(t,e){this.msg=t,this.i18n=e,this.schema=this.i18nSchema}get i18nSchema(){return{properties:{name:{type:"string",ui:{i18n:"sf.name",descriptionI18n:"sf.description",optionalHelp:{i18n:"sf.description"}}},password:{type:"string",title:this.i18n.fanyi("sf.name"),description:this.i18n.fanyi("sf.description"),ui:{type:"password"}}},required:["name","password"]}}changeLang(t){this.i18n.use("zh"===this.i18n.zone?"en-US":"zh-CN"),"ref"===t&&this.comp.refreshSchema(this.i18nSchema)}submit(t){this.msg.success(JSON.stringify(t))}}class b{constructor(){this.item={cols:1,urls:{"zh-CN":"packages/form/examples/modal/index.md"},content:{"zh-CN":{content:'<section class="markdown"><article><p>\u5728\u6a21\u6001\u6846\u91cc\u4f7f\u7528\u8868\u5355\u662f\u4e00\u79cd\u975e\u5e38\u5e38\u89c1\u573a\u666f\uff0c\u5176\u5b9e <code>ng g ng-alain:edit edit</code> \u7684\u65f6\u5019\u4f1a\u5f97\u5230\u4e00\u4e2a\u5b8c\u6574\u793a\u4f8b\uff1b\u4f1a\u5f97\u5230\u8fd9\u6837\u7684\u4e00\u4e2aHTML\u6a21\u677f\uff1a</p><pre class="hljs language-html"><code><sf mode="edit" [schema]="schema" [ui]="ui" [formData]="i" button="none">\n <div class="modal-footer">\n <button nz-button type="button" (click)="close()">\u5173\u95ed</button>\n <button nz-button type="submit" [nzType]="\'primary\'" (click)="save(sf.value)" [disabled]="!sf.valid" [nzLoading]="http.loading">\u4fdd\u5b58</button>\n </div>\n</sf></code></pre><p><code>.modal-footer</code> \u5df2\u7ecf\u975e\u5e38\u53cb\u597d\u7684\u878d\u5408\u4e86\u81ea\u5b9a\u4e49\u52a8\u6001\u6846\u3002</p></article></section>',meta:{title:"modal",subtitle:"\u6a21\u6001\u6846",type:"Examples"},toc:[]}},demo:!1},this.codes=[]}}class g{constructor(){this.item={cols:1,urls:{"zh-CN":"packages/form/src/widgets/array/index.md"},content:{"zh-CN":{content:'<section class="markdown"><p>\u521b\u5efa\u5bf9\u8c61\u6570\u7ec4\uff0c\u53ea\u5bf9 <code>schema.type="array"</code> \u65f6\u6709\u6548\u3002</p><h2 id="\u5173\u4e8e\u5e03\u5c40">\u5173\u4e8e\u5e03\u5c40<a onclick="window.location.hash = \'\u5173\u4e8e\u5e03\u5c40\'" class="anchor">#</a></h2><p>\u6570\u7ec4\u7684\u5e03\u5c40\u5206\u4e3a\u6570\u7ec4\u672c\u8eab\u4ee5\u53ca\u6570\u7ec4\u5143\u7d20\u5e03\u5c40\uff0c<code>arraySpan</code> \u51b3\u5b9a\u6bcf\u4e2a\u6570\u7ec4\u5143\u7d20\u5360\u6805\u683c\u6570\u503c\u3002</p><p>Schema \u5185\u5d4c UI \u98ce\u683c\uff1a</p><pre class="hljs language-ts"><code>const schema = {\n list: {\n type: \'array\',\n items: {\n a: { type: \'string\' },\n b: { type: \'number\', ui: { spanLabel: 10 } }\n },\n ui: { spanLabel: 5, grid: { arraySpan: 12 } }\n }\n};</code></pre><p><strong>\u6ce8\u610f\uff1a</strong> <code>items</code> \u4e0b\u6240\u6709\u5c5e\u6027\u90fd\u7ee7\u627f\u4e8e <code>list.ui</code>\uff0c\u6700\u7ec8 <code>items.a</code> \u4e3a <code>5</code> \u4e2a\u5355\u4f4d\u3001<code>items.b</code> \u4e3a <code>10</code> \u4e2a\u5355\u4f4d\u3002</p><p>Schema \u4e0e UI \u5206\u5f00\u98ce\u683c\uff0c\u5047\u5982\u4e0a\u8ff0 Schema \u8f6c\u5316\u6210 UI \u5199\u6cd5\uff1a</p><pre class="hljs language-ts"><code>const ui = {\n $list: {\n $items: {\n $b: { spanLabel: 10 }\n },\n spanLabel: 5,\n grid: { arraySpan: 12 }\n }\n};</code></pre></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema-\u5c5e\u6027">schema \u5c5e\u6027<a onclick="window.location.hash = \'schema-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[items]</code></td><td>\u6570\u7ec4\u5143\u7d20\u7c7b\u578b\u63cf\u8ff0</td><td><code>SFSchema</code></td><td>-</td></tr><tr><td><code>[minItems]</code></td><td>\u7ea6\u675f\u6570\u7ec4\u6700\u5c0f\u7684\u5143\u7d20\u4e2a\u6570</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[maxItems]</code></td><td>\u7ea6\u675f\u6570\u7ec4\u6700\u5927\u7684\u5143\u7d20\u4e2a\u6570</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[uniqueItems]</code></td><td>\u7ea6\u675f\u6570\u7ec4\u6bcf\u4e2a\u5143\u7d20\u90fd\u4e0d\u76f8\u540c</td><td><code>boolean</code></td><td>-</td></tr></tbody></table><h3 id="ui-\u5c5e\u6027">ui \u5c5e\u6027<a onclick="window.location.hash = \'ui-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[addTitle]</code></td><td>\u6dfb\u52a0\u6309\u94ae\u6587\u672c</td><td><code>string</code></td><td><code>\u6dfb\u52a0</code></td></tr><tr><td><code>[addType]</code></td><td>\u6dfb\u52a0\u6309\u94ae\u7c7b\u578b\uff0c\u7b49\u540c <code>nzType</code></td><td><code>string</code></td><td><code>dashed</code></td></tr><tr><td><code>[removable]</code></td><td>\u662f\u5426\u5305\u542b\u79fb\u9664\u6309\u94ae</td><td><code>boolean</code></td><td><code>true</code></td></tr><tr><td><code>[removeTitle]</code></td><td>\u79fb\u9664\u6309\u94ae\u6587\u672c</td><td><code>string</code></td><td><code>\u79fb\u9664</code></td></tr><tr><td><code>[$items]</code></td><td>\u6570\u7ec4\u5143\u7d20\u7c7b\u578bUI\u63cf\u8ff0</td><td><code>SFUISchema</code></td><td><code>\u79fb\u9664</code></td></tr></tbody></table>',meta:{title:"array",subtitle:"\u6570\u7ec4",type:"Widgets"},toc:[{id:"\u5173\u4e8e\u5e03\u5c40",title:"\u5173\u4e8e\u5e03\u5c40",h:2},{id:"API",title:"API",h:2},{id:"schema-\u5c5e\u6027",title:"schema \u5c5e\u6027",h:3},{id:"ui-\u5c5e\u6027",title:"ui \u5c5e\u6027",h:3}]}},demo:!0},this.codes=[{id:"form-array-simple",meta:{title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"},order:0},summary:{"zh-CN":"<p>\u6700\u7b80\u5355\u7684\u7528\u6cd5\u3002</p>","en-US":"<p>Simplest of usage.</p>"},code:"import { Component } from '@angular/core';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { SFSchema, SFArrayWidgetSchema } from '@delon/form';\n\n@Component({\n selector: 'form-array-simple',\n template: `\n <sf [schema]=\"schema\" (formSubmit)=\"submit($event)\"></sf>\n `,\n})\nexport class FormArraySimpleComponent {\n schema: SFSchema = {\n properties: {\n product: {\n type: 'array',\n title: '\u4ea7\u54c1\u6e05\u5355',\n maxItems: 4,\n items: {\n type: 'object',\n properties: {\n name: {\n type: 'string',\n title: '\u540d\u79f0',\n },\n price: {\n type: 'number',\n title: '\u5355\u4ef7',\n minimum: 1,\n },\n },\n required: ['name', 'price'],\n },\n ui: { grid: { arraySpan: 12 } } as SFArrayWidgetSchema,\n },\n },\n };\n constructor(public msg: NzMessageService) {}\n submit(value: any) {\n this.msg.success(JSON.stringify(value));\n }\n}",name:"simple",urls:"packages/form/src/widgets/array/demo/simple.md",type:"demo",lang:"ts",componentName:"FormArraySimpleComponent",point:0}]}}class f{constructor(t){this.msg=t,this.schema={properties:{product:{type:"array",title:"\u4ea7\u54c1\u6e05\u5355",maxItems:4,items:{type:"object",properties:{name:{type:"string",title:"\u540d\u79f0"},price:{type:"number",title:"\u5355\u4ef7",minimum:1}},required:["name","price"]},ui:{grid:{arraySpan:12}}}}}}submit(t){this.msg.success(JSON.stringify(t))}}class y{constructor(){this.item={cols:1,urls:{"zh-CN":"packages/form/src/widgets/autocomplete/index.md"},content:{"zh-CN":{content:"<section class=\"markdown\"><p>\u8f93\u5165\u6846\u81ea\u52a8\u5b8c\u6210\u529f\u80fd\u3002</p><h2 id=\"\u6570\u636e\u6e90\u8bf4\u660e\">\u6570\u636e\u6e90\u8bf4\u660e<a onclick=\"window.location.hash = '\u6570\u636e\u6e90\u8bf4\u660e'\" class=\"anchor\">#</a></h2><p><strong>\u9759\u6001</strong></p><p>\u6307\u83b7\u53d6\u540e\u6bcf\u4e00\u6b21\u7b5b\u9009\u662f\u901a\u8fc7 <code>filterOption</code> \u8fc7\u6ee4\uff0c\u6570\u636e\u6765\u6e90\u4e8e <code>asyncData</code>\u3001<code>enum</code>\u3002</p><p>\u82e5 <code>schema.format: 'email'</code> \u65f6\u81ea\u52a8\u6e32\u67d3\u4e3a\u81ea\u52a8\u8865\u5168\u90ae\u7bb1\u540e\u7f00\uff0c\u9ed8\u8ba4 <code>['qq.com', '163.com', 'gmail.com', '126.com', 'aliyun.com']</code> \u53ef\u901a\u8fc7 <code>enum</code> \u6765\u91cd\u65b0\u8c03\u6574\u8be5\u503c\u6216\u5168\u5c40\u914d\u7f6e <code>uiEmailSuffixes</code>\u3002</p><p><strong>\u5b9e\u65f6</strong></p><p>\u6307\u83b7\u53d6\u540e\u6bcf\u4e00\u6b21\u7b5b\u9009\u662f\u901a\u8fc7 <code>filterOption</code> \u8fc7\u6ee4\uff0c\u6570\u636e\u6765\u6e90\u4e8e <code>asyncData</code>\u3002</p></section>",api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema-\u5c5e\u6027">schema \u5c5e\u6027<a onclick="window.location.hash = \'schema-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[enum]</code></td><td>\u9759\u6001\u6570\u636e\u6e90</td><td><code>SFSchemaEnumType[]</code></td><td>-</td></tr><tr><td><code>[readOnly]</code></td><td>\u7981\u7528\u72b6\u6001</td><td><code>boolean</code></td><td>-</td></tr></tbody></table><h3 id="ui-\u5c5e\u6027">ui \u5c5e\u6027<a onclick="window.location.hash = \'ui-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[asyncData]</code></td><td>\u5b9e\u65f6\u6570\u636e\u6e90</td><td><code>(input: string) => Observable<SFSchemaEnumType[]></code></td><td>-</td></tr><tr><td><code>[size]</code></td><td>\u5927\u5c0f\uff0c\u7b49\u540c <code>nzSize</code></td><td><code>string</code></td><td>-</td></tr><tr><td><code>[placeholder]</code></td><td>\u5728\u6587\u5b57\u6846\u4e2d\u663e\u793a\u63d0\u793a\u8baf\u606f</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[filterOption]</code></td><td>\u662f\u5426\u6839\u636e\u8f93\u5165\u9879\u8fdb\u884c\u7b5b\u9009\uff0c\u9ed8\u8ba4\u53ea\u5bf9 <code>label</code> \u5c5e\u6027\u6267\u884c\u4e0d\u533a\u5206\u5927\u5c0f\u5b9a <code>indexOf</code> \u8fc7\u6ee4\u3002\u5f53\u5176\u4e3a\u4e00\u4e2a\u51fd\u6570\u65f6\uff0c\u4f1a\u63a5\u6536 <code>inputValue</code> <code>option</code> \u4e24\u4e2a\u53c2\u6570\uff0c\u5f53 <code>option</code> \u7b26\u5408\u7b5b\u9009\u6761\u4ef6\u65f6\uff0c\u5e94\u8fd4\u56de <code>true</code>\uff0c\u53cd\u4e4b\u5219\u8fd4\u56de <code>false</code>\u3002</td><td><code>boolean or (inputValue: string, option: SFSchemaEnum) => boolean</code></td><td><code>true</code></td></tr><tr><td><code>[type]</code></td><td>\u6a21\u5f0f\uff0c\u81ea\u52a8\u5b8c\u6210\u5e38\u89c1\u90ae\u7bb1\u540e\u7f00\uff0c\u53ef\u4ee5\u91cd\u65b0\u4f7f\u7528 <code>enum</code> \u6765\u6307\u5b9a\u65b0\u540e\u7f00</td><td><code>email</code></td><td>-</td></tr><tr><td><code>[debounceTime]</code></td><td>\u53bb\u6296\u65f6\u95f4\uff0c\u5f53\u5b9e\u65f6\u6570\u636e\u6e90\u65f6\u9ed8\u8ba4\u6700\u5c11 <code>50</code>\uff0c\u5355\u4f4d\uff1a\u6beb\u79d2</td><td><code>number</code></td><td><code>0</code></td></tr><tr><td><code>[defaultActiveFirstOption]</code></td><td>\u662f\u5426\u9ed8\u8ba4\u9ad8\u4eae\u7b2c\u4e00\u4e2a\u9009\u9879</td><td><code>boolean</code></td><td><code>true</code></td></tr><tr><td><code>[backfill]</code></td><td>\u4f7f\u7528\u952e\u76d8\u9009\u62e9\u9009\u9879\u7684\u65f6\u5019\u628a\u9009\u4e2d\u9879\u56de\u586b\u5230\u8f93\u5165\u6846\u4e2d</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[change]</code></td><td>\u53d8\u66f4\u56de\u8c03</td><td><code>(item: NzAutocompleteOptionComponent) => void</code></td><td>-</td></tr><tr><td><code>[nzWidth]</code></td><td>\u81ea\u5b9a\u4e49\u5bbd\u5ea6\u5355\u4f4d px</td><td><code>number</code></td><td>\u89e6\u53d1\u5143\u7d20\u5bbd\u5ea6</td></tr></tbody></table>',meta:{title:"autocomplete",subtitle:"\u81ea\u52a8\u5b8c\u6210",type:"Widgets"},toc:[{id:"\u6570\u636e\u6e90\u8bf4\u660e",title:"\u6570\u636e\u6e90\u8bf4\u660e",h:2},{id:"API",title:"API",h:2},{id:"schema-\u5c5e\u6027",title:"schema \u5c5e\u6027",h:3},{id:"ui-\u5c5e\u6027",title:"ui \u5c5e\u6027",h:3}]}},demo:!0},this.codes=[{id:"form-autocomplete-simple",meta:{order:0,title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"}},summary:{"zh-CN":"<p>\u6700\u7b80\u5355\u7684\u7528\u6cd5\u3002</p>","en-US":"<p>Simplest of usage.</p>"},code:"import { Component } from '@angular/core';\nimport { SFSchema, SFAutoCompleteWidgetSchema } from '@delon/form';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { of } from 'rxjs';\n\n@Component({\n selector: 'form-autocomplete-simple',\n template: `<sf [schema]=\"schema\" (formSubmit)=\"submit($event)\"></sf>`,\n})\nexport class FormAutocompleteSimpleComponent {\n schema: SFSchema = {\n properties: {\n format: {\n type: 'string',\n title: 'Format',\n format: 'email',\n },\n widget: {\n type: 'string',\n title: '\u6307\u5b9awidget',\n ui: {\n widget: 'autocomplete',\n type: 'email',\n } as SFAutoCompleteWidgetSchema,\n },\n async: {\n type: 'string',\n title: '\u5f02\u6b65',\n ui: {\n widget: 'autocomplete',\n debounceTime: 100,\n asyncData: (input: string) => of(input ? [{ label: input, value: 1 }, { label: input + input, value: 2 }] : []),\n } as SFAutoCompleteWidgetSchema,\n },\n },\n };\n constructor(public msg: NzMessageService) { }\n submit(value: any) { this.msg.success(JSON.stringify(value)); }\n}",name:"simple",urls:"packages/form/src/widgets/autocomplete/demo/simple.md",type:"demo",lang:"ts",componentName:"FormAutocompleteSimpleComponent",point:0}]}}var S=d("LRne");class w{constructor(t){this.msg=t,this.schema={properties:{format:{type:"string",title:"Format",format:"email"},widget:{type:"string",title:"\u6307\u5b9awidget",ui:{widget:"autocomplete",type:"email"}},async:{type:"string",title:"\u5f02\u6b65",ui:{widget:"autocomplete",debounceTime:100,asyncData:t=>Object(S.a)(t?[{label:t,value:1},{label:t+t,value:2}]:[])}}}}}submit(t){this.msg.success(JSON.stringify(t))}}class v{constructor(){this.item={cols:1,urls:{"en-US":"packages/form/src/widgets/boolean/index.en-US.md","zh-CN":"packages/form/src/widgets/boolean/index.zh-CN.md"},content:{"en-US":{content:'<section class="markdown"><p>Switching Selector.</p></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema">schema<a onclick="window.location.hash = \'schema\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[readOnly]</code></td><td>Whether to disable the state</td><td><code>boolean</code></td><td>-</td></tr></tbody></table><h3 id="ui">ui<a onclick="window.location.hash = \'ui\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[size]</code></td><td>Size of the <code>nz-switch</code></td><td><code>default,small</code></td><td><code>default</code></td></tr><tr><td><code>[checkedChildren]</code></td><td>Content to be shown when the state is checked</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[unCheckedChildren]</code></td><td>Content to be shown when the state is unchecked</td><td><code>string</code></td><td>-</td></tr></tbody></table>',meta:{title:"boolean",subtitle:"Switch",type:"Widgets"},toc:[{id:"API",title:"API",h:2},{id:"schema",title:"schema",h:3},{id:"ui",title:"ui",h:3}]},"zh-CN":{content:'<section class="markdown"><p>\u5f00\u5173\u9009\u62e9\u5668</p></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema-\u5c5e\u6027">schema \u5c5e\u6027<a onclick="window.location.hash = \'schema-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[readOnly]</code></td><td>\u7981\u7528\u72b6\u6001</td><td><code>boolean</code></td><td>-</td></tr></tbody></table><h3 id="ui-\u5c5e\u6027">ui \u5c5e\u6027<a onclick="window.location.hash = \'ui-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[size]</code></td><td>\u5927\u5c0f\uff0c\u7b49\u540c <code>nzSize</code></td><td><code>default,small</code></td><td><code>default</code></td></tr><tr><td><code>[checkedChildren]</code></td><td>\u9009\u4e2d\u65f6\u7684\u5185\u5bb9</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[unCheckedChildren]</code></td><td>\u975e\u9009\u4e2d\u65f6\u7684\u5185\u5bb9</td><td><code>string</code></td><td>-</td></tr></tbody></table>',meta:{title:"boolean",subtitle:"\u5f00\u5173",type:"Widgets"},toc:[{id:"API",title:"API",h:2},{id:"schema-\u5c5e\u6027",title:"schema \u5c5e\u6027",h:3},{id:"ui-\u5c5e\u6027",title:"ui \u5c5e\u6027",h:3}]}},demo:!0},this.codes=[{id:"form-boolean-simple",meta:{title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"},order:0},summary:{"zh-CN":"<p>\u6700\u7b80\u5355\u7684\u7528\u6cd5\u3002</p>","en-US":"<p>Simplest of usage.</p>"},code:"import { Component } from '@angular/core';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { SFSchema } from '@delon/form';\n\n@Component({\n selector: 'form-boolean-simple',\n template: `\n <sf [schema]=\"schema\" (formSubmit)=\"submit($event)\"></sf>\n `,\n})\nexport class FormBooleanSimpleComponent {\n schema: SFSchema = {\n properties: {\n status: {\n type: 'boolean',\n title: '\u662f\u5426\u542f\u7528',\n },\n // \u6307\u5b9a\u5185\u5bb9\u6587\u672c\n enabled: {\n type: 'boolean',\n title: '\u662f\u5426\u542f\u7528',\n ui: {\n checkedChildren: '\u5f00',\n unCheckedChildren: '\u5173',\n },\n },\n },\n };\n constructor(public msg: NzMessageService) {}\n submit(value: any) {\n this.msg.success(JSON.stringify(value));\n }\n}",name:"simple",urls:"packages/form/src/widgets/boolean/demo/simple.md",type:"demo",lang:"ts",componentName:"FormBooleanSimpleComponent",point:0}]}}class k{constructor(t){this.msg=t,this.schema={properties:{status:{type:"boolean",title:"\u662f\u5426\u542f\u7528"},enabled:{type:"boolean",title:"\u662f\u5426\u542f\u7528",ui:{checkedChildren:"\u5f00",unCheckedChildren:"\u5173"}}}}}submit(t){this.msg.success(JSON.stringify(t))}}class z{constructor(){this.item={cols:1,urls:{"zh-CN":"packages/form/src/widgets/cascader/index.md"},content:{"zh-CN":{content:'<section class="markdown"><p>\u4e00\u822c\u7528\u4e8e\u7701\u5e02\u533a\uff0c\u516c\u53f8\u5c42\u7ea7\uff0c\u4e8b\u7269\u5206\u7c7b\u7b49\u3002</p><h2 id="\u6ce8\u610f\u4e8b\u9879">\u6ce8\u610f\u4e8b\u9879<a onclick="window.location.hash = \'\u6ce8\u610f\u4e8b\u9879\'" class="anchor">#</a></h2><ul><li><p><code>default</code> \u6216 <code>formData</code> \u503c\u59cb\u7ec8\u5e94\u8be5\u4fdd\u6301\u4e00\u4e2a\u6570\u7ec4\uff0c\u4f8b\u5982\uff1a\u57ce\u5e02\u7ea7\u8054\u53ef\u80fd\u53ea\u5b58\u50a8\u53f6\u8282\u70b9 <code>value</code>\uff0c\u6b64\u65f6\u9700\u8981\u624b\u52a8\u5904\u7406\u5e76\u7ed9\u51fa\u5b8c\u6574\u6570\u636e\u94fe <code>value</code> \u6570\u7ec4</p></li></ul><h2 id="\u6570\u636e\u6e90\u8bf4\u660e">\u6570\u636e\u6e90\u8bf4\u660e<a onclick="window.location.hash = \'\u6570\u636e\u6e90\u8bf4\u660e\'" class="anchor">#</a></h2><p><strong>\u9759\u6001</strong></p><p>\u6307\u4e00\u6b21\u6027\u83b7\u53d6\u6570\u636e\uff0c\u6570\u636e\u6765\u6e90\u4e8e <code>asyncData</code>\u3001<code>enum</code>\u3002</p><p><strong>\u5b9e\u65f6</strong></p><p>\u6307\u6bcf\u4e00\u6b21\u6bcf\u4e00\u6b21\u9009\u62e9\u4f1a\u89e6\u53d1HTTP\u8bf7\u6c42\uff0c\u6570\u636e\u6765\u6e90\u4e8e <code>asyncData</code>\uff1b\u5305\u542b\u4e09\u4e2a\u53c2\u6570 <code>(node: CascaderOption, index: number, me: CascaderWidget) => PromiseLike<any></code>\uff0c\u5176\u4e2d <code>me</code> \u8868\u793a\u5f53\u524d\u5c0f\u90e8\u4ef6\u5b9e\u4f8b\u3002</p></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema-\u5c5e\u6027">schema \u5c5e\u6027<a onclick="window.location.hash = \'schema-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[enum]</code></td><td>\u9759\u6001\u6570\u636e\u6e90</td><td><code>SFSchemaEnumType[]</code></td><td>-</td></tr><tr><td><code>[readOnly]</code></td><td>\u7981\u7528\u72b6\u6001</td><td><code>boolean</code></td><td>-</td></tr></tbody></table><h3 id="ui-\u5c5e\u6027">ui \u5c5e\u6027<a onclick="window.location.hash = \'ui-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[asyncData]</code></td><td>\u5f02\u6b65\u9759\u6001\u6570\u636e\u6e90</td><td><code>(node: CascaderOption, index: number, me: CascaderWidget) => PromiseLike<any></code></td><td>-</td></tr><tr><td><code>[size]</code></td><td>\u5927\u5c0f\uff0c\u7b49\u540c <code>nzSize</code></td><td><code>string</code></td><td>-</td></tr><tr><td><code>[placeholder]</code></td><td>\u5728\u6587\u5b57\u6846\u4e2d\u663e\u793a\u63d0\u793a\u8baf\u606f</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[showSearch]</code></td><td>\u662f\u5426\u652f\u6301\u641c\u7d22</td><td><code>bool</code></td><td><code>false</code></td></tr><tr><td><code>[allowClear]</code></td><td>\u662f\u5426\u663e\u793a\u6e05\u9664\u6309\u94ae</td><td><code>bool</code></td><td><code>true</code></td></tr><tr><td><code>[clearText]</code></td><td>\u6e05\u9664\u6309\u94ae\u7684\u6807\u9898</td><td><code>string</code></td><td><code>\u6e05\u9664</code></td></tr><tr><td><code>[showArrow]</code></td><td>\u662f\u5426\u663e\u793a\u7bad\u5934</td><td><code>bool</code></td><td><code>true</code></td></tr><tr><td><code>[showInput]</code></td><td>\u662f\u5426\u663e\u793a\u8f93\u5165\u6846</td><td><code>bool</code></td><td><code>true</code></td></tr><tr><td><code>[menuClassName]</code></td><td>\u81ea\u5b9a\u4e49\u6d6e\u5c42\u7c7b\u540d</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[menuStyle]</code></td><td>\u81ea\u5b9a\u4e49\u6d6e\u5c42\u6837\u5f0f</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[columnClassName]</code></td><td>\u5f39\u51fa\u83dc\u5355\u4e2d\u6570\u636e\u5217\u7684\u81ea\u5b9a\u4e49\u6837\u5f0f</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[data]</code></td><td>\u521d\u59cb\u5316\u5217\u6570\u636e\uff0c\u7528\u4e8e\u7b2c\u4e00\u5217\u7684\u6570\u636e\uff0c\u5b50\u5217\u901a\u8fc7\u9009\u9879\u7684 <code>children</code> \u52a0\u8f7d\uff0c\u6216\u8005\u901a\u8fc7 <code>load</code> \u4e8b\u4ef6\u5f02\u6b65\u52a0\u8f7d\u3002</td><td><code>Array</code></td><td>-</td></tr><tr><td><code>[enableCache]</code></td><td>\u662f\u5426\u7f13\u5b58\u5f02\u6b65\u52a0\u8f7d\u7684\u6570\u636e\uff0c\u82e5\u6bcf\u6b21\u5f02\u6b65\u52a0\u8f7d\u7684\u6570\u636e\u90fd\u662f\u53d8\u5316\u7684\uff0c\u9700\u5c06\u8be5\u503c\u8bbe\u7f6e\u4e3a false</td><td><code>bool</code></td><td><code>true</code></td></tr><tr><td><code>[expandTrigger]</code></td><td>\u6b21\u7ea7\u83dc\u5355\u7684\u5c55\u5f00\u65b9\u5f0f\uff0c\u53ef\u9009 \'click\' \u548c \'hover\'</td><td><code>string</code></td><td><code>click</code></td></tr><tr><td><code>[changeOnSelect]</code></td><td>\u5f53\u6b64\u9879\u4e3a true \u65f6\uff0c\u70b9\u9009\u6bcf\u7ea7\u83dc\u5355\u9009\u9879\u503c\u90fd\u4f1a\u53d1\u751f\u53d8\u5316\uff0c\u5177\u4f53\u89c1\u4e0a\u9762\u7684\u6f14\u793a</td><td><code>bool</code></td><td><code>false</code></td></tr><tr><td><code>[changeOn]</code></td><td>\u53ef\u901a\u8fc7\u81ea\u5b9a\u4e49\u7684\u51fd\u6570\u6765\u5224\u65ad\u70b9\u51fb\u83dc\u5355\u9009\u9879\u662f\u5426\u5e94\u8be5\u53d1\u751f\u53d8\u5316\uff0c\u5f53\u51fd\u6570\u8fd4\u56de true \u65f6\uff0c\u5c06\u53d1\u751f\u53d8\u5316</td><td><code>(option: CascaderOption, level: number) => boolean</code></td><td>-</td></tr><tr><td><code>[triggerAction]</code></td><td>\u89e6\u53d1\u83dc\u5355\u51fa\u73b0\u7684\u884c\u4e3a</td><td><code>(\'click\', \'hover\')[]</code></td><td><code>[\'click\']</code></td></tr><tr><td><code>[valueProperty]</code></td><td>\u503c <code>value</code> \u7684\u5c5e\u6027\u540d\u79f0</td><td><code>string</code></td><td><code>value</code></td></tr><tr><td><code>[labelProperty]</code></td><td>\u503c <code>label</code> \u7684\u5c5e\u6027\u540d\u79f0</td><td><code>string</code></td><td><code>label</code></td></tr><tr><td><code>[visibleChange]</code></td><td>\u5f02\u6b65\u52a0\u8f7d\u4e8b\u4ef6</td><td><code>(value: boolean) => void</code></td><td>-</td></tr><tr><td><code>[change]</code></td><td>\u9009\u9879\u503c\u53d8\u66f4\u4e8b\u4ef6</td><td><code>(values: any[]) => void</code></td><td>-</td></tr><tr><td><code>[selectionChange]</code></td><td>\u9009\u9879\u53d8\u66f4\u4e8b\u4ef6</td><td><code>(values: CascaderOption[]) => void</code></td><td>-</td></tr><tr><td><code>[clear]</code></td><td>\u5185\u5bb9\u88ab\u6e05\u7a7a\u4e8b\u4ef6</td><td><code>() => void</code></td><td>-</td></tr></tbody></table>',meta:{title:"cascader",subtitle:"\u7ea7\u8054\u9009\u62e9",type:"Widgets"},toc:[{id:"\u6ce8\u610f\u4e8b\u9879",title:"\u6ce8\u610f\u4e8b\u9879",h:2},{id:"\u6570\u636e\u6e90\u8bf4\u660e",title:"\u6570\u636e\u6e90\u8bf4\u660e",h:2},{id:"API",title:"API",h:2},{id:"schema-\u5c5e\u6027",title:"schema \u5c5e\u6027",h:3},{id:"ui-\u5c5e\u6027",title:"ui \u5c5e\u6027",h:3}]}},demo:!0},this.codes=[{id:"form-cascader-simple",meta:{title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"},order:0},summary:{"zh-CN":"<p>\u6700\u7b80\u5355\u7684\u7528\u6cd5\u3002</p>","en-US":"<p>Simplest of usage.</p>"},code:"import { Component } from '@angular/core';\nimport { SFSchema, SFCascaderWidgetSchema } from '@delon/form';\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\n@Component({\n selector: 'form-cascader-simple',\n template: `\n <sf [schema]=\"schema\" (formSubmit)=\"submit($event)\"></sf>\n `,\n})\nexport class FormCascaderSimpleComponent {\n schema: SFSchema = {\n properties: {\n static: {\n type: 'number',\n title: 'Static',\n enum: [\n {\n value: 110000,\n label: '\u5317\u4eac',\n parent: 0,\n children: [\n {\n value: 110100,\n label: '\u5317\u4eac\u5e02',\n parent: 110000,\n children: [\n {\n value: 110101,\n label: '\u4e1c\u57ce\u533a',\n parent: 110100,\n isLeaf: true,\n },\n {\n value: 110105,\n label: '\u671d\u9633\u533a',\n parent: 110100,\n isLeaf: true,\n },\n ],\n },\n ],\n },\n ],\n ui: 'cascader',\n default: [110000, 110100, 110105],\n },\n async: {\n type: 'number',\n title: 'RealTime',\n ui: {\n widget: 'cascader',\n asyncData: (node, index) => {\n return new Promise(resolve => {\n setTimeout(() => {\n (node as any).children = [\n { value: 110000, label: '\u5317\u4eac', parent: 0 },\n { value: 110100, label: '\u5317\u4eac\u5e02', parent: 110000 },\n { value: 110101, label: '\u4e1c\u57ce\u533a', parent: 110100 },\n { value: 110105, label: '\u671d\u9633\u533a', parent: 110100 },\n { value: 310000, label: '\u4e0a\u6d77', parent: 0 },\n { value: 310100, label: '\u4e0a\u6d77\u5e02', parent: 310000 },\n { value: 310101, label: '\u9ec4\u6d66\u533a', parent: 310100 },\n { value: 310104, label: '\u5f90\u6c47\u533a', parent: 310100 },\n ].filter((w: any) => {\n w.isLeaf = index === 1;\n return w.parent === (node.value || 0);\n });\n resolve();\n }, 300);\n });\n },\n } as SFCascaderWidgetSchema,\n default: [110000, 110100, 110105],\n },\n },\n };\n constructor(public msg: NzMessageService) {}\n submit(value: any) {\n this.msg.success(JSON.stringify(value));\n }\n}",name:"simple",urls:"packages/form/src/widgets/cascader/demo/simple.md",type:"demo",lang:"ts",componentName:"FormCascaderSimpleComponent",point:0}]}}class I{constructor(t){this.msg=t,this.schema={properties:{static:{type:"number",title:"Static",enum:[{value:11e4,label:"\u5317\u4eac",parent:0,children:[{value:110100,label:"\u5317\u4eac\u5e02",parent:11e4,children:[{value:110101,label:"\u4e1c\u57ce\u533a",parent:110100,isLeaf:!0},{value:110105,label:"\u671d\u9633\u533a",parent:110100,isLeaf:!0}]}]}],ui:"cascader",default:[11e4,110100,110105]},async:{type:"number",title:"RealTime",ui:{widget:"cascader",asyncData:(t,e)=>new Promise(d=>{setTimeout(()=>{t.children=[{value:11e4,label:"\u5317\u4eac",parent:0},{value:110100,label:"\u5317\u4eac\u5e02",parent:11e4},{value:110101,label:"\u4e1c\u57ce\u533a",parent:110100},{value:110105,label:"\u671d\u9633\u533a",parent:110100},{value:31e4,label:"\u4e0a\u6d77",parent:0},{value:310100,label:"\u4e0a\u6d77\u5e02",parent:31e4},{value:310101,label:"\u9ec4\u6d66\u533a",parent:310100},{value:310104,label:"\u5f90\u6c47\u533a",parent:310100}].filter(d=>(d.isLeaf=1===e,d.parent===(t.value||0))),d()},300)})},default:[11e4,110100,110105]}}}}submit(t){this.msg.success(JSON.stringify(t))}}class N{constructor(){this.item={cols:1,urls:{"en-US":"packages/form/src/widgets/checkbox/index.en-US.md","zh-CN":"packages/form/src/widgets/checkbox/index.zh-CN.md"},content:{"en-US":{content:'<section class="markdown"><p>Checkbox.</p></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema">schema<a onclick="window.location.hash = \'schema\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[readOnly]</code></td><td>Whether to disable the state</td><td><code>boolean</code></td><td>-</td></tr><tr><td><code>[enum]</code></td><td>Render checkbox group when the value exists</td><td><code>SFSchemaEnumType[]</code></td><td>-</td></tr><tr><td><code>[title]</code></td><td>Text of the single checkbox</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[description]</code></td><td>Help text of the single checkbox</td><td><code>string</code></td><td>-</td></tr></tbody></table><h3 id="ui">ui<a onclick="window.location.hash = \'ui\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[asyncData]</code></td><td>Async data source, render checkbox group when the value exists</td><td><code>() => Observable<SFSchemaEnumType[]></code></td><td>-</td></tr><tr><td><code>[span]</code></td><td>Raster number of cells to occupy, refer to <a target="_blank" href="https://ng.ant.design/components/checkbox/en#components-checkbox-demo-layout" data-url="https://ng.ant.design/components/checkbox/en#components-checkbox-demo-layout">layout</a></td><td><code>number</code></td><td>-</td></tr><tr><td><code>[styleType]</code></td><td>Style of the <code>nz-checkbox</code></td><td><code>default, button</code></td><td><code>default</code></td></tr><tr><td><code>[checkAll]</code></td><td>Whether to select all</td><td><code>boolean</code></td><td>-</td></tr><tr><td><code>[checkAllText]</code></td><td>Select all button text</td><td><code>string</code></td><td><code>\u5168\u9009</code></td></tr><tr><td><code>[change]</code></td><td>Changed event, Parameter: single checkbox is <code>boolean</code>, otherwise <code>SFSchemaEnum[]</code></td><td><code>(res: boolean | SFSchemaEnum[]) => void</code></td><td>-</td></tr></tbody></table>',meta:{title:"checkbox",subtitle:"Checkbox",type:"Widgets"},toc:[{id:"API",title:"API",h:2},{id:"schema",title:"schema",h:3},{id:"ui",title:"ui",h:3}]},"zh-CN":{content:'<section class="markdown"><p>\u4e00\u7ec4\u53ef\u9009\u9879\u4e2d\u8fdb\u884c\u591a\u9879\u9009\u62e9\u65f6</p></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema-\u5c5e\u6027">schema \u5c5e\u6027<a onclick="window.location.hash = \'schema-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[enum]</code></td><td>\u6570\u636e\u6e90\uff0c\u5f53\u6570\u636e\u6e90\u5b58\u5728\u4e8e\u8868\u793a\u4e00\u7ec4\u591a\u9009\u6846</td><td><code>SFSchemaEnumType[]</code></td><td>-</td></tr><tr><td><code>[readOnly]</code></td><td>\u7981\u7528\u72b6\u6001</td><td><code>boolean</code></td><td>-</td></tr><tr><td><code>[title]</code></td><td>\u65e0 <code>enum</code> \u65f6\u8868\u793a\u591a\u9009\u6846\u6587\u672c\u5185\u5bb9</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[description]</code></td><td>\u65e0 <code>enum</code> \u65f6\u8868\u793a\u591a\u9009\u6846\u540e\u5e2e\u52a9\u4fe1\u606f</td><td><code>string</code></td><td>-</td></tr></tbody></table><h3 id="ui-\u5c5e\u6027">ui \u5c5e\u6027<a onclick="window.location.hash = \'ui-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[asyncData]</code></td><td>\u5f02\u6b65\u6570\u636e\u6e90</td><td><code>() => Observable<SFSchemaEnumType[]></code></td><td>-</td></tr><tr><td><code>[span]</code></td><td>\u6307\u5b9a\u6bcf\u4e2a\u9009\u6846\u5355\u5143\u683c\u6570\u91cf\uff0c\u53c2\u8003<a target="_blank" href="https://ng.ant.design/components/checkbox/zh#components-checkbox-demo-layout" data-url="https://ng.ant.design/components/checkbox/zh#components-checkbox-demo-layout">\u5e03\u5c40</a></td><td><code>number</code></td><td>-</td></tr><tr><td><code>[styleType]</code></td><td>radio\u7684\u6837\u5f0f</td><td><code>default, button</code></td><td><code>default</code></td></tr><tr><td><code>[checkAll]</code></td><td>\u662f\u5426\u9700\u8981\u5168\u9009</td><td><code>boolean</code></td><td>-</td></tr><tr><td><code>[checkAllText]</code></td><td>\u5168\u9009\u6309\u94ae\u6587\u672c</td><td><code>string</code></td><td><code>\u5168\u9009</code></td></tr><tr><td><code>[change]</code></td><td>\u503c\u53d8\u66f4\u4e8b\u4ef6\uff0c\u53c2\u6570\uff1a\u5355\u4e2a\u591a\u9009\u6846\u4e3a <code>boolean</code>\uff0c\u5426\u5219\u4e3a <code>SFSchemaEnum[]</code></td><td><code>(res: boolean | SFSchemaEnum[]) => void</code></td><td>-</td></tr></tbody></table>',meta:{title:"checkbox",subtitle:"\u591a\u9009\u6846",type:"Widgets"},toc:[{id:"API",title:"API",h:2},{id:"schema-\u5c5e\u6027",title:"schema \u5c5e\u6027",h:3},{id:"ui-\u5c5e\u6027",title:"ui \u5c5e\u6027",h:3}]}},demo:!0},this.codes=[{id:"form-checkbox-simple",meta:{title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"},order:0},summary:{"zh-CN":"<p>\u6700\u7b80\u5355\u7684\u7528\u6cd5\u3002</p>","en-US":"<p>Simplest of usage.</p>"},code:"import { Component } from '@angular/core';\nimport { of } from 'rxjs';\nimport { delay } from 'rxjs/operators';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { SFSchema, SFCascaderWidgetSchema, SFCheckboxWidgetSchema } from '@delon/form';\n\n@Component({\n selector: 'form-checkbox-simple',\n template: `\n <sf [schema]=\"schema\" (formSubmit)=\"submit($event)\"></sf>\n `,\n})\nexport class FormCheckboxSimpleComponent {\n schema: SFSchema = {\n properties: {\n // \u5355\u4e2a\u591a\u9009\u6846\n single: {\n type: 'boolean',\n title: '\u540c\u610f\u672c\u534f\u8bae',\n description: '\u300a\u7528\u6237\u534f\u8bae\u300b',\n ui: {\n widget: 'checkbox',\n } as SFCascaderWidgetSchema,\n default: true,\n },\n // \u591a\u9009\u6846\u7ec4\n mulit: {\n type: 'string',\n title: 'Mulit',\n enum: ['Apple', 'Pear', 'Orange'],\n ui: {\n widget: 'checkbox',\n span: 8, // \u6307\u5b9a\u6bcf\u4e00\u9879 8 \u4e2a\u5355\u5143\u7684\u5e03\u5c40\n checkAll: true,\n } as SFCheckboxWidgetSchema,\n default: ['Apple'],\n },\n // \u5f02\u6b65\u6570\u636e\n async: {\n type: 'string',\n title: 'Async',\n ui: {\n widget: 'checkbox',\n asyncData: () =>\n of([{ label: 'Apple', value: 'Apple' }, { label: 'Pear', value: 'Pear' }, { label: 'Orange', value: 'Orange' }]).pipe(\n delay(200),\n ),\n } as SFCheckboxWidgetSchema,\n default: ['Apple'],\n },\n },\n };\n constructor(public msg: NzMessageService) {}\n submit(value: any) {\n this.msg.success(JSON.stringify(value));\n }\n}",name:"simple",urls:"packages/form/src/widgets/checkbox/demo/simple.md",type:"demo",lang:"ts",componentName:"FormCheckboxSimpleComponent",point:0}]}}var C=d("3E0/");class x{constructor(t){this.msg=t,this.schema={properties:{single:{type:"boolean",title:"\u540c\u610f\u672c\u534f\u8bae",description:"\u300a\u7528\u6237\u534f\u8bae\u300b",ui:{widget:"checkbox"},default:!0},mulit:{type:"string",title:"Mulit",enum:["Apple","Pear","Orange"],ui:{widget:"checkbox",span:8,checkAll:!0},default:["Apple"]},async:{type:"string",title:"Async",ui:{widget:"checkbox",asyncData:()=>Object(S.a)([{label:"Apple",value:"Apple"},{label:"Pear",value:"Pear"},{label:"Orange",value:"Orange"}]).pipe(Object(C.a)(200))},default:["Apple"]}}}}submit(t){this.msg.success(JSON.stringify(t))}}class F{constructor(){this.item={cols:1,urls:{"en-US":"packages/form/src/widgets/custom/index.en-US.md","zh-CN":"packages/form/src/widgets/custom/index.zh-CN.md"},content:{"en-US":{content:'<section class="markdown"><p>Custom the current dynamic form widget. For more complexity, please refer to <a href="/form/customize" data-url="/form/customize">customize</a> widget.</p><h2 id="Usage">Usage<a onclick="window.location.hash = \'Usage\'" class="anchor">#</a></h2><p>Make sure to specify <strong>sf-template</strong> a valid path value, for example:</p><pre class="hljs language-html"><code><sf>\n <ng-template sf-template="custom" let-me let-ui="ui" let-schema="schema">\n </ng-tempalte>\n</sf></code></pre></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><table><thead><tr><th>Name</th><th>Description</th><th>Type</th></tr></thead><tbody><tr><td><code>[$implicit]</code></td><td>Current widget component instance</td><td><code>ControlWidget</code></td></tr><tr><td><code>[schema]</code></td><td>Schema data of the widget</td><td><code>SFSchema</code></td></tr><tr><td><code>[ui]</code></td><td>UI data of the widget</td><td><code>SFUISchemaItem</code></td></tr></tbody></table><p>The widget component instance include <code>formProperty</code> property, whose <code>value</code> attribute is the only way to communicate with the widget.</p><p>The widget component instance contains some shortcut properties and methods, please read for more details <a target="_blank" href="https://github.com/ng-alain/delon/blob/master/packages/form/src/widget.ts" data-url="https://github.com/ng-alain/delon/blob/master/packages/form/src/widget.ts">ControlWidget</a>.</p>',meta:{title:"custom",subtitle:"Custom",type:"Widgets"},toc:[{id:"Usage",title:"Usage",h:2},{id:"API",title:"API",h:2}]},"zh-CN":{content:'<section class="markdown"><p>\u5b9a\u5236\u5f53\u524d\u52a8\u6001\u8868\u5355\u5c0f\u90e8\u4ef6\u3002\u66f4\u590d\u6742\u8bf7\u53c2\u8003<a href="/form/customize" data-url="/form/customize">\u5b9a\u5236\u5c0f\u90e8\u4ef6</a>\u3002</p><h2 id="\u5982\u4f55\u4f7f\u7528">\u5982\u4f55\u4f7f\u7528<a onclick="window.location.hash = \'\u5982\u4f55\u4f7f\u7528\'" class="anchor">#</a></h2><p>\u52a1\u5fc5\u6307\u5b9a <strong>sf-template</strong> \u662f\u6709\u6548\u8def\u5f84\u503c\uff0c\u4f8b\u5982\uff1a</p><pre class="hljs language-html"><code><sf>\n <ng-template sf-template="custom" let-me let-ui="ui" let-schema="schema">\n </ng-tempalte>\n</sf></code></pre></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th></tr></thead><tbody><tr><td><code>[$implicit]</code></td><td>\u5f53\u524d\u4e0a\u4e0b\u6587</td><td><code>ControlWidget</code></td></tr><tr><td><code>[schema]</code></td><td>\u5f53\u524d\u8282\u70b9 Schema</td><td><code>SFSchema</code></td></tr><tr><td><code>[ui]</code></td><td>\u5f53\u524d\u8282\u70b9 UI</td><td><code>SFUISchemaItem</code></td></tr></tbody></table><p>\u4e0a\u4e0b\u6587\u5305\u62ec <code>formProperty</code> \u5c5e\u6027\uff0c\u5b83\u662f\u4f20\u9012\u6570\u636e\u7684\u552f\u4e00\u4e2d\u95f4\u5c42\uff0c\u56e0\u6b64\u7ef4\u62a4 <code>formProperty.value</code> \u662f\u552f\u4e00\u4e0e\u81ea\u5b9a\u4e49\u7ec4\u4ef6\u901a\u4fe1\u7684\u5a92\u4ecb\u3002</p><p>\u4e0a\u4e0b\u6587\u8fd8\u5305\u542b\u4e86\u4e00\u4e9b\u5feb\u6377\u5c5e\u6027\u548c\u65b9\u6cd5\uff0c\u6709\u5173\u66f4\u591a\u7ec6\u8282\u8bf7\u9605\u8bfb <a target="_blank" href="https://github.com/ng-alain/delon/blob/master/packages/form/src/widget.ts" data-url="https://github.com/ng-alain/delon/blob/master/packages/form/src/widget.ts">Widget</a> \u7684\u5b9a\u4e49\u3002</p>',meta:{title:"custom",subtitle:"\u81ea\u5b9a\u4e49",type:"Widgets"},toc:[{id:"\u5982\u4f55\u4f7f\u7528",title:"\u5982\u4f55\u4f7f\u7528",h:2},{id:"API",title:"API",h:2}]}},demo:!0},this.codes=[{id:"form-custom-simple",meta:{title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"},order:0},summary:{"zh-CN":"<p>\u6700\u7b80\u5355\u7684\u7528\u6cd5\u3002</p>","en-US":"<p>Simplest of usage.</p>"},code:'import { Component } from \'@angular/core\';\nimport { NzMessageService } from \'ng-zorro-antd/message\';\nimport { SFSchema } from \'@delon/form\';\n\n@Component({\n selector: \'form-custom-simple\',\n template: `\n <sf [schema]="schema" (formSubmit)="submit($event)">\n <ng-template sf-template="custom" let-me let-ui="ui" let-schema="schema">\n \u81ea\u5b9a\u4e49\u5185\u5bb9:\n <input\n nz-input\n [attr.id]="me.id"\n [disabled]="me.disabled"\n [attr.disabled]="me.disabled"\n [nzSize]="ui.size"\n [ngModel]="me.formProperty.value"\n (ngModelChange)="me.setValue($event)"\n />\n </ng-template>\n </sf>\n `,\n})\nexport class FormCustomSimpleComponent {\n schema: SFSchema = {\n properties: {\n custom: {\n type: \'string\',\n title: \'\u81ea\u5b9a\u4e49\u5185\u5bb9\',\n ui: {\n widget: \'custom\',\n },\n default: \'test\',\n },\n },\n };\n constructor(public msg: NzMessageService) {}\n submit(value: any) {\n this.msg.success(JSON.stringify(value));\n }\n}',name:"simple",urls:"packages/form/src/widgets/custom/demo/simple.md",type:"demo",lang:"ts",componentName:"FormCustomSimpleComponent",point:0}]}}class _{constructor(t){this.msg=t,this.schema={properties:{custom:{type:"string",title:"\u81ea\u5b9a\u4e49\u5185\u5bb9",ui:{widget:"custom"},default:"test"}}}}submit(t){this.msg.success(JSON.stringify(t))}}class T{constructor(){this.item={cols:1,urls:{"en-US":"packages/form/src/widgets/date/index.en-US.md","zh-CN":"packages/form/src/widgets/date/index.zh-CN.md"},content:{"en-US":{content:'<section class="markdown"><p>To select or input a date.</p><h2 id="Notice">Notice<a onclick="window.location.hash = \'Notice\'" class="anchor">#</a></h2><ul><li><p>Format is divided into two types: <strong>Data format</strong> means form data, <strong>Display format</strong> means display data (<a target="_blank" href="https://ng.ant.design/components/date-picker/en#api" data-url="https://ng.ant.design/components/date-picker/en#api">nzFormat</a>)</p></li><li><p>All <strong>Data format</strong> units, reference <a target="_blank" href="https://date-fns.org/v1.29.0/docs/format" data-url="https://date-fns.org/v1.29.0/docs/format">date-fns format</a> (China mirror: <a target="_blank" href="http://Momentjs.cn/docs/#/displaying/format/" data-url="http://Momentjs.cn/docs/#/displaying/format/">moment format</a>)</p></li><li><p>Specify <code>schema.format</code> must follow <a target="_blank" href="https://tools.ietf.org/html/rfc3339#section-5.6" data-url="https://tools.ietf.org/html/rfc3339#section-5.6">RFC3339</a> time format, otherwise considered as a format error, default rules:</p><ul><li><p><code>date-time</code> default is <code>YYYY-MM-DDTHH:mm:ssZ</code></p></li><li><p><code>date</code>, <code>full-date</code> default is <code>YYYY-MM-DD</code></p></li><li><p><code>time</code>, <code>full-time</code> default is <code>HH:mm:ss</code></p></li><li><p><em>Non-standard:</em> <code>week</code> default is <code>YYYY-WW</code></p></li><li><p><em>Non-standard:</em> <code>month</code> default is <code>YYYY-MM</code></p></li></ul></li><li><p>When <code>schema.format</code> is not specified, the data formatting (Allows you to reassign default values via <code>DelonFormConfig</code>) is determined by the <code>schema.type</code> type:</p><ul><li><p><code>string</code> default is <code>YYYY-MM-DD HH:mm:ss</code></p></li><li><p><code>number</code> default is <code>x</code> 13-bit Unix Timestamp</p></li></ul></li></ul></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema">schema<a onclick="window.location.hash = \'schema\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[readOnly]</code></td><td>Whether to disable the state</td><td><code>boolean</code></td><td>-</td></tr><tr><td><code>[format]</code></td><td>Data format type</td><td><code>string</code></td><td>-</td></tr></tbody></table><h3 id="ui">ui<a onclick="window.location.hash = \'ui\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[mode]</code></td><td>Render mode</td><td><code>date,week,month,year</code></td><td><code>date</code></td></tr><tr><td><code>[size]</code></td><td>Size of the <code>nz-date-picker</code></td><td><code>default,large,small</code></td><td>-</td></tr><tr><td><code>[placeholder]</code></td><td>Placeholder of date input</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[displayFormat]</code></td><td>Display format(<a target="_blank" href="https://ng.ant.design/components/date-picker/en#api" data-url="https://ng.ant.design/components/date-picker/en#api">nzFormat</a>)</td><td><code>string</code></td><td><code>yyyy-MM-dd HH:mm:ss</code></td></tr><tr><td><code>[end]</code></td><td>End <code>key</code> value for the date range</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[allowClear]</code></td><td>Whether to show clear button</td><td><code>boolean</code></td><td><code>true</code></td></tr><tr><td><code>[className]</code></td><td>Picker className</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[disabledDate]</code></td><td>specify the date that cannot be selected</td><td><code>(current: Date) => boolean</code></td><td>-</td></tr><tr><td><code>[locale]</code></td><td>localization configuration</td><td><code>object</code></td><td>-</td></tr><tr><td><code>[popupStyle]</code></td><td>to customize the style of the popup calendar</td><td><code>object</code></td><td>-</td></tr><tr><td><code>[dropdownClassName]</code></td><td>to customize the className of the popup calendar</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[onOpenChange]</code></td><td>a callback emitter, can be executed whether the popup calendar is popped up or closed</td><td><code>(status: boolean) => void</code></td><td>-</td></tr><tr><td><code>[disabledTime]</code></td><td>to specify the time that cannot be selected</td><td><code>(current: Date) => { nzDisabledHours, nzDisabledMinutes, nzDisabledSeconds }</code></td><td>-</td></tr><tr><td><code>[renderExtraFooter]</code></td><td>render extra footer in panel</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[showTime]</code></td><td>to provide an additional time selection, the <code>object</code> type is <a target="_blank" href="https://ng.ant.design/components/time-picker/en#api" data-url="https://ng.ant.design/components/time-picker/en#api">TimePickerOptions</a></td><td><code>object,boolean</code></td><td><code>true</code></td></tr><tr><td><code>[showToday]</code></td><td>whether to show "Today" button</td><td><code>boolean</code></td><td><code>true</code></td></tr><tr><td><code>[onOk]</code></td><td>callback when click ok button</td><td><code>(data: Date | Date[]) => void</code></td><td>-</td></tr></tbody></table>',meta:{title:"date",subtitle:"Date",type:"Widgets"},toc:[{id:"Notice",title:"Notice",h:2},{id:"API",title:"API",h:2},{id:"schema",title:"schema",h:3},{id:"ui",title:"ui",h:3}]},"zh-CN":{content:'<section class="markdown"><p>\u8f93\u5165\u6216\u9009\u62e9\u65e5\u671f\u7684\u63a7\u4ef6\u3002</p><h2 id="\u6ce8\u610f\u4e8b\u9879">\u6ce8\u610f\u4e8b\u9879<a onclick="window.location.hash = \'\u6ce8\u610f\u4e8b\u9879\'" class="anchor">#</a></h2><ul><li><p>\u683c\u5f0f\u5316\u5206\u4e3a\uff1a<strong>\u6570\u636e\u683c\u5f0f\u5316</strong>\u8868\u793a\u8868\u5355\u6570\u636e\u548c<strong>\u663e\u793a\u683c\u5f0f\u5316</strong>\u663e\u793a\u6570\u636e\uff08\u7b49\u540c <a target="_blank" href="https://ng.ant.design/components/date-picker/zh#api" data-url="https://ng.ant.design/components/date-picker/zh#api">nzFormat</a> \u503c\uff09</p></li><li><p>\u6240\u6709 <strong>\u6570\u636e\u683c\u5f0f\u5316</strong> \u5355\u4f4d\uff0c\u53c2\u8003 <a target="_blank" href="https://date-fns.org/v1.29.0/docs/format" data-url="https://date-fns.org/v1.29.0/docs/format">date-fns format</a>\uff08\u56fd\u5185\u955c\u50cf\uff1a<a target="_blank" href="http://momentjs.cn/docs/#/displaying/format/" data-url="http://momentjs.cn/docs/#/displaying/format/">moment format</a>\uff09</p></li><li><p>\u6307\u5b9a <code>schema.format</code> \u5219\u5fc5\u987b\u9075\u5b88 <a target="_blank" href="https://tools.ietf.org/html/rfc3339#section-5.6" data-url="https://tools.ietf.org/html/rfc3339#section-5.6">RFC3339</a> \u65f6\u95f4\u683c\u5f0f\uff0c\u5426\u5219\u90fd\u89c6\u4e3a\u683c\u5f0f\u9519\u8bef\uff0c\u9ed8\u8ba4\u7684\u6570\u636e\u683c\u5f0f\u5316\u89c4\u5219\uff1a</p><ul><li><p><code>date-time</code> \u9ed8\u8ba4 <code>YYYY-MM-DDTHH:mm:ssZ</code>\uff0c\u6ce8\u610f\u8fd9\u91cc\u91c7\u7528\u7684\u662f <code>type="datetime-local"</code> \u56e0\u6b64\u4f1a\u6d89\u53ca\u5230<strong>\u65f6\u533a\u95ee\u9898</strong></p></li><li><p><code>date</code>\u3001<code>full-date</code> \u9ed8\u8ba4 <code>YYYY-MM-DD</code></p></li><li><p><code>time</code>\u3001<code>full-time</code> \u9ed8\u8ba4 <code>HH:mm:ss</code></p></li><li><p>\u975e\u6807\u51c6\uff1a<code>week</code> \u9ed8\u8ba4 <code>YYYY-WW</code></p></li><li><p>\u975e\u6807\u51c6\uff1a<code>month</code> \u9ed8\u8ba4 <code>YYYY-MM</code></p></li></ul></li><li><p>\u4e0d\u6307\u5b9a <code>schema.format</code> \u6839\u636e <code>schema.type</code> \u503c\u6309\u4ee5\u4e0b\u89c4\u5219\u5904\u7406\uff08\u5141\u8bb8\u901a\u8fc7 <code>DelonFormConfig</code> \u66ff\u6362\uff09\u6570\u636e\u683c\u5f0f\u5316\uff1a</p><ul><li><p><code>string</code> \u9ed8\u8ba4 <code>YYYY-MM-DD HH:mm:ss</code></p></li><li><p><code>number</code> \u9ed8\u8ba4 <code>x</code> 13\u4f4dUnix Timestamp</p></li></ul></li></ul></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema-\u5c5e\u6027">schema \u5c5e\u6027<a onclick="window.location.hash = \'schema-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[readOnly]</code></td><td>\u7981\u7528\u72b6\u6001</td><td><code>boolean</code></td><td>-</td></tr><tr><td><code>[format]</code></td><td>\u6570\u636e\u683c\u5f0f\u7c7b\u578b</td><td><code>string</code></td><td>-</td></tr></tbody></table><h3 id="ui-\u5c5e\u6027">ui \u5c5e\u6027<a onclick="window.location.hash = \'ui-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[mode]</code></td><td>\u6e32\u67d3\u6a21\u5f0f</td><td><code>date,week,month,year</code></td><td><code>date</code></td></tr><tr><td><code>[size]</code></td><td>\u5927\u5c0f\uff0c\u7b49\u540c <code>nzSize</code></td><td><code>default,large,small</code></td><td>-</td></tr><tr><td><code>[placeholder]</code></td><td>\u5728\u6587\u5b57\u6846\u4e2d\u663e\u793a\u63d0\u793a\u8baf\u606f</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[format]</code></td><td>\u6570\u636e\u683c\u5f0f\u5316</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[displayFormat]</code></td><td>\u663e\u793a\u683c\u5f0f\u5316\uff0c\uff08\u7b49\u540c <a target="_blank" href="https://ng.ant.design/components/date-picker/zh#api" data-url="https://ng.ant.design/components/date-picker/zh#api">nzFormat</a> \u503c\uff09</td><td><code>string</code></td><td><code>yyyy-MM-dd HH:mm:ss</code></td></tr><tr><td><code>[end]</code></td><td>\u65e5\u671f\u8303\u56f4\u6240\u5bf9\u5e94\u7684\u7ed3\u675f\u503c <code>key</code></td><td><code>string</code></td><td>-</td></tr><tr><td><code>[allowClear]</code></td><td>\u662f\u5426\u663e\u793a\u6e05\u9664\u6309\u94ae</td><td><code>boolean</code></td><td><code>true</code></td></tr><tr><td><code>[className]</code></td><td>\u9009\u62e9\u5668 className</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[locale]</code></td><td>\u56fd\u9645\u5316\u914d\u7f6e</td><td><code>object</code></td><td>-</td></tr><tr><td><code>[popupStyle]</code></td><td>\u989d\u5916\u7684\u5f39\u51fa\u65e5\u5386\u6837\u5f0f</td><td><code>object</code></td><td>-</td></tr><tr><td><code>[dropdownClassName]</code></td><td>\u989d\u5916\u7684\u5f39\u51fa\u65e5\u5386 className</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[onOpenChange]</code></td><td>\u5f39\u51fa\u65e5\u5386\u548c\u5173\u95ed\u65e5\u5386\u7684\u56de\u8c03</td><td><code>(status: boolean) => void</code></td><td>-</td></tr><tr><td><code>[disabledDate]</code></td><td>\u4e0d\u53ef\u9009\u62e9\u7684\u65e5\u671f</td><td><code>(current: Date) => boolean</code></td><td>-</td></tr><tr><td><code>[disabledTime]</code></td><td>\u4e0d\u53ef\u9009\u62e9\u7684\u65f6\u95f4</td><td><code>(current: Date) => { nzDisabledHours, nzDisabledMinutes, nzDisabledSeconds }</code></td><td>-</td></tr><tr><td><code>[renderExtraFooter]</code></td><td>\u5728\u9762\u677f\u4e2d\u6dfb\u52a0\u989d\u5916\u7684\u9875\u811a</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[showTime]</code></td><td>\u589e\u52a0\u65f6\u95f4\u9009\u62e9\u529f\u80fd\uff0c<code>object</code> \u7c7b\u578b\u4e3a <a target="_blank" href="https://ng.ant.design/components/time-picker/en#api" data-url="https://ng.ant.design/components/time-picker/en#api">TimePickerOptions</a></td><td><code>object,boolean</code></td><td><code>true</code></td></tr><tr><td><code>[showToday]</code></td><td>\u662f\u5426\u5c55\u793a\u201c\u4eca\u5929\u201d\u6309\u94ae</td><td><code>boolean</code></td><td><code>true</code></td></tr><tr><td><code>[onOk]</code></td><td>\u70b9\u51fb\u786e\u5b9a\u6309\u94ae\u7684\u56de\u8c03</td><td><code>(data: Date | Date[]) => void</code></td><td>-</td></tr></tbody></table>',meta:{title:"date",subtitle:"\u65e5\u671f",type:"Widgets"},toc:[{id:"\u6ce8\u610f\u4e8b\u9879",title:"\u6ce8\u610f\u4e8b\u9879",h:2},{id:"API",title:"API",h:2},{id:"schema-\u5c5e\u6027",title:"schema \u5c5e\u6027",h:3},{id:"ui-\u5c5e\u6027",title:"ui \u5c5e\u6027",h:3}]}},demo:!0},this.codes=[{id:"form-date-simple",meta:{title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"},order:0},summary:{"zh-CN":"<p>\u6700\u7b80\u5355\u7684\u7528\u6cd5\u3002</p>","en-US":"<p>Simplest of usage.</p>"},code:"import { Component } from '@angular/core';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { SFSchema, SFDateWidgetSchema } from '@delon/form';\n\n@Component({\n selector: 'form-date-simple',\n template: `\n <sf [schema]=\"schema\" (formSubmit)=\"submit($event)\" (formChange)=\"change($event)\"></sf>\n `,\n})\nexport class FormDateSimpleComponent {\n schema: SFSchema = {\n properties: {\n datetime: {\n type: 'string',\n format: 'date-time',\n },\n date: {\n type: 'string',\n format: 'date',\n },\n date_number: {\n type: 'number',\n ui: { widget: 'date' } as SFDateWidgetSchema,\n },\n year: {\n type: 'number',\n ui: { widget: 'date', mode: 'year', format: 'YYYY' } as SFDateWidgetSchema,\n },\n month: {\n type: 'string',\n format: 'month',\n },\n week: {\n type: 'string',\n format: 'week',\n },\n range: {\n type: 'string',\n ui: { widget: 'date', mode: 'range' } as SFDateWidgetSchema,\n },\n start: {\n type: 'string',\n ui: { widget: 'date', end: 'end' } as SFDateWidgetSchema,\n },\n end: {\n type: 'string',\n ui: { widget: 'date', end: 'end' } as SFDateWidgetSchema,\n },\n },\n };\n\n constructor(public msg: NzMessageService) {}\n\n submit(value: any) {\n this.msg.success(JSON.stringify(value));\n }\n\n change(value: any) {\n console.log('change', value);\n }\n}",name:"simple",urls:"packages/form/src/widgets/date/demo/simple.md",type:"demo",lang:"ts",componentName:"FormDateSimpleComponent",point:0},{id:"form-date-range",meta:{title:{"zh-CN":"\u8303\u56f4","en-US":"Data Range"},order:1},summary:{"zh-CN":"<p>\u4e00\u4e2a\u7b80\u5355\u7684\u5f00\u59cb\u4e0e\u7ed3\u675f\u65e5\u671f\uff0c<strong>\u6ce8\u610f\uff1a</strong> <code>end</code> \u4f9d\u7136\u9700\u8981\u5b9a\u4e49\u5bf9\u5e94\u7684Schema\uff0c\u4f46\u4f1a\u5f3a\u5236\u9690\u85cf\u72b6\u6001\u3002</p>","en-US":"<p>A simple start & end date range, <strong>Note: </strong> <code>end</code> still needs define in schema, but will forced to be hidden.</p>"},code:"import { Component } from '@angular/core';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { SFSchema, SFDateWidgetSchema } from '@delon/form';\n\n@Component({\n selector: 'form-date-range',\n template: `\n <sf [schema]=\"schema\" (formSubmit)=\"submit($event)\"></sf>\n `,\n})\nexport class FormDateRangeComponent {\n schema: SFSchema = {\n properties: {\n start: {\n type: 'string',\n ui: { widget: 'date', end: 'end' } as SFDateWidgetSchema,\n default: new Date(),\n },\n end: {\n type: 'string',\n default: '2119-1-1',\n },\n },\n required: ['start'],\n };\n\n constructor(private msg: NzMessageService) {}\n\n submit(value: any) {\n this.msg.success(JSON.stringify(value));\n }\n}",name:"range",urls:"packages/form/src/widgets/date/demo/range.md",type:"demo",lang:"ts",componentName:"FormDateRangeComponent",point:1}]}}class D{constructor(t){this.msg=t,this.schema={properties:{datetime:{type:"string",format:"date-time"},date:{type:"string",format:"date"},date_number:{type:"number",ui:{widget:"date"}},year:{type:"number",ui:{widget:"date",mode:"year",format:"YYYY"}},month:{type:"string",format:"month"},week:{type:"string",format:"week"},range:{type:"string",ui:{widget:"date",mode:"range"}},start:{type:"string",ui:{widget:"date",end:"end"}},end:{type:"string",ui:{widget:"date",end:"end"}}}}}submit(t){this.msg.success(JSON.stringify(t))}change(t){console.log("change",t)}}class A{constructor(t){this.msg=t,this.schema={properties:{start:{type:"string",ui:{widget:"date",end:"end"},default:new Date},end:{type:"string",default:"2119-1-1"}},required:["start"]}}submit(t){this.msg.success(JSON.stringify(t))}}class P{constructor(){this.item={cols:1,urls:{"zh-CN":"packages/form/src/widgets/mention/index.md"},content:{"zh-CN":{content:'<section class="markdown"><p>\u63d0\u53ca\u7ec4\u4ef6\u3002</p><h2 id="\u6ce8\u610f\u4e8b\u9879">\u6ce8\u610f\u4e8b\u9879<a onclick="window.location.hash = \'\u6ce8\u610f\u4e8b\u9879\'" class="anchor">#</a></h2><ul><li><p>\u82e5\u6570\u636e\u4e2d\u4e0d\u5305\u62ec <code>label</code> \u5c5e\u6027\uff0c\u5219<strong>\u52a1\u5fc5</strong>\u6307\u5b9a <code>valueWith</code> \u53c2\u6570\u3002</p></li></ul><h2 id="\u6570\u636e\u6e90\u8bf4\u660e">\u6570\u636e\u6e90\u8bf4\u660e<a onclick="window.location.hash = \'\u6570\u636e\u6e90\u8bf4\u660e\'" class="anchor">#</a></h2><p><strong>\u9759\u6001</strong></p><p>\u6307\u4e00\u6b21\u6027\u83b7\u53d6\u6570\u636e\uff0c\u6570\u636e\u6765\u6e90\u4e8e <code>asyncData</code>\u3001<code>enum</code>\u3002</p><p><strong>\u5b9e\u65f6</strong></p><p>\u6307\u6bcf\u4e00\u6b21\u9009\u62e9\u4f1a\u89e6\u53d1HTTP\u8bf7\u6c42\uff0c\u6570\u636e\u6765\u6e90\u4e8e <code>loadData</code>\u3002</p></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema-\u5c5e\u6027">schema \u5c5e\u6027<a onclick="window.location.hash = \'schema-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[enum]</code></td><td>\u9759\u6001\u6570\u636e\u6e90</td><td><code>SFSchemaEnumType[]</code></td><td>-</td></tr><tr><td><code>[readOnly]</code></td><td>\u7981\u7528\u72b6\u6001</td><td><code>boolean</code></td><td>-</td></tr><tr><td><code>[minimum]</code></td><td>\u6700\u5c11\u63d0\u53ca\u6b21\u6570</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[maximum]</code></td><td>\u6700\u591a\u63d0\u53ca\u6b21\u6570</td><td><code>number</code></td><td>-</td></tr></tbody></table><h3 id="ui-\u5c5e\u6027">ui \u5c5e\u6027<a onclick="window.location.hash = \'ui-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[asyncData]</code></td><td>\u5f02\u6b65\u9759\u6001\u6570\u636e\u6e90</td><td><code>(input: string) => Observable<SFSchemaEnumType[]></code></td><td>-</td></tr><tr><td><code>[size]</code></td><td>\u5927\u5c0f\uff0c\u7b49\u540c <code>nzSize</code></td><td><code>string</code></td><td>-</td></tr><tr><td><code>[placeholder]</code></td><td>\u5728\u6587\u5b57\u6846\u4e2d\u663e\u793a\u63d0\u793a\u8baf\u606f</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[loadData]</code></td><td>\u5b9e\u65f6\u6570\u636e</td><td><code>(option: MentionOnSearchTypes) => Observable<SFSchemaEnumType[]></code></td><td>-</td></tr><tr><td><code>[notFoundContent]</code></td><td>\u672a\u627e\u5230\u65f6\u7684\u5185\u5bb9</td><td><code>string</code></td><td><code>\u65e0\u5339\u914d\u7ed3\u679c\uff0c\u8f7b\u6572\u7a7a\u683c\u5b8c\u6210\u8f93\u5165</code></td></tr><tr><td><code>[placement]</code></td><td>\u5efa\u8bae\u6846\u4f4d\u7f6e</td><td><code>button,top</code></td><td><code>button</code></td></tr><tr><td><code>[prefix]</code></td><td>\u89e6\u53d1\u5f39\u51fa\u4e0b\u62c9\u6846\u7684\u5b57\u7b26</td><td><code>\'string\'</code> <code>\'string[]\'</code></td><td><code>@</code></td></tr><tr><td><code>[valueWith]</code></td><td>\u5efa\u8bae\u9009\u9879\u7684\u53d6\u503c\u65b9\u6cd5</td><td><code>(any) => string</code></td><td><code>(value: string) => string</code></td></tr><tr><td><code>[select]</code></td><td>\u4e0b\u62c9\u6846\u9009\u62e9\u5efa\u8bae\u65f6\u56de\u8c03</td><td><code>(value: any) => void</code></td><td>-</td></tr><tr><td><code>[inputStyle]</code></td><td>\u6587\u672c\u6846\u7c7b\u578b</td><td><code>text, textarea</code></td><td><code>text</code></td></tr><tr><td><code>[autosize]</code></td><td>\u81ea\u9002\u5e94\u5185\u5bb9\u9ad8\u5ea6\uff0c\u53ef\u8bbe\u7f6e\u4e3a <code>true|false</code> \u6216\u5bf9\u8c61\uff1a<code>{ minRows: 2, maxRows: 6 }</code></td><td><code>boolean,AutoSizeType</code></td><td><code>true</code></td></tr></tbody></table>',meta:{title:"mention",subtitle:"\u63d0\u53ca",type:"Widgets"},toc:[{id:"\u6ce8\u610f\u4e8b\u9879",title:"\u6ce8\u610f\u4e8b\u9879",h:2},{id:"\u6570\u636e\u6e90\u8bf4\u660e",title:"\u6570\u636e\u6e90\u8bf4\u660e",h:2},{id:"API",title:"API",h:2},{id:"schema-\u5c5e\u6027",title:"schema \u5c5e\u6027",h:3},{id:"ui-\u5c5e\u6027",title:"ui \u5c5e\u6027",h:3}]}},demo:!0},this.codes=[{id:"form-mention-simple",meta:{title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"},order:0},summary:{"zh-CN":"<p>\u6700\u7b80\u5355\u7684\u7528\u6cd5\u3002</p>","en-US":"<p>Simplest of usage.</p>"},code:"import { Component } from '@angular/core';\nimport { SFSchema, SFMentionWidgetSchema } from '@delon/form';\nimport { MentionOnSearchTypes } from 'ng-zorro-antd/mention';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { of } from 'rxjs';\nimport { delay } from 'rxjs/operators';\n\nconst DATA = ['asdf', 'cipchk', '\u4e2d\u6587', '\u306b\u307b\u3093\u3054'];\n\n@Component({\n selector: 'form-mention-simple',\n template: `\n <sf [schema]=\"schema\" (formSubmit)=\"submit($event)\"></sf>\n `,\n})\nexport class FormMentionSimpleComponent {\n schema: SFSchema = {\n properties: {\n remark: {\n type: 'string',\n title: '\u63cf\u8ff0',\n enum: DATA,\n minimum: 2,\n maximum: 5,\n ui: {\n widget: 'mention',\n inputStyle: 'textarea',\n } as SFMentionWidgetSchema,\n },\n // \u5f02\u6b65\u9759\u6001\u6570\u636e\u6e90\n async: {\n type: 'string',\n title: 'Async',\n ui: {\n widget: 'mention',\n asynxcData: () => of(DATA).pipe(delay(1000)),\n } as SFMentionWidgetSchema,\n },\n // \u5b9e\u65f6\u6570\u636e\n real_time: {\n type: 'string',\n title: 'RealTime',\n ui: {\n widget: 'mention',\n loadData: (option: MentionOnSearchTypes) => of(DATA.filter(item => item.indexOf(option.value) !== -1)).pipe(delay(300)),\n } as SFMentionWidgetSchema,\n },\n },\n };\n constructor(public msg: NzMessageService) {}\n submit(value: any) {\n this.msg.success(JSON.stringify(value));\n }\n}",name:"simple",urls:"packages/form/src/widgets/mention/demo/simple.md",type:"demo",lang:"ts",componentName:"FormMentionSimpleComponent",point:0}]}}const O=["asdf","cipchk","\u4e2d\u6587","\u306b\u307b\u3093\u3054"];class E{constructor(t){this.msg=t,this.schema={properties:{remark:{type:"string",title:"\u63cf\u8ff0",enum:O,minimum:2,maximum:5,ui:{widget:"mention",inputStyle:"textarea"}},async:{type:"string",title:"Async",ui:{widget:"mention",asynxcData:()=>Object(S.a)(O).pipe(Object(C.a)(1e3))}},real_time:{type:"string",title:"RealTime",ui:{widget:"mention",loadData:t=>Object(S.a)(O.filter(e=>-1!==e.indexOf(t.value))).pipe(Object(C.a)(300))}}}}}submit(t){this.msg.success(JSON.stringify(t))}}class U{constructor(){this.item={cols:1,urls:{"en-US":"packages/form/src/widgets/number/index.en-US.md","zh-CN":"packages/form/src/widgets/number/index.zh-CN.md"},content:{"en-US":{content:'<section class="markdown"><p>Enter a number within certain range with the mouse or keyboard.</p></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema">schema<a onclick="window.location.hash = \'schema\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[minimum]</code></td><td>min value</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[exclusiveMinimum]</code></td><td>Indicate whether minimum are exclusive of the value</td><td><code>boolean</code></td><td>-</td></tr><tr><td><code>[maximum]</code></td><td>max value</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[exclusiveMaximum]</code></td><td>Indicate whether maximum are exclusive of the value</td><td><code>boolean</code></td><td>-</td></tr><tr><td><code>[multipleOf]</code></td><td>Restricted to a multiple of a given number,</td><td><code>number</code></td><td><code>1</code></td></tr></tbody></table><h3 id="ui">ui<a onclick="window.location.hash = \'ui\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[prefix]</code></td><td>Prefix, simplifying the use of <code>nzFormatter</code>, <code>nzParser</code></td><td>-</td><td>-</td></tr><tr><td><code>[unit]</code></td><td>Unit, simplifying the use of <code>nzFormatter</code>, <code>nzParser</code></td><td>-</td><td>-</td></tr><tr><td><code>[formatter]</code></td><td>Specifies the format of the value presented</td><td>-</td><td>-</td></tr><tr><td><code>[parser]</code></td><td>Specifies the value extracted from nzFormatter</td><td>-</td><td>-</td></tr><tr><td><code>[precision]</code></td><td>precision of input value</td><td>-</td><td>-</td></tr><tr><td><code>[widgetWidth]</code></td><td>Specify <code>nz-number</code> width</td><td><code>number</code></td><td><code>90</code></td></tr></tbody></table>',meta:{title:"number",subtitle:"Input Number",type:"Widgets"},toc:[{id:"API",title:"API",h:2},{id:"schema",title:"schema",h:3},{id:"ui",title:"ui",h:3}]},"zh-CN":{content:'<section class="markdown"><p>\u901a\u8fc7\u9f20\u6807\u6216\u952e\u76d8\uff0c\u8f93\u5165\u8303\u56f4\u5185\u7684\u6570\u503c</p><h2 id="\u6ce8\u610f\u4e8b\u9879">\u6ce8\u610f\u4e8b\u9879<a onclick="window.location.hash = \'\u6ce8\u610f\u4e8b\u9879\'" class="anchor">#</a></h2><ul><li><p>\u82e5 <code>type="integer"</code> \u4f1a<strong>\u5f3a\u5236</strong>\u79fb\u9664 <code>minimum</code>\u3001<code>maximum</code>\u3001<code>multipleOf</code> \u53c2\u6570\u7684\u5c0f\u6570\u90e8\u5206\u3002</p></li></ul></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema-\u5c5e\u6027">schema \u5c5e\u6027<a onclick="window.location.hash = \'schema-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[minimum]</code></td><td>\u6700\u5c0f\u503c</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[exclusiveMinimum]</code></td><td>\u7ea6\u675f\u662f\u5426\u5305\u62ec <code>minimum</code> \u503c\uff0c<code>true</code> \u8868\u793a\u6392\u9664 <code>minimum</code> \u503c</td><td><code>boolean</code></td><td>-</td></tr><tr><td><code>[maximum]</code></td><td>\u6700\u5927\u503c</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[exclusiveMaximum]</code></td><td>\u7ea6\u675f\u662f\u5426\u5305\u62ec <code>maximum</code> \u503c\uff0c<code>true</code> \u8868\u793a\u6392\u9664 <code>maximum</code> \u503c</td><td><code>boolean</code></td><td>-</td></tr><tr><td><code>[multipleOf]</code></td><td>\u500d\u6570</td><td><code>number</code></td><td><code>1</code></td></tr></tbody></table><h3 id="ui-\u5c5e\u6027">ui \u5c5e\u6027<a onclick="window.location.hash = \'ui-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[prefix]</code></td><td>\u524d\u7f00\uff0c\u7b80\u5316 <code>nzFormatter</code>\u3001<code>nzParser</code> \u7684\u4f7f\u7528</td><td>-</td><td>-</td></tr><tr><td><code>[unit]</code></td><td>\u5355\u4f4d\uff0c\u7b80\u5316 <code>nzFormatter</code>\u3001<code>nzParser</code> \u7684\u4f7f\u7528</td><td>-</td><td>-</td></tr><tr><td><code>[formatter]</code></td><td>\u7b49\u540c <code>nzFormatter</code></td><td>-</td><td>-</td></tr><tr><td><code>[parser]</code></td><td>\u7b49\u540c <code>nzParser</code></td><td>-</td><td>-</td></tr><tr><td><code>[precision]</code></td><td>\u7b49\u540c <code>nzPrecision</code></td><td>-</td><td>-</td></tr><tr><td><code>[widgetWidth]</code></td><td>\u6307\u5b9a <code>nz-number</code> \u5bbd\u5ea6</td><td><code>number</code></td><td><code>90</code></td></tr></tbody></table>',meta:{title:"number",subtitle:"\u6570\u5b57",type:"Widgets"},toc:[{id:"\u6ce8\u610f\u4e8b\u9879",title:"\u6ce8\u610f\u4e8b\u9879",h:2},{id:"API",title:"API",h:2},{id:"schema-\u5c5e\u6027",title:"schema \u5c5e\u6027",h:3},{id:"ui-\u5c5e\u6027",title:"ui \u5c5e\u6027",h:3}]}},demo:!0},this.codes=[{id:"form-number-simple",meta:{title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"},order:0},summary:{"zh-CN":"<p>\u6700\u7b80\u5355\u7684\u7528\u6cd5\u3002</p>","en-US":"<p>Simplest of usage.</p>"},code:"import { Component } from '@angular/core';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { SFSchema, SFNumberWidgetSchema } from '@delon/form';\n\n@Component({\n selector: 'form-number-simple',\n template: `\n <sf [schema]=\"schema\" (formSubmit)=\"submit($event)\"></sf>\n `,\n})\nexport class FormNumberSimpleComponent {\n schema: SFSchema = {\n properties: {\n number: { type: 'number', minimum: 18, maximum: 100, multipleOf: 2, ui: { widgetWidth: 200 } },\n integer: { type: 'integer', default: 10 },\n unit: { type: 'number', default: 10, ui: { unit: '%' } as SFNumberWidgetSchema },\n prefix: { type: 'number', default: 10, ui: { prefix: '$' } as SFNumberWidgetSchema },\n },\n };\n constructor(public msg: NzMessageService) {}\n submit(value: any) {\n this.msg.success(JSON.stringify(value));\n }\n}",name:"simple",urls:"packages/form/src/widgets/number/demo/simple.md",type:"demo",lang:"ts",componentName:"FormNumberSimpleComponent",point:0}]}}class M{constructor(t){this.msg=t,this.schema={properties:{number:{type:"number",minimum:18,maximum:100,multipleOf:2,ui:{widgetWidth:200}},integer:{type:"integer",default:10},unit:{type:"number",default:10,ui:{unit:"%"}},prefix:{type:"number",default:10,ui:{prefix:"$"}}}}}submit(t){this.msg.success(JSON.stringify(t))}}class H{constructor(){this.item={cols:1,urls:{"en-US":"packages/form/src/widgets/object/index.en-US.md","zh-CN":"packages/form/src/widgets/object/index.zh-CN.md"},content:{"en-US":{content:'<section class="markdown"><p>Create an object widget, valid only for <code>schema.type="object"</code>.</p></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema">schema<a onclick="window.location.hash = \'schema\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[properties]</code></td><td>Defining the properties of an object schema</td><td><code>{ [key: string]: SFSchema }</code></td><td>-</td></tr><tr><td><code>[required]</code></td><td>The data object to be valid should contain all properties with names equal to the elements in the keyword value</td><td><code>string[]</code></td><td>-</td></tr><tr><td><code>[maxProperties]</code></td><td>The data object to be valid should have not more (less) properties than the keyword value</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[minProperties]</code></td><td>The data object to be valid should have not more (less) properties than the keyword value</td><td><code>number</code></td><td>-</td></tr></tbody></table><h3 id="ui">ui<a onclick="window.location.hash = \'ui\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[showTitle]</code></td><td>Whether to display the title</td><td><code>boolean</code></td><td><code>false</code></td></tr></tbody></table>',meta:{title:"object",subtitle:"Object",type:"Widgets"},toc:[{id:"API",title:"API",h:2},{id:"schema",title:"schema",h:3},{id:"ui",title:"ui",h:3}]},"zh-CN":{content:'<section class="markdown"><p>\u521b\u5efa\u5bf9\u8c61\uff0c\u53ea\u5bf9 <code>schema.type="object"</code> \u65f6\u6709\u6548\u3002</p></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema-\u5c5e\u6027">schema \u5c5e\u6027<a onclick="window.location.hash = \'schema-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[properties]</code></td><td>\u5b9a\u4e49\u5bf9\u8c61\u7684\u5c5e\u6027</td><td><code>{ [key: string]: SFSchema }</code></td><td>-</td></tr><tr><td><code>[required]</code></td><td>\u5fc5\u586b\u9879\u5c5e\u6027</td><td><code>string[]</code></td><td>-</td></tr><tr><td><code>[maxProperties]</code></td><td>\u6700\u5927\u5c5e\u6027\u4e2a\u6570\uff0c\u5fc5\u987b\u662f\u975e\u8d1f\u6574\u6570</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[minProperties]</code></td><td>\u6700\u5c0f\u5c5e\u6027\u4e2a\u6570\uff0c\u5fc5\u987b\u662f\u975e\u8d1f\u6574\u6570</td><td><code>number</code></td><td>-</td></tr></tbody></table><h3 id="ui-\u5c5e\u6027">ui \u5c5e\u6027<a onclick="window.location.hash = \'ui-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[showTitle]</code></td><td>\u662f\u5426\u663e\u793a\u6807\u9898</td><td><code>boolean</code></td><td><code>false</code></td></tr></tbody></table>',meta:{title:"object",subtitle:"\u5bf9\u8c61",type:"Widgets"},toc:[{id:"API",title:"API",h:2},{id:"schema-\u5c5e\u6027",title:"schema \u5c5e\u6027",h:3},{id:"ui-\u5c5e\u6027",title:"ui \u5c5e\u6027",h:3}]}},demo:!0},this.codes=[{id:"form-object-simple",meta:{title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"},order:0},summary:{"zh-CN":"<p>\u6700\u7b80\u5355\u7684\u7528\u6cd5\u3002</p>","en-US":"<p>Simplest of usage.</p>"},code:"import { Component } from '@angular/core';\nimport { SFSchema } from '@delon/form';\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\n@Component({\n selector: 'form-object-simple',\n template: `<sf [schema]=\"schema\" (formSubmit)=\"submit($event)\"></sf>`\n})\nexport class FormObjectSimpleComponent {\n schema: SFSchema = {\n properties: {\n name: { type: 'string' },\n age: { type: 'number' }\n },\n required: [ 'name', 'age' ],\n ui: {\n // \u6307\u5b9a `label` \u548c `control` \u5728\u4e00\u884c\u4e2d\u5404\u5360\u6805\u683c\u6570\n spanLabel: 4,\n spanControl: 5\n }\n };\n constructor(public msg: NzMessageService) { }\n submit(value: any) { this.msg.success(JSON.stringify(value)); }\n}",name:"simple",urls:"packages/form/src/widgets/object/demo/simple.md",type:"demo",lang:"ts",componentName:"FormObjectSimpleComponent",point:0}]}}class j{constructor(t){this.msg=t,this.schema={properties:{name:{type:"string"},age:{type:"number"}},required:["name","age"],ui:{spanLabel:4,spanControl:5}}}submit(t){this.msg.success(JSON.stringify(t))}}class G{constructor(){this.item={cols:1,urls:{"en-US":"packages/form/src/widgets/radio/index.en-US.md","zh-CN":"packages/form/src/widgets/radio/index.zh-CN.md"},content:{"en-US":{content:'<section class="markdown"><p>Radio.</p></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema">schema<a onclick="window.location.hash = \'schema\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[readOnly]</code></td><td>Whether to disable the state</td><td><code>boolean</code></td><td>-</td></tr><tr><td><code>[enum]</code></td><td>Render radio group</td><td><code>SFSchemaEnumType[]</code></td><td>-</td></tr></tbody></table><h3 id="ui">ui<a onclick="window.location.hash = \'ui\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[asyncData]</code></td><td>Async data source</td><td><code>() => Observable<SFSchemaEnumType[]></code></td><td>-</td></tr><tr><td><code>[size]</code></td><td>Size of the <code>nz-radio</code></td><td><code>string</code></td><td>-</td></tr><tr><td><code>[styleType]</code></td><td>Style of the <code>nz-radio</code></td><td><code>default, button</code></td><td><code>default</code></td></tr><tr><td><code>[change]</code></td><td>Changed event</td><td><code>(res: SFValue) => void</code></td><td>-</td></tr><tr><td><code>[buttonStyle]</code></td><td>style type of radio button</td><td><code>\'outline\'\uff5c\'solid\'</code></td><td><code>\'outline\'</code></td></tr></tbody></table>',meta:{title:"radio",subtitle:"Radio",type:"Widgets"},toc:[{id:"API",title:"API",h:2},{id:"schema",title:"schema",h:3},{id:"ui",title:"ui",h:3}]},"zh-CN":{content:'<section class="markdown"><p>\u5355\u9009\u6846\u3002</p></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema-\u5c5e\u6027">schema \u5c5e\u6027<a onclick="window.location.hash = \'schema-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[enum]</code></td><td>\u6570\u636e\u6e90</td><td><code>SFSchemaEnumType[]</code></td><td>-</td></tr><tr><td><code>[readOnly]</code></td><td>\u7981\u7528\u72b6\u6001</td><td><code>boolean</code></td><td>-</td></tr></tbody></table><h3 id="ui-\u5c5e\u6027">ui \u5c5e\u6027<a onclick="window.location.hash = \'ui-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[asyncData]</code></td><td>\u5f02\u6b65\u6570\u636e\u6e90</td><td><code>() => Observable<SFSchemaEnumType[]></code></td><td>-</td></tr><tr><td><code>[size]</code></td><td>\u5927\u5c0f\uff0c\u7b49\u540c <code>nzSize</code></td><td><code>string</code></td><td>-</td></tr><tr><td><code>[styleType]</code></td><td>radio \u7684\u6837\u5f0f</td><td><code>default, button</code></td><td><code>default</code></td></tr><tr><td><code>[change]</code></td><td>\u503c\u53d8\u66f4\u4e8b\u4ef6</td><td><code>(res: SFValue) => void</code></td><td>-</td></tr><tr><td><code>[buttonStyle]</code></td><td>RadioButton \u7684\u98ce\u683c\u6837\u5f0f\uff0c\u76ee\u524d\u6709\u63cf\u8fb9\u548c\u586b\u8272\u4e24\u79cd\u98ce\u683c</td><td><code>\'outline\'\uff5c\'solid\'</code></td><td><code>\'outline\'</code></td></tr></tbody></table>',meta:{title:"radio",subtitle:"\u5355\u9009\u6846",type:"Widgets"},toc:[{id:"API",title:"API",h:2},{id:"schema-\u5c5e\u6027",title:"schema \u5c5e\u6027",h:3},{id:"ui-\u5c5e\u6027",title:"ui \u5c5e\u6027",h:3}]}},demo:!0},this.codes=[{id:"form-radio-simple",meta:{title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"},order:0},summary:{"zh-CN":"<p>\u6700\u7b80\u5355\u7684\u7528\u6cd5\u3002</p>","en-US":"<p>Simplest of usage.</p>"},code:"import { Component } from '@angular/core';\nimport { SFSchema, SFRadioWidgetSchema } from '@delon/form';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { of } from 'rxjs';\nimport { delay } from 'rxjs/operators';\n\n@Component({\n selector: 'form-radio-simple',\n template: `\n <sf [schema]=\"schema\" (formSubmit)=\"submit($event)\"></sf>\n `,\n})\nexport class FormRadioSimpleComponent {\n schema: SFSchema = {\n properties: {\n btn: {\n type: 'string',\n title: 'Button',\n enum: ['A', 'B', 'C'],\n ui: {\n widget: 'radio',\n styleType: 'button',\n buttonStyle: 'solid',\n } as SFRadioWidgetSchema,\n default: 'A',\n },\n // \u5f02\u6b65\u6570\u636e\n async: {\n type: 'string',\n title: 'Async',\n ui: {\n widget: 'radio',\n asyncData: () => of([{ label: '\u7537', value: 'M' }, { label: '\u5973', value: 'F' }, { label: '\u672a\u77e5', value: 'N' }]).pipe(delay(100)),\n change: console.log,\n } as SFRadioWidgetSchema,\n default: 'N',\n },\n },\n };\n constructor(public msg: NzMessageService) {}\n submit(value: any) {\n this.msg.success(JSON.stringify(value));\n }\n}",name:"simple",urls:"packages/form/src/widgets/radio/demo/simple.md",type:"demo",lang:"ts",componentName:"FormRadioSimpleComponent",point:0}]}}class R{constructor(t){this.msg=t,this.schema={properties:{btn:{type:"string",title:"Button",enum:["A","B","C"],ui:{widget:"radio",styleType:"button",buttonStyle:"solid"},default:"A"},async:{type:"string",title:"Async",ui:{widget:"radio",asyncData:()=>Object(S.a)([{label:"\u7537",value:"M"},{label:"\u5973",value:"F"},{label:"\u672a\u77e5",value:"N"}]).pipe(Object(C.a)(100)),change:console.log},default:"N"}}}}submit(t){this.msg.success(JSON.stringify(t))}}class W{constructor(){this.item={cols:1,urls:{"en-US":"packages/form/src/widgets/rate/index.en-US.md","zh-CN":"packages/form/src/widgets/rate/index.zh-CN.md"},content:{"en-US":{content:'<section class="markdown"><p>A quick rating operation on something.</p></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema">schema<a onclick="window.location.hash = \'schema\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[maximum]</code></td><td>star count</td><td><code>number</code></td><td><code>5</code></td></tr><tr><td><code>[multipleOf]</code></td><td><code>0.5</code> indicates allow semi selection</td><td><code>number</code></td><td><code>0.5</code></td></tr></tbody></table><h3 id="ui">ui<a onclick="window.location.hash = \'ui\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[allowClear]</code></td><td>whether to allow clear when click again</td><td><code>boolean</code></td><td><code>true</code></td></tr><tr><td><code>[autoFocus]</code></td><td>get focus when component mounted</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[text]</code></td><td>Reminder text template, <code>{{value}}</code> indicates the current value</td><td><code>string</code></td><td>-</td></tr></tbody></table>',meta:{title:"rate",subtitle:"Rate",type:"Widgets"},toc:[{id:"API",title:"API",h:2},{id:"schema",title:"schema",h:3},{id:"ui",title:"ui",h:3}]},"zh-CN":{content:'<section class="markdown"><p>\u5bf9\u8bc4\u4ef7\u8fdb\u884c\u5c55\u793a\uff0c\u5bf9\u4e8b\u7269\u8fdb\u884c\u5feb\u901f\u7684\u8bc4\u7ea7\u64cd\u4f5c\u3002</p></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema-\u5c5e\u6027">schema \u5c5e\u6027<a onclick="window.location.hash = \'schema-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[maximum]</code></td><td>\u603b\u661f\u6570</td><td><code>number</code></td><td><code>5</code></td></tr><tr><td><code>[multipleOf]</code></td><td><code>0.5</code> \u8868\u793a\u5141\u8bb8\u534a\u9009\uff0c\u5176\u5b83\u503c\u8868\u793a\u4e0d\u5141\u8bb8</td><td><code>number</code></td><td><code>0.5</code></td></tr></tbody></table><h3 id="ui-\u5c5e\u6027">ui \u5c5e\u6027<a onclick="window.location.hash = \'ui-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[allowClear]</code></td><td>\u662f\u5426\u5141\u8bb8\u518d\u6b21\u70b9\u51fb\u540e\u6e05\u9664</td><td><code>boolean</code></td><td><code>true</code></td></tr><tr><td><code>[autoFocus]</code></td><td>\u81ea\u52a8\u83b7\u53d6\u7126\u70b9</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[text]</code></td><td>\u63d0\u9192\u6587\u672c\u6a21\u677f\uff0c<code>{{value}}</code> \u8868\u793a\u5f53\u524d\u503c\uff08\u6ce8\u610f\u65e0\u4efb\u4f55\u7a7a\u683c\uff09</td><td><code>string</code></td><td>-</td></tr></tbody></table>',meta:{title:"rate",subtitle:"\u8bc4\u5206",type:"Widgets"},toc:[{id:"API",title:"API",h:2},{id:"schema-\u5c5e\u6027",title:"schema \u5c5e\u6027",h:3},{id:"ui-\u5c5e\u6027",title:"ui \u5c5e\u6027",h:3}]}},demo:!0},this.codes=[{id:"form-rate-simple",meta:{title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"},order:0},summary:{"zh-CN":"<p>\u6700\u7b80\u5355\u7684\u7528\u6cd5\u3002</p>","en-US":"<p>Simplest of usage.</p>"},code:"import { Component } from '@angular/core';\nimport { SFSchema, SFRateWidgetSchema } from '@delon/form';\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\n@Component({\n selector: 'form-rate-simple',\n template: `\n <sf [schema]=\"schema\" (formSubmit)=\"submit($event)\"></sf>\n `,\n})\nexport class FormRateSimpleComponent {\n schema: SFSchema = {\n properties: {\n rate: {\n type: 'number',\n title: '\u8bc4\u7ea7',\n default: 4.5,\n ui: {\n widget: 'rate',\n } as SFRateWidgetSchema,\n },\n // \u5141\u8bb8\u534a\u9009\n rate2: {\n type: 'number',\n title: '\u8bc4\u7ea7',\n maximum: 5,\n multipleOf: 0.5,\n default: 4.5,\n ui: {\n widget: 'rate',\n text: '{{value}} starts',\n } as SFRateWidgetSchema,\n },\n },\n };\n constructor(public msg: NzMessageService) {}\n submit(value: any) {\n this.msg.success(JSON.stringify(value));\n }\n}",name:"simple",urls:"packages/form/src/widgets/rate/demo/simple.md",type:"demo",lang:"ts",componentName:"FormRateSimpleComponent",point:0}]}}class B{constructor(t){this.msg=t,this.schema={properties:{rate:{type:"number",title:"\u8bc4\u7ea7",default:4.5,ui:{widget:"rate"}},rate2:{type:"number",title:"\u8bc4\u7ea7",maximum:5,multipleOf:.5,default:4.5,ui:{widget:"rate",text:"{{value}} starts"}}}}}submit(t){this.msg.success(JSON.stringify(t))}}class Y{constructor(){this.item={cols:1,urls:{"zh-CN":"packages/form/src/widgets/select/index.md"},content:{"zh-CN":{content:'<section class="markdown"><p>\u4e0b\u62c9\u9009\u62e9\u5668\u3002</p></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema-\u5c5e\u6027">schema \u5c5e\u6027<a onclick="window.location.hash = \'schema-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[enum]</code></td><td>\u6570\u636e\u6e90</td><td><code>SFSchemaEnumType[]</code></td><td>-</td></tr><tr><td><code>[readOnly]</code></td><td>\u7981\u7528\u72b6\u6001</td><td><code>boolean</code></td><td>-</td></tr></tbody></table><h3 id="ui-\u5c5e\u6027">ui \u5c5e\u6027<a onclick="window.location.hash = \'ui-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[asyncData]</code></td><td>\u5f02\u6b65\u6570\u636e\u6e90</td><td><code>() => Observable<SFSchemaEnumType[]></code></td><td>-</td></tr><tr><td><code>[size]</code></td><td>\u5927\u5c0f\uff0c\u7b49\u540c <code>nzSize</code></td><td><code>string</code></td><td>-</td></tr><tr><td><code>[compareWith]</code></td><td>\u4e0e <a target="_blank" href="https://angular.io/api/forms/SelectControlValueAccessor#caveat-option-selection" data-url="https://angular.io/api/forms/SelectControlValueAccessor#caveat-option-selection">SelectControlValueAccessor</a> \u76f8\u540c</td><td><code>(o1: any, o2: any) => boolean</code></td><td><code>(o1: any, o2: any) => o1===o2</code></td></tr><tr><td><code>[placeholder]</code></td><td>\u5728\u6587\u5b57\u6846\u4e2d\u663e\u793a\u63d0\u793a\u8baf\u606f</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[autoClearSearchValue]</code></td><td>\u662f\u5426\u5728\u9009\u4e2d\u9879\u540e\u6e05\u7a7a\u641c\u7d22\u6846\uff0c\u53ea\u5728 <code>mode</code> \u4e3a <code>multiple</code> \u6216 <code>tags</code> \u65f6\u6709\u6548\u3002</td><td><code>boolean</code></td><td><code>true</code></td></tr><tr><td><code>[allowClear]</code></td><td>\u652f\u6301\u6e05\u9664</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[autoFocus]</code></td><td>\u9ed8\u8ba4\u83b7\u53d6\u7126\u70b9</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[dropdownClassName]</code></td><td>\u4e0b\u62c9\u83dc\u5355\u7684 className \u5c5e\u6027</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[dropdownMatchSelectWidth]</code></td><td>\u4e0b\u62c9\u83dc\u5355\u548c\u9009\u62e9\u5668\u540c\u5bbd</td><td><code>boolean</code></td><td><code>true</code></td></tr><tr><td><code>[dropdownStyle]</code></td><td>\u4e0b\u62c9\u83dc\u5355\u7684 style \u5c5e\u6027</td><td><code>object</code></td><td>-</td></tr><tr><td><code>[serverSearch]</code></td><td>\u662f\u5426\u4f7f\u7528\u670d\u52a1\u7aef\u641c\u7d22\uff0c\u5f53\u4e3a true \u65f6\uff0c\u5c06\u4e0d\u518d\u5728\u524d\u7aef\u5bf9 nz-option \u8fdb\u884c\u8fc7\u6ee4</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[maxMultipleCount]</code></td><td>\u6700\u591a\u9009\u4e2d\u591a\u5c11\u4e2a\u6807\u7b7e</td><td><code>number</code></td><td><code>Infinity</code></td></tr><tr><td><code>[mode]</code></td><td>\u8bbe\u7f6e nz-select \u7684\u6a21\u5f0f\uff0c<code>tags</code> \u5efa\u8bae\u589e\u52a0 <code>default: null</code>\uff0c\u5426\u5219\u53ef\u80fd\u4f1a\u9047\u5230\u521d\u59cb\u5316\u6709\u4e00\u4e2a\u7a7a\u7684\u6807\u7b7e\u3002</td><td><code>multiple,tags,default</code></td><td><code>default</code></td></tr><tr><td><code>[notFoundContent]</code></td><td>\u5f53\u4e0b\u62c9\u5217\u8868\u4e3a\u7a7a\u65f6\u663e\u793a\u7684\u5185\u5bb9</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[showSearch]</code></td><td>\u4f7f\u5355\u9009\u6a21\u5f0f\u53ef\u641c\u7d22</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[onSearch]</code></td><td>\u641c\u7d22\u5185\u5bb9\u53d8\u5316\u56de\u8c03\u51fd\u6570\uff0c\u53c2\u6570\u4e3a\u641c\u7d22\u5185\u5bb9\uff0c\u5fc5\u987b\u8fd4\u56de <code>Promise</code> \u5bf9\u8c61</td><td><code>(text: string) => Promise<SFSchemaEnum[]></code></td><td>-</td></tr><tr><td><code>[tokenSeparators]</code></td><td>\u5728 tags \u548c multiple \u6a21\u5f0f\u4e0b\u81ea\u52a8\u5206\u8bcd\u7684\u5206\u9694\u7b26</td><td><code>string[]</code></td><td><code>[]</code></td></tr><tr><td><code>[maxTagCount]</code></td><td>\u6700\u591a\u663e\u793a\u591a\u5c11\u4e2a tag</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[change]</code></td><td>\u9009\u4e2d\u7684 nz-option \u53d1\u751f\u53d8\u5316\u65f6\uff0c\u8c03\u7528\u6b64\u51fd\u6570</td><td><code>(ngModel:any\u4e28any[])=>void</code></td><td>-</td></tr><tr><td><code>[openChange]</code></td><td>\u4e0b\u62c9\u83dc\u5355\u6253\u5f00\u5173\u95ed\u56de\u8c03\u51fd\u6570</td><td><code>(status: boolean) => void</code></td><td>-</td></tr><tr><td><code>[scrollToBottom]</code></td><td>\u4e0b\u62c9\u83dc\u5355\u6eda\u52a8\u5230\u5e95\u90e8\u56de\u8c03\uff0c\u53ef\u7528\u4e8e\u4f5c\u4e3a\u52a8\u6001\u52a0\u8f7d\u7684\u89e6\u53d1\u6761\u4ef6</td><td><code>() => void</code></td><td>-</td></tr></tbody></table>',meta:{title:"select",subtitle:"\u9009\u62e9\u5668",type:"Widgets"},toc:[{id:"API",title:"API",h:2},{id:"schema-\u5c5e\u6027",title:"schema \u5c5e\u6027",h:3},{id:"ui-\u5c5e\u6027",title:"ui \u5c5e\u6027",h:3}]}},demo:!0},this.codes=[{id:"form-select-simple",meta:{title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"},order:0},summary:{"zh-CN":"<p>\u6700\u7b80\u5355\u7684\u7528\u6cd5\u3002</p>","en-US":"<p>Simplest of usage.</p>"},code:"import { Component, ViewChild } from '@angular/core';\nimport { SFSchema, SFSelectWidgetSchema, SFComponent } from '@delon/form';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { of } from 'rxjs';\nimport { delay } from 'rxjs/operators';\n\n@Component({\n selector: 'form-select-simple',\n template: `\n <sf #sf [schema]=\"schema\" (formSubmit)=\"submit($event)\"></sf>\n <button nz-button (click)=\"updateStatus()\">Update Status</button>\n `,\n})\nexport class FormSelectSimpleComponent {\n @ViewChild('sf', { static: false }) private sf: SFComponent;\n schema: SFSchema = {\n properties: {\n status: {\n type: 'string',\n title: '\u72b6\u6001',\n enum: [\n { label: '\u5f85\u652f\u4ed8', value: 'WAIT_BUYER_PAY' },\n { label: '\u5df2\u652f\u4ed8', value: 'TRADE_SUCCESS' },\n { label: '\u4ea4\u6613\u5b8c\u6210', value: 'TRADE_FINISHED' },\n ],\n default: 'WAIT_BUYER_PAY',\n ui: {\n widget: 'select',\n } as SFSelectWidgetSchema,\n },\n // \u6807\u7b7e\n tags: {\n type: 'string',\n title: '\u6807\u7b7e',\n enum: [\n { label: '\u5f85\u652f\u4ed8', value: 'WAIT_BUYER_PAY' },\n { label: '\u5df2\u652f\u4ed8', value: 'TRADE_SUCCESS' },\n { label: '\u4ea4\u6613\u5b8c\u6210', value: 'TRADE_FINISHED' },\n ],\n ui: {\n widget: 'select',\n mode: 'tags',\n } as SFSelectWidgetSchema,\n default: null,\n },\n // \u5f02\u6b65\u6570\u636e\n async: {\n type: 'string',\n title: 'Async',\n default: 'WAIT_BUYER_PAY',\n ui: {\n widget: 'select',\n asyncData: () =>\n of([\n {\n label: '\u8ba2\u5355\u72b6\u6001',\n group: true,\n children: [\n { label: '\u5f85\u652f\u4ed8', value: 'WAIT_BUYER_PAY' },\n { label: '\u5df2\u652f\u4ed8', value: 'TRADE_SUCCESS' },\n { label: '\u4ea4\u6613\u5b8c\u6210', value: 'TRADE_FINISHED' },\n ],\n },\n ]).pipe(delay(1200)),\n } as SFSelectWidgetSchema,\n },\n },\n };\n constructor(public msg: NzMessageService) {}\n submit(value: any) {\n this.msg.success(JSON.stringify(value));\n }\n\n updateStatus() {\n const statusProperty = this.sf.getProperty('/status')!;\n statusProperty.schema.enum = ['1', '2', '3'];\n statusProperty.widget.reset('2');\n }\n}",name:"simple",urls:"packages/form/src/widgets/select/demo/simple.md",type:"demo",lang:"ts",componentName:"FormSelectSimpleComponent",point:0}]}}class V{constructor(t){this.msg=t,this.schema={properties:{status:{type:"string",title:"\u72b6\u6001",enum:[{label:"\u5f85\u652f\u4ed8",value:"WAIT_BUYER_PAY"},{label:"\u5df2\u652f\u4ed8",value:"TRADE_SUCCESS"},{label:"\u4ea4\u6613\u5b8c\u6210",value:"TRADE_FINISHED"}],default:"WAIT_BUYER_PAY",ui:{widget:"select"}},tags:{type:"string",title:"\u6807\u7b7e",enum:[{label:"\u5f85\u652f\u4ed8",value:"WAIT_BUYER_PAY"},{label:"\u5df2\u652f\u4ed8",value:"TRADE_SUCCESS"},{label:"\u4ea4\u6613\u5b8c\u6210",value:"TRADE_FINISHED"}],ui:{widget:"select",mode:"tags"},default:null},async:{type:"string",title:"Async",default:"WAIT_BUYER_PAY",ui:{widget:"select",asyncData:()=>Object(S.a)([{label:"\u8ba2\u5355\u72b6\u6001",group:!0,children:[{label:"\u5f85\u652f\u4ed8",value:"WAIT_BUYER_PAY"},{label:"\u5df2\u652f\u4ed8",value:"TRADE_SUCCESS"},{label:"\u4ea4\u6613\u5b8c\u6210",value:"TRADE_FINISHED"}]}]).pipe(Object(C.a)(1200))}}}}}submit(t){this.msg.success(JSON.stringify(t))}updateStatus(){const t=this.sf.getProperty("/status");t.schema.enum=["1","2","3"],t.widget.reset("2")}}class J{constructor(){this.item={cols:1,urls:{"en-US":"packages/form/src/widgets/slider/index.en-US.md","zh-CN":"packages/form/src/widgets/slider/index.zh-CN.md"},content:{"en-US":{content:'<section class="markdown"><p>A Slider component for displaying current value and intervals in range.</p><h2 id="Notice">Notice<a onclick="window.location.hash = \'Notice\'" class="anchor">#</a></h2><ul><li><p>Ingored <code>exclusiveMinimum</code>, <code>exclusiveMaximum</code></p></li></ul></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema">schema<a onclick="window.location.hash = \'schema\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[minimum]</code></td><td>The minimum value the slider can slide to</td><td><code>number</code></td><td><code>0</code></td></tr><tr><td><code>[maximum]</code></td><td>The maximum value the slider can slide to</td><td><code>number</code></td><td><code>100</code></td></tr><tr><td><code>[multipleOf]</code></td><td>The granularity the slider can step through values. Must greater than 0, and be divided by (max - min). When <code>ui.marks</code> no null, <code>step</code> can be null.</td><td><code>number</code></td><td><code>1</code></td></tr></tbody></table><h3 id="ui">ui<a onclick="window.location.hash = \'ui\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[range]</code></td><td>dual thumb mode</td><td><code>Boolean</code></td><td>-</td></tr><tr><td><code>[marks]</code></td><td>Tick mark of Slider, type of key must be <code>number</code>, and must in closed interval <code>[min, max]</code> \uff0ceach mark can declare its own style.</td><td><code>object</code></td><td>-</td></tr><tr><td><code>[dots]</code></td><td>Whether the thumb can drag over tick only</td><td><code>Boolean</code></td><td><code>false</code></td></tr><tr><td><code>[included]</code></td><td>Make effect when <code>marks</code> not null\uff0c<code>true</code> means containment and <code>false</code> means coordinative</td><td><code>Boolean</code></td><td><code>true</code></td></tr><tr><td><code>[vertical]</code></td><td>If true, the slider will be vertical</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[afterChange]</code></td><td>Fire when <code>onmouseup</code> is fired.</td><td><code>(value: SliderValue) => void</code></td><td>-</td></tr><tr><td><code>[formatter]</code></td><td>Slider will pass its value to <code>nzTipFormatter</code>, and display its value in Tooltip, and hide Tooltip when return value is null</td><td><code>(value: number) => string</code></td><td>-</td></tr></tbody></table>',meta:{title:"range",subtitle:"Slider",type:"Widgets"},toc:[{id:"Notice",title:"Notice",h:2},{id:"API",title:"API",h:2},{id:"schema",title:"schema",h:3},{id:"ui",title:"ui",h:3}]},"zh-CN":{content:'<section class="markdown"><p>\u6ed1\u52a8\u578b\u8f93\u5165\u5668\uff0c\u5c55\u793a\u5f53\u524d\u503c\u548c\u53ef\u9009\u8303\u56f4\u3002</p><h2 id="\u6ce8\u610f\u4e8b\u9879">\u6ce8\u610f\u4e8b\u9879<a onclick="window.location.hash = \'\u6ce8\u610f\u4e8b\u9879\'" class="anchor">#</a></h2><ul><li><p>\u5f3a\u5236\u5ffd\u7565 <code>exclusiveMinimum</code>\u3001<code>exclusiveMaximum</code></p></li></ul></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema-\u5c5e\u6027">schema \u5c5e\u6027<a onclick="window.location.hash = \'schema-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[minimum]</code></td><td>\u6700\u5c0f\u503c</td><td><code>number</code></td><td><code>0</code></td></tr><tr><td><code>[maximum]</code></td><td>\u6700\u5927\u503c</td><td><code>number</code></td><td><code>100</code></td></tr><tr><td><code>[multipleOf]</code></td><td>\u500d\u6570</td><td><code>number</code></td><td><code>1</code></td></tr></tbody></table><h3 id="ui-\u5c5e\u6027">ui \u5c5e\u6027<a onclick="window.location.hash = \'ui-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[range]</code></td><td>\u5f53\u6dfb\u52a0\u8be5\u5c5e\u6027\u65f6\uff0c\u542f\u52a8\u53cc\u6ed1\u5757\u6a21\u5f0f</td><td><code>Boolean</code></td><td>-</td></tr><tr><td><code>[marks]</code></td><td>\u523b\u5ea6\u6807\u8bb0</td><td><code>object</code></td><td>-</td></tr><tr><td><code>[dots]</code></td><td>\u662f\u5426\u53ea\u80fd\u62d6\u62fd\u5230\u523b\u5ea6\u4e0a</td><td><code>Boolean</code></td><td><code>false</code></td></tr><tr><td><code>[included]</code></td><td>\u662f\u5426\u5305\u542b\u3002<code>marks</code> \u4e0d\u4e3a\u7a7a\u5bf9\u8c61\u65f6\u6709\u6548\uff0c\u503c\u4e3a <code>true</code> \u65f6\u8868\u793a\u503c\u4e3a\u5305\u542b\u5173\u7cfb\uff0c<code>false</code> \u8868\u793a\u5e76\u5217</td><td><code>Boolean</code></td><td><code>true</code></td></tr><tr><td><code>[vertical]</code></td><td>\u7ad6\u76f4\u663e\u793a\u3002\u6dfb\u52a0\u8be5\u5c5e\u6027\u65f6\uff0cSlider \u4e3a\u5782\u76f4\u65b9\u5411\u3002</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[afterChange]</code></td><td>\u4e0e <code>onmouseup</code> \u89e6\u53d1\u65f6\u673a\u4e00\u81f4\uff0c\u628a\u5f53\u524d\u503c\u4f5c\u4e3a\u53c2\u6570\u4f20\u5165\u3002</td><td><code>(value: SliderValue) => void</code></td><td>-</td></tr><tr><td><code>[formatter]</code></td><td>Slider \u4f1a\u628a\u5f53\u524d\u503c\u4f20\u7ed9 <code>nzTipFormatter</code>\uff0c\u5e76\u5728 Tooltip \u4e2d\u663e\u793a <code>nzTipFormatter</code> \u7684\u8fd4\u56de\u503c\uff0c\u82e5\u4e3a null\uff0c\u5219\u9690\u85cf Tooltip</td><td><code>(value: number) => string</code></td><td>-</td></tr></tbody></table>',meta:{title:"range",subtitle:"\u6ed1\u52a8\u8f93\u5165\u6761",type:"Widgets"},toc:[{id:"\u6ce8\u610f\u4e8b\u9879",title:"\u6ce8\u610f\u4e8b\u9879",h:2},{id:"API",title:"API",h:2},{id:"schema-\u5c5e\u6027",title:"schema \u5c5e\u6027",h:3},{id:"ui-\u5c5e\u6027",title:"ui \u5c5e\u6027",h:3}]}},demo:!0},this.codes=[{id:"form-slider-simple",meta:{title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"},order:0},summary:{"zh-CN":"<p>\u6700\u7b80\u5355\u7684\u7528\u6cd5\u3002</p>","en-US":"<p>Simplest of usage.</p>"},code:"import { Component } from '@angular/core';\nimport { SFSchema, SFSliderWidgetSchema } from '@delon/form';\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\n@Component({\n selector: 'form-slider-simple',\n template: `\n <sf [schema]=\"schema\" (formSubmit)=\"submit($event)\"></sf>\n `,\n})\nexport class FormSliderSimpleComponent {\n schema: SFSchema = {\n properties: {\n count: {\n type: 'number',\n title: '\u6570\u91cf',\n ui: {\n widget: 'slider',\n } as SFSliderWidgetSchema,\n default: 10,\n },\n // \u53cc\u6ed1\u5757\u6a21\u5f0f\n range: {\n type: 'number',\n title: '\u8303\u56f4',\n ui: {\n widget: 'slider',\n range: true,\n } as SFSliderWidgetSchema,\n default: [10, 20],\n },\n },\n };\n constructor(public msg: NzMessageService) {}\n submit(value: any) {\n this.msg.success(JSON.stringify(value));\n }\n}",name:"simple",urls:"packages/form/src/widgets/slider/demo/simple.md",type:"demo",lang:"ts",componentName:"FormSliderSimpleComponent",point:0}]}}class q{constructor(t){this.msg=t,this.schema={properties:{count:{type:"number",title:"\u6570\u91cf",ui:{widget:"slider"},default:10},range:{type:"number",title:"\u8303\u56f4",ui:{widget:"slider",range:!0},default:[10,20]}}}}submit(t){this.msg.success(JSON.stringify(t))}}class L{constructor(){this.item={cols:1,urls:{"en-US":"packages/form/src/widgets/string/index.en-US.md","zh-CN":"packages/form/src/widgets/string/index.zh-CN.md"},content:{"en-US":{content:'<section class="markdown"><p>Default widget, A basic widget for getting the user input is a text field.</p></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema">schema<a onclick="window.location.hash = \'schema\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[maxLength]</code></td><td>Maximum length of the input</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[readOnly]</code></td><td>Whether to disable the state</td><td><code>boolean</code></td><td>-</td></tr></tbody></table><h3 id="ui">ui<a onclick="window.location.hash = \'ui\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[size]</code></td><td>Size of the <code>nz-input</code></td><td><code>string</code></td><td>-</td></tr><tr><td><code>[type]</code></td><td>type of the input, e.g: <code>password</code></td><td><code>string</code></td><td>-</td></tr><tr><td><code>[placeholder]</code></td><td>placeholder of the input</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[autocomplete]</code></td><td>autocomplete of the input</td><td><code>HTML Attribute</code></td><td>-</td></tr><tr><td><code>[autofocus]</code></td><td>autofocus of the input</td><td><code>HTML Attribute</code></td><td>-</td></tr><tr><td><code>[addOnBefore]</code></td><td>The label text displayed before (on the left side of) the input field.</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[addOnAfter]</code></td><td>The label text displayed after (on the right side of) the input field.</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[addOnBeforeIcon]</code></td><td>The label icon\'s ngClass displayed before.</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[addOnAfterIcon]</code></td><td>The label icon\'s ngClass displayed after.</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[prefix]</code></td><td>The prefix icon for the Input.</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[prefixIcon]</code></td><td>The prefix icon\'s ngClass for the Input.</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[suffix]</code></td><td>The suffix icon for the Input.</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[suffixIcon]</code></td><td>The suffix icon\'s ngClass for the Input.</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[change]</code></td><td>The content event for the Input.</td><td><code>(val: string) => void</code></td><td>-</td></tr><tr><td><code>[focus]</code></td><td>The focus event for the Input.</td><td><code>(e: FocusEvent) => void</code></td><td>-</td></tr><tr><td><code>[blur]</code></td><td>The blur event for the Input.</td><td><code>(e: FocusEvent) => void</code></td><td>-</td></tr><tr><td><code>[enter]</code></td><td>The enter event for the Input.</td><td><code>(e: KeyboardEvent) => void</code></td><td>-</td></tr></tbody></table>',meta:{title:"string",subtitle:"Input",type:"Widgets"},toc:[{id:"API",title:"API",h:2},{id:"schema",title:"schema",h:3},{id:"ui",title:"ui",h:3}]},"zh-CN":{content:'<section class="markdown"><p>\u9ed8\u8ba4\u5c0f\u90e8\u4ef6\uff0c\u4e00\u822c\u7528\u4e8e\u5b57\u7b26\u4e32\u5143\u7d20\u3002</p></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema-\u5c5e\u6027">schema \u5c5e\u6027<a onclick="window.location.hash = \'schema-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[maxLength]</code></td><td>\u8868\u5355\u6700\u5927\u957f\u5ea6</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[readOnly]</code></td><td>\u7981\u7528\u72b6\u6001</td><td><code>boolean</code></td><td>-</td></tr></tbody></table><h3 id="ui-\u5c5e\u6027">ui \u5c5e\u6027<a onclick="window.location.hash = \'ui-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[type]</code></td><td>\u7b49\u540c input \u7684 <code>type</code> \u503c\uff0c\u4f8b\u5982\uff1a<code>password</code></td><td><code>string</code></td><td>-</td></tr><tr><td><code>[placeholder]</code></td><td>\u5728\u6587\u5b57\u6846\u4e2d\u663e\u793a\u63d0\u793a\u8baf\u606f</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[autocomplete]</code></td><td>\u81ea\u52a8\u5b8c\u6210\u529f\u80fd\u7684\u8868\u5355</td><td><code>HTML Attribute</code></td><td>-</td></tr><tr><td><code>[autofocus]</code></td><td>\u5f53\u9875\u9762\u52a0\u8f7d\u65f6\u83b7\u5f97\u7126\u70b9</td><td><code>HTML Attribute</code></td><td>-</td></tr><tr><td><code>[addOnBefore]</code></td><td>\u524d\u7f6e\u6807\u7b7e\uff0c\u7b49\u540c <code>nzAddOnBefore</code></td><td><code>string</code></td><td>-</td></tr><tr><td><code>[addOnAfter]</code></td><td>\u540e\u7f6e\u6807\u7b7e\uff0c\u7b49\u540c <code>nzAddOnAfter</code></td><td><code>string</code></td><td>-</td></tr><tr><td><code>[addOnBeforeIcon]</code></td><td>\u524d\u7f6eIcon\uff0c\u7b49\u540c <code>nzAddOnBeforeIcon</code></td><td><code>string</code></td><td>-</td></tr><tr><td><code>[addOnAfterIcon]</code></td><td>\u540e\u7f6eIcon\uff0c\u7b49\u540c <code>nzAddOnAfterIcon</code></td><td><code>string</code></td><td>-</td></tr><tr><td><code>[prefix]</code></td><td>\u5e26\u6709\u524d\u7f00\u56fe\u6807\u7684 input\uff0c\u7b49\u540c <code>nzPrefix</code></td><td><code>string</code></td><td>-</td></tr><tr><td><code>[prefixIcon]</code></td><td>\u524d\u7f00\u56fe\u6807\uff0c\u7b49\u540c <code>nzPrefixIcon</code></td><td><code>string</code></td><td>-</td></tr><tr><td><code>[suffix]</code></td><td>\u5e26\u6709\u540e\u7f00\u56fe\u6807\u7684 input\uff0c\u7b49\u540c <code>nzSuffix</code></td><td><code>string</code></td><td>-</td></tr><tr><td><code>[suffixIcon]</code></td><td>\u540e\u7f00\u56fe\u6807\uff0c\u7b49\u540c <code>nzSuffixIcon</code></td><td><code>string</code></td><td>-</td></tr><tr><td><code>[change]</code></td><td>\u5185\u5bb9\u53d8\u66f4\u4e8b\u4ef6</td><td><code>(val: string) => void</code></td><td>-</td></tr><tr><td><code>[focus]</code></td><td>\u7126\u70b9\u4e8b\u4ef6</td><td><code>(e: FocusEvent) => void</code></td><td>-</td></tr><tr><td><code>[blur]</code></td><td>\u5931\u7126\u4e8b\u4ef6</td><td><code>(e: FocusEvent) => void</code></td><td>-</td></tr><tr><td><code>[enter]</code></td><td>\u56de\u8f66\u4e8b\u4ef6</td><td><code>(e: KeyboardEvent) => void</code></td><td>-</td></tr></tbody></table>',meta:{title:"string",subtitle:"\u6587\u672c\u6846",type:"Widgets"},toc:[{id:"API",title:"API",h:2},{id:"schema-\u5c5e\u6027",title:"schema \u5c5e\u6027",h:3},{id:"ui-\u5c5e\u6027",title:"ui \u5c5e\u6027",h:3}]}},demo:!0},this.codes=[{id:"form-string-simple",meta:{title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"},order:0},summary:{"zh-CN":"<p>\u6700\u7b80\u5355\u7684\u7528\u6cd5\u3002</p>","en-US":"<p>Simplest of usage.</p>"},code:"import { Component } from '@angular/core';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { SFSchema, SFStringWidgetSchema } from '@delon/form';\n\n@Component({\n selector: 'form-string-simple',\n template: `\n <sf [schema]=\"schema\" (formSubmit)=\"submit($event)\"></sf>\n `,\n})\nexport class FormStringSimpleComponent {\n schema: SFSchema = {\n properties: {\n name: {\n type: 'string',\n title: 'Name',\n ui: {\n addOnAfter: 'RMB',\n placeholder: 'RMB\u7ed3\u7b97',\n change: val => console.log(val),\n focus: e => console.log('focus', e),\n blur: e => console.log('blur', e),\n enter: e => console.log('enter', e),\n } as SFStringWidgetSchema,\n },\n },\n required: ['name'],\n };\n constructor(public msg: NzMessageService) {}\n submit(value: any) {\n this.msg.success(JSON.stringify(value));\n }\n}",name:"simple",urls:"packages/form/src/widgets/string/demo/simple.md",type:"demo",lang:"ts",componentName:"FormStringSimpleComponent",point:0}]}}class ${constructor(t){this.msg=t,this.schema={properties:{name:{type:"string",title:"Name",ui:{addOnAfter:"RMB",placeholder:"RMB\u7ed3\u7b97",change:t=>console.log(t),focus:t=>console.log("focus",t),blur:t=>console.log("blur",t),enter:t=>console.log("enter",t)}}},required:["name"]}}submit(t){this.msg.success(JSON.stringify(t))}}class Q{constructor(){this.item={cols:1,urls:{"en-US":"packages/form/src/widgets/tag/index.en-US.md","zh-CN":"packages/form/src/widgets/tag/index.zh-CN.md"},content:{"en-US":{content:'<section class="markdown"><p>Tag for categorizing or markup, <strong>Notice:</strong> Just only supported <code>checkable</code> tag mode.</p></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema">schema<a onclick="window.location.hash = \'schema\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[enum]</code></td><td>Data source</td><td><code>SFSchemaEnumType[]</code></td><td>-</td></tr></tbody></table><h3 id="ui">ui<a onclick="window.location.hash = \'ui\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[asyncData]</code></td><td>Async data source</td><td><code>() => Observable<SFSchemaEnumType[]></code></td><td>-</td></tr><tr><td><code>[mode]</code></td><td>Mode of tag</td><td><code>\'closeable\'\uff5c\'default\'\uff5c\'checkable\'</code></td><td><code>\'checkable\'</code></td></tr><tr><td><code>[afterClose]</code></td><td>Callback executed when close animation is completed</td><td><code>() => void</code></td><td>-</td></tr><tr><td><code>[onClose]</code></td><td>Callback executed when tag is closed</td><td><code>(e:MouseEvent) => void</code></td><td>-</td></tr><tr><td><code>[checkedChange]</code></td><td>Checked status change call back</td><td><code>(status: boolean) => void</code></td><td>-</td></tr></tbody></table>',meta:{title:"tag",subtitle:"Tag",type:"Widgets"},toc:[{id:"API",title:"API",h:2},{id:"schema",title:"schema",h:3},{id:"ui",title:"ui",h:3}]},"zh-CN":{content:'<section class="markdown"><p>\u8fdb\u884c\u6807\u8bb0\u548c\u5206\u7c7b\u7684\u5c0f\u6807\u7b7e\uff0c<strong>\u6ce8\uff1a</strong> \u53ea\u652f\u6301 <code>checkable</code> \u6807\u7b7e\u6a21\u5f0f\u3002</p></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema-\u5c5e\u6027">schema \u5c5e\u6027<a onclick="window.location.hash = \'schema-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[enum]</code></td><td>\u6570\u636e\u6e90</td><td><code>SFSchemaEnumType[]</code></td><td>-</td></tr></tbody></table><h3 id="ui-\u5c5e\u6027">ui \u5c5e\u6027<a onclick="window.location.hash = \'ui-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[asyncData]</code></td><td>\u5f02\u6b65\u6570\u636e\u6e90</td><td><code>() => Observable<SFSchemaEnumType[]></code></td><td>-</td></tr><tr><td><code>[mode]</code></td><td>\u8bbe\u5b9a\u6807\u7b7e\u5de5\u4f5c\u7684\u6a21\u5f0f</td><td><code>\'closeable\'\uff5c\'default\'\uff5c\'checkable\'</code></td><td><code>\'checkable\'</code></td></tr><tr><td><code>[afterClose]</code></td><td>\u5173\u95ed\u52a8\u753b\u5b8c\u6210\u540e\u7684\u56de\u8c03</td><td><code>() => void</code></td><td>-</td></tr><tr><td><code>[onClose]</code></td><td>\u5173\u95ed\u65f6\u7684\u56de\u8c03\uff0c\u5728 <code>nzMode="closable"</code> \u65f6\u53ef\u7528</td><td><code>(e:MouseEvent) => void</code></td><td>-</td></tr><tr><td><code>[checkedChange]</code></td><td>\u8bbe\u7f6e\u6807\u7b7e\u7684\u9009\u4e2d\u72b6\u6001\u7684\u56de\u8c03</td><td><code>(status: boolean) => void</code></td><td>-</td></tr></tbody></table>',meta:{title:"tag",subtitle:"\u6807\u7b7e",type:"Widgets"},toc:[{id:"API",title:"API",h:2},{id:"schema-\u5c5e\u6027",title:"schema \u5c5e\u6027",h:3},{id:"ui-\u5c5e\u6027",title:"ui \u5c5e\u6027",h:3}]}},demo:!0},this.codes=[{id:"form-tag-simple",meta:{title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"},order:0},summary:{"zh-CN":"<p>\u6700\u7b80\u5355\u7684\u7528\u6cd5\u3002</p>","en-US":"<p>Simplest of usage.</p>"},code:"import { Component } from '@angular/core';\nimport { SFSchema, SFTagWidgetSchema } from '@delon/form';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { of } from 'rxjs';\nimport { delay } from 'rxjs/operators';\n\n@Component({\n selector: 'form-tag-simple',\n template: `\n <sf [schema]=\"schema\" (formSubmit)=\"submit($event)\"></sf>\n `,\n})\nexport class FormTagSimpleComponent {\n schema: SFSchema = {\n properties: {\n like: {\n type: 'number',\n title: '\u5174\u8da3',\n enum: [{ value: 1, label: '\u7535\u5f71' }, { value: 2, label: '\u4e66' }, { value: 3, label: '\u65c5\u884c' }],\n ui: {\n widget: 'tag',\n } as SFTagWidgetSchema,\n default: [1, 2],\n },\n like1: {\n type: 'number',\n title: '\u5174\u8da3',\n ui: {\n widget: 'tag',\n asyncData: () => of([{ value: 1, label: '\u7535\u5f71' }, { value: 2, label: '\u4e66' }, { value: 3, label: '\u65c5\u884c' }]).pipe(delay(10)),\n } as SFTagWidgetSchema,\n default: [1, 2],\n },\n },\n };\n constructor(public msg: NzMessageService) {}\n submit(value: any) {\n this.msg.success(JSON.stringify(value));\n }\n}",name:"simple",urls:"packages/form/src/widgets/tag/demo/simple.md",type:"demo",lang:"ts",componentName:"FormTagSimpleComponent",point:0}]}}class K{constructor(t){this.msg=t,this.schema={properties:{like:{type:"number",title:"\u5174\u8da3",enum:[{value:1,label:"\u7535\u5f71"},{value:2,label:"\u4e66"},{value:3,label:"\u65c5\u884c"}],ui:{widget:"tag"},default:[1,2]},like1:{type:"number",title:"\u5174\u8da3",ui:{widget:"tag",asyncData:()=>Object(S.a)([{value:1,label:"\u7535\u5f71"},{value:2,label:"\u4e66"},{value:3,label:"\u65c5\u884c"}]).pipe(Object(C.a)(10))},default:[1,2]}}}}submit(t){this.msg.success(JSON.stringify(t))}}class Z{constructor(){this.item={cols:1,urls:{"en-US":"packages/form/src/widgets/text/index.en-US.md","zh-CN":"packages/form/src/widgets/text/index.zh-CN.md"},content:{"en-US":{content:'<section class="markdown"><p>Text in form.</p><h2 id="Rules">Rules<a onclick="window.location.hash = \'Rules\'" class="anchor">#</a></h2><ul><li><p>Forced remove of the <code>required</code> effect</p></li><li><p>Auto render <code>-</code> if the <code>defaultText</code> value does not exist</p></li></ul></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="ui">ui<a onclick="window.location.hash = \'ui\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[defaultText]</code></td><td>Default text of this item</td><td><code>string</code></td><td><code>-</code></td></tr></tbody></table>',meta:{title:"text",subtitle:"Text",type:"Widgets"},toc:[{id:"Rules",title:"Rules",h:2},{id:"API",title:"API",h:2},{id:"ui",title:"ui",h:3}]},"zh-CN":{content:'<section class="markdown"><p>\u4e00\u822c\u7528\u4e8e\u76f4\u63a5\u663e\u793a\u6587\u672c\u3002</p><h2 id="\u89c4\u5219">\u89c4\u5219<a onclick="window.location.hash = \'\u89c4\u5219\'" class="anchor">#</a></h2><ul><li><p>\u5f3a\u5236\u53d6\u6d88 <code>required</code> \u6548\u679c</p></li><li><p>\u82e5\u4e0d\u6307\u5b9a <code>defaultText</code> \u503c\u4e0d\u5b58\u5728\u65f6\u81ea\u52a8\u6e32\u67d3 <code>-</code></p></li></ul></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="ui-\u5c5e\u6027">ui \u5c5e\u6027<a onclick="window.location.hash = \'ui-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[defaultText]</code></td><td>\u5f53\u503c\u4e0d\u5b58\u5728\u65f6\u6240\u6307\u5b9a\u7684\u6587\u672c</td><td><code>string</code></td><td><code>-</code></td></tr></tbody></table>',meta:{title:"text",subtitle:"\u6587\u672c",type:"Widgets"},toc:[{id:"\u89c4\u5219",title:"\u89c4\u5219",h:2},{id:"API",title:"API",h:2},{id:"ui-\u5c5e\u6027",title:"ui \u5c5e\u6027",h:3}]}},demo:!0},this.codes=[{id:"form-text-simple",meta:{title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"},order:0},summary:{"zh-CN":"<p>\u6700\u7b80\u5355\u7684\u7528\u6cd5\u3002</p>","en-US":"<p>Simplest of usage.</p>"},code:"import { Component } from '@angular/core';\nimport { SFSchema, SFStringWidgetSchema, SFTextWidgetSchema } from '@delon/form';\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\n@Component({\n selector: 'form-text-simple',\n template: `\n <sf [schema]=\"schema\" [loading]=\"loading\" (formSubmit)=\"submit($event)\"></sf>\n `,\n})\nexport class FormTextSimpleComponent {\n loading = false;\n schema: SFSchema = {\n properties: {\n id1: { type: 'number', ui: { widget: 'text' } as SFTextWidgetSchema },\n id2: { type: 'number', ui: { widget: 'text', defaultText: 'default text' } as SFTextWidgetSchema },\n name: {\n type: 'string',\n title: 'Name',\n ui: {\n addOnAfter: 'RMB',\n placeholder: 'RMB\u7ed3\u7b97',\n } as SFStringWidgetSchema,\n },\n },\n required: ['name'],\n };\n constructor(public msg: NzMessageService) {}\n submit(value: any) {\n this.loading = true;\n setTimeout(() => {\n this.loading = false;\n this.msg.success(JSON.stringify(value));\n }, 1000);\n }\n}",name:"simple",urls:"packages/form/src/widgets/text/demo/simple.md",type:"demo",lang:"ts",componentName:"FormTextSimpleComponent",point:0}]}}class X{constructor(t){this.msg=t,this.loading=!1,this.schema={properties:{id1:{type:"number",ui:{widget:"text"}},id2:{type:"number",ui:{widget:"text",defaultText:"default text"}},name:{type:"string",title:"Name",ui:{addOnAfter:"RMB",placeholder:"RMB\u7ed3\u7b97"}}},required:["name"]}}submit(t){this.loading=!0,setTimeout(()=>{this.loading=!1,this.msg.success(JSON.stringify(t))},1e3)}}class tt{constructor(){this.item={cols:1,urls:{"en-US":"packages/form/src/widgets/textarea/index.en-US.md","zh-CN":"packages/form/src/widgets/textarea/index.zh-CN.md"},content:{"en-US":{content:'<section class="markdown"><p>Textarea.</p></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema">schema<a onclick="window.location.hash = \'schema\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[maxLength]</code></td><td>Maximum length of the input</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[readOnly]</code></td><td>Whether to disable the state</td><td><code>boolean</code></td><td>-</td></tr></tbody></table><h3 id="ui">ui<a onclick="window.location.hash = \'ui\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[size]</code></td><td>Size of the <code>nz-input</code></td><td><code>string</code></td><td>-</td></tr><tr><td><code>[placeholder]</code></td><td>placeholder of the input</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[autosize]</code></td><td>height autosize feature, can be set to <code>boolean</code> or an object <code>{ minRows: 2, maxRows: 6 }</code></td><td><code>boolean\u4e28{ minRows: number, maxRows: number }</code></td><td><code>true</code></td></tr></tbody></table>',meta:{title:"textarea",subtitle:"Textarea",type:"Widgets"},toc:[{id:"API",title:"API",h:2},{id:"schema",title:"schema",h:3},{id:"ui",title:"ui",h:3}]},"zh-CN":{content:'<section class="markdown"><p>\u4e00\u822c\u7528\u4e8e\u591a\u884c\u5b57\u7b26\u4e32\u3002</p></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema-\u5c5e\u6027">schema \u5c5e\u6027<a onclick="window.location.hash = \'schema-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[maxLength]</code></td><td>\u8868\u5355\u6700\u5927\u957f\u5ea6</td><td><code>number</code></td><td>-</td></tr><tr><td><code>[readOnly]</code></td><td>\u7981\u7528\u72b6\u6001</td><td><code>boolean</code></td><td>-</td></tr></tbody></table><h3 id="ui-\u5c5e\u6027">ui \u5c5e\u6027<a onclick="window.location.hash = \'ui-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[size]</code></td><td>\u5927\u5c0f\uff0c\u7b49\u540c <code>nzSize</code></td><td><code>string</code></td><td>-</td></tr><tr><td><code>[placeholder]</code></td><td>\u5728\u6587\u5b57\u6846\u4e2d\u663e\u793a\u63d0\u793a\u8baf\u606f</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[autosize]</code></td><td>\u81ea\u9002\u5e94\u5185\u5bb9\u9ad8\u5ea6\uff0c\u53ef\u8bbe\u7f6e\u4e3a <code>true|false</code> \u6216\u5bf9\u8c61\uff1a<code>{ minRows: 2, maxRows: 6 }</code></td><td><code>Boolean|Object</code></td><td><code>true</code></td></tr></tbody></table>',meta:{title:"textarea",subtitle:"\u591a\u884c\u6587\u672c\u6846",type:"Widgets"},toc:[{id:"API",title:"API",h:2},{id:"schema-\u5c5e\u6027",title:"schema \u5c5e\u6027",h:3},{id:"ui-\u5c5e\u6027",title:"ui \u5c5e\u6027",h:3}]}},demo:!0},this.codes=[{id:"form-textarea-simple",meta:{title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"},order:0},summary:{"zh-CN":"<p>\u6700\u7b80\u5355\u7684\u7528\u6cd5\u3002</p>","en-US":"<p>Simplest of usage.</p>"},code:"import { Component } from '@angular/core';\nimport { SFSchema, SFTextareaWidgetSchema } from '@delon/form';\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\n@Component({\n selector: 'form-textarea-simple',\n template: `\n <sf [schema]=\"schema\" (formSubmit)=\"submit($event)\"></sf>\n `,\n})\nexport class FormTextareaSimpleComponent {\n schema: SFSchema = {\n properties: {\n remark: {\n type: 'string',\n title: '\u63cf\u8ff0',\n ui: {\n widget: 'textarea',\n autosize: { minRows: 2, maxRows: 6 },\n } as SFTextareaWidgetSchema,\n },\n },\n };\n constructor(public msg: NzMessageService) {}\n submit(value: any) {\n this.msg.success(JSON.stringify(value));\n }\n}",name:"simple",urls:"packages/form/src/widgets/textarea/demo/simple.md",type:"demo",lang:"ts",componentName:"FormTextareaSimpleComponent",point:0}]}}class et{constructor(t){this.msg=t,this.schema={properties:{remark:{type:"string",title:"\u63cf\u8ff0",ui:{widget:"textarea",autosize:{minRows:2,maxRows:6}}}}}}submit(t){this.msg.success(JSON.stringify(t))}}class dt{constructor(){this.item={cols:1,urls:{"en-US":"packages/form/src/widgets/time/index.en-US.md","zh-CN":"packages/form/src/widgets/time/index.zh-CN.md"},content:{"en-US":{content:'<section class="markdown"><p>To select/input a time.</p><h2 id="Notice">Notice<a onclick="window.location.hash = \'Notice\'" class="anchor">#</a></h2><ul><li><p>Format is divided into two types: <strong>Data format</strong> means form data, <strong>Display format</strong> means display data (<a target="_blank" href="https://ng.ant.design/components/time-picker/en#api" data-url="https://ng.ant.design/components/time-picker/en#api">nzFormat</a>)</p></li><li><p>All <strong>Data format</strong> units, reference <a target="_blank" href="https://date-fns.org/v1.29.0/docs/format" data-url="https://date-fns.org/v1.29.0/docs/format">date-fns format</a> (China mirror: <a target="_blank" href="http://Momentjs.cn/docs/#/displaying/format/" data-url="http://Momentjs.cn/docs/#/displaying/format/">moment format</a>)</p></li><li><p>Specify <code>schema.format</code> must follow <a target="_blank" href="https://tools.ietf.org/html/rfc3339#section-5.6" data-url="https://tools.ietf.org/html/rfc3339#section-5.6">RFC3339</a> time format, otherwise considered as a format error, default rules:</p><ul><li><p><code>time</code>\u3001<code>full-time</code> default is <code>HH:mm:ss</code></p></li></ul></li><li><p>When <code>schema.format</code> is not specified, the data formatting (Allows you to reassign default values via <code>DelonFormConfig</code>) is determined by the <code>schema.type</code> type:</p><ul><li><p><code>string</code> default is <code>HH:mm:ss</code></p></li><li><p><code>number</code> default is <code>x</code> 13-bit Unix Timestamp</p></li></ul></li><li><p>Since <code>disabledHours</code>, <code>disabledMinutes</code>, <code>disabledSeconds</code> will cause the time format to be corrupted, it may cause the display format error. The solution is specify a complete <code>Date</code> object in the default value (<code>schema.default</code> or <code>formData</code>)</p></li></ul></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema">schema<a onclick="window.location.hash = \'schema\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[readOnly]</code></td><td>Whether to disable the state</td><td><code>boolean</code></td><td>-</td></tr><tr><td><code>[format]</code></td><td>Data format type</td><td><code>string</code></td><td>-</td></tr></tbody></table><h3 id="ui">ui<a onclick="window.location.hash = \'ui\'" class="anchor">#</a></h3><table><thead><tr><th>Property</th><th>Description</th><th>Type</th><th>Default</th></tr></thead><tbody><tr><td><code>[size]</code></td><td>Size of the <code>nz-date-picker</code></td><td><code>string</code></td><td>-</td></tr><tr><td><code>[placeholder]</code></td><td>Placeholder of date input</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[displayFormat]</code></td><td>Display format(<a target="_blank" href="https://ng.ant.design/components/date-picker/en#api" data-url="https://ng.ant.design/components/date-picker/en#api">nzFormat</a>)</td><td><code>string</code></td><td><code>yyyy-MM-dd HH:mm:ss</code></td></tr><tr><td><code>[utcEpoch]</code></td><td>Whether UTC (represents the number of milliseconds from <code>1970</code>)</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[allowEmpty]</code></td><td>allow clearing text</td><td><code>boolean</code></td><td><code>true</code></td></tr><tr><td><code>[clearText]</code></td><td>clear tooltip of icon</td><td><code>string</code></td><td><code>\u6e05\u9664</code></td></tr><tr><td><code>[defaultOpenValue]</code></td><td>default open panel value</td><td><code>Date</code></td><td><code>new Date()</code></td></tr><tr><td><code>[disabledHours]</code></td><td>to specify the hours that cannot be selected</td><td><code>() => number[]</code></td><td>-</td></tr><tr><td><code>[disabledMinutes]</code></td><td>to specify the minutes that cannot be selected</td><td><code>(hour: number) => number[]</code></td><td>-</td></tr><tr><td><code>[disabledSeconds]</code></td><td>to specify the seconds that cannot be selected</td><td><code>(hour: number, minute: number) => number[]</code></td><td>-</td></tr><tr><td><code>[hideDisabledOptions]</code></td><td>hide the options that can not be selected</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[hourStep]</code></td><td>interval between hours in picker</td><td><code>number</code></td><td><code>1</code></td></tr><tr><td><code>[minuteStep]</code></td><td>interval between minutes in picker</td><td><code>number</code></td><td><code>1</code></td></tr><tr><td><code>[secondStep]</code></td><td>interval between seconds in picker</td><td><code>number</code></td><td><code>1</code></td></tr><tr><td><code>[popupClassName]</code></td><td>className of panel</td><td><code>string</code></td><td>-</td></tr></tbody></table>',meta:{title:"time",subtitle:"Time",type:"Widgets"},toc:[{id:"Notice",title:"Notice",h:2},{id:"API",title:"API",h:2},{id:"schema",title:"schema",h:3},{id:"ui",title:"ui",h:3}]},"zh-CN":{content:'<section class="markdown"><p>\u8f93\u5165\u6216\u9009\u62e9\u65f6\u95f4\u7684\u63a7\u4ef6\u3002</p><h2 id="\u6ce8\u610f\u4e8b\u9879">\u6ce8\u610f\u4e8b\u9879<a onclick="window.location.hash = \'\u6ce8\u610f\u4e8b\u9879\'" class="anchor">#</a></h2><ul><li><p>\u683c\u5f0f\u5316\u5206\u4e3a\uff1a<strong>\u6570\u636e\u683c\u5f0f\u5316</strong>\u8868\u793a\u8868\u5355\u6570\u636e\u548c<strong>\u663e\u793a\u683c\u5f0f\u5316</strong>\u663e\u793a\u6570\u636e\uff08\u7b49\u540c <a target="_blank" href="https://ng.ant.design/components/time-picker/zh#api" data-url="https://ng.ant.design/components/time-picker/zh#api">nzFormat</a> \u503c\uff09</p></li><li><p>\u6240\u6709 <strong>\u6570\u636e\u683c\u5f0f\u5316</strong> \u5355\u4f4d\uff0c\u53c2\u8003 <a target="_blank" href="https://date-fns.org/v1.29.0/docs/format" data-url="https://date-fns.org/v1.29.0/docs/format">date-fns format</a>\uff08\u56fd\u5185\u955c\u50cf\uff1a<a target="_blank" href="http://momentjs.cn/docs/#/displaying/format/" data-url="http://momentjs.cn/docs/#/displaying/format/">moment format</a>\uff09</p></li><li><p>\u6307\u5b9a <code>schema.format</code> \u5219\u5fc5\u987b\u9075\u5b88 <a target="_blank" href="https://tools.ietf.org/html/rfc3339#section-5.6" data-url="https://tools.ietf.org/html/rfc3339#section-5.6">RFC3339</a> \u65f6\u95f4\u683c\u5f0f\uff0c\u5426\u5219\u90fd\u89c6\u4e3a\u683c\u5f0f\u9519\u8bef\uff0c\u9ed8\u8ba4\u7684\u6570\u636e\u683c\u5f0f\u5316\uff1a</p><ul><li><p><code>time</code>\u3001<code>full-time</code> \u9ed8\u8ba4 <code>HH:mm:ss</code></p></li></ul></li><li><p>\u4e0d\u6307\u5b9a <code>schema.format</code> \u6839\u636e <code>schema.type</code> \u503c\u6309\u4ee5\u4e0b\u89c4\u5219\u5904\u7406\uff08\u5141\u8bb8\u901a\u8fc7 <code>DelonFormConfig</code> \u66ff\u6362\uff09\u6570\u636e\u683c\u5f0f\u5316\uff1a</p><ul><li><p><code>string</code> \u9ed8\u8ba4 <code>HH:mm:ss</code></p></li><li><p><code>number</code> \u9ed8\u8ba4 <code>x</code> 13\u4f4dUnix Timestamp</p></li></ul></li><li><p>\u7531\u4e8e <code>disabledHours</code>\u3001<code>disabledMinutes</code>\u3001<code>disabledSeconds</code> \u7ec4\u5408\u5bfc\u81f4\u65f6\u95f4\u683c\u5f0f\u88ab\u7834\u574f\uff0c\u53ef\u80fd\u4f1a\u5bfc\u81f4\u65e0\u6cd5\u6b63\u5e38\u663e\u793a\u6216\u663e\u793a\u4e0d\u6b63\u786e\u65f6\u53ef\u4ee5\u6307\u5b9a\u4e00\u4e2a\u5b8c\u6574\u7684 <code>Date</code> \u5bf9\u8c61\u7ed9\u9ed8\u8ba4\u503c\uff08<code>schema.default</code> \u6216 <code>formData</code>\uff09</p></li></ul></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema-\u5c5e\u6027">schema \u5c5e\u6027<a onclick="window.location.hash = \'schema-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[readOnly]</code></td><td>\u7981\u7528\u72b6\u6001</td><td><code>boolean</code></td><td>-</td></tr><tr><td><code>[format]</code></td><td>\u6570\u636e\u683c\u5f0f\u7c7b\u578b</td><td><code>string</code></td><td>-</td></tr></tbody></table><h3 id="ui-\u5c5e\u6027">ui \u5c5e\u6027<a onclick="window.location.hash = \'ui-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[size]</code></td><td>\u5927\u5c0f\uff0c\u7b49\u540c <code>nzSize</code></td><td><code>string</code></td><td>-</td></tr><tr><td><code>[placeholder]</code></td><td>\u5728\u6587\u5b57\u6846\u4e2d\u663e\u793a\u63d0\u793a\u8baf\u606f</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[format]</code></td><td>\u6570\u636e\u683c\u5f0f\u5316</td><td><code>string</code></td><td><code>HH:mm:ss</code></td></tr><tr><td><code>[displayFormat]</code></td><td>\u663e\u793a\u683c\u5f0f\u5316\uff0c\uff08\u7b49\u540c <a target="_blank" href="https://ng.ant.design/components/time-picker/zh#api" data-url="https://ng.ant.design/components/time-picker/zh#api">nzFormat</a> \u503c\uff09</td><td><code>string</code></td><td><code>HH:mm:ss</code></td></tr><tr><td><code>[utcEpoch]</code></td><td>\u662f\u5426UTC\u65b0\u7eaa\u5143\uff08\u8868\u793a\u4ece <code>1970</code> \u5f00\u59cb\u8ba1\u6beb\u79d2\u6570\uff09\uff0c\u5f53 <code>type=\'number\'</code> \u65f6\u6709\u6548</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[allowEmpty]</code></td><td>\u662f\u5426\u5c55\u793a\u6e05\u9664\u6309\u94ae</td><td><code>boolean</code></td><td><code>true</code></td></tr><tr><td><code>[clearText]</code></td><td>\u6e05\u9664\u6309\u94ae\u7684\u63d0\u793a\u6587\u6848</td><td><code>string</code></td><td><code>\u6e05\u9664</code></td></tr><tr><td><code>[defaultOpenValue]</code></td><td>\u8bbe\u7f6e\u9762\u677f\u6253\u5f00\u65f6\u9ed8\u8ba4\u9009\u4e2d\u7684\u503c</td><td><code>Date</code></td><td><code>new Date()</code></td></tr><tr><td><code>[disabledHours]</code></td><td>\u7981\u6b62\u9009\u62e9\u90e8\u5206\u5c0f\u65f6\u9009\u9879</td><td><code>() => number[]</code></td><td>-</td></tr><tr><td><code>[disabledMinutes]</code></td><td>\u7981\u6b62\u9009\u62e9\u90e8\u5206\u5206\u949f\u9009\u9879</td><td><code>(hour: number) => number[]</code></td><td>-</td></tr><tr><td><code>[disabledSeconds]</code></td><td>\u7981\u6b62\u9009\u62e9\u90e8\u5206\u79d2\u9009\u9879</td><td><code>(hour: number, minute: number) => number[]</code></td><td>-</td></tr><tr><td><code>[hideDisabledOptions]</code></td><td>\u9690\u85cf\u7981\u6b62\u9009\u62e9\u7684\u9009\u9879</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[hourStep]</code></td><td>\u5c0f\u65f6\u9009\u9879\u95f4\u9694</td><td><code>number</code></td><td><code>1</code></td></tr><tr><td><code>[minuteStep]</code></td><td>\u5206\u949f\u9009\u9879\u95f4\u9694</td><td><code>number</code></td><td><code>1</code></td></tr><tr><td><code>[secondStep]</code></td><td>\u79d2\u9009\u9879\u95f4\u9694</td><td><code>number</code></td><td><code>1</code></td></tr><tr><td><code>[popupClassName]</code></td><td>\u5f39\u51fa\u5c42\u7c7b\u540d</td><td><code>string</code></td><td>-</td></tr></tbody></table>',meta:{title:"time",subtitle:"\u65f6\u95f4",type:"Widgets"},toc:[{id:"\u6ce8\u610f\u4e8b\u9879",title:"\u6ce8\u610f\u4e8b\u9879",h:2},{id:"API",title:"API",h:2},{id:"schema-\u5c5e\u6027",title:"schema \u5c5e\u6027",h:3},{id:"ui-\u5c5e\u6027",title:"ui \u5c5e\u6027",h:3}]}},demo:!0},this.codes=[{id:"form-time-simple",meta:{title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"},order:0},summary:{"zh-CN":"<p>\u6700\u7b80\u5355\u7684\u7528\u6cd5\u3002</p>","en-US":"<p>Simplest of usage.</p>"},code:"import { Component } from '@angular/core';\nimport { SFSchema, SFTimeWidgetSchema } from '@delon/form';\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\n@Component({\n selector: 'form-time-simple',\n template: `\n <sf [schema]=\"schema\" (formSubmit)=\"submit($event)\"></sf>\n `,\n})\nexport class FormTimeSimpleComponent {\n schema: SFSchema = {\n properties: {\n time: {\n type: 'string',\n ui: { widget: 'time' } as SFTimeWidgetSchema,\n },\n time_number: {\n type: 'number',\n ui: { widget: 'time' } as SFTimeWidgetSchema,\n },\n time_format: {\n type: 'string',\n format: 'time',\n ui: {\n format: `HH:mm:ss+00:00`,\n } as SFTimeWidgetSchema,\n },\n '12hours': {\n type: 'string',\n ui: {\n widget: 'time',\n format: 'h:mm:ss a',\n use12Hours: true,\n } as SFTimeWidgetSchema,\n },\n },\n };\n constructor(private msg: NzMessageService) {}\n submit(value: any) {\n this.msg.success(JSON.stringify(value));\n }\n}",name:"simple",urls:"packages/form/src/widgets/time/demo/simple.md",type:"demo",lang:"ts",componentName:"FormTimeSimpleComponent",point:0}]}}class ot{constructor(t){this.msg=t,this.schema={properties:{time:{type:"string",ui:{widget:"time"}},time_number:{type:"number",ui:{widget:"time"}},time_format:{type:"string",format:"time",ui:{format:"HH:mm:ss+00:00"}},"12hours":{type:"string",ui:{widget:"time",format:"h:mm:ss a",use12Hours:!0}}}}}submit(t){this.msg.success(JSON.stringify(t))}}class nt{constructor(){this.item={cols:1,urls:{"zh-CN":"packages/form/src/widgets/transfer/index.md"},content:{"zh-CN":{content:'<section class="markdown"><p>\u53cc\u680f\u7a7f\u68ad\u9009\u62e9\u6846\u3002</p><h2 id="\u6ce8\u610f\u4e8b\u9879">\u6ce8\u610f\u4e8b\u9879<a onclick="window.location.hash = \'\u6ce8\u610f\u4e8b\u9879\'" class="anchor">#</a></h2><ul><li><p><code>default</code> \u503c\u88ab\u5f53\u6210 <code>direction: \'right\'</code> \u8868\u793a\u53f3\u680f\u4e2d</p></li></ul></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema-\u5c5e\u6027">schema \u5c5e\u6027<a onclick="window.location.hash = \'schema-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[enum]</code></td><td>\u6570\u636e\u6e90</td><td><code>SFSchemaEnumType[]</code></td><td>-</td></tr></tbody></table><h3 id="ui-\u5c5e\u6027">ui \u5c5e\u6027<a onclick="window.location.hash = \'ui-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[asyncData]</code></td><td>\u5f02\u6b65\u6570\u636e\u6e90</td><td><code>() => Observable<SFSchemaEnumType[]></code></td><td>-</td></tr><tr><td><code>[titles]</code></td><td>\u6807\u9898\u96c6\u5408\uff0c\u987a\u5e8f\u4ece\u5de6\u81f3\u53f3</td><td><code>string[]</code></td><td><code>[\'\', \'\']</code></td></tr><tr><td><code>[operations]</code></td><td>\u64cd\u4f5c\u6587\u6848\u96c6\u5408\uff0c\u987a\u5e8f\u4ece\u4e0b\u81f3\u4e0a</td><td><code>string[]</code></td><td><code>[\'\', \'\']</code></td></tr><tr><td><code>[listStyle]</code></td><td>\u4e24\u4e2a\u7a7f\u68ad\u6846\u7684\u81ea\u5b9a\u4e49\u6837\u5f0f\uff0c\u4ee5<code>ngStyle</code>\u5199\u6cd5\u6807\u9898</td><td><code>object</code></td><td>-</td></tr><tr><td><code>[itemUnit]</code></td><td>\u5355\u6570\u5355\u4f4d</td><td><code>string</code></td><td><code>\u9879\u76ee</code></td></tr><tr><td><code>[itemsUnit]</code></td><td>\u590d\u6570\u5355\u4f4d</td><td><code>string</code></td><td><code>\u9879\u76ee</code></td></tr><tr><td><code>[showSearch]</code></td><td>\u662f\u5426\u663e\u793a\u641c\u7d22\u6846</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[filterOption]</code></td><td>\u63a5\u6536 <code>inputValueoption</code> \u4e24\u4e2a\u53c2\u6570\uff0c\u5f53 <code>option</code> \u7b26\u5408\u7b5b\u9009\u6761\u4ef6\u65f6\uff0c\u5e94\u8fd4\u56de <code>true</code>\uff0c\u53cd\u4e4b\u5219\u8fd4\u56de <code>false</code>\u3002</td><td>-</td><td>-</td></tr><tr><td><code>[searchPlaceholder]</code></td><td>\u641c\u7d22\u6846\u7684\u9ed8\u8ba4\u503c</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[notFoundContent]</code></td><td>\u5f53\u5217\u8868\u4e3a\u7a7a\u65f6\u663e\u793a\u7684\u5185\u5bb9</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[canMove]</code></td><td>\u7a7f\u68ad\u65f6\u4e8c\u6b21\u6821\u9a8c\u3002</td><td><code>function</code></td><td>-</td></tr><tr><td><code>[change]</code></td><td>\u9009\u9879\u5728\u4e24\u680f\u4e4b\u95f4\u8f6c\u79fb\u65f6\u7684\u56de\u8c03\u51fd\u6570</td><td><code>(options: TransferChange) => void</code></td><td>-</td></tr><tr><td><code>[searchChange]</code></td><td>\u641c\u7d22\u6846\u5185\u5bb9\u65f6\u6539\u53d8\u65f6\u7684\u56de\u8c03\u51fd\u6570</td><td><code>(options: TransferSearchChange) => void</code></td><td>-</td></tr><tr><td><code>[selectChange]</code></td><td>\u9009\u4e2d\u9879\u53d1\u751f\u6539\u53d8\u65f6\u7684\u56de\u8c03\u51fd\u6570</td><td><code>(options: TransferSelectChange) => void</code></td><td>-</td></tr></tbody></table>',meta:{title:"transfer",subtitle:"\u7a7f\u68ad\u6846",type:"Widgets"},toc:[{id:"\u6ce8\u610f\u4e8b\u9879",title:"\u6ce8\u610f\u4e8b\u9879",h:2},{id:"API",title:"API",h:2},{id:"schema-\u5c5e\u6027",title:"schema \u5c5e\u6027",h:3},{id:"ui-\u5c5e\u6027",title:"ui \u5c5e\u6027",h:3}]}},demo:!0},this.codes=[{id:"form-transfer-simple",meta:{title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"},order:0},summary:{"zh-CN":"<p>\u6700\u7b80\u5355\u7684\u7528\u6cd5\u3002</p>","en-US":"<p>Simplest of usage.</p>"},code:"import { Component } from '@angular/core';\nimport { SFSchema, SFTransferWidgetSchema } from '@delon/form';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { of } from 'rxjs';\nimport { delay } from 'rxjs/operators';\n\n@Component({\n selector: 'form-transfer-simple',\n template: `\n <sf [schema]=\"schema\" (formSubmit)=\"submit($event)\"></sf>\n `,\n})\nexport class FormTransferSimpleComponent {\n schema: SFSchema = {\n properties: {\n roles: {\n type: 'number',\n title: '\u89d2\u8272',\n enum: [\n { title: 'DNS\u7ba1\u7406', value: 10 },\n { title: 'ECS\u7ba1\u7406', value: 11 },\n { title: 'OSS\u7ba1\u7406', value: 12 },\n { title: 'RDS\u7ba1\u7406', value: 13 },\n ],\n ui: {\n widget: 'transfer',\n titles: ['\u672a\u62e5\u6709', '\u5df2\u62e5\u6709'],\n } as SFTransferWidgetSchema,\n default: [11, 12],\n },\n roles2: {\n type: 'number',\n title: '\u89d2\u8272',\n ui: {\n widget: 'transfer',\n titles: ['\u672a\u62e5\u6709', '\u5df2\u62e5\u6709'],\n asyncData: () =>\n of([\n { title: 'DNS\u7ba1\u7406', value: 10 },\n { title: 'ECS\u7ba1\u7406', value: 11 },\n { title: 'OSS\u7ba1\u7406', value: 12 },\n { title: 'RDS\u7ba1\u7406', value: 13 },\n ]).pipe(delay(10)),\n } as SFTransferWidgetSchema,\n default: [11, 12],\n },\n },\n };\n constructor(public msg: NzMessageService) {}\n submit(value: any) {\n this.msg.success(JSON.stringify(value));\n }\n}",name:"simple",urls:"packages/form/src/widgets/transfer/demo/simple.md",type:"demo",lang:"ts",componentName:"FormTransferSimpleComponent",point:0}]}}class ct{constructor(t){this.msg=t,this.schema={properties:{roles:{type:"number",title:"\u89d2\u8272",enum:[{title:"DNS\u7ba1\u7406",value:10},{title:"ECS\u7ba1\u7406",value:11},{title:"OSS\u7ba1\u7406",value:12},{title:"RDS\u7ba1\u7406",value:13}],ui:{widget:"transfer",titles:["\u672a\u62e5\u6709","\u5df2\u62e5\u6709"]},default:[11,12]},roles2:{type:"number",title:"\u89d2\u8272",ui:{widget:"transfer",titles:["\u672a\u62e5\u6709","\u5df2\u62e5\u6709"],asyncData:()=>Object(S.a)([{title:"DNS\u7ba1\u7406",value:10},{title:"ECS\u7ba1\u7406",value:11},{title:"OSS\u7ba1\u7406",value:12},{title:"RDS\u7ba1\u7406",value:13}]).pipe(Object(C.a)(10))},default:[11,12]}}}}submit(t){this.msg.success(JSON.stringify(t))}}class at{constructor(){this.item={cols:1,urls:{"zh-CN":"packages/form/src/widgets/tree-select/index.md"},content:{"zh-CN":{content:'<section class="markdown"><p>\u6811\u578b\u9009\u62e9\u63a7\u4ef6\u3002</p><p><strong>\u6ce8\u610f\uff1a</strong></p><ul><li><p><code>tree-select</code> \u7684\u6570\u636e\u6e90\u5fc5\u987b\u5305\u542b <code>title</code>\u3001<code>key</code> \u952e\u540d</p></li></ul></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema-\u5c5e\u6027">schema \u5c5e\u6027<a onclick="window.location.hash = \'schema-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[enum]</code></td><td>\u6570\u636e\u6e90</td><td><code>SFSchemaEnumType[]</code></td><td>-</td></tr><tr><td><code>[readOnly]</code></td><td>\u7981\u7528\u72b6\u6001</td><td><code>boolean</code></td><td>-</td></tr></tbody></table><h3 id="ui-\u5c5e\u6027">ui \u5c5e\u6027<a onclick="window.location.hash = \'ui-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[asyncData]</code></td><td>\u5f02\u6b65\u6570\u636e\u6e90</td><td><code>() => Observable<SFSchemaEnumType[]></code></td><td>-</td></tr><tr><td><code>[size]</code></td><td>\u5927\u5c0f\uff0c\u7b49\u540c <code>nzSize</code></td><td><code>string</code></td><td><code>default</code></td></tr><tr><td><code>[placeholder]</code></td><td>\u5728\u6587\u5b57\u6846\u4e2d\u663e\u793a\u63d0\u793a\u8baf\u606f</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[allowClear]</code></td><td>\u652f\u6301\u6e05\u9664</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[dropdownMatchSelectWidth]</code></td><td>\u4e0b\u62c9\u83dc\u5355\u548c\u9009\u62e9\u5668\u540c\u5bbd</td><td><code>boolean</code></td><td><code>true</code></td></tr><tr><td><code>[dropdownStyle]</code></td><td>\u4e0b\u62c9\u83dc\u5355\u7684 style \u5c5e\u6027</td><td><code>object</code></td><td>-</td></tr><tr><td><code>[multiple]</code></td><td>\u652f\u6301\u591a\u9009\uff08\u5f53\u8bbe\u7f6e <code>checkable</code> \u65f6\u81ea\u52a8\u53d8\u4e3atrue\uff09</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[checkable]</code></td><td>\u8282\u70b9\u524d\u6dfb\u52a0 Checkbox \u590d\u9009\u6846</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[showExpand]</code></td><td>\u8282\u70b9\u524d\u6dfb\u52a0\u5c55\u5f00\u56fe\u6807</td><td><code>boolean</code></td><td><code>true</code></td></tr><tr><td><code>[showLine]</code></td><td>\u8282\u70b9\u524d\u6dfb\u52a0\u5c55\u5f00\u56fe\u6807</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[defaultExpandAll]</code></td><td>\u9ed8\u8ba4\u5c55\u5f00\u6240\u6709\u6811\u8282\u70b9</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[displayWith]</code></td><td>\u5982\u4f55\u5728\u8f93\u5165\u6846\u663e\u793a\u6240\u9009\u7684\u8282\u70b9\u503c\u7684\u65b9\u6cd5</td><td><code>(node: NzTreeNode) => string | undefined</code></td><td><code>(node: NzTreeNode) => node.title</code></td></tr><tr><td><code>[expandChange]</code></td><td>\u70b9\u51fb\u5c55\u5f00\u6811\u8282\u70b9\u56fe\u6807\u8c03\u7528</td><td><code>(e: NzFormatEmitEvent) => Observable<SFSchemaEnum[]></code></td><td>-</td></tr></tbody></table><blockquote><p>\u5f02\u6b65\u6570\u636e\u52a1\u5fc5\u5148\u6307\u5b9a\u521d\u59cb\u5316\u6570\u636e\uff08\u4f7f\u7528 <code>enum</code>\u3001<code>asyncData</code> \u9009\u5176\u4e00\uff09\uff0c\u5426\u5219\u65e0\u6cd5\u89e6\u53d1 <code>expandChange</code>\u3002</p></blockquote>',meta:{title:"tree-select",subtitle:"\u6811\u9009\u62e9",type:"Widgets"},toc:[{id:"API",title:"API",h:2},{id:"schema-\u5c5e\u6027",title:"schema \u5c5e\u6027",h:3},{id:"ui-\u5c5e\u6027",title:"ui \u5c5e\u6027",h:3}]}},demo:!0},this.codes=[{id:"form-tree-select-simple",meta:{title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"},order:0},summary:{"zh-CN":'<p>\u6700\u7b80\u5355\u7684\u7528\u6cd5\u3002</p><blockquote><p>\u591a\u9009\uff1a\u91cd\u7f6e\u65f6\u65e0\u6cd5\u5237\u65b0\u9ed8\u8ba4\u503c <a target="_blank" href="https://github.com/NG-ZORRO/ng-zorro-antd/issues/2085" data-url="https://github.com/NG-ZORRO/ng-zorro-antd/issues/2085">#2085</a></p></blockquote>',"en-US":"<p>Simplest of usage.</p>"},code:"import { Component } from '@angular/core';\nimport { SFSchema, SFTreeSelectWidgetSchema } from '@delon/form';\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { of } from 'rxjs';\nimport { delay } from 'rxjs/operators';\n\n@Component({\n selector: 'form-tree-select-simple',\n template: `\n <sf [schema]=\"schema\" (formSubmit)=\"submit($event)\"></sf>\n `,\n})\nexport class FormTreeSelectSimpleComponent {\n schema: SFSchema = {\n properties: {\n status1: {\n type: 'string',\n title: '\u57fa\u672c',\n enum: [\n { title: '\u5f85\u652f\u4ed8', key: 'WAIT_BUYER_PAY' },\n { title: '\u5df2\u652f\u4ed8', key: 'TRADE_SUCCESS' },\n { title: '\u4ea4\u6613\u5b8c\u6210', key: 'TRADE_FINISHED' },\n ],\n default: 'WAIT_BUYER_PAY',\n ui: {\n widget: 'tree-select',\n } as SFTreeSelectWidgetSchema,\n },\n status2: {\n type: 'string',\n title: '\u591a\u9009',\n enum: [\n { title: '\u5f85\u652f\u4ed8', key: 'WAIT_BUYER_PAY' },\n { title: '\u5df2\u652f\u4ed8', key: 'TRADE_SUCCESS' },\n { title: '\u4ea4\u6613\u5b8c\u6210', key: 'TRADE_FINISHED' },\n ],\n default: ['WAIT_BUYER_PAY', 'TRADE_SUCCESS'],\n ui: {\n widget: 'tree-select',\n multiple: true,\n } as SFTreeSelectWidgetSchema,\n },\n status3: {\n type: 'string',\n title: '\u53ef\u52fe\u9009',\n default: ['WAIT_BUYER_PAY', 'TRADE_FINISHED'],\n ui: {\n widget: 'tree-select',\n checkable: true,\n asyncData: () =>\n of([\n { title: '\u5f85\u652f\u4ed8', key: 'WAIT_BUYER_PAY' },\n { title: '\u5df2\u652f\u4ed8', key: 'TRADE_SUCCESS' },\n { title: '\u4ea4\u6613\u5b8c\u6210', key: 'TRADE_FINISHED' },\n ]).pipe(delay(10)),\n } as SFTreeSelectWidgetSchema,\n },\n // \u5f02\u6b65\u6570\u636e\n async: {\n type: 'string',\n title: 'Async',\n enum: [\n { title: '\u5f85\u652f\u4ed8', key: 'WAIT_BUYER_PAY' },\n { title: '\u5df2\u652f\u4ed8', key: 'TRADE_SUCCESS' },\n { title: '\u4ea4\u6613\u5b8c\u6210', key: 'TRADE_FINISHED' },\n ],\n ui: {\n widget: 'tree-select',\n expandChange: () => {\n return of([\n { title: '\u5f85\u652f\u4ed8', key: 'WAIT_BUYER_PAY' },\n { title: '\u5df2\u652f\u4ed8', key: 'TRADE_SUCCESS' },\n { title: '\u4ea4\u6613\u5b8c\u6210', key: 'TRADE_FINISHED' },\n ]).pipe(delay(10));\n },\n } as SFTreeSelectWidgetSchema,\n },\n },\n };\n constructor(public msg: NzMessageService) {}\n submit(value: any) {\n this.msg.success(JSON.stringify(value));\n }\n}",name:"simple",urls:"packages/form/src/widgets/tree-select/demo/simple.md",type:"demo",lang:"ts",componentName:"FormTreeSelectSimpleComponent",point:0}]}}class lt{constructor(t){this.msg=t,this.schema={properties:{status1:{type:"string",title:"\u57fa\u672c",enum:[{title:"\u5f85\u652f\u4ed8",key:"WAIT_BUYER_PAY"},{title:"\u5df2\u652f\u4ed8",key:"TRADE_SUCCESS"},{title:"\u4ea4\u6613\u5b8c\u6210",key:"TRADE_FINISHED"}],default:"WAIT_BUYER_PAY",ui:{widget:"tree-select"}},status2:{type:"string",title:"\u591a\u9009",enum:[{title:"\u5f85\u652f\u4ed8",key:"WAIT_BUYER_PAY"},{title:"\u5df2\u652f\u4ed8",key:"TRADE_SUCCESS"},{title:"\u4ea4\u6613\u5b8c\u6210",key:"TRADE_FINISHED"}],default:["WAIT_BUYER_PAY","TRADE_SUCCESS"],ui:{widget:"tree-select",multiple:!0}},status3:{type:"string",title:"\u53ef\u52fe\u9009",default:["WAIT_BUYER_PAY","TRADE_FINISHED"],ui:{widget:"tree-select",checkable:!0,asyncData:()=>Object(S.a)([{title:"\u5f85\u652f\u4ed8",key:"WAIT_BUYER_PAY"},{title:"\u5df2\u652f\u4ed8",key:"TRADE_SUCCESS"},{title:"\u4ea4\u6613\u5b8c\u6210",key:"TRADE_FINISHED"}]).pipe(Object(C.a)(10))}},async:{type:"string",title:"Async",enum:[{title:"\u5f85\u652f\u4ed8",key:"WAIT_BUYER_PAY"},{title:"\u5df2\u652f\u4ed8",key:"TRADE_SUCCESS"},{title:"\u4ea4\u6613\u5b8c\u6210",key:"TRADE_FINISHED"}],ui:{widget:"tree-select",expandChange:()=>Object(S.a)([{title:"\u5f85\u652f\u4ed8",key:"WAIT_BUYER_PAY"},{title:"\u5df2\u652f\u4ed8",key:"TRADE_SUCCESS"},{title:"\u4ea4\u6613\u5b8c\u6210",key:"TRADE_FINISHED"}]).pipe(Object(C.a)(10))}}}}}submit(t){this.msg.success(JSON.stringify(t))}}class it{constructor(){this.item={cols:1,urls:{"zh-CN":"packages/form/src/widgets/upload/index.md"},content:{"zh-CN":{content:'<section class="markdown"><p>\u6587\u4ef6\u9009\u62e9\u4e0a\u4f20\u548c\u62d6\u62fd\u4e0a\u4f20\u63a7\u4ef6\u3002</p><h2 id="\u6ce8\u610f\u4e8b\u9879">\u6ce8\u610f\u4e8b\u9879<a onclick="window.location.hash = \'\u6ce8\u610f\u4e8b\u9879\'" class="anchor">#</a></h2><ul><li><p><strong>\u52a1\u5fc5</strong> \u6307\u5b9a <code>resReName</code> \u6765\u83b7\u53d6\u6b63\u786e\u6570\u636e</p></li><li><p><code>multiple</code> \u51b3\u5b9a\u8fd4\u56de\u6570\u7ec4\u6216\u8005\u5355\u4f53\u6570\u636e</p></li><li><p>\u82e5\u6307\u5b9a <code>enum</code> \u6216 <code>asyncData</code> \u5c06\u88ab\u8f6c\u5316\u6210 <code>fileList</code> (<code>nzFileList</code>) \u503c\uff0c\u4e14<strong>\u52a1\u5fc5</strong>\u521d\u59cb\u4fdd\u8bc1\u4e00\u4e2a <code>response</code> \u5c5e\u6027\u8868\u793a\u8fdc\u7a0b\u6570\u636e\u5e76 <code>resReName</code> \u80fd\u6b63\u786e\u83b7\u53d6</p></li><li><p>\u56fe\u50cf\u9884\u89c8\uff1a\u9ed8\u8ba4\u4f7f\u7528 <code>nzModal</code> \u6765\u663e\u793a\u5305\u542b\u6587\u4ef6\u5bf9\u8c61\u7684 <code>url</code> \u6216 <code>thumbUrl</code> \u503c</p></li></ul></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="schema-\u5c5e\u6027">schema \u5c5e\u6027<a onclick="window.location.hash = \'schema-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[readOnly]</code></td><td>\u7981\u7528\u72b6\u6001</td><td><code>boolean</code></td><td>-</td></tr></tbody></table><h3 id="ui-\u5c5e\u6027">ui \u5c5e\u6027<a onclick="window.location.hash = \'ui-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[asyncData]</code></td><td>\u5f02\u6b65\u6570\u636e\u6e90</td><td><code>() => Observable<SFSchemaEnumType[]></code></td><td>-</td></tr><tr><td><code>[type]</code></td><td>\u4e0a\u4f20\u7c7b\u578b</td><td><code>select,drag</code></td><td><code>select</code></td></tr><tr><td><code>[text]</code></td><td>\u6309\u94ae\u6587\u672c</td><td><code>string</code></td><td><code>\u70b9\u51fb\u4e0a\u4f20</code></td></tr><tr><td><code>[hint]</code></td><td>\u63d0\u9192\u6587\u672c\uff0cdrag \u65f6\u6709\u6548</td><td><code>string</code></td><td><code>\u652f\u6301\u5355\u4e2a\u6216\u6279\u91cf\uff0c\u4e25\u7981\u4e0a\u4f20\u516c\u53f8\u6570\u636e\u6216\u5176\u4ed6\u5b89\u5168\u6587\u4ef6</code></td></tr><tr><td><code>[resReName]</code></td><td>\u91cd\u547d\u540d\u8fd4\u56de\u53c2\u6570\uff0c\u652f\u6301 <code>a.b.c</code> \u7684\u5d4c\u5957\u5199\u6cd5\uff0c\u82e5\u4e0d\u6307\u5b9a\u8868\u793a\u6574\u4e2a\u8fd4\u56de\u4f53</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[urlReName]</code></td><td>\u91cd\u547d\u540d\u9884\u89c8\u56fe\u50cfURL\u8fd4\u56de\u53c2\u6570\uff0c\u652f\u6301 <code>a.b.c</code> \u7684\u5d4c\u5957\u5199\u6cd5\uff0c\u82e5\u4e0d\u6307\u5b9a\u8868\u793a\u4f7f\u7528\u6587\u4ef6\u5bf9\u8c61\u7684 <code>url</code>\u3001<code>thumbUrl</code> \u503c</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[action]</code></td><td>\u5fc5\u9009\u53c2\u6570, \u4e0a\u4f20\u7684\u5730\u5740</td><td><code>string</code></td><td>-</td></tr><tr><td><code>[accept]</code></td><td>\u63a5\u53d7\u4e0a\u4f20\u7684\u6587\u4ef6\u7c7b\u578b, \u8be6\u89c1 <a target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-accept" data-url="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-accept">input accept Attribute</a></td><td><code>string</code></td><td>-</td></tr><tr><td><code>[limit]</code></td><td>\u9650\u5236\u5355\u6b21\u6700\u591a\u4e0a\u4f20\u6570\u91cf\uff0c<code>multiple</code> \u6253\u5f00\u65f6\u6709\u6548\uff1b<code>0</code> \u8868\u793a\u4e0d\u9650</td><td><code>number</code></td><td><code>0</code></td></tr><tr><td><code>[filter]</code></td><td>\u81ea\u5b9a\u4e49\u8fc7\u6ee4\u5668</td><td><code>UploadFilter[]</code></td><td>-</td></tr><tr><td><code>[fileList]</code></td><td>\u6587\u4ef6\u5217\u8868</td><td><code>UploadFile[]</code></td><td>-</td></tr><tr><td><code>[fileSize]</code></td><td>\u9650\u5236\u6587\u4ef6\u5927\u5c0f\uff0c\u5355\u4f4d\uff1aKB\uff1b<code>0</code> \u8868\u793a\u4e0d\u9650</td><td><code>number</code></td><td><code>0</code></td></tr><tr><td><code>[fileType]</code></td><td>\u9650\u5236\u6587\u4ef6\u7c7b\u578b\uff0c\u4f8b\u5982\uff1a<code>image/png,image/jpeg,image/gif,image/bmp</code></td><td><code>string</code></td><td>-</td></tr><tr><td><code>[headers]</code></td><td>\u8bbe\u7f6e\u4e0a\u4f20\u7684\u8bf7\u6c42\u5934\u90e8</td><td><code>Object, (file: UploadFile) => Object</code></td><td>-</td></tr><tr><td><code>[listType]</code></td><td>\u4e0a\u4f20\u5217\u8868\u7684\u5185\u5efa\u6837\u5f0f</td><td><code>text,picture,picture-card</code></td><td><code>text</code></td></tr><tr><td><code>[showUploadList]</code></td><td>\u662f\u5426\u5c55\u793a\u5217\u8868, \u53ef\u8bbe\u4e3a\u4e00\u4e2a\u5bf9\u8c61\uff0c\u7528\u4e8e\u5355\u72ec\u8bbe\u5b9a <code>showPreviewIcon</code> \u548c <code>showRemoveIcon</code></td><td><code>boolean</code></td><td><code>true</code></td></tr><tr><td><code>[multiple]</code></td><td>\u662f\u5426\u652f\u6301\u591a\u9009\u6587\u4ef6\uff0c<code>IE10+</code> \u652f\u6301\u3002\u5f00\u542f\u540e\u6309\u4f4f <code>ctrl</code> \u53ef\u9009\u62e9\u591a\u4e2a\u6587\u4ef6\u3002</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[name]</code></td><td>\u53d1\u5230\u540e\u53f0\u7684\u6587\u4ef6\u53c2\u6570\u540d</td><td><code>string</code></td><td><code>file</code></td></tr><tr><td><code>[data]</code></td><td>\u4e0a\u4f20\u6240\u9700\u53c2\u6570\u6216\u8fd4\u56de\u4e0a\u4f20\u53c2\u6570\u7684\u65b9\u6cd5</td><td><code>Object, (file: UploadFile) => Object</code></td><td>-</td></tr><tr><td><code>[withCredentials]</code></td><td>\u4e0a\u4f20\u8bf7\u6c42\u65f6\u662f\u5426\u643a\u5e26 cookie</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[directory]</code></td><td>\u652f\u6301\u4e0a\u4f20\u6587\u4ef6\u5939\uff08<a target="_blank" href="https://caniuse.com/#feat=input-file-directory" data-url="https://caniuse.com/#feat=input-file-directory">caniuse</a>\uff09</td><td><code>boolean</code></td><td><code>false</code></td></tr><tr><td><code>[openFileDialogOnClick]</code></td><td>\u70b9\u51fb\u6253\u5f00\u6587\u4ef6\u5bf9\u8bdd\u6846</td><td><code>boolean</code></td><td><code>true</code></td></tr><tr><td><code>[limitFileCount]</code></td><td>\u9650\u5236\u4e0a\u4f20\u6587\u4ef6\u6570\u91cf\uff0c\u8d85\u8fc7\u6570\u91cf\u9690\u85cf\u4e0a\u4f20\u6309\u94ae</td><td><code>number</code></td><td><code>999</code></td></tr><tr><td><code>[beforeUpload]</code></td><td>\u4e0a\u4f20\u6587\u4ef6\u4e4b\u524d\u7684\u94a9\u5b50\uff0c\u53c2\u6570\u4e3a\u4e0a\u4f20\u7684\u6587\u4ef6\uff0c\u82e5\u8fd4\u56de <code>false</code> \u5219\u505c\u6b62\u4e0a\u4f20</td><td><code>(file: UploadFile, fileList: UploadFile[]) => boolean\uff5cObservable<boolean></code></td><td>-</td></tr><tr><td><code>[customRequest]</code></td><td>\u901a\u8fc7\u8986\u76d6\u9ed8\u8ba4\u7684\u4e0a\u4f20\u884c\u4e3a\uff0c\u53ef\u4ee5\u81ea\u5b9a\u4e49\u81ea\u5df1\u7684\u4e0a\u4f20\u5b9e\u73b0</td><td><code>(item: UploadXHRArgs) => Subscription</code></td><td>-</td></tr><tr><td><code>[remove]</code></td><td>\u70b9\u51fb\u79fb\u9664\u6587\u4ef6\u65f6\u7684\u56de\u8c03\uff0c\u8fd4\u56de\u503c\u4e3a <code>false</code> \u65f6\u4e0d\u79fb\u9664</td><td><code>(file: UploadFile) => boolean\uff5cObservable</code></td><td>-</td></tr><tr><td><code>[preview]</code></td><td>\u70b9\u51fb\u6587\u4ef6\u94fe\u63a5\u6216\u9884\u89c8\u56fe\u6807\u65f6\u7684\u56de\u8c03</td><td><code>(file: UploadFile) => void</code></td><td>-</td></tr><tr><td><code>[change]</code></td><td>\u4e0a\u4f20\u6587\u4ef6\u6539\u53d8\u65f6\u7684\u72b6\u6001</td><td><code>(args: UploadChangeParam) => void</code></td><td>-</td></tr></tbody></table>',meta:{title:"upload",subtitle:"\u4e0a\u4f20",type:"Widgets"},toc:[{id:"\u6ce8\u610f\u4e8b\u9879",title:"\u6ce8\u610f\u4e8b\u9879",h:2},{id:"API",title:"API",h:2},{id:"schema-\u5c5e\u6027",title:"schema \u5c5e\u6027",h:3},{id:"ui-\u5c5e\u6027",title:"ui \u5c5e\u6027",h:3}]}},demo:!0},this.codes=[{id:"form-upload-simple",meta:{title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"},order:0},summary:{"zh-CN":"<p>\u6700\u7b80\u5355\u7684\u7528\u6cd5\u3002</p>","en-US":"<p>Simplest of usage.</p>"},code:"import { Component } from '@angular/core';\nimport { SFSchema, SFUploadWidgetSchema } from '@delon/form';\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\n@Component({\n selector: 'form-upload-simple',\n template: `\n <sf [schema]=\"schema\" (formSubmit)=\"submit($event)\"></sf>\n `,\n})\nexport class FormUploadSimpleComponent {\n schema: SFSchema = {\n properties: {\n file: {\n type: 'string',\n title: '\u5355\u4e2a\u6587\u4ef6',\n enum: [\n {\n uid: -1,\n name: 'xxx.png',\n status: 'done',\n url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png',\n response: {\n resource_id: 1,\n },\n },\n ],\n ui: {\n widget: 'upload',\n action: '/upload',\n resReName: 'resource_id',\n urlReName: 'url',\n } as SFUploadWidgetSchema,\n },\n mulit: {\n type: 'string',\n title: '\u591a\u4e2a\u6587\u4ef6',\n ui: {\n widget: 'upload',\n action: '/upload',\n resReName: 'resource_id',\n urlReName: 'url',\n multiple: true,\n } as SFUploadWidgetSchema,\n },\n // \u62d6\u52a8\u6a21\u5f0f\n drag: {\n type: 'string',\n title: 'Drag',\n ui: {\n widget: 'upload',\n action: '/upload',\n resReName: 'resource_id',\n urlReName: 'url',\n type: 'drag',\n } as SFUploadWidgetSchema,\n },\n },\n };\n constructor(public msg: NzMessageService) {}\n submit(value: any) {\n this.msg.success(JSON.stringify(value));\n }\n}",name:"simple",urls:"packages/form/src/widgets/upload/demo/simple.md",type:"demo",lang:"ts",componentName:"FormUploadSimpleComponent",point:0}]}}class rt{constructor(t){this.msg=t,this.schema={properties:{file:{type:"string",title:"\u5355\u4e2a\u6587\u4ef6",enum:[{uid:-1,name:"xxx.png",status:"done",url:"https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png",response:{resource_id:1}}],ui:{widget:"upload",action:"/upload",resReName:"resource_id",urlReName:"url"}},mulit:{type:"string",title:"\u591a\u4e2a\u6587\u4ef6",ui:{widget:"upload",action:"/upload",resReName:"resource_id",urlReName:"url",multiple:!0}},drag:{type:"string",title:"Drag",ui:{widget:"upload",action:"/upload",resReName:"resource_id",urlReName:"url",type:"drag"}}}}}submit(t){this.msg.success(JSON.stringify(t))}}class st{constructor(){this.item={cols:1,urls:{"zh-CN":"packages/form/widgets-third/markdown/index.md"},content:{"zh-CN":{content:'<section class="markdown"><p>Markdown\u7f16\u8f91\u5668\u3002</p><blockquote><p>\u6ce8\uff1a\u7b2c\u4e09\u65b9\u5c0f\u90e8\u4ef6\u9ed8\u8ba4\u5e76\u672a\u6ce8\u518c\uff0c\u7ec6\u8282\u89c1<a href="https://ng-alain.com/form/customize" data-url="https://ng-alain.com/form/customize">\u5b9a\u5236\u5c0f\u90e8\u4ef6</a>\u3002</p></blockquote><h2 id="\u5982\u4f55\u4f7f\u7528">\u5982\u4f55\u4f7f\u7528<a onclick="window.location.hash = \'\u5982\u4f55\u4f7f\u7528\'" class="anchor">#</a></h2><p><strong>\u5bfc\u5165\u6a21\u5757</strong></p><p>\u9ed8\u8ba4\u9700\u8981\u81ea\u884c\u5728\u4e24\u4e2a\u5730\u65b9\u6ce8\u518c <code>SimplemdeModule</code>\u3002</p><ul><li><p>\u5728 <code>AppModule</code> \u5bfc\u5165 <code>SimplemdeModule.forRoot({})</code> \u5141\u8bb8\u6307\u5b9a\u4e00\u4e2a\u5168\u5c40\u914d\u7f6e</p></li><li><p>\u5728 <code>SharedModule</code> \u5bfc\u5165 <code>SimplemdeModule</code> \u786e\u4fdd\u6240\u6709\u5b50\u6a21\u5757\u53ef\u4ee5\u4f7f\u7528</p></li></ul><p><strong>\u5bfc\u5165\u8d44\u6e90</strong></p><p>\u5728 <code>angular.json</code> \u5bfc\u5165\u76f8\u5e94\u8d44\u6e90\u3002</p><pre class="hljs language-json"><code>"styles": [\n "node_modules/ngx-simplemde/src/index.css",\n],\n"scripts": [\n "node_modules/simplemde-antd/dist/simplemde.min.js",\n]</code></pre><h2 id="\u6e90\u4ee3\u7801">\u6e90\u4ee3\u7801<a onclick="window.location.hash = \'\u6e90\u4ee3\u7801\'" class="anchor">#</a></h2><p><a target="_blank" href="https://github.com/ng-alain/delon/tree/master/packages/form/widgets-third/markdown" data-url="https://github.com/ng-alain/delon/tree/master/packages/form/widgets-third/markdown">\u6e90\u4ee3\u7801</a>\u3002</p></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="ui-\u5c5e\u6027">ui \u5c5e\u6027<a onclick="window.location.hash = \'ui-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[options]</code></td><td>\u914d\u7f6e\u9879\u8bf4\u660e\uff0c<a target="_blank" href="https://github.com/cipchk/ngx-simplemde" data-url="https://github.com/cipchk/ngx-simplemde">\u89c1\u5b98\u7f51</a></td><td><code>object</code></td><td>-</td></tr><tr><td><code>[change]</code></td><td>\u7f16\u8f91\u5668\u5185\u5bb9\u53d1\u751f\u6539\u53d8\u65f6\u4f1a\u89e6\u53d1\u8be5\u4e8b\u4ef6</td><td><code>(md: string) => void</code></td><td>-</td></tr></tbody></table>',meta:{title:"markdown",subtitle:"Markdown\u7f16\u8f91\u5668",type:"Third Widgets"},toc:[{id:"\u5982\u4f55\u4f7f\u7528",title:"\u5982\u4f55\u4f7f\u7528",h:2},{id:"\u6e90\u4ee3\u7801",title:"\u6e90\u4ee3\u7801",h:2},{id:"API",title:"API",h:2},{id:"ui-\u5c5e\u6027",title:"ui \u5c5e\u6027",h:3}]}},demo:!0},this.codes=[{id:"form-markdown-simple",meta:{title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"},order:0},summary:{"zh-CN":"<p>\u6700\u7b80\u5355\u7684\u7528\u6cd5\u3002</p>","en-US":"<p>Simplest of usage.</p>"},code:"import { Component } from '@angular/core';\nimport { SFSchema } from '@delon/form';\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\n@Component({\n selector: 'form-markdown-simple',\n template: `<sf [schema]=\"schema\" (formSubmit)=\"submit($event)\"></sf>`\n})\nexport class FormMarkdownSimpleComponent {\n schema: SFSchema = {\n properties: {\n remark: {\n type: 'string',\n title: '\u63cf\u8ff0',\n ui: {\n widget: 'md'\n }\n }\n }\n };\n constructor(public msg: NzMessageService) { }\n submit(value: any) { this.msg.success(JSON.stringify(value)); }\n}",name:"simple",urls:"packages/form/widgets-third/markdown/demo/simple.md",type:"demo",lang:"ts",componentName:"FormMarkdownSimpleComponent",point:0}]}}class ut{constructor(t){this.msg=t,this.schema={properties:{remark:{type:"string",title:"\u63cf\u8ff0",ui:{widget:"md"}}}}}submit(t){this.msg.success(JSON.stringify(t))}}class mt{constructor(){this.item={cols:1,urls:{"zh-CN":"packages/form/widgets-third/tinymce/index.md"},content:{"zh-CN":{content:'<section class="markdown"><p>Tinymce\u5bcc\u6587\u672c\u3002</p><blockquote><p>\u6ce8\uff1a\u7b2c\u4e09\u65b9\u5c0f\u90e8\u4ef6\u9ed8\u8ba4\u5e76\u672a\u6ce8\u518c\uff0c\u7ec6\u8282\u89c1<a href="https://ng-alain.com/form/customize" data-url="https://ng-alain.com/form/customize">\u5b9a\u5236\u5c0f\u90e8\u4ef6</a>\u3002</p></blockquote><h2 id="\u6e90\u4ee3\u7801">\u6e90\u4ee3\u7801<a onclick="window.location.hash = \'\u6e90\u4ee3\u7801\'" class="anchor">#</a></h2><p><a target="_blank" href="https://github.com/ng-alain/delon/tree/master/packages/form/widgets-third/tinymce" data-url="https://github.com/ng-alain/delon/tree/master/packages/form/widgets-third/tinymce">\u6e90\u4ee3\u7801</a>\u3002</p></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="ui-\u5c5e\u6027">ui \u5c5e\u6027<a onclick="window.location.hash = \'ui-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[config]</code></td><td>\u914d\u7f6e\u9879\u8bf4\u660e\uff0c<a target="_blank" href="https://www.tinymce.com/docs/configure/integration-and-setup/" data-url="https://www.tinymce.com/docs/configure/integration-and-setup/">\u89c1\u5b98\u7f51</a></td><td><code>object</code></td><td>-</td></tr><tr><td><code>[loading]</code></td><td>\u521d\u59cb\u5316\u63d0\u793a\u6587\u672c</td><td><code>string</code></td><td><code>\u52a0\u8f7d\u4e2d...</code></td></tr><tr><td><code>[change]</code></td><td>\u7f16\u8f91\u5668\u5185\u5bb9\u53d1\u751f\u6539\u53d8\u65f6\u4f1a\u89e6\u53d1\u8be5\u4e8b\u4ef6</td><td><code>(html: string) => void</code></td><td>-</td></tr></tbody></table>',meta:{title:"tinymce",subtitle:"Tinymce\u5bcc\u6587\u672c",type:"Third Widgets"},toc:[{id:"\u6e90\u4ee3\u7801",title:"\u6e90\u4ee3\u7801",h:2},{id:"API",title:"API",h:2},{id:"ui-\u5c5e\u6027",title:"ui \u5c5e\u6027",h:3}]}},demo:!0},this.codes=[{id:"form-tinymce-simple",meta:{title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"},order:0},summary:{"zh-CN":"<p>\u6700\u7b80\u5355\u7684\u7528\u6cd5\u3002</p>","en-US":"<p>Simplest of usage.</p>"},code:"import { Component } from '@angular/core';\nimport { SFSchema } from '@delon/form';\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\n@Component({\n selector: 'form-tinymce-simple',\n template: `<sf [schema]=\"schema\" (formSubmit)=\"submit($event)\"></sf>`\n})\nexport class FormTinymceSimpleComponent {\n schema: SFSchema = {\n properties: {\n remark: {\n type: 'string',\n title: '\u63cf\u8ff0',\n ui: {\n widget: 'tinymce'\n }\n }\n }\n };\n constructor(public msg: NzMessageService) { }\n submit(value: any) { this.msg.success(JSON.stringify(value)); }\n}",name:"simple",urls:"packages/form/widgets-third/tinymce/demo/simple.md",type:"demo",lang:"ts",componentName:"FormTinymceSimpleComponent",point:0}]}}class ht{constructor(t){this.msg=t,this.schema={properties:{remark:{type:"string",title:"\u63cf\u8ff0",ui:{widget:"tinymce"}}}}}submit(t){this.msg.success(JSON.stringify(t))}}class pt{constructor(){this.item={cols:1,urls:{"zh-CN":"packages/form/widgets-third/ueditor/index.md"},content:{"zh-CN":{content:'<section class="markdown"><p>Ueditor\u5bcc\u6587\u672c\u3002</p><blockquote><p>\u6ce8\uff1a\u7b2c\u4e09\u65b9\u5c0f\u90e8\u4ef6\u9ed8\u8ba4\u5e76\u672a\u6ce8\u518c\uff0c\u7ec6\u8282\u89c1<a href="https://ng-alain.com/form/customize" data-url="https://ng-alain.com/form/customize">\u5b9a\u5236\u5c0f\u90e8\u4ef6</a>\u3002</p></blockquote><h2 id="\u6e90\u4ee3\u7801">\u6e90\u4ee3\u7801<a onclick="window.location.hash = \'\u6e90\u4ee3\u7801\'" class="anchor">#</a></h2><p><a target="_blank" href="https://github.com/ng-alain/delon/tree/master/packages/form/widgets-third/ueditor" data-url="https://github.com/ng-alain/delon/tree/master/packages/form/widgets-third/ueditor">\u6e90\u4ee3\u7801</a>\u3002</p></section>',api:'<h2 id="API">API<a onclick="window.location.hash = \'API\'" class="anchor">#</a></h2><h3 id="ui-\u5c5e\u6027">ui \u5c5e\u6027<a onclick="window.location.hash = \'ui-\u5c5e\u6027\'" class="anchor">#</a></h3><table><thead><tr><th>\u53c2\u6570</th><th>\u8bf4\u660e</th><th>\u7c7b\u578b</th><th>\u9ed8\u8ba4\u503c</th></tr></thead><tbody><tr><td><code>[config]</code></td><td>\u524d\u7aef\u914d\u7f6e\u9879\u8bf4\u660e\uff0c<a target="_blank" href="http://fex.baidu.com/ueditor/#start-config" data-url="http://fex.baidu.com/ueditor/#start-config">\u89c1\u5b98\u7f51</a></td><td><code>object</code></td><td>-</td></tr><tr><td><code>[loading]</code></td><td>\u521d\u59cb\u5316\u63d0\u793a\u6587\u672c</td><td><code>string</code></td><td><code>\u52a0\u8f7d\u4e2d...</code></td></tr><tr><td><code>[delay]</code></td><td>\u5ef6\u8fdf\u521d\u59cb\u5316UEditor\uff0c\u5355\u4f4d\uff1a\u6beb\u79d2</td><td><code>number</code></td><td><code>300</code></td></tr><tr><td><code>[change]</code></td><td>\u7f16\u8f91\u5668\u5185\u5bb9\u53d1\u751f\u6539\u53d8\u65f6\u4f1a\u89e6\u53d1\u8be5\u4e8b\u4ef6</td><td><code>(html: string) => void</code></td><td>-</td></tr></tbody></table>',meta:{title:"ueditor",subtitle:"Ueditor\u5bcc\u6587\u672c",type:"Third Widgets"},toc:[{id:"\u6e90\u4ee3\u7801",title:"\u6e90\u4ee3\u7801",h:2},{id:"API",title:"API",h:2},{id:"ui-\u5c5e\u6027",title:"ui \u5c5e\u6027",h:3}]}},demo:!0},this.codes=[{id:"form-ueditor-simple",meta:{title:{"zh-CN":"\u57fa\u7840\u6837\u4f8b","en-US":"Basic Usage"},order:0},summary:{"zh-CN":"<p>\u6700\u7b80\u5355\u7684\u7528\u6cd5\u3002</p>","en-US":"<p>Simplest of usage.</p>"},code:"import { Component } from '@angular/core';\nimport { SFSchema } from '@delon/form';\nimport { NzMessageService } from 'ng-zorro-antd/message';\n\n@Component({\n selector: 'form-ueditor-simple',\n template: `<sf [schema]=\"schema\" (formSubmit)=\"submit($event)\"></sf>`\n})\nexport class FormUeditorSimpleComponent {\n schema: SFSchema = {\n properties: {\n remark: {\n type: 'string',\n title: '\u63cf\u8ff0',\n ui: {\n widget: 'ueditor'\n }\n }\n }\n };\n constructor(public msg: NzMessageService) { }\n submit(value: any) { this.msg.success(JSON.stringify(value)); }\n}",name:"simple",urls:"packages/form/widgets-third/ueditor/demo/simple.md",type:"demo",lang:"ts",componentName:"FormUeditorSimpleComponent",point:0}]}}class bt{constructor(t){this.msg=t,this.schema={properties:{remark:{type:"string",title:"\u63cf\u8ff0",ui:{widget:"ueditor"}}}}}submit(t){this.msg.success(JSON.stringify(t))}}class gt{}var ft=d("pMnS"),yt=d("EdU/"),St=d("/Yna"),wt=d("JRKe"),vt=d("Ed4d"),kt=d("8WaK"),zt=d("QfCi"),It=d("CghO"),Nt=d("Sq/J"),Ct=d("GYi0"),xt=d("EXx9"),Ft=d("R6D3"),_t=d("WP5L"),Tt=d("71F0"),Dt=d("fE+l"),At=d("0RMT"),Pt=d("QcbP"),Ot=d("0D9X"),Et=d("SpJI"),Ut=d("hBP+"),Mt=d("QPFe"),Ht=d("RdGh"),jt=d("D9vs"),Gt=d("DyZ0"),Rt=d("TY3c"),Wt=d("u+Cy"),Bt=d("8+8K"),Yt=d("YVZs"),Vt=d("F/j7"),Jt=d("/EOF"),qt=d("ZKYL"),Lt=d("SZk1"),$t=d("5eO6"),Qt=d("9BMt"),Kt=d("kRch"),Zt=d("QkPN"),Xt=d("vBNu"),te=d("Z7t+"),ee=d("II6v"),de=d("MRB6"),oe=d("uU7u"),ne=d("iInd"),ce=d("cUpR"),ae=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function le(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item)}),null)}function ie(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-customize",[],null,null,null,le,ae)),o.vb(1,49152,null,0,c,[],null,null)],null,null)}var re=o.sb("app-form-customize",c,ie,{},{},[]),se=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function ue(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item)}),null)}function me(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-error",[],null,null,null,ue,se)),o.vb(1,49152,null,0,a,[],null,null)],null,null)}var he=o.sb("app-form-error",a,me,{},{},[]),pe=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function be(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item)}),null)}function ge(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-getting-started",[],null,null,null,be,pe)),o.vb(1,49152,null,0,l,[],null,null)],null,null)}var fe=o.sb("app-form-getting-started",l,ge,{},{},[]),ye=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function Se(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item)}),null)}function we(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-layout",[],null,null,null,Se,ye)),o.vb(1,49152,null,0,i,[],null,null)],null,null)}var ve=o.sb("app-form-layout",i,we,{},{},[]),ke=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function ze(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item)}),null)}function Ie(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-qa",[],null,null,null,ze,ke)),o.vb(1,49152,null,0,r,[],null,null)],null,null)}var Ne=o.sb("app-form-qa",r,Ie,{},{},[]),Ce=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function xe(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item)}),null)}function Fe(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-schema",[],null,null,null,xe,Ce)),o.vb(1,49152,null,0,s,[],null,null)],null,null)}var _e=o.sb("app-form-schema",s,Fe,{},{},[]),Te=d("5VGP"),De=d("tYkK"),Ae=d("7QIX"),Pe=d("/HVE"),Oe=d("G9RP"),Ee=d("NzjH"),Ue=d("JXeA"),Me=d("/Rd2"),He=d("mnwr"),je=d("h6ZI"),Ge=d("HrHe"),Re=d("w1IW"),We=d("WVOv"),Be=d("gXEi"),Ye=d("54Ps"),Ve=d("sAdM"),Je=d("K2oV"),qe=d("Irb3"),Le=d("GaVp"),$e=d("POq0"),Qe=d("omvX"),Ke=o.ub({encapsulation:2,styles:[],data:{}});function Ze(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(4,770048,null,0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formSubmit:"formSubmit"}),(t()(),o.wb(5,0,null,null,4,"button",[["nz-button",""],["nzType","primary"]],[[1,"nz-wave",0]],[[null,"click"]],(function(t,e,d){var o=!0;return"click"===e&&(o=!1!==t.component.acl.setFull(!0)&&o),o}),qe.c,qe.a)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,1818624,null,1,Le.a,[o.k,o.h,o.D,$e.b,Te.H,o.y,Te.m,[2,Te.i],[2,Qe.a]],{nzType:[0,"nzType"]},null),o.Ob(603979776,1,{listOfIconElement:1}),(t()(),o.Qb(-1,0,["Full"])),(t()(),o.wb(10,0,null,null,4,"button",[["nz-button",""],["nzType","primary"]],[[1,"nz-wave",0]],[[null,"click"]],(function(t,e,d){var o=!0;return"click"===e&&(o=!1!==t.component.acl.setFull(!1)&&o),o}),qe.c,qe.a)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(12,1818624,null,1,Le.a,[o.k,o.h,o.D,$e.b,Te.H,o.y,Te.m,[2,Te.i],[2,Qe.a]],{nzType:[0,"nzType"]},null),o.Ob(603979776,2,{listOfIconElement:1}),(t()(),o.Qb(-1,0,["Not Full"])),(t()(),o.wb(15,0,null,null,4,"button",[["nz-button",""],["nzType","primary"]],[[1,"nz-wave",0]],[[null,"click"]],(function(t,e,d){var o=!0;return"click"===e&&(o=!1!==t.component.acl.setRole(["admin"])&&o),o}),qe.c,qe.a)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(17,1818624,null,1,Le.a,[o.k,o.h,o.D,$e.b,Te.H,o.y,Te.m,[2,Te.i],[2,Qe.a]],{nzType:[0,"nzType"]},null),o.Ob(603979776,3,{listOfIconElement:1}),(t()(),o.Qb(-1,0,["Admin Role"])),(t()(),o.wb(20,0,null,null,4,"button",[["nz-button",""],["nzType","primary"]],[[1,"nz-wave",0]],[[null,"click"]],(function(t,e,d){var o=!0;return"click"===e&&(o=!1!==t.component.acl.setRole(["user"])&&o),o}),qe.c,qe.a)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(22,1818624,null,1,Le.a,[o.k,o.h,o.D,$e.b,Te.H,o.y,Te.m,[2,Te.i],[2,Qe.a]],{nzType:[0,"nzType"]},null),o.Ob(603979776,4,{listOfIconElement:1}),(t()(),o.Qb(-1,0,["User Role"]))],(function(t,e){t(e,4,0,e.component.schema),t(e,7,0,"primary"),t(e,12,0,"primary"),t(e,17,0,"primary"),t(e,22,0,"primary")}),(function(t,e){t(e,0,0,!0,"inline"===o.Ib(e,4).layout,"search"===o.Ib(e,4).mode,"edit"===o.Ib(e,4).mode,o.Ib(e,4).onlyVisual,o.Ib(e,4).noColon),t(e,5,0,o.Ib(e,7).nzWave),t(e,10,0,o.Ib(e,12).nzWave),t(e,15,0,o.Ib(e,17).nzWave),t(e,20,0,o.Ib(e,22).nzWave)}))}var Xe=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function td(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,11,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,9,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,6,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-acl-simple",[],null,null,null,Ze,Ke)),o.vb(11,49152,null,0,m,[Ue.g,Je.a],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0])}),(function(t,e){t(e,8,0,e.component.codes[0].id,!0,o.Ib(e,9).expand)}))}function ed(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-acl",[],null,null,null,td,Xe)),o.vb(1,49152,null,0,u,[],null,null)],null,null)}var dd=o.sb("app-form-acl",u,ed,{},{},[]),od=o.ub({encapsulation:2,styles:[],data:{}});function nd(t){return o.Sb(0,[o.Ob(402653184,1,{comp:0}),(t()(),o.wb(1,0,null,null,4,"button",[["nz-button",""],["type","button"]],[[1,"nz-wave",0]],[[null,"click"]],(function(t,e,d){var o=!0;return"click"===e&&(o=!1!==t.component.changeLang("srv")&&o),o}),qe.c,qe.a)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(3,1818624,null,1,Le.a,[o.k,o.h,o.D,$e.b,Te.H,o.y,Te.m,[2,Te.i],[2,Qe.a]],null,null),o.Ob(603979776,2,{listOfIconElement:1}),(t()(),o.Qb(-1,0,["Change Language Via Service"])),(t()(),o.wb(6,0,null,null,4,"button",[["nz-button",""],["type","button"]],[[1,"nz-wave",0]],[[null,"click"]],(function(t,e,d){var o=!0;return"click"===e&&(o=!1!==t.component.changeLang("ref")&&o),o}),qe.c,qe.a)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(8,1818624,null,1,Le.a,[o.k,o.h,o.D,$e.b,Te.H,o.y,Te.m,[2,Te.i],[2,Qe.a]],null,null),o.Ob(603979776,3,{listOfIconElement:1}),(t()(),o.Qb(-1,0,["Change Language Via call refresh schema"])),(t()(),o.wb(11,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(15,770048,[[1,4],["sf",4]],0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formSubmit:"formSubmit"})],(function(t,e){var d=e.component;t(e,3,0),t(e,8,0),t(e,15,0,d.schema)}),(function(t,e){t(e,1,0,o.Ib(e,3).nzWave),t(e,6,0,o.Ib(e,8).nzWave),t(e,11,0,!0,"inline"===o.Ib(e,15).layout,"search"===o.Ib(e,15).mode,"edit"===o.Ib(e,15).mode,o.Ib(e,15).onlyVisual,o.Ib(e,15).noColon)}))}var cd=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function ad(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,11,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,9,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,6,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-i18n-simple",[],null,null,null,nd,od)),o.vb(11,49152,null,0,p,[Ue.g,oe.a],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0])}),(function(t,e){t(e,8,0,e.component.codes[0].id,!0,o.Ib(e,9).expand)}))}function ld(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-i18n",[],null,null,null,ad,cd)),o.vb(1,49152,null,0,h,[],null,null)],null,null)}var id=o.sb("app-form-i18n",h,ld,{},{},[]),rd=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function sd(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item)}),null)}function ud(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-modal",[],null,null,null,sd,rd)),o.vb(1,49152,null,0,b,[],null,null)],null,null)}var md=o.sb("app-form-modal",b,ud,{},{},[]),hd=o.ub({encapsulation:2,styles:[],data:{}});function pd(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(4,770048,null,0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formSubmit:"formSubmit"})],(function(t,e){t(e,4,0,e.component.schema)}),(function(t,e){t(e,0,0,!0,"inline"===o.Ib(e,4).layout,"search"===o.Ib(e,4).mode,"edit"===o.Ib(e,4).mode,o.Ib(e,4).onlyVisual,o.Ib(e,4).noColon)}))}var bd=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function gd(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,11,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,9,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,6,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-array-simple",[],null,null,null,pd,hd)),o.vb(11,49152,null,0,f,[Ue.g],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0])}),(function(t,e){t(e,8,0,e.component.codes[0].id,!0,o.Ib(e,9).expand)}))}function fd(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-array",[],null,null,null,gd,bd)),o.vb(1,49152,null,0,g,[],null,null)],null,null)}var yd=o.sb("app-form-array",g,fd,{},{},[]),Sd=o.ub({encapsulation:2,styles:[],data:{}});function wd(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(4,770048,null,0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formSubmit:"formSubmit"})],(function(t,e){t(e,4,0,e.component.schema)}),(function(t,e){t(e,0,0,!0,"inline"===o.Ib(e,4).layout,"search"===o.Ib(e,4).mode,"edit"===o.Ib(e,4).mode,o.Ib(e,4).onlyVisual,o.Ib(e,4).noColon)}))}var vd=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function kd(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,11,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,9,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,6,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-autocomplete-simple",[],null,null,null,wd,Sd)),o.vb(11,49152,null,0,w,[Ue.g],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0])}),(function(t,e){t(e,8,0,e.component.codes[0].id,!0,o.Ib(e,9).expand)}))}function zd(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-autocomplete",[],null,null,null,kd,vd)),o.vb(1,49152,null,0,y,[],null,null)],null,null)}var Id=o.sb("app-form-autocomplete",y,zd,{},{},[]),Nd=o.ub({encapsulation:2,styles:[],data:{}});function Cd(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(4,770048,null,0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formSubmit:"formSubmit"})],(function(t,e){t(e,4,0,e.component.schema)}),(function(t,e){t(e,0,0,!0,"inline"===o.Ib(e,4).layout,"search"===o.Ib(e,4).mode,"edit"===o.Ib(e,4).mode,o.Ib(e,4).onlyVisual,o.Ib(e,4).noColon)}))}var xd=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function Fd(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,11,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,9,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,6,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-boolean-simple",[],null,null,null,Cd,Nd)),o.vb(11,49152,null,0,k,[Ue.g],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0])}),(function(t,e){t(e,8,0,e.component.codes[0].id,!0,o.Ib(e,9).expand)}))}function _d(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-boolean",[],null,null,null,Fd,xd)),o.vb(1,49152,null,0,v,[],null,null)],null,null)}var Td=o.sb("app-form-boolean",v,_d,{},{},[]),Dd=o.ub({encapsulation:2,styles:[],data:{}});function Ad(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(4,770048,null,0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formSubmit:"formSubmit"})],(function(t,e){t(e,4,0,e.component.schema)}),(function(t,e){t(e,0,0,!0,"inline"===o.Ib(e,4).layout,"search"===o.Ib(e,4).mode,"edit"===o.Ib(e,4).mode,o.Ib(e,4).onlyVisual,o.Ib(e,4).noColon)}))}var Pd=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function Od(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,11,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,9,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,6,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-cascader-simple",[],null,null,null,Ad,Dd)),o.vb(11,49152,null,0,I,[Ue.g],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0])}),(function(t,e){t(e,8,0,e.component.codes[0].id,!0,o.Ib(e,9).expand)}))}function Ed(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-cascader",[],null,null,null,Od,Pd)),o.vb(1,49152,null,0,z,[],null,null)],null,null)}var Ud=o.sb("app-form-cascader",z,Ed,{},{},[]),Md=o.ub({encapsulation:2,styles:[],data:{}});function Hd(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(4,770048,null,0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formSubmit:"formSubmit"})],(function(t,e){t(e,4,0,e.component.schema)}),(function(t,e){t(e,0,0,!0,"inline"===o.Ib(e,4).layout,"search"===o.Ib(e,4).mode,"edit"===o.Ib(e,4).mode,o.Ib(e,4).onlyVisual,o.Ib(e,4).noColon)}))}var jd=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function Gd(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,11,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,9,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,6,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-checkbox-simple",[],null,null,null,Hd,Md)),o.vb(11,49152,null,0,x,[Ue.g],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0])}),(function(t,e){t(e,8,0,e.component.codes[0].id,!0,o.Ib(e,9).expand)}))}function Rd(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-checkbox",[],null,null,null,Gd,jd)),o.vb(1,49152,null,0,N,[],null,null)],null,null)}var Wd=o.sb("app-form-checkbox",N,Rd,{},{},[]),Bd=d("s7LF"),Yd=d("px0D"),Vd=d("7KYW"),Jd=o.ub({encapsulation:2,styles:[],data:{}});function qd(t){return o.Sb(0,[(t()(),o.Qb(-1,null,[" \u81ea\u5b9a\u4e49\u5185\u5bb9: "])),(t()(),o.wb(1,0,null,null,6,"input",[["nz-input",""]],[[1,"id",0],[1,"disabled",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null],[2,"ant-input-disabled",null],[2,"ant-input-lg",null],[2,"ant-input-sm",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],(function(t,e,d){var n=!0;return"input"===e&&(n=!1!==o.Ib(t,2)._handleInput(d.target.value)&&n),"blur"===e&&(n=!1!==o.Ib(t,2).onTouched()&&n),"compositionstart"===e&&(n=!1!==o.Ib(t,2)._compositionStart()&&n),"compositionend"===e&&(n=!1!==o.Ib(t,2)._compositionEnd(d.target.value)&&n),"ngModelChange"===e&&(n=!1!==t.context.$implicit.setValue(d)&&n),n}),null,null)),o.vb(2,16384,null,0,Bd.d,[o.D,o.k,[2,Bd.a]],null,null),o.Nb(1024,null,Bd.m,(function(t){return[t]}),[Bd.d]),o.vb(4,671744,null,0,Bd.r,[[8,null],[8,null],[8,null],[6,Bd.m]],{isDisabled:[0,"isDisabled"],model:[1,"model"]},{update:"ngModelChange"}),o.Nb(2048,null,Bd.n,null,[Bd.r]),o.vb(6,16384,null,0,Bd.o,[[4,Bd.n]],null,null),o.vb(7,16384,null,0,Yd.b,[o.D,o.k],{nzSize:[0,"nzSize"],disabled:[1,"disabled"]},null)],(function(t,e){t(e,4,0,e.context.$implicit.disabled,e.context.$implicit.formProperty.value),t(e,7,0,e.context.ui.size,e.context.$implicit.disabled)}),(function(t,e){t(e,1,1,[e.context.$implicit.id,e.context.$implicit.disabled,o.Ib(e,6).ngClassUntouched,o.Ib(e,6).ngClassTouched,o.Ib(e,6).ngClassPristine,o.Ib(e,6).ngClassDirty,o.Ib(e,6).ngClassValid,o.Ib(e,6).ngClassInvalid,o.Ib(e,6).ngClassPending,o.Ib(e,7).disabled,"large"===o.Ib(e,7).nzSize,"small"===o.Ib(e,7).nzSize])}))}function Ld(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,6,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(4,770048,null,0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formSubmit:"formSubmit"}),(t()(),o.lb(0,null,0,1,null,qd)),o.vb(6,81920,null,0,Vd.a,[o.M,Re.a],{path:[0,"path"]},null)],(function(t,e){t(e,4,0,e.component.schema),t(e,6,0,"custom")}),(function(t,e){t(e,0,0,!0,"inline"===o.Ib(e,4).layout,"search"===o.Ib(e,4).mode,"edit"===o.Ib(e,4).mode,o.Ib(e,4).onlyVisual,o.Ib(e,4).noColon)}))}var $d=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function Qd(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,11,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,9,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,6,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-custom-simple",[],null,null,null,Ld,Jd)),o.vb(11,49152,null,0,_,[Ue.g],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0])}),(function(t,e){t(e,8,0,e.component.codes[0].id,!0,o.Ib(e,9).expand)}))}function Kd(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-custom",[],null,null,null,Qd,$d)),o.vb(1,49152,null,0,F,[],null,null)],null,null)}var Zd=o.sb("app-form-custom",F,Kd,{},{},[]),Xd=o.ub({encapsulation:2,styles:[],data:{}});function to(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"],[null,"formChange"]],(function(t,e,d){var o=!0,n=t.component;return"formSubmit"===e&&(o=!1!==n.submit(d)&&o),"formChange"===e&&(o=!1!==n.change(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(4,770048,null,0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formChange:"formChange",formSubmit:"formSubmit"})],(function(t,e){t(e,4,0,e.component.schema)}),(function(t,e){t(e,0,0,!0,"inline"===o.Ib(e,4).layout,"search"===o.Ib(e,4).mode,"edit"===o.Ib(e,4).mode,o.Ib(e,4).onlyVisual,o.Ib(e,4).noColon)}))}var eo=o.ub({encapsulation:2,styles:[],data:{}});function oo(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(4,770048,null,0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formSubmit:"formSubmit"})],(function(t,e){t(e,4,0,e.component.schema)}),(function(t,e){t(e,0,0,!0,"inline"===o.Ib(e,4).layout,"search"===o.Ib(e,4).mode,"edit"===o.Ib(e,4).mode,o.Ib(e,4).onlyVisual,o.Ib(e,4).noColon)}))}var no=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function co(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,15,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,13,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,10,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-date-simple",[],null,null,null,to,Xd)),o.vb(11,49152,null,0,D,[Ue.g],null,null),(t()(),o.wb(12,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(13,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(14,0,null,0,1,"form-date-range",[],null,null,null,oo,eo)),o.vb(15,49152,null,0,A,[Ue.g],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0]),t(e,13,0,d.codes[1])}),(function(t,e){var d=e.component;t(e,8,0,d.codes[0].id,!0,o.Ib(e,9).expand),t(e,12,0,d.codes[1].id,!0,o.Ib(e,13).expand)}))}function ao(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-date",[],null,null,null,co,no)),o.vb(1,49152,null,0,T,[],null,null)],null,null)}var lo=o.sb("app-form-date",T,ao,{},{},[]),io=o.ub({encapsulation:2,styles:[],data:{}});function ro(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(4,770048,null,0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formSubmit:"formSubmit"})],(function(t,e){t(e,4,0,e.component.schema)}),(function(t,e){t(e,0,0,!0,"inline"===o.Ib(e,4).layout,"search"===o.Ib(e,4).mode,"edit"===o.Ib(e,4).mode,o.Ib(e,4).onlyVisual,o.Ib(e,4).noColon)}))}var so=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function uo(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,11,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,9,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,6,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-mention-simple",[],null,null,null,ro,io)),o.vb(11,49152,null,0,E,[Ue.g],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0])}),(function(t,e){t(e,8,0,e.component.codes[0].id,!0,o.Ib(e,9).expand)}))}function mo(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-mention",[],null,null,null,uo,so)),o.vb(1,49152,null,0,P,[],null,null)],null,null)}var ho=o.sb("app-form-mention",P,mo,{},{},[]),po=o.ub({encapsulation:2,styles:[],data:{}});function bo(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(4,770048,null,0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formSubmit:"formSubmit"})],(function(t,e){t(e,4,0,e.component.schema)}),(function(t,e){t(e,0,0,!0,"inline"===o.Ib(e,4).layout,"search"===o.Ib(e,4).mode,"edit"===o.Ib(e,4).mode,o.Ib(e,4).onlyVisual,o.Ib(e,4).noColon)}))}var go=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function fo(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,11,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,9,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,6,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-number-simple",[],null,null,null,bo,po)),o.vb(11,49152,null,0,M,[Ue.g],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0])}),(function(t,e){t(e,8,0,e.component.codes[0].id,!0,o.Ib(e,9).expand)}))}function yo(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-number",[],null,null,null,fo,go)),o.vb(1,49152,null,0,U,[],null,null)],null,null)}var So=o.sb("app-form-number",U,yo,{},{},[]),wo=o.ub({encapsulation:2,styles:[],data:{}});function vo(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(4,770048,null,0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formSubmit:"formSubmit"})],(function(t,e){t(e,4,0,e.component.schema)}),(function(t,e){t(e,0,0,!0,"inline"===o.Ib(e,4).layout,"search"===o.Ib(e,4).mode,"edit"===o.Ib(e,4).mode,o.Ib(e,4).onlyVisual,o.Ib(e,4).noColon)}))}var ko=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function zo(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,11,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,9,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,6,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-object-simple",[],null,null,null,vo,wo)),o.vb(11,49152,null,0,j,[Ue.g],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0])}),(function(t,e){t(e,8,0,e.component.codes[0].id,!0,o.Ib(e,9).expand)}))}function Io(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-object",[],null,null,null,zo,ko)),o.vb(1,49152,null,0,H,[],null,null)],null,null)}var No=o.sb("app-form-object",H,Io,{},{},[]),Co=o.ub({encapsulation:2,styles:[],data:{}});function xo(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(4,770048,null,0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formSubmit:"formSubmit"})],(function(t,e){t(e,4,0,e.component.schema)}),(function(t,e){t(e,0,0,!0,"inline"===o.Ib(e,4).layout,"search"===o.Ib(e,4).mode,"edit"===o.Ib(e,4).mode,o.Ib(e,4).onlyVisual,o.Ib(e,4).noColon)}))}var Fo=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function _o(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,11,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,9,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,6,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-radio-simple",[],null,null,null,xo,Co)),o.vb(11,49152,null,0,R,[Ue.g],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0])}),(function(t,e){t(e,8,0,e.component.codes[0].id,!0,o.Ib(e,9).expand)}))}function To(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-radio",[],null,null,null,_o,Fo)),o.vb(1,49152,null,0,G,[],null,null)],null,null)}var Do=o.sb("app-form-radio",G,To,{},{},[]),Ao=o.ub({encapsulation:2,styles:[],data:{}});function Po(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(4,770048,null,0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formSubmit:"formSubmit"})],(function(t,e){t(e,4,0,e.component.schema)}),(function(t,e){t(e,0,0,!0,"inline"===o.Ib(e,4).layout,"search"===o.Ib(e,4).mode,"edit"===o.Ib(e,4).mode,o.Ib(e,4).onlyVisual,o.Ib(e,4).noColon)}))}var Oo=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function Eo(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,11,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,9,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,6,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-rate-simple",[],null,null,null,Po,Ao)),o.vb(11,49152,null,0,B,[Ue.g],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0])}),(function(t,e){t(e,8,0,e.component.codes[0].id,!0,o.Ib(e,9).expand)}))}function Uo(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-rate",[],null,null,null,Eo,Oo)),o.vb(1,49152,null,0,W,[],null,null)],null,null)}var Mo=o.sb("app-form-rate",W,Uo,{},{},[]),Ho=o.ub({encapsulation:2,styles:[],data:{}});function jo(t){return o.Sb(0,[o.Ob(671088640,1,{sf:0}),(t()(),o.wb(1,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(5,770048,[[1,4],["sf",4]],0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formSubmit:"formSubmit"}),(t()(),o.wb(6,0,null,null,4,"button",[["nz-button",""]],[[1,"nz-wave",0]],[[null,"click"]],(function(t,e,d){var o=!0;return"click"===e&&(o=!1!==t.component.updateStatus()&&o),o}),qe.c,qe.a)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(8,1818624,null,1,Le.a,[o.k,o.h,o.D,$e.b,Te.H,o.y,Te.m,[2,Te.i],[2,Qe.a]],null,null),o.Ob(603979776,2,{listOfIconElement:1}),(t()(),o.Qb(-1,0,["Update Status"]))],(function(t,e){t(e,5,0,e.component.schema),t(e,8,0)}),(function(t,e){t(e,1,0,!0,"inline"===o.Ib(e,5).layout,"search"===o.Ib(e,5).mode,"edit"===o.Ib(e,5).mode,o.Ib(e,5).onlyVisual,o.Ib(e,5).noColon),t(e,6,0,o.Ib(e,8).nzWave)}))}var Go=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function Ro(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,11,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,9,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,6,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-select-simple",[],null,null,null,jo,Ho)),o.vb(11,49152,null,0,V,[Ue.g],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0])}),(function(t,e){t(e,8,0,e.component.codes[0].id,!0,o.Ib(e,9).expand)}))}function Wo(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-select",[],null,null,null,Ro,Go)),o.vb(1,49152,null,0,Y,[],null,null)],null,null)}var Bo=o.sb("app-form-select",Y,Wo,{},{},[]),Yo=o.ub({encapsulation:2,styles:[],data:{}});function Vo(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(4,770048,null,0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formSubmit:"formSubmit"})],(function(t,e){t(e,4,0,e.component.schema)}),(function(t,e){t(e,0,0,!0,"inline"===o.Ib(e,4).layout,"search"===o.Ib(e,4).mode,"edit"===o.Ib(e,4).mode,o.Ib(e,4).onlyVisual,o.Ib(e,4).noColon)}))}var Jo=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function qo(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,11,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,9,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,6,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-slider-simple",[],null,null,null,Vo,Yo)),o.vb(11,49152,null,0,q,[Ue.g],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0])}),(function(t,e){t(e,8,0,e.component.codes[0].id,!0,o.Ib(e,9).expand)}))}function Lo(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-slider",[],null,null,null,qo,Jo)),o.vb(1,49152,null,0,J,[],null,null)],null,null)}var $o=o.sb("app-form-slider",J,Lo,{},{},[]),Qo=o.ub({encapsulation:2,styles:[],data:{}});function Ko(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(4,770048,null,0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formSubmit:"formSubmit"})],(function(t,e){t(e,4,0,e.component.schema)}),(function(t,e){t(e,0,0,!0,"inline"===o.Ib(e,4).layout,"search"===o.Ib(e,4).mode,"edit"===o.Ib(e,4).mode,o.Ib(e,4).onlyVisual,o.Ib(e,4).noColon)}))}var Zo=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function Xo(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,11,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,9,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,6,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-string-simple",[],null,null,null,Ko,Qo)),o.vb(11,49152,null,0,$,[Ue.g],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0])}),(function(t,e){t(e,8,0,e.component.codes[0].id,!0,o.Ib(e,9).expand)}))}function tn(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-string",[],null,null,null,Xo,Zo)),o.vb(1,49152,null,0,L,[],null,null)],null,null)}var en=o.sb("app-form-string",L,tn,{},{},[]),dn=o.ub({encapsulation:2,styles:[],data:{}});function on(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(4,770048,null,0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formSubmit:"formSubmit"})],(function(t,e){t(e,4,0,e.component.schema)}),(function(t,e){t(e,0,0,!0,"inline"===o.Ib(e,4).layout,"search"===o.Ib(e,4).mode,"edit"===o.Ib(e,4).mode,o.Ib(e,4).onlyVisual,o.Ib(e,4).noColon)}))}var nn=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function cn(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,11,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,9,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,6,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-tag-simple",[],null,null,null,on,dn)),o.vb(11,49152,null,0,K,[Ue.g],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0])}),(function(t,e){t(e,8,0,e.component.codes[0].id,!0,o.Ib(e,9).expand)}))}function an(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-tag",[],null,null,null,cn,nn)),o.vb(1,49152,null,0,Q,[],null,null)],null,null)}var ln=o.sb("app-form-tag",Q,an,{},{},[]),rn=o.ub({encapsulation:2,styles:[],data:{}});function sn(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(4,770048,null,0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"],loading:[1,"loading"]},{formSubmit:"formSubmit"})],(function(t,e){var d=e.component;t(e,4,0,d.schema,d.loading)}),(function(t,e){t(e,0,0,!0,"inline"===o.Ib(e,4).layout,"search"===o.Ib(e,4).mode,"edit"===o.Ib(e,4).mode,o.Ib(e,4).onlyVisual,o.Ib(e,4).noColon)}))}var un=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function mn(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,11,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,9,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,6,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-text-simple",[],null,null,null,sn,rn)),o.vb(11,49152,null,0,X,[Ue.g],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0])}),(function(t,e){t(e,8,0,e.component.codes[0].id,!0,o.Ib(e,9).expand)}))}function hn(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-text",[],null,null,null,mn,un)),o.vb(1,49152,null,0,Z,[],null,null)],null,null)}var pn=o.sb("app-form-text",Z,hn,{},{},[]),bn=o.ub({encapsulation:2,styles:[],data:{}});function gn(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(4,770048,null,0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formSubmit:"formSubmit"})],(function(t,e){t(e,4,0,e.component.schema)}),(function(t,e){t(e,0,0,!0,"inline"===o.Ib(e,4).layout,"search"===o.Ib(e,4).mode,"edit"===o.Ib(e,4).mode,o.Ib(e,4).onlyVisual,o.Ib(e,4).noColon)}))}var fn=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function yn(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,11,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,9,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,6,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-textarea-simple",[],null,null,null,gn,bn)),o.vb(11,49152,null,0,et,[Ue.g],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0])}),(function(t,e){t(e,8,0,e.component.codes[0].id,!0,o.Ib(e,9).expand)}))}function Sn(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-textarea",[],null,null,null,yn,fn)),o.vb(1,49152,null,0,tt,[],null,null)],null,null)}var wn=o.sb("app-form-textarea",tt,Sn,{},{},[]),vn=o.ub({encapsulation:2,styles:[],data:{}});function kn(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(4,770048,null,0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formSubmit:"formSubmit"})],(function(t,e){t(e,4,0,e.component.schema)}),(function(t,e){t(e,0,0,!0,"inline"===o.Ib(e,4).layout,"search"===o.Ib(e,4).mode,"edit"===o.Ib(e,4).mode,o.Ib(e,4).onlyVisual,o.Ib(e,4).noColon)}))}var zn=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function In(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,11,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,9,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,6,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-time-simple",[],null,null,null,kn,vn)),o.vb(11,49152,null,0,ot,[Ue.g],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0])}),(function(t,e){t(e,8,0,e.component.codes[0].id,!0,o.Ib(e,9).expand)}))}function Nn(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-time",[],null,null,null,In,zn)),o.vb(1,49152,null,0,dt,[],null,null)],null,null)}var Cn=o.sb("app-form-time",dt,Nn,{},{},[]),xn=o.ub({encapsulation:2,styles:[],data:{}});function Fn(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(4,770048,null,0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formSubmit:"formSubmit"})],(function(t,e){t(e,4,0,e.component.schema)}),(function(t,e){t(e,0,0,!0,"inline"===o.Ib(e,4).layout,"search"===o.Ib(e,4).mode,"edit"===o.Ib(e,4).mode,o.Ib(e,4).onlyVisual,o.Ib(e,4).noColon)}))}var _n=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function Tn(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,11,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,9,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,6,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-transfer-simple",[],null,null,null,Fn,xn)),o.vb(11,49152,null,0,ct,[Ue.g],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0])}),(function(t,e){t(e,8,0,e.component.codes[0].id,!0,o.Ib(e,9).expand)}))}function Dn(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-transfer",[],null,null,null,Tn,_n)),o.vb(1,49152,null,0,nt,[],null,null)],null,null)}var An=o.sb("app-form-transfer",nt,Dn,{},{},[]),Pn=o.ub({encapsulation:2,styles:[],data:{}});function On(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(4,770048,null,0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formSubmit:"formSubmit"})],(function(t,e){t(e,4,0,e.component.schema)}),(function(t,e){t(e,0,0,!0,"inline"===o.Ib(e,4).layout,"search"===o.Ib(e,4).mode,"edit"===o.Ib(e,4).mode,o.Ib(e,4).onlyVisual,o.Ib(e,4).noColon)}))}var En=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function Un(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,11,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,9,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,6,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-tree-select-simple",[],null,null,null,On,Pn)),o.vb(11,49152,null,0,lt,[Ue.g],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0])}),(function(t,e){t(e,8,0,e.component.codes[0].id,!0,o.Ib(e,9).expand)}))}function Mn(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-tree-select",[],null,null,null,Un,En)),o.vb(1,49152,null,0,at,[],null,null)],null,null)}var Hn=o.sb("app-form-tree-select",at,Mn,{},{},[]),jn=o.ub({encapsulation:2,styles:[],data:{}});function Gn(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(4,770048,null,0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formSubmit:"formSubmit"})],(function(t,e){t(e,4,0,e.component.schema)}),(function(t,e){t(e,0,0,!0,"inline"===o.Ib(e,4).layout,"search"===o.Ib(e,4).mode,"edit"===o.Ib(e,4).mode,o.Ib(e,4).onlyVisual,o.Ib(e,4).noColon)}))}var Rn=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function Wn(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,11,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,9,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,6,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-upload-simple",[],null,null,null,Gn,jn)),o.vb(11,49152,null,0,rt,[Ue.g],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0])}),(function(t,e){t(e,8,0,e.component.codes[0].id,!0,o.Ib(e,9).expand)}))}function Bn(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-upload",[],null,null,null,Wn,Rn)),o.vb(1,49152,null,0,it,[],null,null)],null,null)}var Yn=o.sb("app-form-upload",it,Bn,{},{},[]),Vn=o.ub({encapsulation:2,styles:[],data:{}});function Jn(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(4,770048,null,0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formSubmit:"formSubmit"})],(function(t,e){t(e,4,0,e.component.schema)}),(function(t,e){t(e,0,0,!0,"inline"===o.Ib(e,4).layout,"search"===o.Ib(e,4).mode,"edit"===o.Ib(e,4).mode,o.Ib(e,4).onlyVisual,o.Ib(e,4).noColon)}))}var qn=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function Ln(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,11,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,9,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,6,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-markdown-simple",[],null,null,null,Jn,Vn)),o.vb(11,49152,null,0,ut,[Ue.g],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0])}),(function(t,e){t(e,8,0,e.component.codes[0].id,!0,o.Ib(e,9).expand)}))}function $n(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-markdown",[],null,null,null,Ln,qn)),o.vb(1,49152,null,0,st,[],null,null)],null,null)}var Qn=o.sb("app-form-markdown",st,$n,{},{},[]),Kn=o.ub({encapsulation:2,styles:[],data:{}});function Zn(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(4,770048,null,0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formSubmit:"formSubmit"})],(function(t,e){t(e,4,0,e.component.schema)}),(function(t,e){t(e,0,0,!0,"inline"===o.Ib(e,4).layout,"search"===o.Ib(e,4).mode,"edit"===o.Ib(e,4).mode,o.Ib(e,4).onlyVisual,o.Ib(e,4).noColon)}))}var Xn=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function tc(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,11,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,9,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,6,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-tinymce-simple",[],null,null,null,Zn,Kn)),o.vb(11,49152,null,0,ht,[Ue.g],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0])}),(function(t,e){t(e,8,0,e.component.codes[0].id,!0,o.Ib(e,9).expand)}))}function ec(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-tinymce",[],null,null,null,tc,Xn)),o.vb(1,49152,null,0,mt,[],null,null)],null,null)}var dc=o.sb("app-form-tinymce",mt,ec,{},{},[]),oc=o.ub({encapsulation:2,styles:[],data:{}});function nc(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,4,"sf",[],[[2,"sf",null],[2,"sf__inline",null],[2,"sf__search",null],[2,"sf__edit",null],[2,"sf__no-error",null],[2,"sf__no-colon",null]],[[null,"formSubmit"]],(function(t,e,d){var o=!0;return"formSubmit"===e&&(o=!1!==t.component.submit(d)&&o),o}),He.b,He.a)),o.Nb(4608,null,je.a,je.a,[je.b,o.j]),o.Nb(1024,null,Ge.a,Re.b,[We.b,Be.a]),o.Nb(512,null,Ye.a,Ye.a,[]),o.vb(4,770048,null,0,Re.a,[Ge.a,Ye.a,Be.a,ce.b,o.h,Ve.b,[2,Je.a],[2,oe.a]],{schema:[0,"schema"]},{formSubmit:"formSubmit"})],(function(t,e){t(e,4,0,e.component.schema)}),(function(t,e){t(e,0,0,!0,"inline"===o.Ib(e,4).layout,"search"===o.Ib(e,4).mode,"edit"===o.Ib(e,4).mode,o.Ib(e,4).onlyVisual,o.Ib(e,4).noColon)}))}var cc=o.ub({encapsulation:0,styles:["[_nghost-%COMP%] { display: block }"],data:{}});function ac(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,11,"app-docs",[],null,null,null,te.b,te.a)),o.vb(1,245760,null,0,ee.a,[de.a,oe.a,ne.p,ce.b],{codes:[0,"codes"],item:[1,"item"]},null),(t()(),o.wb(2,0,null,0,9,"nz-row",[],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(4,4931584,null,0,De.c,[o.k,o.D,Te.H,Ae.c,o.y,Pe.a,Te.p],{nzGutter:[0,"nzGutter"]},null),(t()(),o.wb(5,0,null,null,6,"nz-col",[["nzSpan","24"]],null,null,null,null,null)),o.Nb(512,null,Te.H,Te.H,[o.E]),o.vb(7,4931584,null,0,De.a,[Te.H,o.k,[2,De.c],o.D],{nzSpan:[0,"nzSpan"]},null),(t()(),o.wb(8,0,null,null,3,"code-box",[],[[1,"id",0],[2,"code-box",null],[2,"expand",null]],null,null,Oe.b,Oe.a)),o.vb(9,180224,null,0,Ee.a,[oe.a,Ue.g,Me.a,ce.b],{item:[0,"item"]},null),(t()(),o.wb(10,0,null,0,1,"form-ueditor-simple",[],null,null,null,nc,oc)),o.vb(11,49152,null,0,bt,[Ue.g],null,null)],(function(t,e){var d=e.component;t(e,1,0,d.codes,d.item),t(e,4,0,16),t(e,7,0,"24"),t(e,9,0,d.codes[0])}),(function(t,e){t(e,8,0,e.component.codes[0].id,!0,o.Ib(e,9).expand)}))}function lc(t){return o.Sb(0,[(t()(),o.wb(0,0,null,null,1,"app-form-ueditor",[],null,null,null,ac,cc)),o.vb(1,49152,null,0,pt,[],null,null)],null,null)}var ic=o.sb("app-form-ueditor",pt,lc,{},{},[]),rc=d("SVse"),sc=d("QQfA"),uc=d("IP0z"),mc=d("ekcc"),hc=d("pQl/"),pc=d("g+Fz"),bc=d("Ybye"),gc=d("NFMk"),fc=d("10Ig"),yc=d("iC8E"),Sc=d("v1Dh"),wc=d("66zS"),vc=d("5Izy"),kc=d("yTpB"),zc=d("zMNK"),Ic=d("hOhj"),Nc=d("r19J"),Cc=d("anqq"),xc=d("IYs4"),Fc=d("EcpC"),_c=d("/L1H"),Tc=d("phDe"),Dc=d("rJp6"),Ac=d("Rgb0"),Pc=d("kS4m"),Oc=d("mW00"),Ec=d("jTf7"),Uc=d("WPSl"),Mc=d("YdS3"),Hc=d("wQFA"),jc=d("3ZFI"),Gc=d("CYS+"),Rc=d("oBm0"),Wc=d("A7zk"),Bc=d("YRt3"),Yc=d("lAiz"),Vc=d("ce6n"),Jc=d("SBNi"),qc=d("wf2+"),Lc=d("eCGT"),$c=d("nHXS"),Qc=d("fb/r"),Kc=d("zTFG"),Zc=d("JK0T"),Xc=d("0CZq"),ta=d("qU0y"),ea=d("vZsH"),da=d("W4B1"),oa=d("SHEi"),na=d("FPpa"),ca=d("RVNi"),aa=d("NDed"),la=d("5A4h"),ia=d("N2O2"),ra=d("ozKM"),sa=d("OvZZ"),ua=d("z+yo"),ma=d("DQmg"),ha=d("haRT"),pa=d("1+nf"),ba=d("XFzh"),ga=d("p+Sl"),fa=d("HhpN"),ya=d("SN7N"),Sa=d("fwnu"),wa=d("VbP7"),va=d("gaRz"),ka=d("e15G"),za=d("+YBk"),Ia=d("9J0+"),Na=d("vIiB"),Ca=d("CGSU"),xa=d("5CFV"),Fa=d("GTZx"),_a=d("hS58"),Ta=d("+ndR"),Da=d("EWQH"),Aa=d("aq9g"),Pa=d("7Dpl"),Oa=d("ekmu"),Ea=d("vjj7"),Ua=d("l/Xz"),Ma=d("sRo1"),Ha=d("BQzg"),ja=d("YQXl"),Ga=d("dZIx"),Ra=d("9bzR"),Wa=d("WNQ9"),Ba=d("5Oon"),Ya=d("lM9c"),Va=d("OSVY"),Ja=d("MNSj"),qa=d("MZBU"),La=d("ev4S"),$a=d("G1y0"),Qa=d("5sGc"),Ka=d("4/RT"),Za=d("Q1qs"),Xa=d("k5cy"),tl=d("ceoF"),el=d("gQlp"),dl=d("XYAa"),ol=d("vrge"),nl=d("nMAq"),cl=d("5PV9"),al=d("nIn3"),ll=d("xo13"),il=d("CnVV"),rl=d("5p8d"),sl=d("qYUw"),ul=d("JpOc"),ml=d("VRoF"),hl=d("Uto7"),pl=d("/p+U"),bl=d("ye40"),gl=d("qcxY"),fl=d("T+Em"),yl=d("ucmY"),Sl=d("sbFH"),wl=d("76lH"),vl=d("TSSN"),kl=d("Fg/6"),zl=d("kzz5"),Il=d("SqF5"),Nl=d("Wl7g"),Cl=d("+TYD"),xl=d("PCNd");d.d(e,"FormModuleNgFactory",(function(){return Fl}));var Fl=o.tb(gt,[],(function(t){return o.Fb([o.Gb(512,o.j,o.db,[[8,[ft.a,yt.a,yt.b,St.a,wt.a,vt.a,kt.a,zt.a,It.a,Nt.a,Ct.a,xt.a,Ft.a,_t.a,Tt.a,Dt.a,At.a,Pt.a,Ot.a,Et.a,Ut.a,Mt.a,Ht.a,jt.a,Gt.a,Rt.a,Wt.a,Bt.a,Yt.a,Vt.a,Jt.a,qt.a,Lt.a,$t.a,Qt.a,Kt.a,Zt.a,Xt.a,re,he,fe,ve,Ne,_e,dd,id,md,yd,Id,Td,Ud,Wd,Zd,lo,ho,So,No,Do,Mo,Bo,$o,en,ln,pn,wn,Cn,An,Hn,Yn,Qn,dc,ic]],[3,o.j],o.w]),o.Gb(4608,rc.p,rc.o,[o.t,[2,rc.K]]),o.Gb(4608,Bd.x,Bd.x,[]),o.Gb(4608,Bd.e,Bd.e,[]),o.Gb(5120,Te.z,Te.M,[rc.e,[3,Te.z]]),o.Gb(4608,sc.d,sc.d,[sc.k,sc.f,o.j,sc.i,sc.g,o.q,o.y,rc.e,uc.b,[2,rc.j]]),o.Gb(5120,sc.l,sc.m,[sc.d]),o.Gb(4608,$e.c,$e.c,[]),o.Gb(5120,Ve.b,Ve.a,[[3,Ve.b],mc.a]),o.Gb(4608,hc.d,hc.d,[o.y]),o.Gb(4608,pc.d,pc.d,[rc.e]),o.Gb(4608,bc.a,bc.a,[gc.g]),o.Gb(4608,fc.a,fc.a,[yc.d]),o.Gb(1073742336,rc.c,rc.c,[]),o.Gb(1073742336,Bd.w,Bd.w,[]),o.Gb(1073742336,Bd.j,Bd.j,[]),o.Gb(1073742336,ne.t,ne.t,[[2,ne.y],[2,ne.p]]),o.Gb(1073742336,Bd.t,Bd.t,[]),o.Gb(1073742336,Pe.b,Pe.b,[]),o.Gb(1073742336,Sc.b,Sc.b,[]),o.Gb(1073742336,wc.b,wc.b,[]),o.Gb(1073742336,Te.j,Te.j,[]),o.Gb(1073742336,vc.b,vc.b,[]),o.Gb(1073742336,kc.a,kc.a,[]),o.Gb(1073742336,uc.a,uc.a,[]),o.Gb(1073742336,zc.e,zc.e,[]),o.Gb(1073742336,Ic.g,Ic.g,[]),o.Gb(1073742336,sc.h,sc.h,[]),o.Gb(1073742336,Te.w,Te.w,[]),o.Gb(1073742336,Nc.b,Nc.b,[]),o.Gb(1073742336,Cc.b,Cc.b,[]),o.Gb(1073742336,xc.b,xc.b,[]),o.Gb(1073742336,$e.d,$e.d,[]),o.Gb(1073742336,Fc.b,Fc.b,[]),o.Gb(1073742336,Te.J,Te.J,[]),o.Gb(1073742336,Le.c,Le.c,[]),o.Gb(1073742336,Te.x,Te.x,[]),o.Gb(1073742336,_c.e,_c.e,[]),o.Gb(1073742336,Tc.i,Tc.i,[]),o.Gb(1073742336,Tc.a,Tc.a,[]),o.Gb(1073742336,Tc.f,Tc.f,[]),o.Gb(1073742336,Dc.c,Dc.c,[]),o.Gb(1073742336,Ac.b,Ac.b,[]),o.Gb(1073742336,Pc.d,Pc.d,[]),o.Gb(1073742336,Oc.c,Oc.c,[]),o.Gb(1073742336,Ec.h,Ec.h,[]),o.Gb(1073742336,Uc.f,Uc.f,[]),o.Gb(1073742336,Mc.d,Mc.d,[]),o.Gb(1073742336,Hc.d,Hc.d,[]),o.Gb(1073742336,Te.s,Te.s,[]),o.Gb(1073742336,Yd.d,Yd.d,[]),o.Gb(1073742336,jc.b,jc.b,[]),o.Gb(1073742336,Gc.c,Gc.c,[]),o.Gb(1073742336,Rc.a,Rc.a,[]),o.Gb(1073742336,Wc.a,Wc.a,[]),o.Gb(1073742336,Bc.b,Bc.b,[]),o.Gb(1073742336,Yc.g,Yc.g,[]),o.Gb(1073742336,Yc.b,Yc.b,[]),o.Gb(1073742336,Vc.a,Vc.a,[]),o.Gb(1073742336,Jc.b,Jc.b,[]),o.Gb(1073742336,yc.e,yc.e,[]),o.Gb(1073742336,yc.b,yc.b,[]),o.Gb(1073742336,Ae.b,Ae.b,[]),o.Gb(1073742336,De.b,De.b,[]),o.Gb(1073742336,qc.g,qc.g,[]),o.Gb(1073742336,Lc.b,Lc.b,[]),o.Gb(1073742336,$c.a,$c.a,[]),o.Gb(1073742336,Qc.b,Qc.b,[]),o.Gb(1073742336,Kc.d,Kc.d,[]),o.Gb(1073742336,Zc.b,Zc.b,[]),o.Gb(1073742336,Ue.h,Ue.h,[]),o.Gb(1073742336,Ue.f,Ue.f,[]),o.Gb(1073742336,Te.y,Te.y,[]),o.Gb(1073742336,gc.h,gc.h,[]),o.Gb(1073742336,gc.d,gc.d,[]),o.Gb(1073742336,gc.e,gc.e,[]),o.Gb(1073742336,Xc.f,Xc.f,[]),o.Gb(1073742336,Xc.e,Xc.e,[]),o.Gb(1073742336,ta.a,ta.a,[]),o.Gb(1073742336,ea.b,ea.b,[]),o.Gb(1073742336,da.b,da.b,[]),o.Gb(1073742336,oa.c,oa.c,[]),o.Gb(1073742336,na.c,na.c,[]),o.Gb(1073742336,ca.b,ca.b,[]),o.Gb(1073742336,aa.c,aa.c,[]),o.Gb(1073742336,la.a,la.a,[]),o.Gb(1073742336,ia.b,ia.b,[]),o.Gb(1073742336,ra.d,ra.d,[]),o.Gb(1073742336,sa.a,sa.a,[]),o.Gb(1073742336,ua.c,ua.c,[]),o.Gb(1073742336,ma.b,ma.b,[]),o.Gb(1073742336,ha.b,ha.b,[]),o.Gb(1073742336,pa.f,pa.f,[]),o.Gb(1073742336,ba.b,ba.b,[]),o.Gb(1073742336,ga.a,ga.a,[]),o.Gb(1073742336,Te.D,Te.D,[]),o.Gb(1073742336,fa.c,fa.c,[]),o.Gb(1073742336,ya.b,ya.b,[]),o.Gb(1073742336,Sa.b,Sa.b,[]),o.Gb(1073742336,Te.o,Te.o,[]),o.Gb(1073742336,wa.a,wa.a,[]),o.Gb(1073742336,va.d,va.d,[]),o.Gb(1073742336,ka.a,ka.a,[]),o.Gb(1073742336,za.a,za.a,[]),o.Gb(1073742336,Ia.a,Ia.a,[wc.c]),o.Gb(1073742336,Na.a,Na.a,[]),o.Gb(1073742336,Ca.a,Ca.a,[]),o.Gb(1073742336,xa.a,xa.a,[]),o.Gb(1073742336,Fa.a,Fa.a,[]),o.Gb(1073742336,_a.a,_a.a,[]),o.Gb(1073742336,Ta.a,Ta.a,[]),o.Gb(1073742336,Da.a,Da.a,[]),o.Gb(1073742336,Aa.a,Aa.a,[]),o.Gb(1073742336,Pa.a,Pa.a,[]),o.Gb(1073742336,Oa.a,Oa.a,[]),o.Gb(1073742336,Ea.a,Ea.a,[]),o.Gb(1073742336,Ua.a,Ua.a,[]),o.Gb(1073742336,Ma.a,Ma.a,[]),o.Gb(1073742336,Ha.a,Ha.a,[]),o.Gb(1073742336,hc.c,hc.c,[]),o.Gb(1073742336,ja.a,ja.a,[]),o.Gb(1073742336,Ga.a,Ga.a,[]),o.Gb(1073742336,Ra.a,Ra.a,[]),o.Gb(1073742336,Wa.a,Wa.a,[]),o.Gb(1073742336,Ba.a,Ba.a,[]),o.Gb(1073742336,Ya.a,Ya.a,[]),o.Gb(1073742336,Va.a,Va.a,[]),o.Gb(1073742336,Ja.a,Ja.a,[]),o.Gb(1073742336,qa.a,qa.a,[]),o.Gb(1073742336,La.a,La.a,[]),o.Gb(1073742336,$a.a,$a.a,[]),o.Gb(1073742336,Qa.a,Qa.a,[]),o.Gb(1073742336,Ka.a,Ka.a,[]),o.Gb(1073742336,Za.a,Za.a,[]),o.Gb(1073742336,Xa.a,Xa.a,[]),o.Gb(1073742336,tl.a,tl.a,[]),o.Gb(1073742336,el.a,el.a,[]),o.Gb(1073742336,dl.a,dl.a,[]),o.Gb(1073742336,ol.a,ol.a,[]),o.Gb(1073742336,nl.a,nl.a,[]),o.Gb(1073742336,cl.a,cl.a,[]),o.Gb(1073742336,al.a,al.a,[]),o.Gb(1073742336,ll.a,ll.a,[]),o.Gb(1073742336,il.a,il.a,[]),o.Gb(1073742336,rl.a,rl.a,[]),o.Gb(1073742336,sl.a,sl.a,[]),o.Gb(1073742336,ul.a,ul.a,[]),o.Gb(1073742336,ml.a,ml.a,[]),o.Gb(1073742336,hl.a,hl.a,[]),o.Gb(1073742336,pl.a,pl.a,[]),o.Gb(1073742336,bl.a,bl.a,[]),o.Gb(1073742336,gl.a,gl.a,[]),o.Gb(1073742336,fl.a,fl.a,[]),o.Gb(1073742336,yl.a,yl.a,[]),o.Gb(1073742336,Sl.a,Sl.a,[]),o.Gb(1073742336,wl.a,wl.a,[]),o.Gb(1073742336,vl.h,vl.h,[]),o.Gb(1073742336,kl.b,kl.b,[]),o.Gb(1073742336,zl.a,zl.a,[]),o.Gb(1073742336,pc.c,pc.c,[]),o.Gb(1073742336,Il.c,Il.c,[]),o.Gb(1073742336,Nl.d,Nl.d,[]),o.Gb(1073742336,Nl.h,Nl.h,[]),o.Gb(1073742336,Nl.b,Nl.b,[]),o.Gb(1073742336,Nl.j,Nl.j,[]),o.Gb(1073742336,Nl.l,Nl.l,[]),o.Gb(1073742336,Nl.p,Nl.p,[]),o.Gb(1073742336,Nl.t,Nl.t,[]),o.Gb(1073742336,Cl.a,Cl.a,[]),o.Gb(1073742336,xl.a,xl.a,[]),o.Gb(1073742336,gt,gt,[]),o.Gb(256,Ue.b,{nzAnimate:!0,nzDuration:3e3,nzMaxStack:7,nzPauseOnHover:!0,nzTop:24},[]),o.Gb(256,Xc.b,{nzTop:"24px",nzBottom:"24px",nzPlacement:"topRight",nzDuration:4500,nzMaxStack:7,nzPauseOnHover:!0,nzAnimate:!0},[]),o.Gb(256,mc.a,za.b,[]),o.Gb(1024,ne.n,(function(){return[[{path:"",component:n.a,children:[{path:"",redirectTo:"getting-started/zh",pathMatch:"full"},{path:"customize",redirectTo:"customize/zh",pathMatch:"full"},{path:"customize/:lang",component:c},{path:"error",redirectTo:"error/zh",pathMatch:"full"},{path:"error/:lang",component:a},{path:"getting-started",redirectTo:"getting-started/zh",pathMatch:"full"},{path:"getting-started/:lang",component:l},{path:"layout",redirectTo:"layout/zh",pathMatch:"full"},{path:"layout/:lang",component:i},{path:"qa",redirectTo:"qa/zh",pathMatch:"full"},{path:"qa/:lang",component:r},{path:"schema",redirectTo:"schema/zh",pathMatch:"full"},{path:"schema/:lang",component:s},{path:"acl",redirectTo:"acl/zh",pathMatch:"full"},{path:"acl/:lang",component:u},{path:"i18n",redirectTo:"i18n/zh",pathMatch:"full"},{path:"i18n/:lang",component:h},{path:"modal",redirectTo:"modal/zh",pathMatch:"full"},{path:"modal/:lang",component:b},{path:"array",redirectTo:"array/zh",pathMatch:"full"},{path:"array/:lang",component:g},{path:"autocomplete",redirectTo:"autocomplete/zh",pathMatch:"full"},{path:"autocomplete/:lang",component:y},{path:"boolean",redirectTo:"boolean/zh",pathMatch:"full"},{path:"boolean/:lang",component:v},{path:"cascader",redirectTo:"cascader/zh",pathMatch:"full"},{path:"cascader/:lang",component:z},{path:"checkbox",redirectTo:"checkbox/zh",pathMatch:"full"},{path:"checkbox/:lang",component:N},{path:"custom",redirectTo:"custom/zh",pathMatch:"full"},{path:"custom/:lang",component:F},{path:"date",redirectTo:"date/zh",pathMatch:"full"},{path:"date/:lang",component:T},{path:"mention",redirectTo:"mention/zh",pathMatch:"full"},{path:"mention/:lang",component:P},{path:"number",redirectTo:"number/zh",pathMatch:"full"},{path:"number/:lang",component:U},{path:"object",redirectTo:"object/zh",pathMatch:"full"},{path:"object/:lang",component:H},{path:"radio",redirectTo:"radio/zh",pathMatch:"full"},{path:"radio/:lang",component:G},{path:"rate",redirectTo:"rate/zh",pathMatch:"full"},{path:"rate/:lang",component:W},{path:"select",redirectTo:"select/zh",pathMatch:"full"},{path:"select/:lang",component:Y},{path:"slider",redirectTo:"slider/zh",pathMatch:"full"},{path:"slider/:lang",component:J},{path:"string",redirectTo:"string/zh",pathMatch:"full"},{path:"string/:lang",component:L},{path:"tag",redirectTo:"tag/zh",pathMatch:"full"},{path:"tag/:lang",component:Q},{path:"text",redirectTo:"text/zh",pathMatch:"full"},{path:"text/:lang",component:Z},{path:"textarea",redirectTo:"textarea/zh",pathMatch:"full"},{path:"textarea/:lang",component:tt},{path:"time",redirectTo:"time/zh",pathMatch:"full"},{path:"time/:lang",component:dt},{path:"transfer",redirectTo:"transfer/zh",pathMatch:"full"},{path:"transfer/:lang",component:nt},{path:"tree-select",redirectTo:"tree-select/zh",pathMatch:"full"},{path:"tree-select/:lang",component:at},{path:"upload",redirectTo:"upload/zh",pathMatch:"full"},{path:"upload/:lang",component:it},{path:"markdown",redirectTo:"markdown/zh",pathMatch:"full"},{path:"markdown/:lang",component:st},{path:"tinymce",redirectTo:"tinymce/zh",pathMatch:"full"},{path:"tinymce/:lang",component:mt},{path:"ueditor",redirectTo:"ueditor/zh",pathMatch:"full"},{path:"ueditor/:lang",component:pt}]}]]}),[])])}))}}]);