All Projects → didi → Epage

didi / Epage

Licence: mit
一款基于schema的可视化页面配置工具

Projects that are alternatives of or similar to Epage

vue-example
Vue.js example application (server-side rendering, router, vuex store, form validation, i18n & l10n)
Stars: ✭ 62 (-68.04%)
Mutual labels:  schema, form
lifecycle
Lifecycle support for Flutter widgets.
Stars: ✭ 30 (-84.54%)
Mutual labels:  widget, page
Vue Form Json Schema
Create forms using JSON schema. Bring your components!
Stars: ✭ 253 (+30.41%)
Mutual labels:  schema, form
Form Render
🚴‍♀️ 阿里飞猪 - 很易用的中后台「表单 / 表格 / 图表」解决方案
Stars: ✭ 3,881 (+1900.52%)
Mutual labels:  widget, form
Native
Generate a form using JSON Schema and Vue.js
Stars: ✭ 382 (+96.91%)
Mutual labels:  schema, form
fform
Flexibile and extendable form builder with constructor
Stars: ✭ 26 (-86.6%)
Mutual labels:  schema, form
formily
Simple, lightweight, and flexible schema-based form for Vue.js
Stars: ✭ 23 (-88.14%)
Mutual labels:  schema, form
Vue Rawmodel
RawModel.js plugin for Vue.js v2. Form validation has never been easier!
Stars: ✭ 79 (-59.28%)
Mutual labels:  schema, form
Schema Plugin Flow
A highly extensible JavaScript library, abbreviated as Sifo. 一个高扩展性、可二开的插件式前端开发框架
Stars: ✭ 288 (+48.45%)
Mutual labels:  schema, form
Vue Form Generator
📋 A schema-based form generator component for Vue.js
Stars: ✭ 2,853 (+1370.62%)
Mutual labels:  schema, form
Vue Page Designer
Vue component for drag-and-drop to design and build mobile website.
Stars: ✭ 702 (+261.86%)
Mutual labels:  widget, page
Fielder
A field-first form library for React and React Native
Stars: ✭ 160 (-17.53%)
Mutual labels:  schema, form
Qmarkdowntextedit
A C++ Qt QPlainTextEdit widget with markdown highlighting support and a lot of other extras
Stars: ✭ 182 (-6.19%)
Mutual labels:  widget
React Advanced Form
Functional reactive forms. Multi-layer validation, custom styling, field grouping, reactive props, and much more.
Stars: ✭ 186 (-4.12%)
Mutual labels:  form
Sonatapagebundle
This bundle provides a Site and Page management through container and block services
Stars: ✭ 181 (-6.7%)
Mutual labels:  page
React Redux Form
Create forms easily in React with Redux.
Stars: ✭ 2,099 (+981.96%)
Mutual labels:  form
Imguizmo.quat
ImGui GIZMO widget - 3D object manipulator / orientator
Stars: ✭ 187 (-3.61%)
Mutual labels:  widget
Darkmode.js
🌓 Add a dark-mode / night-mode to your website in a few seconds
Stars: ✭ 2,339 (+1105.67%)
Mutual labels:  widget
Flutter smart select
SmartSelect allows you to easily convert your usual form select or dropdown into dynamic page, popup dialog, or sliding bottom sheet with various choices input such as radio, checkbox, switch, chips, or even custom input. Supports single and multiple choice.
Stars: ✭ 179 (-7.73%)
Mutual labels:  widget
Composable Form
Build type-safe composable forms in Elm
Stars: ✭ 179 (-7.73%)
Mutual labels:  form

Epage

一款基于schema的可视化页面配置工具。可基于流行的前端组件库配置表单、页面等。

English Introduction | 中文介绍

文档

官网:http://epage.didichuxing.com

演示地址

安装

此库提供设计器界面及基本交互,是pc端设计器核心依赖,移动端渲染器可以不依赖此库。widget能力及工具面板内容需配合渲染器一起使用,如epage-iview,用户最终使用仅使用渲染器包即可。

开发移动端渲染的话可以直接引入epage-core即可(因为仅完成渲染功能即可,不需要拖动配置界面)。

开发自定义widget推荐通过脚手架 epage-cli 方式创建

# 全局安装
npm i -g epage-cli
# 初始化项目
epage init myWidgets
cd myWidgets
# 启动
npm start
# 需提前安装vue vuex iview vuedraggable
npm install epage -S
# 或者 yarn add epage

仓库更新说明

本仓库为Epage渲染器Epage设计器核心依赖,更新日志查看CHANGLOG

更多Epage渲染器及相关工具参见:https://github.com/epage-team

设计器及渲染器示例

import { render } from 'epage-core'
import Epage from 'epage'
import pcWidgets, { entry as PCEntry } from 'epage-iview'
import h5Widgets, { entry as H5Entry } from 'epage-vant'
import 'iview/src/styles/index.less';
import 'vant/lib/index.less' /* 双端设计才需要 */
import 'epage/src/style/main.less'
import 'epage-iview/src/style/main.less'
import 'epage-vant/src/style/main.less' /* 双端设计才需要 */

const el = document.getElementById('root')
// 实例化设计器,Render为渲染器,widgets为待注册的页面部件
// 关于 Render 和 widgets,可以访问 https://github.com/epage-team/epage-iview
const config = {
  el,
  pc: {
    widgets: pcWidgets,
    Render: render.VueRender,
    component: PCEntry
  },
  // 移动端同时设计时才需要
  h5: {
    widgets: h5Widgets,
    Render: render.VueRender,
    component: H5Entry
  }
}
new Epage(config)

更多用法参考CHANGELOG#v0.7.0

epage-iview 为基于 iview 组件库的 epage 渲染器实现

设计理念

通过schema方式描述页面功能、展示及交互,以可视化方式配置生成schema,最终生成页面。

项目起源于流程表单场景,定制开发每一个表单成本太高且维护性差,最主要是实施人员希望通过可视化方式配置生成表单。基于此场景,在开发中我们发现,表单场景与其他一些页面(如列表页、详情页、图表报表等)场景非常相似,都应该可以通过可视化方式配置出来,从而达到组件复用、灵活配置、方便维护等效果。在使用过程中,业务的复杂远不是基础组件能覆盖的,于是要求需要具备很强的扩展性,以便定制业务组件,有些项目甚至还使用了不同前端框架。

epage的设计器及渲染器分别基于原生dom节点设计,使得设计器及渲染器分离,结合统一的schema规范,实现一次设计多处渲染。关于如何定制开发widget可以访问 如何开发widget?

交流群

QQ群( 1128074461 )

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].