0.1.7 • Published 3 years ago
axx-slide-shape-sdk v0.1.7
安装
npm install
ornpm install --force
- 如果缺少
babel/core
,则全局安装npm install babel/core -g
开发
npm run dev
代码结构
src/index.ts
sdk 主文件src/types.ts
类型定义src/utils.ts
sdk 常用工具函数src/definations.ts
基本图形定义src/stage
舞台实现src/shapes
图形组件实现src/jquery
jquery 插件实现src/controllers
图形内控制点的具体实现src/factory
图形工厂、工具src/utils
组件形变、图形几何等实现
打包
npm run build
使用
必要
https://q-fe.aixuexi.com/slide/static/lib/jquery-migrate-1.2.1.min.js
//at.alicdn.com/t/font_2807890_0w941y9w5ui.css
开发阶段可以将
npm run build
打包后dist
目录中生成的index.es.js
,index.browswer.js
- es方式引用方式需要将
index.es.js
放置到当前项目的src/
文件加下的任意目录,之后通过一下方式引用
- 浏览器引入, 参考
demo/browswer.html
- es方式引用方式需要将
API
const sdk = new SlideShapeSdk({ zoom: 1 })
// 实例化sdk,注意sdk为单例模式,多个实例化无效,参数zoom表示网页缩放系数,默认为1表示无缩放sdk.createWidget(stage: IBaseStage, options: CreationOptions): IShapeWidget | undefined;
// 创建组件sdk.addStage(el: HTMLDivElement): IBaseStage | undefined;
// 添加画板sdk.getWidgetById(id: string): IShapeWidget | undefined;
// 根据id获取组件sdk.getWidgetByNode(node: HTMLDivElement): IShapeWidget | undefined;
// 根据组件节点获取组件sdk.getCurrentSelectedWidget(): IShapeWidget | undefined;
// 获取当前被选中的组件sdk.getCurrentEditingWidget(): IShapeWidget | undefined;
// 获取当前正在编辑中的组件sdk.getDatas(): Map<HTMLDivElement, Array<string>>;
// 获取全部画板中组件的数据sdk.getStage(el: HTMLDivElement): IBaseStage | undefined;
// 根据节点获取画板sdk.getStageDatas(el: HTMLDivElement): Array<String>;
// 获取某一个画板中组件的数据sdk.apply(fragment: HTMLElement): void;
// 还原文档中的画板和组件,此方法会自动查找给定文档节点并创建画板和组件进行自动关联sdk.applyStage(fragment: HTMLDivElement): IBaseStage | undefined;
// 还原一个画板及其画板内的组件sdk.applyWidget(stage: IBaseStage, node: HTMLDivElement): IShapeWidget | undefined;
// 还原一个组件,并且以当前组件的父节点作为画板、如果父节点并不是一个画板则创建sdk.clearAllSelecteds(): void;
// 清除所有组件的选中及编辑状态sdk.clearOtherSelecteds(shapwWidget: IShapeWidget): void;
// 清除给定组件之外的其他组件的选中及编辑状态sdk.destroyWidgetById(id: string): void
// 根据id销毁组件sdk.destroyWidgetByNode(node: HTMLDivElement): void
// 根据节点销毁组件sdk.destroyStageWidgets(stage: IBaseStage): void;
// 销毁指定舞台的组件sdk.destroy(): void
// 销毁全部组件