docs(client): should name SchemaInitializer starting with a lowercase letter (#4432)

* docs(client): the name of the SchemaInitializer should start with a lowercase letter

* chore: to identify and correct one's shortcomings
This commit is contained in:
Zeke Zhang 2024-05-21 14:53:15 +08:00 committed by GitHub
parent 121b6a8f4e
commit 1291d5437c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
37 changed files with 139 additions and 140 deletions

View File

@ -1,4 +1,5 @@
import React from 'react'; import { Field } from '@formily/core';
import { observer, useField, useFieldSchema } from '@formily/react';
import { import {
Application, Application,
Plugin, Plugin,
@ -9,8 +10,7 @@ import {
useSchemaInitializerItem, useSchemaInitializerItem,
useSchemaInitializerRender, useSchemaInitializerRender,
} from '@nocobase/client'; } from '@nocobase/client';
import { observer, useField, useFieldSchema } from '@formily/react'; import React from 'react';
import { Field } from '@formily/core';
const Hello = observer(() => { const Hello = observer(() => {
const field = useField<Field>(); const field = useField<Field>();
@ -36,7 +36,7 @@ function Demo() {
} }
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Add Block', title: 'Add Block',
// 插入位置 // 插入位置
insertPosition: 'beforeEnd', insertPosition: 'beforeEnd',
@ -84,7 +84,7 @@ const Root = () => {
type: 'void', type: 'void',
name: 'page', name: 'page',
'x-component': 'Page', 'x-component': 'Page',
'x-initializer': 'MyInitializer', 'x-initializer': 'myInitializer',
properties: { properties: {
hello1: { hello1: {
type: 'void', type: 'void',

View File

@ -9,7 +9,7 @@ const HelloPage = () => {
name: 'root', name: 'root',
type: 'void', type: 'void',
'x-component': 'Grid', 'x-component': 'Grid',
'x-initializer': 'MyInitializer', 'x-initializer': 'myInitializer',
properties: {}, properties: {},
}} }}
/> />

View File

@ -1,4 +1,5 @@
import React from 'react'; import { Field } from '@formily/core';
import { observer, useField, useFieldSchema } from '@formily/react';
import { import {
Application, Application,
Plugin, Plugin,
@ -9,9 +10,8 @@ import {
useSchemaInitializerItem, useSchemaInitializerItem,
useSchemaInitializerRender, useSchemaInitializerRender,
} from '@nocobase/client'; } from '@nocobase/client';
import { observer, useField, useFieldSchema } from '@formily/react';
import { Field } from '@formily/core';
import { Avatar } from 'antd'; import { Avatar } from 'antd';
import React from 'react';
const Hello = observer(() => { const Hello = observer(() => {
const field = useField<Field>(); const field = useField<Field>();
@ -37,7 +37,7 @@ function Demo() {
} }
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Add Block', title: 'Add Block',
insertPosition: 'beforeEnd', insertPosition: 'beforeEnd',
Component: (props: any) => ( Component: (props: any) => (
@ -92,7 +92,7 @@ const Root = () => {
type: 'void', type: 'void',
name: 'page', name: 'page',
'x-component': 'Page', 'x-component': 'Page',
'x-initializer': 'MyInitializer', 'x-initializer': 'myInitializer',
properties: { properties: {
hello1: { hello1: {
type: 'void', type: 'void',

View File

@ -1,7 +1,7 @@
/** /**
* defaultShowCode: true * defaultShowCode: true
*/ */
import React from 'react'; import { useFieldSchema } from '@formily/react';
import { import {
Action, Action,
Application, Application,
@ -14,11 +14,11 @@ import {
SchemaInitializerActionModal, SchemaInitializerActionModal,
useSchemaInitializer, useSchemaInitializer,
} from '@nocobase/client'; } from '@nocobase/client';
import React from 'react';
import { appOptions } from './schema-initializer-common'; import { appOptions } from './schema-initializer-common';
import { useFieldSchema } from '@formily/react';
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
wrap: Grid.wrap, wrap: Grid.wrap,
Component: () => { Component: () => {
const { insert } = useSchemaInitializer(); const { insert } = useSchemaInitializer();

View File

@ -1,7 +1,7 @@
/** /**
* defaultShowCode: true * defaultShowCode: true
*/ */
import React from 'react'; import { useFieldSchema } from '@formily/react';
import { import {
Action, Action,
Application, Application,
@ -14,11 +14,11 @@ import {
SchemaInitializerActionModal, SchemaInitializerActionModal,
useSchemaInitializer, useSchemaInitializer,
} from '@nocobase/client'; } from '@nocobase/client';
import React from 'react';
import { appOptions } from './schema-initializer-common'; import { appOptions } from './schema-initializer-common';
import { useFieldSchema } from '@formily/react';
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
wrap: Grid.wrap, wrap: Grid.wrap,
items: [ items: [

View File

@ -1,9 +1,9 @@
import { Application, SchemaInitializer, SchemaInitializerItemGroup } from '@nocobase/client'; import { Application, SchemaInitializer, SchemaInitializerItemGroup } from '@nocobase/client';
import { appOptions } from './schema-initializer-common';
import React from 'react'; import React from 'react';
import { appOptions } from './schema-initializer-common';
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
items: [ items: [
{ {

View File

@ -1,17 +1,17 @@
/** /**
* defaultShowCode: true * defaultShowCode: true
*/ */
import { useFieldSchema } from '@formily/react';
import { import {
Application,
CardItem,
Grid, Grid,
SchemaInitializer, SchemaInitializer,
useSchemaInitializer,
SchemaInitializerItem, SchemaInitializerItem,
CardItem, useSchemaInitializer,
Application,
} from '@nocobase/client'; } from '@nocobase/client';
import React from 'react'; import React from 'react';
import { appOptions } from './schema-initializer-common'; import { appOptions } from './schema-initializer-common';
import { useFieldSchema } from '@formily/react';
const Demo = () => { const Demo = () => {
const { insert } = useSchemaInitializer(); const { insert } = useSchemaInitializer();
@ -26,7 +26,7 @@ const Demo = () => {
}; };
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
wrap: Grid.wrap, wrap: Grid.wrap,
items: [ items: [

View File

@ -2,11 +2,11 @@
* defaultShowCode: true * defaultShowCode: true
*/ */
import { Application, SchemaInitializer, SchemaInitializerSubMenu } from '@nocobase/client'; import { Application, SchemaInitializer, SchemaInitializerSubMenu } from '@nocobase/client';
import { appOptions } from './schema-initializer-common';
import React from 'react'; import React from 'react';
import { appOptions } from './schema-initializer-common';
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
items: [ items: [
{ {

View File

@ -2,13 +2,13 @@
* defaultShowCode: true * defaultShowCode: true
*/ */
import { import {
Action,
Application,
Grid, Grid,
SchemaInitializer, SchemaInitializer,
Application,
SchemaInitializerSwitch, SchemaInitializerSwitch,
useCurrentSchema, useCurrentSchema,
useSchemaInitializer, useSchemaInitializer,
Action,
} from '@nocobase/client'; } from '@nocobase/client';
import React from 'react'; import React from 'react';
import { appOptions } from './schema-initializer-common'; import { appOptions } from './schema-initializer-common';
@ -47,7 +47,7 @@ const AddNewButton = () => {
}; };
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Configure actions', title: 'Configure actions',
wrap: Grid.wrap, wrap: Grid.wrap,
items: [ items: [

View File

@ -1,10 +1,10 @@
/** /**
* defaultShowCode: true * defaultShowCode: true
*/ */
import React, { ReactNode } from 'react';
import { Application, SchemaInitializer, SchemaInitializerItem, useSchemaInitializerItem } from '@nocobase/client';
import { appOptions } from './schema-initializer-common';
import { TableOutlined } from '@ant-design/icons'; import { TableOutlined } from '@ant-design/icons';
import { Application, SchemaInitializer, SchemaInitializerItem, useSchemaInitializerItem } from '@nocobase/client';
import React, { ReactNode } from 'react';
import { appOptions } from './schema-initializer-common';
const Demo = () => { const Demo = () => {
const { name, foo, icon } = useSchemaInitializerItem<{ name: string; foo: string; icon: ReactNode }>(); const { name, foo, icon } = useSchemaInitializerItem<{ name: string; foo: string; icon: ReactNode }>();
@ -13,7 +13,7 @@ const Demo = () => {
}; };
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
items: [ items: [
{ {

View File

@ -1,4 +1,5 @@
import React, { FC } from 'react'; import { Field } from '@formily/core';
import { observer, useField, useFieldSchema } from '@formily/react';
import { import {
Application, Application,
Plugin, Plugin,
@ -11,9 +12,8 @@ import {
useSchemaInitializerItem, useSchemaInitializerItem,
useSchemaInitializerRender, useSchemaInitializerRender,
} from '@nocobase/client'; } from '@nocobase/client';
import { observer, useField, useFieldSchema } from '@formily/react'; import { ButtonProps, List, ListProps } from 'antd';
import { Field } from '@formily/core'; import React, { FC } from 'react';
import { ButtonProps, ListProps, List, Card } from 'antd';
const Hello = observer(() => { const Hello = observer(() => {
const field = useField<Field>(); const field = useField<Field>();
@ -56,7 +56,7 @@ const CustomListGridMenu: FC<SchemaInitializerItemsProps<ButtonProps, ListProps<
}; };
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Add Block', title: 'Add Block',
// 插入位置 // 插入位置
insertPosition: 'beforeEnd', insertPosition: 'beforeEnd',
@ -105,7 +105,7 @@ const Root = () => {
type: 'void', type: 'void',
name: 'page', name: 'page',
'x-component': 'Page', 'x-component': 'Page',
'x-initializer': 'MyInitializer', 'x-initializer': 'myInitializer',
properties: { properties: {
hello1: { hello1: {
type: 'void', type: 'void',

View File

@ -1,11 +1,11 @@
/** /**
* defaultShowCode: true * defaultShowCode: true
*/ */
import { Application, SchemaInitializer, SchemaInitializerItem } from '@nocobase/client'; import { Application, SchemaInitializer } from '@nocobase/client';
import { appOptions } from './schema-initializer-common'; import { appOptions } from './schema-initializer-common';
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
items: [ items: [
{ {

View File

@ -1,8 +1,8 @@
/** /**
* defaultShowCode: true * defaultShowCode: true
*/ */
import React from 'react';
import { Application, SchemaInitializer, SchemaInitializerItem } from '@nocobase/client'; import { Application, SchemaInitializer, SchemaInitializerItem } from '@nocobase/client';
import React from 'react';
import { appOptions } from './schema-initializer-common'; import { appOptions } from './schema-initializer-common';
const Demo = () => { const Demo = () => {
@ -11,7 +11,7 @@ const Demo = () => {
}; };
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
items: [ items: [
{ {

View File

@ -1,8 +1,8 @@
/** /**
* defaultShowCode: true * defaultShowCode: true
*/ */
import React from 'react';
import { Application, SchemaInitializer, SchemaInitializerItem } from '@nocobase/client'; import { Application, SchemaInitializer, SchemaInitializerItem } from '@nocobase/client';
import React from 'react';
import { appOptions } from './schema-initializer-common'; import { appOptions } from './schema-initializer-common';
const CommonDemo = (props) => { const CommonDemo = (props) => {
@ -10,7 +10,7 @@ const CommonDemo = (props) => {
}; };
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
items: [ items: [
{ {

View File

@ -5,7 +5,7 @@ import { Application, SchemaInitializer } from '@nocobase/client';
import { appOptions } from './schema-initializer-common'; import { appOptions } from './schema-initializer-common';
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
items: [ items: [
{ {

View File

@ -1,4 +1,5 @@
import React from 'react'; import { Field } from '@formily/core';
import { observer, useField, useFieldSchema } from '@formily/react';
import { import {
Application, Application,
Plugin, Plugin,
@ -7,9 +8,8 @@ import {
useDesignable, useDesignable,
useSchemaInitializerRender, useSchemaInitializerRender,
} from '@nocobase/client'; } from '@nocobase/client';
import { observer, useField, useFieldSchema } from '@formily/react';
import { Field } from '@formily/core';
import { Button } from 'antd'; import { Button } from 'antd';
import React from 'react';
const Hello = observer(() => { const Hello = observer(() => {
const field = useField<Field>(); const field = useField<Field>();
@ -38,7 +38,7 @@ const MyInitializerComponent = () => {
}; };
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
popover: false, popover: false,
Component: MyInitializerComponent, Component: MyInitializerComponent,
}); });
@ -73,7 +73,7 @@ const Root = () => {
type: 'void', type: 'void',
name: 'page', name: 'page',
'x-component': 'Page', 'x-component': 'Page',
'x-initializer': 'MyInitializer', 'x-initializer': 'myInitializer',
properties: { properties: {
hello1: { hello1: {
type: 'void', type: 'void',

View File

@ -1,4 +1,5 @@
import React from 'react'; import { Field } from '@formily/core';
import { observer, useField, useFieldSchema } from '@formily/react';
import { import {
Application, Application,
Plugin, Plugin,
@ -9,8 +10,7 @@ import {
useSchemaInitializerItem, useSchemaInitializerItem,
useSchemaInitializerRender, useSchemaInitializerRender,
} from '@nocobase/client'; } from '@nocobase/client';
import { observer, useField, useFieldSchema } from '@formily/react'; import React from 'react';
import { Field } from '@formily/core';
const Hello = observer(() => { const Hello = observer(() => {
const field = useField<Field>(); const field = useField<Field>();
@ -36,7 +36,7 @@ function Demo() {
} }
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Add Block', title: 'Add Block',
// 插入位置 // 插入位置
insertPosition: 'beforeEnd', insertPosition: 'beforeEnd',
@ -86,7 +86,7 @@ const Root = () => {
type: 'void', type: 'void',
name: 'page', name: 'page',
'x-component': 'Page', 'x-component': 'Page',
'x-initializer': 'MyInitializer', 'x-initializer': 'myInitializer',
properties: { properties: {
hello1: { hello1: {
type: 'void', type: 'void',

View File

@ -71,7 +71,7 @@ class SchemaInitializer<P1 = ButtonProps, P2 = {}> {
```tsx | pure ```tsx | pure
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Add Block', title: 'Add Block',
insertPosition: 'beforeEnd', insertPosition: 'beforeEnd',
items: [ items: [
@ -89,7 +89,7 @@ const myInitializer = new SchemaInitializer({
```tsx | pure ```tsx | pure
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
Component: (props) => ( Component: (props) => (
<Avatar style={{ cursor: 'pointer' }} {...props}> <Avatar style={{ cursor: 'pointer' }} {...props}>
C C
@ -126,7 +126,7 @@ const MyInitializerComponent = () => {
} }
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Add block', title: 'Add block',
popover: false, popover: false,
Component: MyInitializerComponent, Component: MyInitializerComponent,
@ -157,7 +157,7 @@ const CustomListGridMenu: FC<SchemaInitializerItemsProps<ButtonProps, ListProps<
}; };
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
ItemsComponent: CustomListGridMenu, ItemsComponent: CustomListGridMenu,
items: [ items: [
@ -209,7 +209,7 @@ const Demo = () => {
} }
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
items: [ items: [
{ {
name: 'a', name: 'a',
@ -227,7 +227,7 @@ For more built-in types, please refer to: [Built-in Components and Types](/core/
```tsx | pure ```tsx | pure
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
items: [ items: [
{ {
name: 'a', name: 'a',
@ -293,7 +293,7 @@ const Demo = (props) => {
```tsx | pure ```tsx | pure
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
items: [ items: [
{ {
@ -314,7 +314,7 @@ const myInitializer = new SchemaInitializer({
```tsx ```tsx
import { SchemaInitializer, Application, useSchemaInitializerRender } from '@nocobase/client'; import { SchemaInitializer, Application, useSchemaInitializerRender } from '@nocobase/client';
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
items: [ items: [
{ {
@ -333,7 +333,7 @@ const myInitializer = new SchemaInitializer({
}); });
const Root = () => { const Root = () => {
const { render } = useSchemaInitializerRender('MyInitializer'); const { render } = useSchemaInitializerRender('myInitializer');
return render(); return render();
} }
const app = new Application({ const app = new Application({
@ -378,7 +378,7 @@ myInitializer.add('a.a2', {
```tsx ```tsx
import { SchemaInitializer, Application, useSchemaInitializerRender } from '@nocobase/client'; import { SchemaInitializer, Application, useSchemaInitializerRender } from '@nocobase/client';
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
items: [ items: [
{ {
@ -407,7 +407,7 @@ myInitializer.add('a.a2', {
}) })
const Root = () => { const Root = () => {
const { render } = useSchemaInitializerRender('MyInitializer'); const { render } = useSchemaInitializerRender('myInitializer');
return render(); return render();
} }
const app = new Application({ const app = new Application({
@ -546,7 +546,7 @@ const useSchemaInitializerItem: <T = any>() => T
```tsx | pure ```tsx | pure
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
items: [ items: [
{ {
@ -676,7 +676,7 @@ const Demo = ({ children }) => {
} }
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
items: [ items: [
{ {

View File

@ -1,4 +1,5 @@
import React from 'react'; import { Field } from '@formily/core';
import { observer, useField, useFieldSchema } from '@formily/react';
import { import {
Application, Application,
Plugin, Plugin,
@ -9,8 +10,7 @@ import {
useSchemaInitializerItem, useSchemaInitializerItem,
useSchemaInitializerRender, useSchemaInitializerRender,
} from '@nocobase/client'; } from '@nocobase/client';
import { observer, useField, useFieldSchema } from '@formily/react'; import React from 'react';
import { Field } from '@formily/core';
const Hello = observer(() => { const Hello = observer(() => {
const field = useField<Field>(); const field = useField<Field>();
@ -36,7 +36,7 @@ function Demo() {
} }
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Add Block', title: 'Add Block',
// 插入位置 // 插入位置
insertPosition: 'beforeEnd', insertPosition: 'beforeEnd',
@ -84,7 +84,7 @@ const Root = () => {
type: 'void', type: 'void',
name: 'page', name: 'page',
'x-component': 'Page', 'x-component': 'Page',
'x-initializer': 'MyInitializer', 'x-initializer': 'myInitializer',
properties: { properties: {
hello1: { hello1: {
type: 'void', type: 'void',

View File

@ -9,7 +9,7 @@ const HelloPage = () => {
name: 'root', name: 'root',
type: 'void', type: 'void',
'x-component': 'Grid', 'x-component': 'Grid',
'x-initializer': 'MyInitializer', 'x-initializer': 'myInitializer',
properties: {}, properties: {},
}} }}
/> />

View File

@ -1,4 +1,5 @@
import React from 'react'; import { Field } from '@formily/core';
import { observer, useField, useFieldSchema } from '@formily/react';
import { import {
Application, Application,
Plugin, Plugin,
@ -9,9 +10,8 @@ import {
useSchemaInitializerItem, useSchemaInitializerItem,
useSchemaInitializerRender, useSchemaInitializerRender,
} from '@nocobase/client'; } from '@nocobase/client';
import { observer, useField, useFieldSchema } from '@formily/react';
import { Field } from '@formily/core';
import { Avatar } from 'antd'; import { Avatar } from 'antd';
import React from 'react';
const Hello = observer(() => { const Hello = observer(() => {
const field = useField<Field>(); const field = useField<Field>();
@ -37,7 +37,7 @@ function Demo() {
} }
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Add Block', title: 'Add Block',
insertPosition: 'beforeEnd', insertPosition: 'beforeEnd',
Component: (props: any) => ( Component: (props: any) => (
@ -92,7 +92,7 @@ const Root = () => {
type: 'void', type: 'void',
name: 'page', name: 'page',
'x-component': 'Page', 'x-component': 'Page',
'x-initializer': 'MyInitializer', 'x-initializer': 'myInitializer',
properties: { properties: {
hello1: { hello1: {
type: 'void', type: 'void',

View File

@ -1,7 +1,7 @@
/** /**
* defaultShowCode: true * defaultShowCode: true
*/ */
import React from 'react'; import { useFieldSchema } from '@formily/react';
import { import {
Action, Action,
Application, Application,
@ -14,11 +14,11 @@ import {
SchemaInitializerActionModal, SchemaInitializerActionModal,
useSchemaInitializer, useSchemaInitializer,
} from '@nocobase/client'; } from '@nocobase/client';
import React from 'react';
import { appOptions } from './schema-initializer-common'; import { appOptions } from './schema-initializer-common';
import { useFieldSchema } from '@formily/react';
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
wrap: Grid.wrap, wrap: Grid.wrap,
Component: () => { Component: () => {
const { insert } = useSchemaInitializer(); const { insert } = useSchemaInitializer();

View File

@ -1,7 +1,7 @@
/** /**
* defaultShowCode: true * defaultShowCode: true
*/ */
import React from 'react'; import { useFieldSchema } from '@formily/react';
import { import {
Action, Action,
Application, Application,
@ -14,11 +14,11 @@ import {
SchemaInitializerActionModal, SchemaInitializerActionModal,
useSchemaInitializer, useSchemaInitializer,
} from '@nocobase/client'; } from '@nocobase/client';
import React from 'react';
import { appOptions } from './schema-initializer-common'; import { appOptions } from './schema-initializer-common';
import { useFieldSchema } from '@formily/react';
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
wrap: Grid.wrap, wrap: Grid.wrap,
items: [ items: [

View File

@ -5,7 +5,7 @@ import { Application, SchemaInitializer } from '@nocobase/client';
import { appOptions } from './schema-initializer-common'; import { appOptions } from './schema-initializer-common';
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
items: [ items: [
{ {

View File

@ -1,9 +1,9 @@
import { Application, SchemaInitializer, SchemaInitializerItemGroup } from '@nocobase/client'; import { Application, SchemaInitializer, SchemaInitializerItemGroup } from '@nocobase/client';
import { appOptions } from './schema-initializer-common';
import React from 'react'; import React from 'react';
import { appOptions } from './schema-initializer-common';
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
items: [ items: [
{ {

View File

@ -1,17 +1,17 @@
/** /**
* defaultShowCode: true * defaultShowCode: true
*/ */
import { useFieldSchema } from '@formily/react';
import { import {
Application,
CardItem,
Grid, Grid,
SchemaInitializer, SchemaInitializer,
useSchemaInitializer,
SchemaInitializerItem, SchemaInitializerItem,
CardItem, useSchemaInitializer,
Application,
} from '@nocobase/client'; } from '@nocobase/client';
import React from 'react'; import React from 'react';
import { appOptions } from './schema-initializer-common'; import { appOptions } from './schema-initializer-common';
import { useFieldSchema } from '@formily/react';
const Demo = () => { const Demo = () => {
const { insert } = useSchemaInitializer(); const { insert } = useSchemaInitializer();
@ -26,7 +26,7 @@ const Demo = () => {
}; };
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
wrap: Grid.wrap, wrap: Grid.wrap,
items: [ items: [

View File

@ -2,11 +2,11 @@
* defaultShowCode: true * defaultShowCode: true
*/ */
import { Application, SchemaInitializer, SchemaInitializerSubMenu } from '@nocobase/client'; import { Application, SchemaInitializer, SchemaInitializerSubMenu } from '@nocobase/client';
import { appOptions } from './schema-initializer-common';
import React from 'react'; import React from 'react';
import { appOptions } from './schema-initializer-common';
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
items: [ items: [
{ {

View File

@ -2,13 +2,13 @@
* defaultShowCode: true * defaultShowCode: true
*/ */
import { import {
Action,
Application,
Grid, Grid,
SchemaInitializer, SchemaInitializer,
Application,
SchemaInitializerSwitch, SchemaInitializerSwitch,
useCurrentSchema, useCurrentSchema,
useSchemaInitializer, useSchemaInitializer,
Action,
} from '@nocobase/client'; } from '@nocobase/client';
import React from 'react'; import React from 'react';
import { appOptions } from './schema-initializer-common'; import { appOptions } from './schema-initializer-common';
@ -47,7 +47,7 @@ const AddNewButton = () => {
}; };
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Configure actions', title: 'Configure actions',
wrap: Grid.wrap, wrap: Grid.wrap,
items: [ items: [

View File

@ -1,10 +1,10 @@
/** /**
* defaultShowCode: true * defaultShowCode: true
*/ */
import React, { ReactNode } from 'react';
import { Application, SchemaInitializer, SchemaInitializerItem, useSchemaInitializerItem } from '@nocobase/client';
import { appOptions } from './schema-initializer-common';
import { TableOutlined } from '@ant-design/icons'; import { TableOutlined } from '@ant-design/icons';
import { Application, SchemaInitializer, SchemaInitializerItem, useSchemaInitializerItem } from '@nocobase/client';
import React, { ReactNode } from 'react';
import { appOptions } from './schema-initializer-common';
const Demo = () => { const Demo = () => {
const { name, foo, icon } = useSchemaInitializerItem<{ name: string; foo: string; icon: ReactNode }>(); const { name, foo, icon } = useSchemaInitializerItem<{ name: string; foo: string; icon: ReactNode }>();
@ -13,7 +13,7 @@ const Demo = () => {
}; };
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
items: [ items: [
{ {

View File

@ -1,4 +1,5 @@
import React, { FC } from 'react'; import { Field } from '@formily/core';
import { observer, useField, useFieldSchema } from '@formily/react';
import { import {
Application, Application,
Plugin, Plugin,
@ -11,9 +12,8 @@ import {
useSchemaInitializerItem, useSchemaInitializerItem,
useSchemaInitializerRender, useSchemaInitializerRender,
} from '@nocobase/client'; } from '@nocobase/client';
import { observer, useField, useFieldSchema } from '@formily/react'; import { ButtonProps, List, ListProps } from 'antd';
import { Field } from '@formily/core'; import React, { FC } from 'react';
import { ButtonProps, ListProps, List, Card } from 'antd';
const Hello = observer(() => { const Hello = observer(() => {
const field = useField<Field>(); const field = useField<Field>();
@ -56,7 +56,7 @@ const CustomListGridMenu: FC<SchemaInitializerItemsProps<ButtonProps, ListProps<
}; };
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Add Block', title: 'Add Block',
// 插入位置 // 插入位置
insertPosition: 'beforeEnd', insertPosition: 'beforeEnd',
@ -105,7 +105,7 @@ const Root = () => {
type: 'void', type: 'void',
name: 'page', name: 'page',
'x-component': 'Page', 'x-component': 'Page',
'x-initializer': 'MyInitializer', 'x-initializer': 'myInitializer',
properties: { properties: {
hello1: { hello1: {
type: 'void', type: 'void',

View File

@ -1,11 +1,11 @@
/** /**
* defaultShowCode: true * defaultShowCode: true
*/ */
import { Application, SchemaInitializer, SchemaInitializerItem } from '@nocobase/client'; import { Application, SchemaInitializer } from '@nocobase/client';
import { appOptions } from './schema-initializer-common'; import { appOptions } from './schema-initializer-common';
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
items: [ items: [
{ {

View File

@ -1,8 +1,8 @@
/** /**
* defaultShowCode: true * defaultShowCode: true
*/ */
import React from 'react';
import { Application, SchemaInitializer, SchemaInitializerItem } from '@nocobase/client'; import { Application, SchemaInitializer, SchemaInitializerItem } from '@nocobase/client';
import React from 'react';
import { appOptions } from './schema-initializer-common'; import { appOptions } from './schema-initializer-common';
const Demo = () => { const Demo = () => {
@ -11,7 +11,7 @@ const Demo = () => {
}; };
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
items: [ items: [
{ {

View File

@ -1,8 +1,8 @@
/** /**
* defaultShowCode: true * defaultShowCode: true
*/ */
import React from 'react';
import { Application, SchemaInitializer, SchemaInitializerItem } from '@nocobase/client'; import { Application, SchemaInitializer, SchemaInitializerItem } from '@nocobase/client';
import React from 'react';
import { appOptions } from './schema-initializer-common'; import { appOptions } from './schema-initializer-common';
const CommonDemo = (props) => { const CommonDemo = (props) => {
@ -10,7 +10,7 @@ const CommonDemo = (props) => {
}; };
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
items: [ items: [
{ {

View File

@ -5,7 +5,7 @@ import { Application, SchemaInitializer } from '@nocobase/client';
import { appOptions } from './schema-initializer-common'; import { appOptions } from './schema-initializer-common';
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
items: [ items: [
{ {

View File

@ -1,4 +1,5 @@
import React from 'react'; import { Field } from '@formily/core';
import { observer, useField, useFieldSchema } from '@formily/react';
import { import {
Application, Application,
Plugin, Plugin,
@ -7,9 +8,8 @@ import {
useDesignable, useDesignable,
useSchemaInitializerRender, useSchemaInitializerRender,
} from '@nocobase/client'; } from '@nocobase/client';
import { observer, useField, useFieldSchema } from '@formily/react';
import { Field } from '@formily/core';
import { Button } from 'antd'; import { Button } from 'antd';
import React from 'react';
const Hello = observer(() => { const Hello = observer(() => {
const field = useField<Field>(); const field = useField<Field>();
@ -38,7 +38,7 @@ const MyInitializerComponent = () => {
}; };
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
popover: false, popover: false,
Component: MyInitializerComponent, Component: MyInitializerComponent,
}); });
@ -73,7 +73,7 @@ const Root = () => {
type: 'void', type: 'void',
name: 'page', name: 'page',
'x-component': 'Page', 'x-component': 'Page',
'x-initializer': 'MyInitializer', 'x-initializer': 'myInitializer',
properties: { properties: {
hello1: { hello1: {
type: 'void', type: 'void',

View File

@ -1,4 +1,5 @@
import React from 'react'; import { Field } from '@formily/core';
import { observer, useField, useFieldSchema } from '@formily/react';
import { import {
Application, Application,
Plugin, Plugin,
@ -9,8 +10,7 @@ import {
useSchemaInitializerItem, useSchemaInitializerItem,
useSchemaInitializerRender, useSchemaInitializerRender,
} from '@nocobase/client'; } from '@nocobase/client';
import { observer, useField, useFieldSchema } from '@formily/react'; import React from 'react';
import { Field } from '@formily/core';
const Hello = observer(() => { const Hello = observer(() => {
const field = useField<Field>(); const field = useField<Field>();
@ -36,7 +36,7 @@ function Demo() {
} }
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Add Block', title: 'Add Block',
// 插入位置 // 插入位置
insertPosition: 'beforeEnd', insertPosition: 'beforeEnd',
@ -86,7 +86,7 @@ const Root = () => {
type: 'void', type: 'void',
name: 'page', name: 'page',
'x-component': 'Page', 'x-component': 'Page',
'x-initializer': 'MyInitializer', 'x-initializer': 'myInitializer',
properties: { properties: {
hello1: { hello1: {
type: 'void', type: 'void',

View File

@ -71,7 +71,7 @@ class SchemaInitializer<P1 = ButtonProps, P2 = {}> {
```tsx | pure ```tsx | pure
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Add Block', title: 'Add Block',
// 插入位置 // 插入位置
insertPosition: 'beforeEnd', insertPosition: 'beforeEnd',
@ -85,14 +85,13 @@ const myInitializer = new SchemaInitializer({
}); });
``` ```
<code src="./demos/schema-initializer-basic.tsx"></code> <code src="./demos/schema-initializer-basic.tsx"></code>
#### 定制化 `Component` #### 定制化 `Component`
```tsx | pure ```tsx | pure
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
Component: (props) => ( Component: (props) => (
<Avatar style={{ cursor: 'pointer' }} {...props}> <Avatar style={{ cursor: 'pointer' }} {...props}>
C C
@ -129,7 +128,7 @@ const MyInitializerComponent = () => {
} }
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Add block', title: 'Add block',
popover: false, popover: false,
Component: MyInitializerComponent, Component: MyInitializerComponent,
@ -160,7 +159,7 @@ const CustomListGridMenu: FC<SchemaInitializerItemsProps<ButtonProps, ListProps<
}; };
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
ItemsComponent: CustomListGridMenu, ItemsComponent: CustomListGridMenu,
items: [ items: [
@ -214,7 +213,7 @@ const Demo = () => {
} }
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
items: [ items: [
{ {
name: 'a', name: 'a',
@ -232,7 +231,7 @@ NocoBase 内置了一些常用的 `type`,例如 `type: 'item'`,相当于 `Co
```tsx | pure ```tsx | pure
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
items: [ items: [
{ {
name: 'a', name: 'a',
@ -298,7 +297,7 @@ const Demo = (props) => {
```tsx | pure ```tsx | pure
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
items: [ items: [
{ {
@ -319,7 +318,7 @@ const myInitializer = new SchemaInitializer({
```tsx ```tsx
import { SchemaInitializer, Application, useSchemaInitializerRender } from '@nocobase/client'; import { SchemaInitializer, Application, useSchemaInitializerRender } from '@nocobase/client';
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
items: [ items: [
{ {
@ -338,7 +337,7 @@ const myInitializer = new SchemaInitializer({
}); });
const Root = () => { const Root = () => {
const { render } = useSchemaInitializerRender('MyInitializer'); const { render } = useSchemaInitializerRender('myInitializer');
return render(); return render();
} }
const app = new Application({ const app = new Application({
@ -383,7 +382,7 @@ myInitializer.add('a.a2', {
```tsx ```tsx
import { SchemaInitializer, Application, useSchemaInitializerRender } from '@nocobase/client'; import { SchemaInitializer, Application, useSchemaInitializerRender } from '@nocobase/client';
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
items: [ items: [
{ {
@ -412,7 +411,7 @@ myInitializer.add('a.a2', {
}) })
const Root = () => { const Root = () => {
const { render } = useSchemaInitializerRender('MyInitializer'); const { render } = useSchemaInitializerRender('myInitializer');
return render(); return render();
} }
const app = new Application({ const app = new Application({
@ -551,7 +550,7 @@ const useSchemaInitializerItem: <T = any>() => T
```tsx | pure ```tsx | pure
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
items: [ items: [
{ {
@ -683,7 +682,7 @@ const Demo = ({ children }) => {
} }
const myInitializer = new SchemaInitializer({ const myInitializer = new SchemaInitializer({
name: 'MyInitializer', name: 'myInitializer',
title: 'Button Text', title: 'Button Text',
items: [ items: [
{ {