1.18.11 • Published 2 years ago

@sinoform/app-context v1.18.11

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

@sinoform/app-context

智能表单应用使用到的上下文。

权限

PermissionContext

创建权限上下文:

import { PermissionContext } from '@sinoform/app-context';
import type { Permission } from '@sinoform/types';
import { usePermissionHelper } from '@sinoform/helper-permission';

function FormPage() {
  const { formData,  formState } = useDetailPage();
  const permission = usePermissionHelper(formData,formState);

  return <PermissionContext.Provider value={permission}>
    <Form>
      ...
    </Form>
    <Buttons />
  </PermissionContext>;
}

usePermission

使用权限上下文:

import type { ButtonConfig } from '@sinoform/types';
import { usePermission } from '@sinoform/app-context';

function Buttons() {
  const buttons: ButtonConfig = ...; // 获取到的按钮数据
  const permission = usePermission(); // 从权限上下文中取权限数据

    const renderButton = (button: ButtonConfig) => {
      return <Button {...button}/>
    };

  return <>
    {buttons
      .filter(button => !permission.isHidden(button.name))
      .map(button => renderButton(button))
    }
  </>
}

表单数据

FormDataContext

创建表单数据上下文

import { FormDataContext } from '@sinoform/app-context';

function DetailPage() {
    const formDataContext = ...;// 表单数据上下文中的value
  return <FormDataContext.Provider value={formDataContext}>
          <MainFormPanel/>
         </FormDataContext.Provider>
}

使用表单数据

使用表单数据上下文

import { useFormData } from '@sinoform/app-context';

const FlowChartPanel: React.SFC = () => {
  const { formData, formState, formHelpers, workItemId } = useFormData();

  return <div>...</div>;
};

二次开发

FormAppSettingContext

创建二次开发上下文

import { FormAppSettingContext } from '@sinoform/app-context';
import FlowConfigBuilder from '@sinoform/flow-config-builder-new';
import flowConfigBase from '@sinoform/flow-config-base';
import FormConfigBuilder from '@sinoform/form-config-builder-new';
import formConfigBase from '@sinoform/form-config-base';

function App() {
  const newFlowConfig = FlowConfigBuilder.from(base)
  .updateButton('save', {
    name: '修改保存按钮名称',
  })
  .addButton('auditFailed', '审核不通过', AuditFailedButton, {
    enabled: true,
    hidden: false,
  })
  .removeButton('send')
  .build();

  const newFormConfig = ...;

  return <FormAppSettingContext.Provider value={{
          flowConfig: newFlowConfig,
          formConfig: newFormConfig
        }}>
          <MainFormPanel/>
         </FormAppSettingContext.Provider>
}
1.18.9

2 years ago

1.18.11

2 years ago

1.18.1

2 years ago

1.18.0

2 years ago

1.18.3

2 years ago

1.18.2

2 years ago

1.18.7

2 years ago

1.17.2

2 years ago

1.17.1

2 years ago

1.18.0-alpha.1

2 years ago

1.18.0-alpha.2

2 years ago

1.18.0-alpha.6

2 years ago

1.17.0

3 years ago

1.15.5

3 years ago

1.14.17

3 years ago

1.14.18

3 years ago

1.14.19

3 years ago

1.14.16

3 years ago

1.16.1

3 years ago

1.16.0

3 years ago

1.15.0

3 years ago

1.15.0-alpha.52

3 years ago

1.15.0-alpha.51

3 years ago

1.15.0-alpha.47

3 years ago

1.15.0-alpha.49

3 years ago

1.15.0-alpha.48

3 years ago

1.15.0-alpha.29

3 years ago

1.15.0-alpha.28

3 years ago

1.15.0-alpha.36

3 years ago

1.15.0-alpha.35

3 years ago

1.15.0-alpha.38

3 years ago

1.15.0-alpha.37

3 years ago

1.15.0-alpha.32

3 years ago

1.15.0-alpha.31

3 years ago

1.15.0-alpha.34

3 years ago

1.15.0-alpha.33

3 years ago

1.15.0-alpha.30

3 years ago

1.15.0-alpha.25

3 years ago

1.15.0-alpha.24

3 years ago

1.15.0-alpha.27

3 years ago

1.15.0-alpha.26

3 years ago

1.15.0-alpha.23

3 years ago

1.14.12

3 years ago

1.14.13

3 years ago

1.14.14

3 years ago

1.14.15

3 years ago

1.15.0-alpha.39

3 years ago

1.15.0-alpha.46

3 years ago

1.15.0-alpha.43

3 years ago

1.15.0-alpha.42

3 years ago

1.15.0-alpha.45

3 years ago

1.15.0-alpha.44

3 years ago

1.15.0-alpha.41

3 years ago

1.15.0-alpha.40

3 years ago

1.14.5

3 years ago

1.14.4

3 years ago

1.14.9

3 years ago

1.14.6

3 years ago

1.15.0-alpha.18

3 years ago

1.15.0-alpha.17

3 years ago

1.15.0-alpha.19

3 years ago

1.15.0-alpha.21

3 years ago

1.15.0-alpha.20

3 years ago

1.12.14

3 years ago

1.15.0-alpha.22

3 years ago

1.15.0-alpha.14

3 years ago

1.15.0-alpha.13

3 years ago

1.15.0-alpha.16

3 years ago

1.15.0-alpha.15

3 years ago

1.15.0-alpha.10

3 years ago

1.15.0-alpha.12

3 years ago

1.14.11

3 years ago

1.15.0-alpha.2

3 years ago

1.15.0-alpha.4

3 years ago

1.15.0-alpha.5

3 years ago

1.15.0-alpha.6

3 years ago

1.15.0-alpha.7

3 years ago

1.15.0-alpha.0

3 years ago

1.15.0-alpha.1

3 years ago

1.14.1

3 years ago

1.14.0

3 years ago

1.13.13

3 years ago

1.13.14

3 years ago

1.14.0-alpha.2

3 years ago

1.12.5

3 years ago

1.14.0-alpha.0

3 years ago

1.14.0-alpha.1

3 years ago

1.12.10

3 years ago

1.12.12

3 years ago

1.12.11

3 years ago

1.12.13

3 years ago

1.13.2

3 years ago

1.13.0

3 years ago

1.13.6

3 years ago

1.13.5

3 years ago

1.13.4

3 years ago

1.13.3

3 years ago

1.13.9

3 years ago

1.13.11

3 years ago

1.13.8

3 years ago

1.13.10

3 years ago

1.13.12

3 years ago

1.12.3

4 years ago

1.12.2

4 years ago

1.12.4

4 years ago

1.13.0-beta.4

3 years ago

1.13.0-beta.3

3 years ago

1.13.0-beta.2

3 years ago

1.13.0-beta.1

4 years ago

1.13.0-alpha.2

4 years ago

1.13.0-beta.0

4 years ago

1.13.0-alpha.3

4 years ago

1.13.0-alpha.0

4 years ago

1.13.0-alpha.1

4 years ago

1.13.0-alpha.6

4 years ago

1.13.0-alpha.7

4 years ago

1.13.0-alpha.4

4 years ago

1.13.0-alpha.8

4 years ago

1.12.1

4 years ago

1.12.0

4 years ago

1.12.0-alpha.2

4 years ago

1.12.0-alpha.5

4 years ago

1.12.0-alpha.1

4 years ago

1.12.0-alpha.0

4 years ago

1.11.8

4 years ago

1.11.7

4 years ago

1.11.6

4 years ago

1.11.5

4 years ago

1.11.4

4 years ago

1.11.3

4 years ago

1.11.2

4 years ago

1.11.1

4 years ago

1.11.0-beta.1

4 years ago

0.1.0

5 years ago