diff --git a/.gitignore b/.gitignore index 8db35957c78ef5cdd3e9999b47416d97b690e2b3..15de7e6a4c8600afc35122420ae839d6912c88d7 100644 --- a/.gitignore +++ b/.gitignore @@ -250,3 +250,5 @@ paket-files/ /WorkFlowCore/WorkFlowCore.Host/Data /WorkFlowCore/.vscode /WorkFlowCore/WorkFlowCore.Host/appsettings.Development.json +/WorkFlowCore/linux非容器更新方法.txt +/WorkFlowCore/publish.bat diff --git a/README.md b/README.md index 9a16f42a02265c3393e22a7fa02223ae7bbca093..e670d076602c03f40d2c2ffd7454c36734c55002 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,9 @@ ## 演示地址 - +***演示环境为dev分支打包*** http://39.101.74.14:8083/index.html#/workflow/list ## QQ交流群 :558038639 -## 演示源码分支 - -https://gitee.com/mengtree/workflow-engine/tree/sample/ - -详细的应用建议结合演示平台参考演示分支源码。 ## 简介 @@ -169,6 +164,241 @@ https://gitee.com/mengtree/workflow-engine/tree/sample/ 3. 其它的诸如新建流程设计、流程审批记录等,可通过接口查询,或者自行实现相应的查询接口。 +## 快速上手 + +### 创建流程设计 +该步骤是设计我们的流程节点该怎么走。 + +#### ***简单流程*** +- 在流程设计页面,点击新增,输入流程名称,点击确定,即可创建一条流程设计记录,新增成功后自动进入到流程设计页面。 +![新增](/WorkFlowCore/ReadmeImges/流程设计-新增.png ) + + +- 也可以通过点击列表的编辑按钮,进入到设计页面。 +![编辑](/WorkFlowCore/ReadmeImges/流程设计-编辑.png ) +在设计页面,左边是可拖拽的节点,中间的节点布局,右边是属性编辑区。 +![新增](/WorkFlowCore/ReadmeImges/流程设计-设计.png ) + +- 从左边拖拽节点到中间进行布局设计,开始-普通-结束,这是最简单的流程设计。 + ![节点拖拽](/WorkFlowCore/ReadmeImges/流程设计-节点拖拽.gif ) +- 节点连线,鼠标放到布局区节点的 左边图标,鼠标会变成 十字 ,点击拖拽,放到目标节点,放开鼠标,就自动连接上了。 +![节点拖拽](/WorkFlowCore/ReadmeImges/流程设计-节点连线.gif) +- 点击右上角的 保存 按钮,即可保存流程设计。 +![节点拖拽](/WorkFlowCore/ReadmeImges/流程设计-编辑-保存.png) +这样一个简单的流程就完成了。 + +#### ***有分支的流程*** +- 一个节点可以连接到几个下级节点,这样就构成了多分支流程。 +![多分支连接](/WorkFlowCore/ReadmeImges/流程设计-多分支连接.gif) + + +#### ***有会签的流程*** +- 多个节点连线到会签节点,实现会签(等待所有人都处理完才到下一步)。 +![会签连接](/WorkFlowCore/ReadmeImges/流程设计-节点会签.gif) + + +#### ***有子流程的流程*** +- 使用子流程节点,可以实现等待子流程节点审批完成后,主流程才会到下一个节点(慎用子流程)。子流程节点 和 子节点节点 是配合使用,一个子流程必须用子节点节点做起始节点,子节点用于标记这里子流程的开始节点。一个子流程可以有多个子节点节点,可以通过条件配置指定走哪个子流程(后面会讲条件配置) +![子流程](/WorkFlowCore/ReadmeImges/流程设计-子流程设计.png) +多个子流程分支的情况(当然,这个不建议,如果需要有多个子流程分支,则应该在外层就指定多个子流程节点,在外层先进行判断): +![子流程](/WorkFlowCore/ReadmeImges/流程设计-多个子流程设计.png) + +***子流程的逻辑相对麻烦,驳回可能会有问题,如果有此类需求,优先建议将节点都平铺出来,类似这种:*** +![子流程](/WorkFlowCore/ReadmeImges/流程设计-子流程设计-问题.png) + + + +### 节点属性 +点击节点,在右侧可以编辑该节点的属性。 + +***注意:配置完的节点信息,一定要点击配置面版右下角的 确定 按钮保存,否则配置信息调整无效。*** +#### 名称 +节点显示名称 + +#### 审批人员 +审批人员的配置确定这个节点由谁来审批。 + +一个节点可以增加多个配置项。 可以通过自定义人员选择器来增加人员的选择类型(详见扩展点) + +- 点击 添加人员,会新增一个人员配置项 +![添加人员](/WorkFlowCore/ReadmeImges/流程设计-节点配置-添加人员.png),其中, + - 人员类型。人员类型指定了这个人按什么样的方式或者分类获取。比如,按角色,按职位等 + - 人员项。分类明细,指定具体的类型,比如,类型按角色,则这个人员项则选择具体的某个角色。 + ![人员选择](/WorkFlowCore/ReadmeImges/流程设计-节点配置-添加人员-人员选择.png) + - 参数。这个为额外的配置项,具体作用和用法由人员选择器决定。 + - 审批、抄送。审批,则该配置项匹配的人员将可以审批,抄送,则该选项匹配的人员只能查看,不能审批。 + - 描述。自定义备注。 + +#### 等待所有人审批 + 如果勾选了该选项,当匹配到多个人时,将等到所有人都审批完成才会往下走。(有点类似会签,但是会签的等待上游的所有节点审批,但每个节点都有可能匹配到多个人,特别时按职位匹配时) + + +#### 退回节点 +退回节点用于手动指定审批驳回时,驳回到哪个节点上。默认情况下,无需指定退回节点,驳回时将自动回溯到上一级的节点。 + - 点击 添加节点 增加一个退回节点配置 + ![人员选择](/WorkFlowCore/ReadmeImges/流程设计-节点配置-退回节点.png) + + - 选择节点。指定驳回时要返回的是哪个节点。由于节点处理没那么智能,这里的节点一定要选择其上游的节点,否则流程可能会有问题。 + - 回退条件。配置驳回时,验证是否退回到指定的节点。只有满足条件时,才能退回。默认不指定时,将无条件回退到指定的节点。退回条件配置信息: + - 条件类型。该选项指定要用什么处理逻辑来做判断。l条件类型可以通过自定义条件处理器扩展(详见扩展点)。 + - 参数。提供参数给处理逻辑解析,不同的条件类型需要的参数可能不一样,除此之外,在后台处理时,还会结合表单数据,流程信息等信息进行解析,具体处理方式以条件类型为准。 + + 比如,条件类型 选择 布尔处理器,参数 传 true 则,标识,这个条件是满足的,但这种方式是写死的。 + + 如果使用 表单条件处理器,参数传 value(请假天数)>3(请假天数 为json表单字段),则匹配审批表单的请假天数 大于 3,才会满足。 + + **再次强调,使用什么参数格式,得看条件类型的规范,** + + + +### 线条属性 +点击连接节点的线条,可以配置线条的属性。线条主要配置的是条件处理,其确定了这条线是否走的通。 + +***注意:配置完的节点信息,一定要点击配置面版右下角的 确定 按钮保存,否则配置信息调整无效。*** + +点击线条,右侧将切换为线条属性配置。 +![线条配置](/WorkFlowCore/ReadmeImges/流程设计-线条配置.png) + +#### 线条名称 +线条名称 将显示在设计图的线条上,通常,如果该线条配置了条件,可以将条件作为名称。 +![条件名称](/WorkFlowCore/ReadmeImges/流程设计-线条配置-条件名称.png) + +#### 添加条件 +通过配置条件,来决定该连线是否能联通。 + +在节点审批时,将判断下游节点的连线,哪条线连的通就派发到连接的节点。相当于某些流程设计里的判断节点。’ +这里的思路是直接赋予线条条件,连线能不能打通,就看条件满不满足。 + +***对于子流程的线条配置,如果一个子流程节点有多个子流程,则应该只能让其满足一条分支,否则流程会有问题*** + +参考 节点配置--退回节点--回退条件。 + +***附条件处理器的解析基本流程:*** +- 数据来源:审批时,对条件进行判断时,有两个来源,一个是一开始填写,发起后就不能更改的 表单数据,一个是在每一个人审批都可以有自己步骤的表单数据 这里称为审批表单(通常不需要,看实际情况)。他们在条件解析 +时是通过不同的字段传入的: +![条件名称](/WorkFlowCore/ReadmeImges/流程设计-线条配置-条件数据来源.png) +而条件解析传入的表达式将作为公式解析,用来判断表单的数据是否满足表达式的公式。 +![条件名称](/WorkFlowCore/ReadmeImges/流程设计-线条配置-条件数据来源-表达式.png) + + + +- 数据解析。不同的条件处理器解析不同,这里以 Json条件处理器为例(2023-5-1 新增),该处理器支持通过 "\${属性key}" 的方式来解析变量,比如,表单的数据是这样 :"{days:12}",则通过 \${days} 即可取到 12,如果我们的表达式 写成 "\${days}>10",那这个条件就会解析为 12>10 , +显然就会返回 true。具体怎么解析还得看条件处理器怎么支持。 + + 既然数据是通过 属性key 来获取数据,那我们的表单里也要有这个key才行。 + + 如果表单数据是直接在输入框编辑,就直接指定属性名称,比如, +![条件名称](/WorkFlowCore/ReadmeImges/流程设计-线条配置-条件数据来源-表单key.png) + + 那如果是通过动态表单配置的表单,则一定要手动指定控件的属性名称: +![条件名称](/WorkFlowCore/ReadmeImges/流程设计-线条配置-条件数据来源-动态表单key.png) + + + + + + + +### 流程信息 +通过点击编辑面版的右上角 流程信息 可以查看当前设计的 json 信息,还可以直接更新 json 信息以实现编辑,通常需要复制一个流程时,可以通过该功能。 +![条件名称](/WorkFlowCore/ReadmeImges/流程设计-编辑-复制编辑.png) + +### 保存 +点击右上角的保存按钮保存流程设计。 +![保存](/WorkFlowCore/ReadmeImges/流程设计-编辑-保存.png) + +- 描述。这个是这个流程的描述 +- 版本。一个流程设计可以有多个版本,通过多版本控制,可以实现在业务演变过程中,调整流程,并且保证已经审批中的流程正常。 +- 版本描述。针对这个版本的描述。 + + +### 列表功能 +![列表功能](/WorkFlowCore/ReadmeImges/流程设计-列表功能.png) + +- 查看。快速查看设计图 +- 编辑。进入设计页面编辑设计图。 +- 版本切换。一个流程设计随着业务变化会有多个版本,该版本切换确定新建的流程使用哪个版本。 +- 模拟。该功能提供流程设计的模拟验证,以确保调整的流程是否正常。 + - 点击模拟会进入到流程模拟页面 + ![模拟](/WorkFlowCore/ReadmeImges/流程设计-列表功能-模拟.png) + 在模拟页面,可以手动编辑json表单数据,然后指定人员进行审批。 + - 是否模拟。该勾选项如果不勾选,将当作一条正常的流程发起审批。仅为了测试,默认勾选。 + - 审批。模拟流程发起后,可以切换当前用户吗,如果下一个步骤是他审批的,将会看到审批表单。 + ![列表功能](/WorkFlowCore/ReadmeImges/流程设计-列表功能-模拟-切换-当前用户.png) + 审批可以进行直接审批或者转发 + ![列表功能](/WorkFlowCore/ReadmeImges/流程设计-列表功能-模拟-审批.png) + ![列表功能](/WorkFlowCore/ReadmeImges/流程设计-列表功能-模拟-转发.png) + - 表单数据。该参数适用于每次审批可能会更改表单数据的场景。该场景可能发生在作业流控制,即在某些节点可以编辑数据。 + - 批语。 + - 其它(在模拟页面没有附件等上传,但实际应用过程,可以在不同的审批不同提交附件文件等) + - 转发即转给另一个人处理,转发的人员也是通过人员选择器选择,详细参考节点配置的人员选择。 + + + + + +### 配置流程表单 +*这一步不是必须。如果你的系统有自己的表单,这里则用不上。在这里,是为了让演示环境更完整以及方便,才增加了动态表单模块* + +*流程表单和流程设计不是必须关联的,在demo平台上的表单设计只是提供一种应用的参考方式。可以但不限于。可以理解为,这里的表单只是为了将表单数据进行可视化,可操作化* + + +#### 表单创建 +切换到 流程表单 功能菜单,点击新增,创建一个与指定流程设计版本的表单。 +![创建](/WorkFlowCore/ReadmeImges/流程表单-创建.png) + +#### 表单编辑 +新建的表单需要通过列表页,点击编辑进入到编辑页面,在编辑页面编辑表单。 +![创建](/WorkFlowCore/ReadmeImges/流程表单-编辑.png) +与流程设计类型,表单设计也分三个区域,左侧控件区,中间是布局区,右侧是控件属性区。 +通过拖拽左边的控件到中间编辑区进行控件布局。 +![推拽](/WorkFlowCore/ReadmeImges/流程表单-编辑-推拽.png) +![布局](/WorkFlowCore/ReadmeImges/流程表单-编辑-布局.png) + +#### 控件编辑 +选中布局区域的控件,通过其下的功能按钮可以进行简单的控件编辑。 + +![控件编辑](/WorkFlowCore/ReadmeImges/流程表单-编辑-布局-控件编辑.png) + - 删除。从布局区域移除该控件 + - 复制。复制一个同样的控件(会生成新的控件id) + - 编辑。点击编辑右侧将会出现该控件的属性面版,可直接编辑属性。 + ![控件属性](/WorkFlowCore/ReadmeImges/流程表单-编辑-布局-控件属性.png) + 不同的控件类型可编辑的控件属性也有所不同。通常有: + - 宽度。宽度将表单的宽度分为24 个栅格,选择 6 个栅格表示该控件占据 1/4 的宽度。12 个栅格标识占据了 1/2 的宽度。 + - 字段。自动生成的字段名称。可以手动指定(但不可重复)。通常如果需要在流程中解析字段数据时,应该要手动指定字段名称。 + - 字段类型。也是控件类型,切换将更改控件样式和可配置的属性。 + - 默认值。指定默认值。 + + +#### 几种特殊的控件和属性 +- 单、多选。比如 checkbox,select,radiobox 等,对于这些,特别提供了 选项属性,选项属性是一组数组,指定选择值和名称两个属性填写。 + ![控件属性](/WorkFlowCore/ReadmeImges/流程表单-编辑-布局-控件属性-选择项.png) + + - 表格table。表格需要配置每一列的数据,每一列又可以是不同的数据类型,所以表格的属性相当于嵌套了一层控件 + ![控件属性](/WorkFlowCore/ReadmeImges/流程表单-编辑-布局-控件属性-表格.png) + + +#### 预览 +点击预览可以查看生成的表单效果。 + +#### 保存 +与流程设计类似,流程表单也可以进行版本管理,一个流程设计可以设计多版表单,但最终数据呈现以激活的版本为准。 + +![控件属性](/WorkFlowCore/ReadmeImges/流程表单-保存.png) + + +### 发起审批 + +在 流程审批--我发起的-新建 ,即可创建和发起审批。 + + + + + + + + + ## API ### 通用 @@ -844,7 +1074,8 @@ https://gitee.com/mengtree/workflow-engine/tree/sample/ - 返回流程审批集合.(属性参考 **新建审批** ***/api/WorkFlow/CreateWorkTask***) - #### 接口现状 - - 目前已实现的接口只能保证基本的流程运作,实际上应用过程可能还有更多的场景没考虑到。特别是对于查询接口,这就需要根据业务自己实现。 + - 目前已实现的接口只能保证基本的流程运作,实际上应用过程可能还有更多的场景没考虑到。由于能力有限,不可能做到面面俱到,特别是对于查询接口,这就需要根据业务自己实现。 + ## 扩展点 @@ -883,35 +1114,5 @@ https://gitee.com/mengtree/workflow-engine/tree/sample/ ``` services.Replace(new ServiceDescriptor(typeof(IWorkflowSession),typeof(DefaultSession), ServiceLifetime.Scoped)); ``` - -### 切换数据库读写工具 -- 目前默认使用 EF 进行数据库读写。参考(***项目运行***切换)。 -- 如需要实现其他数据库工具,则需要在 **WorkFlowCore.Framework** 实现 WorkflowCore.IRepositories 下的所有接口。并在**WorkFlowCoreFrameworkService** 替换现有的注册,类似: - ``` - if (conf.OrmType== FrameworkConfigOrmType.Default) - { - services.AddScoped(typeof(IBasicRepository<,>), typeof(BasicRepository<,>)); - services.AddScoped(typeof(IBasicRepository<>), typeof(BasicRepository<>)); - services.AddScoped(typeof(IWorkStepRepository), typeof(WorkStepRepository)); - services.AddScoped(typeof(IWorkTaskRepository), typeof(WorkTaskRepository)); - services.AddScoped(typeof(IUnitOfWork), typeof(UnitOfWork)); - services.AddScoped(typeof(UnitOfWork)); - services.AddScoped(typeof(IUnitOfWorkManager), typeof(UnitOfWorkManager)); - } - else if (conf.OrmType == FrameworkConfigOrmType.EF) - { - services.AddScoped(typeof(IBasicRepository<,>), typeof(BasicRepository4EF<,>)); - services.AddScoped(typeof(IBasicRepository<>), typeof(BasicRepository4EF<>)); - services.AddScoped(typeof(IWorkStepRepository), typeof(WorkStepRepository4EF)); - services.AddScoped(typeof(IWorkTaskRepository), typeof(WorkTaskRepository4EF)); - services.AddScoped(typeof(IUnitOfWork), typeof(UnitOfWork4EF)); - services.AddScoped(typeof(IUnitOfWorkManager), typeof(UnitOfWorkManager4EF)); - } - ``` - - ### 自定义 EventBus - - 实现 **WorkFlowCore.Common.EventBus** 下 ***IEventBus*** 接口,参考 **DefaultEventBus** 实现。并在 **EventBusService** 进行服务的注册扩展。之后在 Setup services 配置载入即可。 - - \ No newline at end of file diff --git a/WorkFlowCore/Dockerfile b/WorkFlowCore/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..737a6b9925312dd4e8e9c42c10538e02b2b4afe0 --- /dev/null +++ b/WorkFlowCore/Dockerfile @@ -0,0 +1,25 @@ +#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. + +FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base +WORKDIR /app +EXPOSE 80 +EXPOSE 443 + +FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build +WORKDIR /src +COPY ["WorkFlowCore.Host/WorkFlowCore.Host.csproj", "WorkFlowCore.Host/"] +COPY ["WorkFlowCore.Framework/WorkFlowCore.Framework.csproj", "WorkFlowCore.Framework/"] +COPY ["WorkFlowCore/WorkFlowCore.csproj", "WorkFlowCore/"] +COPY ["WorkFlowCore.Common/WorkFlowCore.Common.csproj", "WorkFlowCore.Common/"] +RUN dotnet restore "WorkFlowCore.Host/WorkFlowCore.Host.csproj" +COPY . . +WORKDIR "/src/WorkFlowCore.Host" +RUN dotnet build "WorkFlowCore.Host.csproj" -c Release -o /app/build + +FROM build AS publish +RUN dotnet publish "WorkFlowCore.Host.csproj" -c Release -o /app/publish /p:UseAppHost=false + +FROM base AS final +WORKDIR /app +COPY --from=publish /app/publish . +ENTRYPOINT ["dotnet", "WorkFlowCore.Host.dll"] \ No newline at end of file diff --git a/WorkFlowCore/Plugins/Conditions/Condition_PluginDemo/Condition_PluginDemo.csproj b/WorkFlowCore/Plugins/Conditions/Condition_PluginDemo/Condition_PluginDemo.csproj index 6b5d6145a2ca37287350f07365b67a5ac3a7e968..0bf523d497e8b39ff8a27b68594ff8d8fe872424 100644 --- a/WorkFlowCore/Plugins/Conditions/Condition_PluginDemo/Condition_PluginDemo.csproj +++ b/WorkFlowCore/Plugins/Conditions/Condition_PluginDemo/Condition_PluginDemo.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 diff --git a/WorkFlowCore/Plugins/UserSelectors/UserSelector_PluginDemo/UserSelector_PluginDemo.csproj b/WorkFlowCore/Plugins/UserSelectors/UserSelector_PluginDemo/UserSelector_PluginDemo.csproj index f295c94724587307610a4bc8a061c130349c7e9b..970002d067c1b3d56597a080de48ce33161127d3 100644 --- a/WorkFlowCore/Plugins/UserSelectors/UserSelector_PluginDemo/UserSelector_PluginDemo.csproj +++ b/WorkFlowCore/Plugins/UserSelectors/UserSelector_PluginDemo/UserSelector_PluginDemo.csproj @@ -1,7 +1,7 @@ - netcoreapp3.1 + net6.0 diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\344\277\235\345\255\230.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\344\277\235\345\255\230.png" new file mode 100644 index 0000000000000000000000000000000000000000..5c807d75cad8a8534bbeb887d2c1b5825c6a0610 Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\344\277\235\345\255\230.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\345\210\233\345\273\272.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\345\210\233\345\273\272.png" new file mode 100644 index 0000000000000000000000000000000000000000..25c4f21fbc95af1db2fd7cb69c13b519eee3e9fe Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\345\210\233\345\273\272.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\347\274\226\350\276\221-\345\270\203\345\261\200-\346\216\247\344\273\266\345\261\236\346\200\247-\350\241\250\346\240\274.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\347\274\226\350\276\221-\345\270\203\345\261\200-\346\216\247\344\273\266\345\261\236\346\200\247-\350\241\250\346\240\274.png" new file mode 100644 index 0000000000000000000000000000000000000000..7b0143cb6e34a2e6d8bce3f69ce2cc24395964d6 Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\347\274\226\350\276\221-\345\270\203\345\261\200-\346\216\247\344\273\266\345\261\236\346\200\247-\350\241\250\346\240\274.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\347\274\226\350\276\221-\345\270\203\345\261\200-\346\216\247\344\273\266\345\261\236\346\200\247-\351\200\211\346\213\251\351\241\271.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\347\274\226\350\276\221-\345\270\203\345\261\200-\346\216\247\344\273\266\345\261\236\346\200\247-\351\200\211\346\213\251\351\241\271.png" new file mode 100644 index 0000000000000000000000000000000000000000..4c09c8d0a936fc278939474ba6333e9b8864a293 Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\347\274\226\350\276\221-\345\270\203\345\261\200-\346\216\247\344\273\266\345\261\236\346\200\247-\351\200\211\346\213\251\351\241\271.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\347\274\226\350\276\221-\345\270\203\345\261\200-\346\216\247\344\273\266\345\261\236\346\200\247.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\347\274\226\350\276\221-\345\270\203\345\261\200-\346\216\247\344\273\266\345\261\236\346\200\247.png" new file mode 100644 index 0000000000000000000000000000000000000000..0eb11d3748f1ec60f42de90a3e64cfda98994d55 Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\347\274\226\350\276\221-\345\270\203\345\261\200-\346\216\247\344\273\266\345\261\236\346\200\247.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\347\274\226\350\276\221-\345\270\203\345\261\200-\346\216\247\344\273\266\347\274\226\350\276\221.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\347\274\226\350\276\221-\345\270\203\345\261\200-\346\216\247\344\273\266\347\274\226\350\276\221.png" new file mode 100644 index 0000000000000000000000000000000000000000..b30703ba2afe5a7109cbc8e7dcc3af895d392978 Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\347\274\226\350\276\221-\345\270\203\345\261\200-\346\216\247\344\273\266\347\274\226\350\276\221.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\347\274\226\350\276\221-\345\270\203\345\261\200.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\347\274\226\350\276\221-\345\270\203\345\261\200.png" new file mode 100644 index 0000000000000000000000000000000000000000..921446f0066276604b75544460e92dbf1849d043 Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\347\274\226\350\276\221-\345\270\203\345\261\200.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\347\274\226\350\276\221-\346\216\250\346\213\275.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\347\274\226\350\276\221-\346\216\250\346\213\275.png" new file mode 100644 index 0000000000000000000000000000000000000000..5e10613aa9e3b86e80b5d846cf21f32431358610 Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\347\274\226\350\276\221-\346\216\250\346\213\275.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\347\274\226\350\276\221.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\347\274\226\350\276\221.png" new file mode 100644 index 0000000000000000000000000000000000000000..5c7bee8eb9728642acc455740c4cc6911ba45394 Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\241\250\345\215\225-\347\274\226\350\276\221.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\210\227\350\241\250\345\212\237\350\203\275-\346\250\241\346\213\237-\345\210\207\346\215\242-\345\275\223\345\211\215\347\224\250\346\210\267.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\210\227\350\241\250\345\212\237\350\203\275-\346\250\241\346\213\237-\345\210\207\346\215\242-\345\275\223\345\211\215\347\224\250\346\210\267.png" new file mode 100644 index 0000000000000000000000000000000000000000..4dced35955e5816b40231e532502d01eb6583bca Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\210\227\350\241\250\345\212\237\350\203\275-\346\250\241\346\213\237-\345\210\207\346\215\242-\345\275\223\345\211\215\347\224\250\346\210\267.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\210\227\350\241\250\345\212\237\350\203\275-\346\250\241\346\213\237-\345\256\241\346\211\271.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\210\227\350\241\250\345\212\237\350\203\275-\346\250\241\346\213\237-\345\256\241\346\211\271.png" new file mode 100644 index 0000000000000000000000000000000000000000..764210575ef8b95d067b3f6c41734cf12fb51898 Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\210\227\350\241\250\345\212\237\350\203\275-\346\250\241\346\213\237-\345\256\241\346\211\271.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\210\227\350\241\250\345\212\237\350\203\275-\346\250\241\346\213\237-\350\275\254\345\217\221.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\210\227\350\241\250\345\212\237\350\203\275-\346\250\241\346\213\237-\350\275\254\345\217\221.png" new file mode 100644 index 0000000000000000000000000000000000000000..d80beef7e9aa45aa418073b6c40ccc85810780f8 Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\210\227\350\241\250\345\212\237\350\203\275-\346\250\241\346\213\237-\350\275\254\345\217\221.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\210\227\350\241\250\345\212\237\350\203\275-\346\250\241\346\213\237.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\210\227\350\241\250\345\212\237\350\203\275-\346\250\241\346\213\237.png" new file mode 100644 index 0000000000000000000000000000000000000000..61e9a75a482fe0811bfc4bc4bb4d601449fc7127 Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\210\227\350\241\250\345\212\237\350\203\275-\346\250\241\346\213\237.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\210\227\350\241\250\345\212\237\350\203\275.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\210\227\350\241\250\345\212\237\350\203\275.png" new file mode 100644 index 0000000000000000000000000000000000000000..a1c5298e6233fabbd7a9d028a645f08da5379a0c Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\210\227\350\241\250\345\212\237\350\203\275.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\244\232\344\270\252\345\255\220\346\265\201\347\250\213\350\256\276\350\256\241.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\244\232\344\270\252\345\255\220\346\265\201\347\250\213\350\256\276\350\256\241.png" new file mode 100644 index 0000000000000000000000000000000000000000..59aa138cb9829f45d1c1c27519abfce23ee5e5d5 Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\244\232\344\270\252\345\255\220\346\265\201\347\250\213\350\256\276\350\256\241.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\244\232\345\210\206\346\224\257\350\277\236\346\216\245.gif" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\244\232\345\210\206\346\224\257\350\277\236\346\216\245.gif" new file mode 100644 index 0000000000000000000000000000000000000000..a05ab23314b5c0829c09ef28a97e8e59f031d9c2 Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\244\232\345\210\206\346\224\257\350\277\236\346\216\245.gif" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\255\220\346\265\201\347\250\213\350\256\276\350\256\241-\351\227\256\351\242\230.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\255\220\346\265\201\347\250\213\350\256\276\350\256\241-\351\227\256\351\242\230.png" new file mode 100644 index 0000000000000000000000000000000000000000..67319d094fcd95f2cd5900203d701ff264c3528b Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\255\220\346\265\201\347\250\213\350\256\276\350\256\241-\351\227\256\351\242\230.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\255\220\346\265\201\347\250\213\350\256\276\350\256\241.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\255\220\346\265\201\347\250\213\350\256\276\350\256\241.png" new file mode 100644 index 0000000000000000000000000000000000000000..22eead381d4b4aab406c9122f828457b62d57e7f Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\345\255\220\346\265\201\347\250\213\350\256\276\350\256\241.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\346\226\260\345\242\236.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\346\226\260\345\242\236.png" new file mode 100644 index 0000000000000000000000000000000000000000..5ff743f5a984b7611a8aeea005abc9e64a8475fc Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\346\226\260\345\242\236.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\272\277\346\235\241\351\205\215\347\275\256-\346\235\241\344\273\266\345\220\215\347\247\260.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\272\277\346\235\241\351\205\215\347\275\256-\346\235\241\344\273\266\345\220\215\347\247\260.png" new file mode 100644 index 0000000000000000000000000000000000000000..63e84b4529d3b381c66fe27304a5561adfc0992c Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\272\277\346\235\241\351\205\215\347\275\256-\346\235\241\344\273\266\345\220\215\347\247\260.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\272\277\346\235\241\351\205\215\347\275\256-\346\235\241\344\273\266\346\225\260\346\215\256\346\235\245\346\272\220-\345\212\250\346\200\201\350\241\250\345\215\225key.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\272\277\346\235\241\351\205\215\347\275\256-\346\235\241\344\273\266\346\225\260\346\215\256\346\235\245\346\272\220-\345\212\250\346\200\201\350\241\250\345\215\225key.png" new file mode 100644 index 0000000000000000000000000000000000000000..9fd7f1ff98442c2e6757be618fb474ea861eab4d Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\272\277\346\235\241\351\205\215\347\275\256-\346\235\241\344\273\266\346\225\260\346\215\256\346\235\245\346\272\220-\345\212\250\346\200\201\350\241\250\345\215\225key.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\272\277\346\235\241\351\205\215\347\275\256-\346\235\241\344\273\266\346\225\260\346\215\256\346\235\245\346\272\220-\350\241\250\345\215\225key.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\272\277\346\235\241\351\205\215\347\275\256-\346\235\241\344\273\266\346\225\260\346\215\256\346\235\245\346\272\220-\350\241\250\345\215\225key.png" new file mode 100644 index 0000000000000000000000000000000000000000..53548854c51abd6dc43a40bb218a5884d3b31920 Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\272\277\346\235\241\351\205\215\347\275\256-\346\235\241\344\273\266\346\225\260\346\215\256\346\235\245\346\272\220-\350\241\250\345\215\225key.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\272\277\346\235\241\351\205\215\347\275\256-\346\235\241\344\273\266\346\225\260\346\215\256\346\235\245\346\272\220-\350\241\250\350\276\276\345\274\217.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\272\277\346\235\241\351\205\215\347\275\256-\346\235\241\344\273\266\346\225\260\346\215\256\346\235\245\346\272\220-\350\241\250\350\276\276\345\274\217.png" new file mode 100644 index 0000000000000000000000000000000000000000..53055e46cf7728bedc59b976f8f835ee7403c815 Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\272\277\346\235\241\351\205\215\347\275\256-\346\235\241\344\273\266\346\225\260\346\215\256\346\235\245\346\272\220-\350\241\250\350\276\276\345\274\217.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\272\277\346\235\241\351\205\215\347\275\256-\346\235\241\344\273\266\346\225\260\346\215\256\346\235\245\346\272\220.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\272\277\346\235\241\351\205\215\347\275\256-\346\235\241\344\273\266\346\225\260\346\215\256\346\235\245\346\272\220.png" new file mode 100644 index 0000000000000000000000000000000000000000..c92d3787f38fe833ed10bd13b92b8cbcf449e0a6 Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\272\277\346\235\241\351\205\215\347\275\256-\346\235\241\344\273\266\346\225\260\346\215\256\346\235\245\346\272\220.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\272\277\346\235\241\351\205\215\347\275\256.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\272\277\346\235\241\351\205\215\347\275\256.png" new file mode 100644 index 0000000000000000000000000000000000000000..c8da7de4e527ef1281b65f4bcc1b1bad27c7c45b Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\272\277\346\235\241\351\205\215\347\275\256.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\274\226\350\276\221-\344\277\235\345\255\230.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\274\226\350\276\221-\344\277\235\345\255\230.png" new file mode 100644 index 0000000000000000000000000000000000000000..45488271ce36c7dd2085719994e268d60b113fc8 Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\274\226\350\276\221-\344\277\235\345\255\230.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\274\226\350\276\221-\345\244\215\345\210\266\347\274\226\350\276\221.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\274\226\350\276\221-\345\244\215\345\210\266\347\274\226\350\276\221.png" new file mode 100644 index 0000000000000000000000000000000000000000..df079bb0e905da643ade7bda19eb3940a86b8399 Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\274\226\350\276\221-\345\244\215\345\210\266\347\274\226\350\276\221.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\274\226\350\276\221.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\274\226\350\276\221.png" new file mode 100644 index 0000000000000000000000000000000000000000..33503c0596c80eb6ca775fa84d03ef3547855aa6 Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\347\274\226\350\276\221.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\212\202\347\202\271\344\274\232\347\255\276.gif" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\212\202\347\202\271\344\274\232\347\255\276.gif" new file mode 100644 index 0000000000000000000000000000000000000000..22153979cefd27484f18460f5307a929bf390107 Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\212\202\347\202\271\344\274\232\347\255\276.gif" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\212\202\347\202\271\346\213\226\346\213\275.gif" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\212\202\347\202\271\346\213\226\346\213\275.gif" new file mode 100644 index 0000000000000000000000000000000000000000..09cedbb45b2574d9972c6ef3af5468be77fe12e6 Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\212\202\347\202\271\346\213\226\346\213\275.gif" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\212\202\347\202\271\350\277\236\347\272\277.gif" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\212\202\347\202\271\350\277\236\347\272\277.gif" new file mode 100644 index 0000000000000000000000000000000000000000..5f5826e4500df21995c7ba28fd3d0380205637b7 Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\212\202\347\202\271\350\277\236\347\272\277.gif" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\212\202\347\202\271\351\205\215\347\275\256-\346\267\273\345\212\240\344\272\272\345\221\230-\344\272\272\345\221\230\351\200\211\346\213\251.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\212\202\347\202\271\351\205\215\347\275\256-\346\267\273\345\212\240\344\272\272\345\221\230-\344\272\272\345\221\230\351\200\211\346\213\251.png" new file mode 100644 index 0000000000000000000000000000000000000000..d6852e02b02a4df9db0eb7291002066aa1beb96d Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\212\202\347\202\271\351\205\215\347\275\256-\346\267\273\345\212\240\344\272\272\345\221\230-\344\272\272\345\221\230\351\200\211\346\213\251.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\212\202\347\202\271\351\205\215\347\275\256-\346\267\273\345\212\240\344\272\272\345\221\230.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\212\202\347\202\271\351\205\215\347\275\256-\346\267\273\345\212\240\344\272\272\345\221\230.png" new file mode 100644 index 0000000000000000000000000000000000000000..d7879d8da550f3322d867187b7e4f8d29734c7c0 Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\212\202\347\202\271\351\205\215\347\275\256-\346\267\273\345\212\240\344\272\272\345\221\230.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\212\202\347\202\271\351\205\215\347\275\256-\351\200\200\345\233\236\350\212\202\347\202\271.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\212\202\347\202\271\351\205\215\347\275\256-\351\200\200\345\233\236\350\212\202\347\202\271.png" new file mode 100644 index 0000000000000000000000000000000000000000..b5c0168d688adfb8b10d56803c9060df73b894a9 Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\212\202\347\202\271\351\205\215\347\275\256-\351\200\200\345\233\236\350\212\202\347\202\271.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\212\202\347\202\271\351\205\215\347\275\256.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\212\202\347\202\271\351\205\215\347\275\256.png" new file mode 100644 index 0000000000000000000000000000000000000000..b08f25fdb24157bf6307da0e10cd2d9d07481c4e Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\212\202\347\202\271\351\205\215\347\275\256.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\256\276\350\256\241-\350\212\202\347\202\271\346\213\226\346\213\275.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\256\276\350\256\241-\350\212\202\347\202\271\346\213\226\346\213\275.png" new file mode 100644 index 0000000000000000000000000000000000000000..44e42696ba5c6581c269084cb747dcc007eb077b Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\256\276\350\256\241-\350\212\202\347\202\271\346\213\226\346\213\275.png" differ diff --git "a/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\256\276\350\256\241.png" "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\256\276\350\256\241.png" new file mode 100644 index 0000000000000000000000000000000000000000..5673b9de66b51e6739ce251253b0acd29a013214 Binary files /dev/null and "b/WorkFlowCore/ReadmeImges/\346\265\201\347\250\213\350\256\276\350\256\241-\350\256\276\350\256\241.png" differ diff --git a/WorkFlowCore/WorkFlowCore.Common/EventBus/EventBusManager.cs b/WorkFlowCore/WorkFlowCore.Common/EventBus/EventBusManager.cs deleted file mode 100644 index 9ed0bff7b6f5c704de00d39ed3c448a0e20d50f9..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore.Common/EventBus/EventBusManager.cs +++ /dev/null @@ -1,41 +0,0 @@ -using Microsoft.Extensions.DependencyInjection; -using System; -using System.Collections.Generic; -using System.Text; - -namespace WorkFlowCore.Common.EventBus -{ - /// - /// 全局静态事件帮助类,便于在其它非注入渠道发起事件 - /// - public class EventBusManager - { - private static IServiceProvider serviceProvider; - internal static void Init(IServiceProvider serviceProvider) - { - EventBusManager.serviceProvider = serviceProvider; - } - - public IEventBus Instance() - { - return (IEventBus)serviceProvider.GetService(typeof(IEventBus)); - } - - public void Trigger(TData data) where TData:BaseEventData - { - if (data == null) return; - var services =serviceProvider.GetServices(); - foreach (var service in services) - { - try - { - service.Trigger(data); - } - catch (Exception ex) - { - Console.Error.WriteLine(ex.ToString()); - } - } - } - } -} diff --git a/WorkFlowCore/WorkFlowCore.Common/EventBus/EventBusService.cs b/WorkFlowCore/WorkFlowCore.Common/EventBus/EventBusService.cs deleted file mode 100644 index 30e4b492209a2e88269174092e128213b3352f6f..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore.Common/EventBus/EventBusService.cs +++ /dev/null @@ -1,61 +0,0 @@ -using WorkFlowCore.Common.EventBus.Implements.Kafka; -using Microsoft.Extensions.DependencyInjection; -using System; -using System.Collections.Generic; -using System.Reflection; -using System.Text; -using Microsoft.AspNetCore.Builder; -using Microsoft.Extensions.Configuration; - -namespace WorkFlowCore.Common.EventBus -{ - public static class EventBusService - { - - public static IServiceCollection AddDefautEventBus(this IServiceCollection services,params Assembly[] assemblies) - { - services.AddSingleton(typeof(IEventBus), typeof(DefaultEventBus)); - services.AddSingleton(typeof(DefaultEventBus)); - foreach (var assembly in assemblies) - { - DefaultEventBus.RegistSubscriptions(assembly); - } - services.AddSingleton(); - return services; - } - public static IServiceCollection AddKafkaEventBus(this IServiceCollection services, Action options) - { - services.AddSingleton(typeof(IEventBus), typeof(KafkaEventBus)); - services.AddSingleton(typeof(KafkaEventBus)); - var config = new KafkaEventConfig(); - options?.Invoke(config); - services.AddSingleton(provider => config); - services.AddSingleton(); - return services; - } - public static IApplicationBuilder InitGlobalEventBus(this IApplicationBuilder app) - { - InitGlobalEventBus(app.ApplicationServices); - - return app; - - } - - public static IServiceProvider InitGlobalEventBus(this IServiceProvider serviceProvider) - { - //注册普通事件,该事件订阅在单应用有效无法分布式 - EventBusManager.Init(serviceProvider); - - //注册kafka作为分布式事件 - var kafkaEventBus = serviceProvider.GetService(); - var config = serviceProvider.GetService(); - var configuration = serviceProvider.GetService(); - Console.WriteLine("servers:" + configuration["KafkaBootstrapServers"]); - if (kafkaEventBus != null && config != null && config.RegisterAssemblies != null) - kafkaEventBus.RegistSubscriptions(config.RegisterAssemblies); - - return serviceProvider; - - } - } -} diff --git a/WorkFlowCore/WorkFlowCore.Common/EventBus/IEventBus.cs b/WorkFlowCore/WorkFlowCore.Common/EventBus/IEventBus.cs deleted file mode 100644 index 29de4f25ded7171e11b584909d0c59d1aca6b6ab..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore.Common/EventBus/IEventBus.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace WorkFlowCore.Common.EventBus -{ - public interface IEventBus - { - void SubscribeEventHandler(Type eventDataType, Type handlerType); - void UnsubscribeEventHandler(Type eventDataType, Type handlerType); - void SubscribeEventHandler() where THandler : IEventHandler where TData : BaseEventData; - void UnsubscribeEventHandler() where THandler : IEventHandler where TData : BaseEventData; - void Trigger(TData data); - } -} diff --git a/WorkFlowCore/WorkFlowCore.Common/EventBus/IEventHandler.cs b/WorkFlowCore/WorkFlowCore.Common/EventBus/IEventHandler.cs deleted file mode 100644 index b560364622065b4542b16516d76bdf23177d3dfd..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore.Common/EventBus/IEventHandler.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace WorkFlowCore.Common.EventBus -{ - public interface IEventHandler - { - - } - - public interface IEventHandler: IEventHandler where TData:BaseEventData - { - void Handle(TData data); - } -} diff --git a/WorkFlowCore/WorkFlowCore.Common/EventBus/Implements/Default/DefaultEventBus.cs b/WorkFlowCore/WorkFlowCore.Common/EventBus/Implements/Default/DefaultEventBus.cs deleted file mode 100644 index 9ccc7941e20105370a309437c36bf604f9df13b9..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore.Common/EventBus/Implements/Default/DefaultEventBus.cs +++ /dev/null @@ -1,123 +0,0 @@ -using Microsoft.Extensions.DependencyInjection; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using System.Text; - -namespace WorkFlowCore.Common.EventBus -{ - public class DefaultEventBus : IEventBus - { - private IServiceProvider serviceProvider; - private static object objLock = new object(); - - public DefaultEventBus(IServiceProvider serviceProvider) - { - this.serviceProvider = serviceProvider; - } - - private static Dictionary> eventSubscribes; - static DefaultEventBus() - { - eventSubscribes = new Dictionary>(); - } - - private static void Subscribe(Type eventDataType, Type handlerType) - { - lock (objLock) - { - if (!eventSubscribes.ContainsKey(eventDataType)) - eventSubscribes.Add(eventDataType, new List { }); - } - - eventSubscribes[eventDataType].Add(handlerType); - - - } - - private static void Unsubscribe(Type eventDataType, Type handlerType) - { - if (!eventSubscribes.ContainsKey(eventDataType)) return; - - if (eventSubscribes[eventDataType].Contains(handlerType)) - eventSubscribes[eventDataType].Remove(handlerType); - } - - public static void Subscribe() where THandler : IEventHandler where TData:BaseEventData - { - Subscribe(typeof(TData), typeof(THandler)); - } - public static void Subscribe() where EventHandler : IEventHandler - { - var handlerType = typeof(EventHandler); - Subscribe(handlerType); - } - - public static void Subscribe(Type handlerType) - { - var interfaceType = handlerType.GetInterfaces().FirstOrDefault(i => i.IsGenericType); - if (interfaceType != null) - { - var dataType = interfaceType.GetGenericArguments()[0]; - Subscribe(dataType, handlerType); - } - else throw new Exception($"{handlerType.FullName} 需实现 {typeof(IEventHandler<>).FullName}"); - } - - - - /// - /// 从 程序集注册 - /// - /// - public static void RegistSubscriptions(params Assembly[] assemblies) - { - foreach (var assembly in assemblies) - { - var types = assembly.GetTypes().Where(t => typeof(IEventHandler).IsAssignableFrom(t)); - - foreach (var type in types) - { - Subscribe(type); - } - } - } - - public void Trigger(TData data) - { - var eventDataType =typeof(TData); - if (!eventSubscribes.ContainsKey(eventDataType)) return; - var handlerTypes = eventSubscribes[eventDataType]; - handlerTypes.ForEach(handlerType => - { - using(var scope = serviceProvider.CreateScope()) - { - var handler = scope.ServiceProvider.GetService(handlerType); - handlerType.GetMethod("Handle", new Type[] { eventDataType }).Invoke(handler, new object[] { data }); - } - - }); - } - - public void SubscribeEventHandler(Type eventDataType, Type handlerType) - { - Subscribe(eventDataType, handlerType); - } - - public void SubscribeEventHandler() where THandler : IEventHandler where TData : BaseEventData - { - Subscribe(); - } - - public void UnsubscribeEventHandler(Type eventDataType, Type handlerType) - { - Unsubscribe(eventDataType, handlerType); - } - - public void UnsubscribeEventHandler() where THandler : IEventHandler where TData : BaseEventData - { - Unsubscribe(typeof(TData), typeof(THandler)); - } - } -} diff --git a/WorkFlowCore/WorkFlowCore.Common/EventBus/Implements/Kafka/KafkaEventBus.cs b/WorkFlowCore/WorkFlowCore.Common/EventBus/Implements/Kafka/KafkaEventBus.cs deleted file mode 100644 index 1fd2b84df63f625f57ffd1aa3ba2dd41de89c122..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore.Common/EventBus/Implements/Kafka/KafkaEventBus.cs +++ /dev/null @@ -1,222 +0,0 @@ -using WorkFlowCore.Common.EventBus.Implements.Kafka; -using Confluent.Kafka; -using Microsoft.Extensions.DependencyInjection; -using Newtonsoft.Json; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using System.Text; -using System.Threading; -using System.Threading.Tasks; - -namespace WorkFlowCore.Common.EventBus -{ - public class KafkaEventBus : IEventBus - { - private IServiceProvider serviceProvider; - private readonly KafkaEventConfig eventConfig; - private static object objLock = new object(); - - public KafkaEventBus(IServiceProvider serviceProvider, KafkaEventConfig eventConfig) - { - this.serviceProvider = serviceProvider; - this.eventConfig = eventConfig; - Console.WriteLine(eventConfig.Servers); - } - - private static Dictionary> eventSubscribes; - private static Dictionary eventSubscribeCancellationTokenSources; - static KafkaEventBus() - { - eventSubscribes = new Dictionary>(); - eventSubscribeCancellationTokenSources = new Dictionary(); - } - - private void SubscribeAsync(Type eventDataType, Type handlerType) - { - - var subscribesKey = eventDataType.FullName + handlerType.FullName; - - - if (eventSubscribes.ContainsKey(subscribesKey)) return; - //不做标记的不处理 - var topicAttr = eventDataType.GetCustomAttribute(); - if (topicAttr == null) return; - var toptic = string.IsNullOrEmpty(topicAttr.Topic)?eventDataType.FullName: topicAttr.Topic; - - var groupIdAttr = handlerType.GetCustomAttribute(); - if (groupIdAttr == null) return; - var groupId = string.IsNullOrEmpty(groupIdAttr.GroupId)?handlerType.FullName: groupIdAttr.GroupId; - var conf = new ConsumerConfig - { - GroupId = groupId, - BootstrapServers = eventConfig.Servers, - AutoOffsetReset = AutoOffsetReset.Earliest, - EnableAutoCommit = false, - }; - - CancellationTokenSource cts = new CancellationTokenSource(); - var c = new ConsumerBuilder(conf).Build(); - c.Subscribe(toptic); - lock (objLock) - { - if (!eventSubscribes.ContainsKey(subscribesKey)) - eventSubscribes.Add(subscribesKey, c); - if (!eventSubscribeCancellationTokenSources.ContainsKey(subscribesKey)) - eventSubscribeCancellationTokenSources.Add(subscribesKey, cts); - } - - try - { - while (!cts.IsCancellationRequested) - { - try - { - var cr = c.Consume(cts.Token); - Console.WriteLine($"Consumed message '{cr.Message}' at: '{cr.TopicPartitionOffset}'."); - - var data = JsonConvert.DeserializeObject(cr.Message.Value, eventDataType); - using (var scope = serviceProvider.CreateScope()) - { - var handler = scope.ServiceProvider.GetService(handlerType); - handlerType.GetMethod("Handle", new Type[] { eventDataType }).Invoke(handler, new object[] { data }); - } - c.Commit(cr); - } - catch (ConsumeException e) - { - Console.WriteLine($"Error occured: {e.Error.Reason}"); - } - catch (Exception e) - { - Console.WriteLine($"Error occured: {e.ToString()}"); - } - } - } - catch (OperationCanceledException) - { - // Ensure the consumer leaves the group cleanly and final offsets are committed. - c.Close(); - } - finally - { - if (c != null) - { - c.Close(); - c.Dispose(); - } - } - } - - - private void Subscribe(Type eventDataType, Type handlerType) - { - Task.Run(() => - { - SubscribeAsync(eventDataType, handlerType); - }); - } - - - - private void Unsubscribe(Type eventDataType, Type handlerType) - { - var subscribesKey = eventDataType.FullName + handlerType.FullName; - - if (eventSubscribes.ContainsKey(subscribesKey)) eventSubscribes[subscribesKey].Unsubscribe(); - if (eventSubscribeCancellationTokenSources.ContainsKey(subscribesKey)) eventSubscribeCancellationTokenSources[subscribesKey].Cancel(); - - } - - public void Subscribe() where THandler : IEventHandler where TData : BaseEventData - { - Subscribe(typeof(TData), typeof(THandler)); - } - public void Subscribe() where EventHandler : IEventHandler - { - var handlerType = typeof(EventHandler); - Subscribe(handlerType); - } - - public void Subscribe(Type handlerType) - { - var interfaceType = handlerType.GetInterfaces().FirstOrDefault(i => i.IsGenericType); - if (interfaceType != null) - { - var dataType = interfaceType.GetGenericArguments()[0]; - Subscribe(dataType, handlerType); - } - else throw new Exception($"{handlerType.FullName} 需实现 {typeof(IEventHandler<>).FullName}"); - } - - - - /// - /// 从 程序集注册 - /// - /// - public void RegistSubscriptions(params Assembly[] assemblies) - { - foreach (var assembly in assemblies) - { - var types = assembly.GetTypes().Where(t => typeof(IEventHandler).IsAssignableFrom(t)); - - foreach (var type in types) - { - Subscribe(type); - } - } - } - - private void TriggerEvent(TData data) - { - if (data == null) return; - var conf = new ProducerConfig { BootstrapServers = eventConfig.Servers }; - - Action> handler = r => - Console.WriteLine(!r.Error.IsError - ? $"Delivered message to {r.TopicPartitionOffset}" - : $"Delivery Error: {r.Error.Reason}"); - //不做标记不处理 - var topicAttr = typeof(TData).GetCustomAttribute(); - var toptic = topicAttr != null ? topicAttr.Topic : typeof(TData).FullName; - - using (var p = new ProducerBuilder(conf).Build()) - { - p.Produce(toptic, new Message { Value = JsonConvert.SerializeObject(data) }, handler); - - // wait for up to 10 seconds for any inflight messages to be delivered. - p.Flush(TimeSpan.FromSeconds(10)); - } - } - - public void Trigger(TData data) - { - Task.Run(() => - { - TriggerEvent(data); - }); - } - - public void SubscribeEventHandler(Type eventDataType, Type handlerType) - { - Subscribe(eventDataType, handlerType); - } - - public void SubscribeEventHandler() where THandler : IEventHandler where TData : BaseEventData - { - Subscribe(); - } - - public void UnsubscribeEventHandler(Type eventDataType, Type handlerType) - { - Unsubscribe(eventDataType, handlerType); - } - - public void UnsubscribeEventHandler() where THandler : IEventHandler where TData : BaseEventData - { - Unsubscribe(typeof(TData), typeof(THandler)); - } - } -} diff --git a/WorkFlowCore/WorkFlowCore.Common/EventBus/Implements/Kafka/KafkaEventConfig.cs b/WorkFlowCore/WorkFlowCore.Common/EventBus/Implements/Kafka/KafkaEventConfig.cs deleted file mode 100644 index a2fde47df22d86a6ae587fd6c37c46f7328ffd2a..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore.Common/EventBus/Implements/Kafka/KafkaEventConfig.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Reflection; -using System.Text; - -namespace WorkFlowCore.Common.EventBus.Implements.Kafka -{ - public class KafkaEventConfig - { - public string Servers { get; set; } - public Assembly[] RegisterAssemblies { get; set; } - } -} diff --git a/WorkFlowCore/WorkFlowCore.Common/EventBus/Implements/Kafka/KafkaEventConsumerAttribute.cs b/WorkFlowCore/WorkFlowCore.Common/EventBus/Implements/Kafka/KafkaEventConsumerAttribute.cs deleted file mode 100644 index 7e773a7e65c1c910008b4f66aac8744576cf983e..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore.Common/EventBus/Implements/Kafka/KafkaEventConsumerAttribute.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace WorkFlowCore.Common.EventBus.Implements.Kafka -{ - public class KafkaEventConsumerAttribute : Attribute - { - public string GroupId { get; set; } - - public KafkaEventConsumerAttribute(string groupId=null) - { - GroupId = groupId; - } - } -} diff --git a/WorkFlowCore/WorkFlowCore.Common/EventBus/Implements/Kafka/KafkaEventTopicAttribute.cs b/WorkFlowCore/WorkFlowCore.Common/EventBus/Implements/Kafka/KafkaEventTopicAttribute.cs deleted file mode 100644 index cc2f244ff4f569a5dbc5cb7eae93483d6542e569..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore.Common/EventBus/Implements/Kafka/KafkaEventTopicAttribute.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace WorkFlowCore.Common.EventBus.Implements.Kafka -{ - public class KafkaEventTopicAttribute: Attribute - { - public string Topic { get; set; } - - public KafkaEventTopicAttribute(string topic=null) - { - Topic = topic; - } - } -} diff --git a/WorkFlowCore/WorkFlowCore.Common/SimplePluginLoaders/SimplePluginLoader.cs b/WorkFlowCore/WorkFlowCore.Common/SimplePluginLoaders/SimplePluginLoader.cs index f0d4b919cc3c678682477c1330c576b521920817..214a55fb51427c4f0e11f231ca14d8fb551bcf53 100644 --- a/WorkFlowCore/WorkFlowCore.Common/SimplePluginLoaders/SimplePluginLoader.cs +++ b/WorkFlowCore/WorkFlowCore.Common/SimplePluginLoaders/SimplePluginLoader.cs @@ -10,18 +10,16 @@ namespace WorkFlowCore.Common.SimplePluginLoaders { public static class SimplePluginLoader { + /// /// 载入插件 /// /// - /// /// /// /// - public static IServiceCollection LoadPlugins(this IServiceCollection services, string pluginDir, Action> loaded) where TManifest : Manifest + public static void LoadPlugins(string pluginDir, Action> loaded) where TManifest : Manifest { - if (!Directory.Exists(pluginDir)) return services; - var plugins = new List(); var dirs = Directory.GetDirectories(pluginDir); @@ -48,6 +46,22 @@ namespace WorkFlowCore.Common.SimplePluginLoaders } loaded?.Invoke(plugins); + } + + + /// + /// 载入插件 + /// + /// + /// + /// + /// + /// + public static IServiceCollection LoadPlugins(this IServiceCollection services, string pluginDir, Action> loaded) where TManifest : Manifest + { + if (!Directory.Exists(pluginDir)) return services; + + LoadPlugins(pluginDir, loaded); return services; } diff --git a/WorkFlowCore/WorkFlowCore.Common/WorkFlowCore.Common.csproj b/WorkFlowCore/WorkFlowCore.Common/WorkFlowCore.Common.csproj index eb6327ac829433b7686a0ece63067d7c5088e6f3..18117997f6f4d183e52785e911774f37305d324d 100644 --- a/WorkFlowCore/WorkFlowCore.Common/WorkFlowCore.Common.csproj +++ b/WorkFlowCore/WorkFlowCore.Common/WorkFlowCore.Common.csproj @@ -1,14 +1,14 @@ - netcoreapp3.1 + net6.0 - + diff --git a/WorkFlowCore/WorkFlowCore.Framework/Authorization/DefaultSession.cs b/WorkFlowCore/WorkFlowCore.Framework/Authorization/DefaultSession.cs index 9bf760e734d65f65600588753bccc42851807c0b..5d1bcf2501e03160f5a8fb44ad89c9a7077024ec 100644 --- a/WorkFlowCore/WorkFlowCore.Framework/Authorization/DefaultSession.cs +++ b/WorkFlowCore/WorkFlowCore.Framework/Authorization/DefaultSession.cs @@ -1,6 +1,8 @@ using Microsoft.AspNetCore.Http; +using Newtonsoft.Json; using System; using System.Collections.Generic; +using System.Net; using System.Text; using WorkFlowCore.Authorization; using WorkFlowCore.Framework.UserSelectors; @@ -13,11 +15,22 @@ namespace WorkFlowCore.Framework.Authorization public DefaultSession(IHttpContextAccessor httpContextAccessor) { //TODO通过请求上下文获取用户凭据 - //var token =httpContextAccessor.HttpContext.Request.Headers["token"]; - - //此处不做具体实现。模拟返回其中一个用户 + var user = UserList.Users[0]; - this.User = new User(user.Id, user.Name); + + try + { + if (httpContextAccessor.HttpContext == null) return; + var userInfoStr = httpContextAccessor.HttpContext.Request.Headers["user-info"]; + userInfoStr = WebUtility.UrlDecode(userInfoStr); + this.User = JsonConvert.DeserializeObject(userInfoStr); + } + catch (Exception) + { + this.User = new User(user.Id, user.Name); + } + //此处不做具体实现。模拟返回其中一个用户 + } public User User { get; private set; } diff --git a/WorkFlowCore/WorkFlowCore.Framework/Conditions/ConditionA.cs b/WorkFlowCore/WorkFlowCore.Framework/Conditions/BoolCondition.cs similarity index 48% rename from WorkFlowCore/WorkFlowCore.Framework/Conditions/ConditionA.cs rename to WorkFlowCore/WorkFlowCore.Framework/Conditions/BoolCondition.cs index 3988d585c39165b9af0841105836e61ec0b313b5..5db108d7221ac85a9f313cd73202518f1207eec6 100644 --- a/WorkFlowCore/WorkFlowCore.Framework/Conditions/ConditionA.cs +++ b/WorkFlowCore/WorkFlowCore.Framework/Conditions/BoolCondition.cs @@ -6,19 +6,14 @@ using WorkFlowCore.Conditions; namespace WorkFlowCore.Framework.Conditions { - [Condition("条件处理器A")] - public class ConditionA : ICondition + [Condition("布尔处理器","参数传 true/false")] + public class BoolCondition : ICondition { public bool CanAccept(ConditionInput input) { try { - //简单的表达式解析 - var keyvalue = input.Expression.Split('='); - JObject jObject = JObject.Parse(input.WorkTask.FormData); - var token = jObject.SelectToken(keyvalue[0]); - var value = token.Value(); - return value.Equals(keyvalue[1]); + return input.Expression?.Trim().ToLower() == "true"; } catch (Exception) { diff --git a/WorkFlowCore/WorkFlowCore.Framework/Conditions/GeneralCondition.cs b/WorkFlowCore/WorkFlowCore.Framework/Conditions/GeneralCondition.cs index 7eb782da869517904baeb1c4152c4cfdd4c4b53f..a040b11863694d1682281548c7c556bd811fd5c7 100644 --- a/WorkFlowCore/WorkFlowCore.Framework/Conditions/GeneralCondition.cs +++ b/WorkFlowCore/WorkFlowCore.Framework/Conditions/GeneralCondition.cs @@ -7,7 +7,7 @@ using WorkFlowCore.Conditions; namespace WorkFlowCore.Framework.Conditions { - [Condition("一般条件处理器", "!=|>=|<=|<|>|==|⊆|∈,参数被 value() 方法包含时解析")] + [Condition("表单条件处理器", "!=,>=,<=,<,>,==,⊆,∈,参数被 value() 方法包含时解析,解析的内容是json表单,比如表单数据为 {x:10},可以这样用表达式判定:value(x)<10 ")] public class GeneralCondition : ICondition { private VType GetValue(string expression,string formData) diff --git a/WorkFlowCore/WorkFlowCore.Framework/Conditions/JsonCondition.cs b/WorkFlowCore/WorkFlowCore.Framework/Conditions/JsonCondition.cs new file mode 100644 index 0000000000000000000000000000000000000000..299ac3768d13191f871007288d5e73ae21dec96d --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Framework/Conditions/JsonCondition.cs @@ -0,0 +1,187 @@ +using Newtonsoft.Json.Linq; +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using WorkFlowCore.Conditions; +using WorkFlowCore.Framework.Migrations; + +namespace WorkFlowCore.Framework.Conditions +{ + [Condition("Json条件处理器", "可用于解析流程主表单和审批步骤的表单。支持 !=,>=,<=,<,>,==,⊆,∈,&&,|| 等表达式,表达式支持通过括号 隔开。如果需要解析审批步骤的表单数据,需要在表达式前面加上 \"step:\"。表达式支持解析json表单的数据,使用 ${jsonkey} 可获取json表单里的值进行判断")] + public class JsonCondition : ICondition + { + public bool CanAccept(ConditionInput input) + { + //var expression = "step:(${days}>10&&${days}<20)||${days}==30&&(${days}>50)".Replace(" ",""); + //var jsonData = "{ days: 10}"; + + var expression = ""; + var jsonData = ""; + + //这里规定,step: 开头标识要解析的是审批步骤填写的表单数据 + if (input.Expression.StartsWith("step:")) + { + expression = input.Expression.Substring(5); + jsonData = input.CurrentWorkStep.FormData; + } + else + { + expression = input.Expression ?? ""; + jsonData = input.WorkTask.FormData; + } + + return Analyze(expression, jsonData); + } + + private bool Analyze(string expression, string jsonData) + { + var stack = new Stack(); + var stackIndex = new Stack(); + + for (int i = 0; i < expression.Length; i++) + { + var c = expression[i]; + + if (c == '(') + { + stack.Push(c); + stackIndex.Push(stack.Count - 1); + } + else if (c == ')') + { + var startIndex = stackIndex.Pop(); + string exp = GetStackValue(stack, startIndex); + stack.Pop(); + //TODO 再搞一个栈处理bool 数据 + + //bool 处理完回来应该是返回 true、false,这里用 1、0 代替,重新入栈 + stack.Push(OrExpressionHandler(exp, jsonData) ? '1' : '0'); + } + else + { + stack.Push(c); + } + } + return OrExpressionHandler(GetStackValue(stack, -1), jsonData); + } + + private static string GetStackValue(Stack stack, int startIndex) + { + var charList = new List(); + while (stack.Count > startIndex + 1) + { + charList.Add(stack.Pop()); + } + charList.Reverse(); + var exp = string.Join("", charList); + return exp; + } + + private bool OrExpressionHandler(string exp, string jsonData) + { + var exps = exp.Split(new string[] { "||" }, StringSplitOptions.None); + + foreach (var expItem in exps) + { + if(AndExpressionHandler(expItem, jsonData))return true; + } + return false; + } + + private bool AndExpressionHandler(string exp, string jsonData) + { + var exps = exp.Split(new string[] { "&&" }, StringSplitOptions.None); + + foreach (var expItem in exps) + { + if(!CompareValue(expItem, jsonData))return false; + } + return true; + } + + private VType GetValue(string expression, string formData) + { + //被 value() 方法包含时,需要解析,否则原值返回 + var regex = new Regex(@"\$\{(?.*)\}"); + + if (regex.IsMatch(expression)) + + { + JObject jObject = JObject.Parse(formData); + var token = jObject.SelectToken(regex.Match(expression).Groups["value"].Value); + return token.Value(); + } + else return (VType)Convert.ChangeType(expression, typeof(VType)); + } + private bool CompareValue(string exp,string jsonData) + { + try + { + //简单的表达式解析 + + var queryExpressions = exp.Split(new string[] { "&&" }, StringSplitOptions.None); + var regexy = new Regex("(?.*)(?!=|>=|<=|<|>|==|⊆|∈)(?.*)"); + + var paramList = new List(); + + foreach (var expression in queryExpressions) + { + if (!regexy.IsMatch(expression)) + { + if (expression == "0") return false; + else if (expression == "1") return true; + else continue; + } + var matchs = regexy.Match(expression); + var operation = matchs.Groups["operation"].Value; + + var key = matchs.Groups["key"].Value.Trim(); + var keyValue = GetValue(key, jsonData);// + var value = matchs.Groups["value"].Value.Trim(); + var valueValue = GetValue(value, jsonData);// + var result = false; + + switch (operation) + { + case "!=": + result = !keyValue.Equals(valueValue); + break; + case ">=": + result = decimal.Parse(keyValue) >= decimal.Parse(valueValue); + break; + case "<=": + result = decimal.Parse(keyValue) <= decimal.Parse(valueValue); + break; + case ">": + result = decimal.Parse(keyValue) > decimal.Parse(valueValue); + break; + case "<": + result = decimal.Parse(keyValue) < decimal.Parse(valueValue); + break; + case "==": + result = keyValue.Equals(valueValue); + break; + case "⊆"://包含 + result = keyValue.Contains(valueValue); + break; + case "∈"://属于 + result = valueValue.Contains(keyValue); + break; + default: + break; + } + if (!result) return false; + } + return true; + } + catch (Exception) + { + return false; + } + } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Framework/Conditions/WorkStepCondition.cs b/WorkFlowCore/WorkFlowCore.Framework/Conditions/WorkStepCondition.cs index a6ebc3d4b134019cf1344ef58cea62b86ff6e906..336e56c058dfd48de28371f72eb20e5db403e189 100644 --- a/WorkFlowCore/WorkFlowCore.Framework/Conditions/WorkStepCondition.cs +++ b/WorkFlowCore/WorkFlowCore.Framework/Conditions/WorkStepCondition.cs @@ -7,7 +7,7 @@ using WorkFlowCore.Conditions; namespace WorkFlowCore.Framework.Conditions { - [Condition("审批步骤一般条件处理器", "!=|>=|<=|<|>|==|⊆|∈,参数被 value() 方法包含时解析,用于解析当前审批步骤的表单")] + [Condition("审批条件处理器", "该处理器处理的是 审批时的表单数据,并非一开始发起的表单数据。 !=,>=,<=,<,>,==,⊆,∈,参数被 value() 方法包含时解析,解析的内容是json表单,比如表单数据为 {x:10},可以这样用表达式判定:value(x)<10 ")] public class WorkStepCondition : ICondition { private VType GetValue(string expression,string formData) diff --git a/WorkFlowCore/WorkFlowCore.Framework/EventHandlers/AutoHandleStepsEventHandler.cs b/WorkFlowCore/WorkFlowCore.Framework/EventHandlers/AutoHandleStepsEventHandler.cs index e7269b63cac8803bd4365bdffccc50829fa2dbab..99ea0bb0ed1aea710998aebcae54d6558b581703 100644 --- a/WorkFlowCore/WorkFlowCore.Framework/EventHandlers/AutoHandleStepsEventHandler.cs +++ b/WorkFlowCore/WorkFlowCore.Framework/EventHandlers/AutoHandleStepsEventHandler.cs @@ -1,17 +1,21 @@ using System; using System.Collections.Generic; using System.Text; +using System.Threading.Tasks; +using Volo.Abp.DependencyInjection; +using Volo.Abp.EventBus; using WorkFlowCore.Common.EventBus; using WorkFlowCore.EventData; using WorkFlowCore.WorkTasks; namespace WorkFlowCore.Framework.EventHandlers { - public class AutoHandleStepsEventHandler : IEventHandler + public class AutoHandleStepsEventHandler : ILocalEventHandler, + ITransientDependency { - private readonly WorkflowManager workTaskManager; + private readonly WorkTaskManager workTaskManager; - public AutoHandleStepsEventHandler(WorkflowManager workTaskManager) + public AutoHandleStepsEventHandler(WorkTaskManager workTaskManager) { this.workTaskManager = workTaskManager; } @@ -24,5 +28,11 @@ namespace WorkFlowCore.Framework.EventHandlers workTaskManager.PassApprove(step.Id, data.Comment, string.Empty).Wait(); } } + + public Task HandleEventAsync(AutoHandleStepsEventData eventData) + { + Handle(eventData); + return Task.CompletedTask; + } } } diff --git a/WorkFlowCore/WorkFlowCore.Framework/EventHandlers/SendTaskEventHandler.cs b/WorkFlowCore/WorkFlowCore.Framework/EventHandlers/SendTaskEventHandler.cs index 5ddde4f03e256920d308ffa649adb690486d1ac0..2d12baf9d2208886ae3d2575e4c25cdc92c68dbe 100644 --- a/WorkFlowCore/WorkFlowCore.Framework/EventHandlers/SendTaskEventHandler.cs +++ b/WorkFlowCore/WorkFlowCore.Framework/EventHandlers/SendTaskEventHandler.cs @@ -1,17 +1,26 @@ using System; using System.Collections.Generic; using System.Text; +using System.Threading.Tasks; +using Volo.Abp.DependencyInjection; +using Volo.Abp.EventBus; using WorkFlowCore.Common.EventBus; using WorkFlowCore.EventData; using WorkFlowCore.WorkTasks; namespace WorkFlowCore.Framework.EventHandlers { - public class SendTaskEventHandler : IEventHandler + public class SendTaskEventHandler : ILocalEventHandler, ITransientDependency { public void Handle(SendTaskEventData data) { Console.WriteLine("SendTask"); } + + public Task HandleEventAsync(SendTaskEventData eventData) + { + Handle(eventData); + return Task.CompletedTask; + } } } diff --git a/WorkFlowCore/WorkFlowCore.Framework/EventHandlers/TaskFinishedEventHandler.cs b/WorkFlowCore/WorkFlowCore.Framework/EventHandlers/TaskFinishedEventHandler.cs index c4610b1c24803a7ab0e633f67bdc84c9c498481d..6532e3efb01eac3066e452691d01fca8b29ce612 100644 --- a/WorkFlowCore/WorkFlowCore.Framework/EventHandlers/TaskFinishedEventHandler.cs +++ b/WorkFlowCore/WorkFlowCore.Framework/EventHandlers/TaskFinishedEventHandler.cs @@ -1,17 +1,27 @@ using System; using System.Collections.Generic; using System.Text; +using System.Threading.Tasks; +using Volo.Abp.DependencyInjection; +using Volo.Abp.EventBus; using WorkFlowCore.Common.EventBus; using WorkFlowCore.EventData; using WorkFlowCore.WorkTasks; namespace WorkFlowCore.Framework.EventHandlers { - public class TaskFinishedEventHandler : IEventHandler + public class TaskFinishedEventHandler : ILocalEventHandler, + ITransientDependency { public void Handle(TaskFinishedEventData data) { Console.WriteLine("TaskFinished"); } + + public Task HandleEventAsync(TaskFinishedEventData eventData) + { + Handle(eventData); + return Task.CompletedTask; + } } } diff --git a/WorkFlowCore/WorkFlowCore.Framework/Migrations/20230429012201_plugins.Designer.cs b/WorkFlowCore/WorkFlowCore.Framework/Migrations/20230429012201_plugins.Designer.cs new file mode 100644 index 0000000000000000000000000000000000000000..6b5567de89f8563cb39524734da94382d7f39aad --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Framework/Migrations/20230429012201_plugins.Designer.cs @@ -0,0 +1,341 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Volo.Abp.EntityFrameworkCore; +using WorkFlowCore.Framework.Repositories4EF; + +#nullable disable + +namespace WorkFlowCore.Framework.Migrations +{ + [DbContext(typeof(WorkflowDbContext))] + [Migration("20230429054051_plugins")] + partial class plugins + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.MySql) + .HasAnnotation("ProductVersion", "6.0.5") + .HasAnnotation("Relational:MaxIdentifierLength", 64); + + modelBuilder.Entity("WorkFlowCore.Plugins.PluginApplyConfig", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("ClassName") + .HasColumnType("longtext"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ConfigValue") + .HasColumnType("longtext"); + + b.Property("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property("FullName") + .HasColumnType("longtext"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("Order") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("PluginApplyConfigs"); + }); + + modelBuilder.Entity("WorkFlowCore.Plugins.PluginInfo", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("ConfigMapInfo") + .HasColumnType("longtext"); + + b.Property("Description") + .HasColumnType("longtext"); + + b.Property("FilePath") + .HasColumnType("longtext"); + + b.Property("IsEnabled") + .HasColumnType("bit(1)"); + + b.Property("PluginId_ClassName") + .HasColumnType("longtext"); + + b.Property("PluginId_EntryFullName") + .HasColumnType("longtext"); + + b.Property("PluginId_Name") + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.ToTable("PluginInfos"); + }); + + modelBuilder.Entity("WorkFlowCore.Workflows.Workflow", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("ActiveVersion") + .HasColumnType("int"); + + b.Property("CreatedUserId") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Deleted") + .HasColumnType("bit(1)"); + + b.Property("DeletedTime") + .HasColumnType("datetime(6)"); + + b.Property("DeletedUserId") + .HasColumnType("longtext"); + + b.Property("Description") + .HasMaxLength(500) + .HasColumnType("varchar(500)"); + + b.Property("ModifiedTime") + .HasColumnType("datetime(6)"); + + b.Property("ModifiedUserId") + .HasColumnType("longtext"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("WorkflowNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.ToTable("Workflows"); + }); + + modelBuilder.Entity("WorkFlowCore.Workflows.WorkflowVersionInfo", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("AllNodes") + .HasColumnType("longtext"); + + b.Property("CreatedUserId") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Deleted") + .HasColumnType("bit(1)"); + + b.Property("DeletedTime") + .HasColumnType("datetime(6)"); + + b.Property("DeletedUserId") + .HasColumnType("longtext"); + + b.Property("Description") + .HasMaxLength(2000) + .HasColumnType("varchar(2000)"); + + b.Property("DrawingInfo") + .HasColumnType("longtext"); + + b.Property("ModifiedTime") + .HasColumnType("datetime(6)"); + + b.Property("ModifiedUserId") + .HasColumnType("longtext"); + + b.Property("NodeMaps") + .HasColumnType("longtext"); + + b.Property("VersionNo") + .HasColumnType("int"); + + b.Property("WorkflowId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.ToTable("WorkflowVersionInfos"); + }); + + modelBuilder.Entity("WorkFlowCore.WorkTasks.WorkStepInfo", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("Comment") + .HasColumnType("longtext"); + + b.Property("CreatedUserId") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Deleted") + .HasColumnType("bit(1)"); + + b.Property("DeletedTime") + .HasColumnType("datetime(6)"); + + b.Property("DeletedUserId") + .HasColumnType("longtext"); + + b.Property("FormData") + .HasColumnType("longtext"); + + b.Property("FromForwardStepId") + .HasColumnType("char(36)"); + + b.Property("FromNodeId") + .HasColumnType("char(36)"); + + b.Property("FromNodeName") + .HasColumnType("longtext"); + + b.Property("GroupId") + .HasColumnType("longtext"); + + b.Property("HandleType") + .HasColumnType("int"); + + b.Property("HandleUser_Id") + .HasColumnType("longtext"); + + b.Property("HandleUser_Name") + .HasColumnType("longtext"); + + b.Property("HandlerTime") + .HasColumnType("datetime(6)"); + + b.Property("IsHandled") + .HasColumnType("bit(1)"); + + b.Property("IsRead") + .HasColumnType("bit(1)"); + + b.Property("ModifiedTime") + .HasColumnType("datetime(6)"); + + b.Property("ModifiedUserId") + .HasColumnType("longtext"); + + b.Property("NodeId") + .HasColumnType("char(36)"); + + b.Property("NodeName") + .HasColumnType("longtext"); + + b.Property("PreStepGroupId") + .HasColumnType("longtext"); + + b.Property("ReadTime") + .HasColumnType("datetime(6)"); + + b.Property("ResourceIds") + .HasColumnType("longtext"); + + b.Property("SubProcessNode_NodeId") + .HasColumnType("char(36)"); + + b.Property("SubProcessNode_WorkStepId") + .HasColumnType("char(36)"); + + b.Property("WorkStepType") + .HasColumnType("int"); + + b.Property("WorkTaskId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.ToTable("WorkStepInfos"); + }); + + modelBuilder.Entity("WorkFlowCore.WorkTasks.WorkTaskInfo", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("CreatedUserId") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Deleted") + .HasColumnType("bit(1)"); + + b.Property("DeletedTime") + .HasColumnType("datetime(6)"); + + b.Property("DeletedUserId") + .HasColumnType("longtext"); + + b.Property("EntityFullName") + .HasColumnType("longtext"); + + b.Property("EntityKeyValue") + .HasColumnType("longtext"); + + b.Property("FormData") + .HasColumnType("longtext"); + + b.Property("IsSimulation") + .HasColumnType("bit(1)"); + + b.Property("ModifiedTime") + .HasColumnType("datetime(6)"); + + b.Property("ModifiedUserId") + .HasColumnType("longtext"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("WorkTaskStatus") + .HasColumnType("int"); + + b.Property("WorkflowId_Id") + .HasColumnType("char(36)"); + + b.Property("WorkflowId_VersionId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("WorkTaskInfos"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Framework/Migrations/20230429012201_plugins.cs b/WorkFlowCore/WorkFlowCore.Framework/Migrations/20230429012201_plugins.cs new file mode 100644 index 0000000000000000000000000000000000000000..be78d6724a19ac86624e4502c5759d24c34217c2 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Framework/Migrations/20230429012201_plugins.cs @@ -0,0 +1,72 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace WorkFlowCore.Framework.Migrations +{ + public partial class plugins : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "PluginApplyConfigs", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + ClassName = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Name = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + FullName = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + ConfigValue = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Order = table.Column(type: "int", nullable: false), + ExtraProperties = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + ConcurrencyStamp = table.Column(type: "varchar(40)", maxLength: 40, nullable: true) + .Annotation("MySql:CharSet", "utf8mb4") + }, + constraints: table => + { + table.PrimaryKey("PK_PluginApplyConfigs", x => x.Id); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + + migrationBuilder.CreateTable( + name: "PluginInfos", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + PluginId_ClassName = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + PluginId_Name = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + PluginId_EntryFullName = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + FilePath = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + ConfigMapInfo = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Description = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + IsEnabled = table.Column(type: "bit(1)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_PluginInfos", x => x.Id); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "PluginApplyConfigs"); + + migrationBuilder.DropTable( + name: "PluginInfos"); + } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Framework/Migrations/20230429063203_formdesigns.Designer.cs b/WorkFlowCore/WorkFlowCore.Framework/Migrations/20230429063203_formdesigns.Designer.cs new file mode 100644 index 0000000000000000000000000000000000000000..914cc45e5bc0eba6d410065c53dff55522cf33ea --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Framework/Migrations/20230429063203_formdesigns.Designer.cs @@ -0,0 +1,384 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Volo.Abp.EntityFrameworkCore; +using WorkFlowCore.Framework.Repositories4EF; + +#nullable disable + +namespace WorkFlowCore.Framework.Migrations +{ + [DbContext(typeof(WorkflowDbContext))] + [Migration("20230429063203_formdesigns")] + partial class formdesigns + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.MySql) + .HasAnnotation("ProductVersion", "6.0.5") + .HasAnnotation("Relational:MaxIdentifierLength", 64); + + modelBuilder.Entity("WorkFlowCore.FormDesigns.FormDesignInfo", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("ActiveVersion") + .HasColumnType("int"); + + b.Property("CreatedUserId") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Deleted") + .HasColumnType("bit(1)"); + + b.Property("DeletedTime") + .HasColumnType("datetime(6)"); + + b.Property("DeletedUserId") + .HasColumnType("longtext"); + + b.Property("Description") + .HasColumnType("longtext"); + + b.Property("FormType") + .HasColumnType("longtext"); + + b.Property("ModifiedTime") + .HasColumnType("datetime(6)"); + + b.Property("ModifiedUserId") + .HasColumnType("longtext"); + + b.Property("Title") + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.ToTable("FormDesignInfos"); + }); + + modelBuilder.Entity("WorkFlowCore.Plugins.PluginApplyConfig", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("ClassName") + .HasColumnType("longtext"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ConfigValue") + .HasColumnType("longtext"); + + b.Property("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property("FullName") + .HasColumnType("longtext"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("Order") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("PluginApplyConfigs"); + }); + + modelBuilder.Entity("WorkFlowCore.Plugins.PluginInfo", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("ConfigMapInfo") + .HasColumnType("longtext"); + + b.Property("Description") + .HasColumnType("longtext"); + + b.Property("FilePath") + .HasColumnType("longtext"); + + b.Property("IsEnabled") + .HasColumnType("bit(1)"); + + b.Property("PluginId_ClassName") + .HasColumnType("longtext"); + + b.Property("PluginId_EntryFullName") + .HasColumnType("longtext"); + + b.Property("PluginId_Name") + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.ToTable("PluginInfos"); + }); + + modelBuilder.Entity("WorkFlowCore.Workflows.Workflow", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("ActiveVersion") + .HasColumnType("int"); + + b.Property("CreatedUserId") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Deleted") + .HasColumnType("bit(1)"); + + b.Property("DeletedTime") + .HasColumnType("datetime(6)"); + + b.Property("DeletedUserId") + .HasColumnType("longtext"); + + b.Property("Description") + .HasMaxLength(500) + .HasColumnType("varchar(500)"); + + b.Property("ModifiedTime") + .HasColumnType("datetime(6)"); + + b.Property("ModifiedUserId") + .HasColumnType("longtext"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("WorkflowNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.ToTable("Workflows"); + }); + + modelBuilder.Entity("WorkFlowCore.Workflows.WorkflowVersionInfo", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("AllNodes") + .HasColumnType("longtext"); + + b.Property("CreatedUserId") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Deleted") + .HasColumnType("bit(1)"); + + b.Property("DeletedTime") + .HasColumnType("datetime(6)"); + + b.Property("DeletedUserId") + .HasColumnType("longtext"); + + b.Property("Description") + .HasMaxLength(2000) + .HasColumnType("varchar(2000)"); + + b.Property("DrawingInfo") + .HasColumnType("longtext"); + + b.Property("ModifiedTime") + .HasColumnType("datetime(6)"); + + b.Property("ModifiedUserId") + .HasColumnType("longtext"); + + b.Property("NodeMaps") + .HasColumnType("longtext"); + + b.Property("VersionNo") + .HasColumnType("int"); + + b.Property("WorkflowId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.ToTable("WorkflowVersionInfos"); + }); + + modelBuilder.Entity("WorkFlowCore.WorkTasks.WorkStepInfo", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("Comment") + .HasColumnType("longtext"); + + b.Property("CreatedUserId") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Deleted") + .HasColumnType("bit(1)"); + + b.Property("DeletedTime") + .HasColumnType("datetime(6)"); + + b.Property("DeletedUserId") + .HasColumnType("longtext"); + + b.Property("FormData") + .HasColumnType("longtext"); + + b.Property("FromForwardStepId") + .HasColumnType("char(36)"); + + b.Property("FromNodeId") + .HasColumnType("char(36)"); + + b.Property("FromNodeName") + .HasColumnType("longtext"); + + b.Property("GroupId") + .HasColumnType("longtext"); + + b.Property("HandleType") + .HasColumnType("int"); + + b.Property("HandleUser_Id") + .HasColumnType("longtext"); + + b.Property("HandleUser_Name") + .HasColumnType("longtext"); + + b.Property("HandlerTime") + .HasColumnType("datetime(6)"); + + b.Property("IsHandled") + .HasColumnType("bit(1)"); + + b.Property("IsRead") + .HasColumnType("bit(1)"); + + b.Property("ModifiedTime") + .HasColumnType("datetime(6)"); + + b.Property("ModifiedUserId") + .HasColumnType("longtext"); + + b.Property("NodeId") + .HasColumnType("char(36)"); + + b.Property("NodeName") + .HasColumnType("longtext"); + + b.Property("PreStepGroupId") + .HasColumnType("longtext"); + + b.Property("ReadTime") + .HasColumnType("datetime(6)"); + + b.Property("ResourceIds") + .HasColumnType("longtext"); + + b.Property("SubProcessNode_NodeId") + .HasColumnType("char(36)"); + + b.Property("SubProcessNode_WorkStepId") + .HasColumnType("char(36)"); + + b.Property("WorkStepType") + .HasColumnType("int"); + + b.Property("WorkTaskId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.ToTable("WorkStepInfos"); + }); + + modelBuilder.Entity("WorkFlowCore.WorkTasks.WorkTaskInfo", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("CreatedUserId") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Deleted") + .HasColumnType("bit(1)"); + + b.Property("DeletedTime") + .HasColumnType("datetime(6)"); + + b.Property("DeletedUserId") + .HasColumnType("longtext"); + + b.Property("EntityFullName") + .HasColumnType("longtext"); + + b.Property("EntityKeyValue") + .HasColumnType("longtext"); + + b.Property("FormData") + .HasColumnType("longtext"); + + b.Property("IsSimulation") + .HasColumnType("bit(1)"); + + b.Property("ModifiedTime") + .HasColumnType("datetime(6)"); + + b.Property("ModifiedUserId") + .HasColumnType("longtext"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("WorkTaskStatus") + .HasColumnType("int"); + + b.Property("WorkflowId_Id") + .HasColumnType("char(36)"); + + b.Property("WorkflowId_VersionId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("WorkTaskInfos"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Framework/Migrations/20230429063203_formdesigns.cs b/WorkFlowCore/WorkFlowCore.Framework/Migrations/20230429063203_formdesigns.cs new file mode 100644 index 0000000000000000000000000000000000000000..03a314e38364366b8c7082bd5a92f7e49e38a4cc --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Framework/Migrations/20230429063203_formdesigns.cs @@ -0,0 +1,48 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace WorkFlowCore.Framework.Migrations +{ + public partial class formdesigns : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "FormDesignInfos", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + FormType = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Title = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + Description = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + ActiveVersion = table.Column(type: "int", nullable: true), + ModifiedTime = table.Column(type: "datetime(6)", nullable: false), + ModifiedUserId = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + CreatedUserId = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + CreationTime = table.Column(type: "datetime(6)", nullable: false), + DeletedUserId = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + DeletedTime = table.Column(type: "datetime(6)", nullable: false), + Deleted = table.Column(type: "bit(1)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_FormDesignInfos", x => x.Id); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "FormDesignInfos"); + } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Framework/Migrations/20230429070527_formdesigns_update1.Designer.cs b/WorkFlowCore/WorkFlowCore.Framework/Migrations/20230429070527_formdesigns_update1.Designer.cs new file mode 100644 index 0000000000000000000000000000000000000000..fa21ba84041913da7083a69f05bed52d3f6fad89 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Framework/Migrations/20230429070527_formdesigns_update1.Designer.cs @@ -0,0 +1,390 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Volo.Abp.EntityFrameworkCore; +using WorkFlowCore.Framework.Repositories4EF; + +#nullable disable + +namespace WorkFlowCore.Framework.Migrations +{ + [DbContext(typeof(WorkflowDbContext))] + [Migration("20230429070527_formdesigns_update1")] + partial class formdesigns_update1 + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.MySql) + .HasAnnotation("ProductVersion", "6.0.5") + .HasAnnotation("Relational:MaxIdentifierLength", 64); + + modelBuilder.Entity("WorkFlowCore.FormDesigns.FormDesignInfo", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("ActiveVersion") + .HasColumnType("int"); + + b.Property("CreatedUserId") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Deleted") + .HasColumnType("bit(1)"); + + b.Property("DeletedTime") + .HasColumnType("datetime(6)"); + + b.Property("DeletedUserId") + .HasColumnType("longtext"); + + b.Property("Description") + .HasColumnType("longtext"); + + b.Property("FormType") + .HasColumnType("longtext"); + + b.Property("ModifiedTime") + .HasColumnType("datetime(6)"); + + b.Property("ModifiedUserId") + .HasColumnType("longtext"); + + b.Property("Title") + .HasColumnType("longtext"); + + b.Property("WorkflowId_Id") + .HasColumnType("char(36)"); + + b.Property("WorkflowId_Version") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("FormDesignInfos"); + }); + + modelBuilder.Entity("WorkFlowCore.Plugins.PluginApplyConfig", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("ClassName") + .HasColumnType("longtext"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ConfigValue") + .HasColumnType("longtext"); + + b.Property("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property("FullName") + .HasColumnType("longtext"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("Order") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("PluginApplyConfigs"); + }); + + modelBuilder.Entity("WorkFlowCore.Plugins.PluginInfo", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("ConfigMapInfo") + .HasColumnType("longtext"); + + b.Property("Description") + .HasColumnType("longtext"); + + b.Property("FilePath") + .HasColumnType("longtext"); + + b.Property("IsEnabled") + .HasColumnType("bit(1)"); + + b.Property("PluginId_ClassName") + .HasColumnType("longtext"); + + b.Property("PluginId_EntryFullName") + .HasColumnType("longtext"); + + b.Property("PluginId_Name") + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.ToTable("PluginInfos"); + }); + + modelBuilder.Entity("WorkFlowCore.Workflows.Workflow", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("ActiveVersion") + .HasColumnType("int"); + + b.Property("CreatedUserId") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Deleted") + .HasColumnType("bit(1)"); + + b.Property("DeletedTime") + .HasColumnType("datetime(6)"); + + b.Property("DeletedUserId") + .HasColumnType("longtext"); + + b.Property("Description") + .HasMaxLength(500) + .HasColumnType("varchar(500)"); + + b.Property("ModifiedTime") + .HasColumnType("datetime(6)"); + + b.Property("ModifiedUserId") + .HasColumnType("longtext"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("WorkflowNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.ToTable("Workflows"); + }); + + modelBuilder.Entity("WorkFlowCore.Workflows.WorkflowVersionInfo", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("AllNodes") + .HasColumnType("longtext"); + + b.Property("CreatedUserId") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Deleted") + .HasColumnType("bit(1)"); + + b.Property("DeletedTime") + .HasColumnType("datetime(6)"); + + b.Property("DeletedUserId") + .HasColumnType("longtext"); + + b.Property("Description") + .HasMaxLength(2000) + .HasColumnType("varchar(2000)"); + + b.Property("DrawingInfo") + .HasColumnType("longtext"); + + b.Property("ModifiedTime") + .HasColumnType("datetime(6)"); + + b.Property("ModifiedUserId") + .HasColumnType("longtext"); + + b.Property("NodeMaps") + .HasColumnType("longtext"); + + b.Property("VersionNo") + .HasColumnType("int"); + + b.Property("WorkflowId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.ToTable("WorkflowVersionInfos"); + }); + + modelBuilder.Entity("WorkFlowCore.WorkTasks.WorkStepInfo", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("Comment") + .HasColumnType("longtext"); + + b.Property("CreatedUserId") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Deleted") + .HasColumnType("bit(1)"); + + b.Property("DeletedTime") + .HasColumnType("datetime(6)"); + + b.Property("DeletedUserId") + .HasColumnType("longtext"); + + b.Property("FormData") + .HasColumnType("longtext"); + + b.Property("FromForwardStepId") + .HasColumnType("char(36)"); + + b.Property("FromNodeId") + .HasColumnType("char(36)"); + + b.Property("FromNodeName") + .HasColumnType("longtext"); + + b.Property("GroupId") + .HasColumnType("longtext"); + + b.Property("HandleType") + .HasColumnType("int"); + + b.Property("HandleUser_Id") + .HasColumnType("longtext"); + + b.Property("HandleUser_Name") + .HasColumnType("longtext"); + + b.Property("HandlerTime") + .HasColumnType("datetime(6)"); + + b.Property("IsHandled") + .HasColumnType("bit(1)"); + + b.Property("IsRead") + .HasColumnType("bit(1)"); + + b.Property("ModifiedTime") + .HasColumnType("datetime(6)"); + + b.Property("ModifiedUserId") + .HasColumnType("longtext"); + + b.Property("NodeId") + .HasColumnType("char(36)"); + + b.Property("NodeName") + .HasColumnType("longtext"); + + b.Property("PreStepGroupId") + .HasColumnType("longtext"); + + b.Property("ReadTime") + .HasColumnType("datetime(6)"); + + b.Property("ResourceIds") + .HasColumnType("longtext"); + + b.Property("SubProcessNode_NodeId") + .HasColumnType("char(36)"); + + b.Property("SubProcessNode_WorkStepId") + .HasColumnType("char(36)"); + + b.Property("WorkStepType") + .HasColumnType("int"); + + b.Property("WorkTaskId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.ToTable("WorkStepInfos"); + }); + + modelBuilder.Entity("WorkFlowCore.WorkTasks.WorkTaskInfo", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("CreatedUserId") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Deleted") + .HasColumnType("bit(1)"); + + b.Property("DeletedTime") + .HasColumnType("datetime(6)"); + + b.Property("DeletedUserId") + .HasColumnType("longtext"); + + b.Property("EntityFullName") + .HasColumnType("longtext"); + + b.Property("EntityKeyValue") + .HasColumnType("longtext"); + + b.Property("FormData") + .HasColumnType("longtext"); + + b.Property("IsSimulation") + .HasColumnType("bit(1)"); + + b.Property("ModifiedTime") + .HasColumnType("datetime(6)"); + + b.Property("ModifiedUserId") + .HasColumnType("longtext"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("WorkTaskStatus") + .HasColumnType("int"); + + b.Property("WorkflowId_Id") + .HasColumnType("char(36)"); + + b.Property("WorkflowId_VersionId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("WorkTaskInfos"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Framework/Migrations/20230429070527_formdesigns_update1.cs b/WorkFlowCore/WorkFlowCore.Framework/Migrations/20230429070527_formdesigns_update1.cs new file mode 100644 index 0000000000000000000000000000000000000000..bffea3f69c87309543ddb6a4c72b23c5f5feea7f --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Framework/Migrations/20230429070527_formdesigns_update1.cs @@ -0,0 +1,39 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace WorkFlowCore.Framework.Migrations +{ + public partial class formdesigns_update1 : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "WorkflowId_Id", + table: "FormDesignInfos", + type: "char(36)", + nullable: false, + defaultValue: new Guid("00000000-0000-0000-0000-000000000000"), + collation: "ascii_general_ci"); + + migrationBuilder.AddColumn( + name: "WorkflowId_Version", + table: "FormDesignInfos", + type: "int", + nullable: false, + defaultValue: 0); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "WorkflowId_Id", + table: "FormDesignInfos"); + + migrationBuilder.DropColumn( + name: "WorkflowId_Version", + table: "FormDesignInfos"); + } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Framework/Migrations/20230429074921_formdesigns_update2.Designer.cs b/WorkFlowCore/WorkFlowCore.Framework/Migrations/20230429074921_formdesigns_update2.Designer.cs new file mode 100644 index 0000000000000000000000000000000000000000..aa1721eecbfda27ff68eb4fcbce307e6e13ac50c --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Framework/Migrations/20230429074921_formdesigns_update2.Designer.cs @@ -0,0 +1,430 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Volo.Abp.EntityFrameworkCore; +using WorkFlowCore.Framework.Repositories4EF; + +#nullable disable + +namespace WorkFlowCore.Framework.Migrations +{ + [DbContext(typeof(WorkflowDbContext))] + [Migration("20230429074921_formdesigns_update2")] + partial class formdesigns_update2 + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.MySql) + .HasAnnotation("ProductVersion", "6.0.5") + .HasAnnotation("Relational:MaxIdentifierLength", 64); + + modelBuilder.Entity("WorkFlowCore.FormDesigns.FormDesignInfo", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("ActiveVersion") + .HasColumnType("int"); + + b.Property("CreatedUserId") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Deleted") + .HasColumnType("bit(1)"); + + b.Property("DeletedTime") + .HasColumnType("datetime(6)"); + + b.Property("DeletedUserId") + .HasColumnType("longtext"); + + b.Property("Description") + .HasColumnType("longtext"); + + b.Property("FormType") + .HasColumnType("longtext"); + + b.Property("ModifiedTime") + .HasColumnType("datetime(6)"); + + b.Property("ModifiedUserId") + .HasColumnType("longtext"); + + b.Property("Title") + .HasColumnType("longtext"); + + b.Property("WorkflowId_Id") + .HasColumnType("char(36)"); + + b.Property("WorkflowId_Version") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("FormDesignInfos"); + }); + + modelBuilder.Entity("WorkFlowCore.FormDesigns.FormDesignVersion", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("CreatedUserId") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Deleted") + .HasColumnType("bit(1)"); + + b.Property("DeletedTime") + .HasColumnType("datetime(6)"); + + b.Property("DeletedUserId") + .HasColumnType("longtext"); + + b.Property("DesignContent") + .HasColumnType("longtext"); + + b.Property("FormDesignId") + .HasColumnType("char(36)"); + + b.Property("ModifiedTime") + .HasColumnType("datetime(6)"); + + b.Property("ModifiedUserId") + .HasColumnType("longtext"); + + b.Property("Version") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("FormDesignVersions"); + }); + + modelBuilder.Entity("WorkFlowCore.Plugins.PluginApplyConfig", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("ClassName") + .HasColumnType("longtext"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ConfigValue") + .HasColumnType("longtext"); + + b.Property("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); + + b.Property("FullName") + .HasColumnType("longtext"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("Order") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("PluginApplyConfigs"); + }); + + modelBuilder.Entity("WorkFlowCore.Plugins.PluginInfo", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("ConfigMapInfo") + .HasColumnType("longtext"); + + b.Property("Description") + .HasColumnType("longtext"); + + b.Property("FilePath") + .HasColumnType("longtext"); + + b.Property("IsEnabled") + .HasColumnType("bit(1)"); + + b.Property("PluginId_ClassName") + .HasColumnType("longtext"); + + b.Property("PluginId_EntryFullName") + .HasColumnType("longtext"); + + b.Property("PluginId_Name") + .HasColumnType("longtext"); + + b.HasKey("Id"); + + b.ToTable("PluginInfos"); + }); + + modelBuilder.Entity("WorkFlowCore.Workflows.Workflow", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("ActiveVersion") + .HasColumnType("int"); + + b.Property("CreatedUserId") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Deleted") + .HasColumnType("bit(1)"); + + b.Property("DeletedTime") + .HasColumnType("datetime(6)"); + + b.Property("DeletedUserId") + .HasColumnType("longtext"); + + b.Property("Description") + .HasMaxLength(500) + .HasColumnType("varchar(500)"); + + b.Property("ModifiedTime") + .HasColumnType("datetime(6)"); + + b.Property("ModifiedUserId") + .HasColumnType("longtext"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.Property("WorkflowNo") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("varchar(50)"); + + b.HasKey("Id"); + + b.ToTable("Workflows"); + }); + + modelBuilder.Entity("WorkFlowCore.Workflows.WorkflowVersionInfo", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("AllNodes") + .HasColumnType("longtext"); + + b.Property("CreatedUserId") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Deleted") + .HasColumnType("bit(1)"); + + b.Property("DeletedTime") + .HasColumnType("datetime(6)"); + + b.Property("DeletedUserId") + .HasColumnType("longtext"); + + b.Property("Description") + .HasMaxLength(2000) + .HasColumnType("varchar(2000)"); + + b.Property("DrawingInfo") + .HasColumnType("longtext"); + + b.Property("ModifiedTime") + .HasColumnType("datetime(6)"); + + b.Property("ModifiedUserId") + .HasColumnType("longtext"); + + b.Property("NodeMaps") + .HasColumnType("longtext"); + + b.Property("VersionNo") + .HasColumnType("int"); + + b.Property("WorkflowId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.ToTable("WorkflowVersionInfos"); + }); + + modelBuilder.Entity("WorkFlowCore.WorkTasks.WorkStepInfo", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("Comment") + .HasColumnType("longtext"); + + b.Property("CreatedUserId") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Deleted") + .HasColumnType("bit(1)"); + + b.Property("DeletedTime") + .HasColumnType("datetime(6)"); + + b.Property("DeletedUserId") + .HasColumnType("longtext"); + + b.Property("FormData") + .HasColumnType("longtext"); + + b.Property("FromForwardStepId") + .HasColumnType("char(36)"); + + b.Property("FromNodeId") + .HasColumnType("char(36)"); + + b.Property("FromNodeName") + .HasColumnType("longtext"); + + b.Property("GroupId") + .HasColumnType("longtext"); + + b.Property("HandleType") + .HasColumnType("int"); + + b.Property("HandleUser_Id") + .HasColumnType("longtext"); + + b.Property("HandleUser_Name") + .HasColumnType("longtext"); + + b.Property("HandlerTime") + .HasColumnType("datetime(6)"); + + b.Property("IsHandled") + .HasColumnType("bit(1)"); + + b.Property("IsRead") + .HasColumnType("bit(1)"); + + b.Property("ModifiedTime") + .HasColumnType("datetime(6)"); + + b.Property("ModifiedUserId") + .HasColumnType("longtext"); + + b.Property("NodeId") + .HasColumnType("char(36)"); + + b.Property("NodeName") + .HasColumnType("longtext"); + + b.Property("PreStepGroupId") + .HasColumnType("longtext"); + + b.Property("ReadTime") + .HasColumnType("datetime(6)"); + + b.Property("ResourceIds") + .HasColumnType("longtext"); + + b.Property("SubProcessNode_NodeId") + .HasColumnType("char(36)"); + + b.Property("SubProcessNode_WorkStepId") + .HasColumnType("char(36)"); + + b.Property("WorkStepType") + .HasColumnType("int"); + + b.Property("WorkTaskId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.ToTable("WorkStepInfos"); + }); + + modelBuilder.Entity("WorkFlowCore.WorkTasks.WorkTaskInfo", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("CreatedUserId") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Deleted") + .HasColumnType("bit(1)"); + + b.Property("DeletedTime") + .HasColumnType("datetime(6)"); + + b.Property("DeletedUserId") + .HasColumnType("longtext"); + + b.Property("EntityFullName") + .HasColumnType("longtext"); + + b.Property("EntityKeyValue") + .HasColumnType("longtext"); + + b.Property("FormData") + .HasColumnType("longtext"); + + b.Property("IsSimulation") + .HasColumnType("bit(1)"); + + b.Property("ModifiedTime") + .HasColumnType("datetime(6)"); + + b.Property("ModifiedUserId") + .HasColumnType("longtext"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("WorkTaskStatus") + .HasColumnType("int"); + + b.Property("WorkflowId_Id") + .HasColumnType("char(36)"); + + b.Property("WorkflowId_VersionId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("WorkTaskInfos"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Framework/Migrations/20230429074921_formdesigns_update2.cs b/WorkFlowCore/WorkFlowCore.Framework/Migrations/20230429074921_formdesigns_update2.cs new file mode 100644 index 0000000000000000000000000000000000000000..fe2ee6549a7cbd5c1fb1db5eefaeb71b1419d9ff --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Framework/Migrations/20230429074921_formdesigns_update2.cs @@ -0,0 +1,45 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace WorkFlowCore.Framework.Migrations +{ + public partial class formdesigns_update2 : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "FormDesignVersions", + columns: table => new + { + Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + FormDesignId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), + Version = table.Column(type: "int", nullable: false), + DesignContent = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + ModifiedTime = table.Column(type: "datetime(6)", nullable: false), + ModifiedUserId = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + CreatedUserId = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + CreationTime = table.Column(type: "datetime(6)", nullable: false), + DeletedUserId = table.Column(type: "longtext", nullable: true) + .Annotation("MySql:CharSet", "utf8mb4"), + DeletedTime = table.Column(type: "datetime(6)", nullable: false), + Deleted = table.Column(type: "bit(1)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_FormDesignVersions", x => x.Id); + }) + .Annotation("MySql:CharSet", "utf8mb4"); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "FormDesignVersions"); + } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Framework/Migrations/WorkflowDbContextModelSnapshot.cs b/WorkFlowCore/WorkFlowCore.Framework/Migrations/WorkflowDbContextModelSnapshot.cs index 4fc9a153543374b0e53c7bbf6b0bfdd4b716d5f3..801f4b3d67527cfe49b5572fa0eb3509fbf9cdb9 100644 --- a/WorkFlowCore/WorkFlowCore.Framework/Migrations/WorkflowDbContextModelSnapshot.cs +++ b/WorkFlowCore/WorkFlowCore.Framework/Migrations/WorkflowDbContextModelSnapshot.cs @@ -3,8 +3,11 @@ using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Volo.Abp.EntityFrameworkCore; using WorkFlowCore.Framework.Repositories4EF; +#nullable disable + namespace WorkFlowCore.Framework.Migrations { [DbContext(typeof(WorkflowDbContext))] @@ -14,17 +17,17 @@ namespace WorkFlowCore.Framework.Migrations { #pragma warning disable 612, 618 modelBuilder - .HasAnnotation("Relational:MaxIdentifierLength", 64) - .HasAnnotation("ProductVersion", "5.0.13"); + .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.MySql) + .HasAnnotation("ProductVersion", "6.0.5") + .HasAnnotation("Relational:MaxIdentifierLength", 64); - modelBuilder.Entity("WorkFlowCore.WorkTasks.WorkStepInfo", b => + modelBuilder.Entity("WorkFlowCore.FormDesigns.FormDesignInfo", b => { b.Property("Id") - .ValueGeneratedOnAdd() .HasColumnType("char(36)"); - b.Property("Comment") - .HasColumnType("longtext"); + b.Property("ActiveVersion") + .HasColumnType("int"); b.Property("CreatedUserId") .HasColumnType("longtext"); @@ -41,137 +44,141 @@ namespace WorkFlowCore.Framework.Migrations b.Property("DeletedUserId") .HasColumnType("longtext"); - b.Property("FormData") + b.Property("Description") .HasColumnType("longtext"); - b.Property("FromForwardStepId") - .HasColumnType("char(36)"); + b.Property("FormType") + .HasColumnType("longtext"); - b.Property("FromNodeId") - .HasColumnType("char(36)"); + b.Property("ModifiedTime") + .HasColumnType("datetime(6)"); - b.Property("FromNodeName") + b.Property("ModifiedUserId") .HasColumnType("longtext"); - b.Property("GroupId") + b.Property("Title") .HasColumnType("longtext"); - b.Property("HandleType") + b.Property("WorkflowId_Id") + .HasColumnType("char(36)"); + + b.Property("WorkflowId_Version") .HasColumnType("int"); - b.Property("HandleUser_Id") - .HasColumnType("longtext"); + b.HasKey("Id"); - b.Property("HandleUser_Name") + b.ToTable("FormDesignInfos"); + }); + + modelBuilder.Entity("WorkFlowCore.FormDesigns.FormDesignVersion", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("CreatedUserId") .HasColumnType("longtext"); - b.Property("HandlerTime") + b.Property("CreationTime") .HasColumnType("datetime(6)"); - b.Property("IsHandled") - .HasColumnType("bit(1)"); - - b.Property("IsRead") + b.Property("Deleted") .HasColumnType("bit(1)"); - b.Property("ModifiedTime") + b.Property("DeletedTime") .HasColumnType("datetime(6)"); - b.Property("ModifiedUserId") + b.Property("DeletedUserId") .HasColumnType("longtext"); - b.Property("NodeId") - .HasColumnType("char(36)"); - - b.Property("NodeName") + b.Property("DesignContent") .HasColumnType("longtext"); - b.Property("PreStepGroupId") - .HasColumnType("longtext"); + b.Property("FormDesignId") + .HasColumnType("char(36)"); - b.Property("ReadTime") + b.Property("ModifiedTime") .HasColumnType("datetime(6)"); - b.Property("ResourceIds") + b.Property("ModifiedUserId") .HasColumnType("longtext"); - b.Property("SubProcessNode_NodeId") - .HasColumnType("char(36)"); - - b.Property("SubProcessNode_WorkStepId") - .HasColumnType("char(36)"); - - b.Property("WorkStepType") + b.Property("Version") .HasColumnType("int"); - b.Property("WorkTaskId") - .HasColumnType("char(36)"); - b.HasKey("Id"); - b.ToTable("WorkStepInfos"); + b.ToTable("FormDesignVersions"); }); - modelBuilder.Entity("WorkFlowCore.WorkTasks.WorkTaskInfo", b => + modelBuilder.Entity("WorkFlowCore.Plugins.PluginApplyConfig", b => { b.Property("Id") - .ValueGeneratedOnAdd() .HasColumnType("char(36)"); - b.Property("CreatedUserId") + b.Property("ClassName") .HasColumnType("longtext"); - b.Property("CreationTime") - .HasColumnType("datetime(6)"); + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasMaxLength(40) + .HasColumnType("varchar(40)") + .HasColumnName("ConcurrencyStamp"); - b.Property("Deleted") - .HasColumnType("bit(1)"); + b.Property("ConfigValue") + .HasColumnType("longtext"); - b.Property("DeletedTime") - .HasColumnType("datetime(6)"); + b.Property("ExtraProperties") + .HasColumnType("longtext") + .HasColumnName("ExtraProperties"); - b.Property("DeletedUserId") + b.Property("FullName") .HasColumnType("longtext"); - b.Property("EntityFullName") + b.Property("Name") .HasColumnType("longtext"); - b.Property("EntityKeyValue") - .HasColumnType("longtext"); + b.Property("Order") + .HasColumnType("int"); - b.Property("FormData") - .HasColumnType("longtext"); + b.HasKey("Id"); - b.Property("IsSimulation") - .HasColumnType("bit(1)"); + b.ToTable("PluginApplyConfigs"); + }); - b.Property("ModifiedTime") - .HasColumnType("datetime(6)"); + modelBuilder.Entity("WorkFlowCore.Plugins.PluginInfo", b => + { + b.Property("Id") + .HasColumnType("char(36)"); - b.Property("ModifiedUserId") + b.Property("ConfigMapInfo") .HasColumnType("longtext"); - b.Property("Name") + b.Property("Description") .HasColumnType("longtext"); - b.Property("WorkTaskStatus") - .HasColumnType("int"); + b.Property("FilePath") + .HasColumnType("longtext"); - b.Property("WorkflowId_Id") - .HasColumnType("char(36)"); + b.Property("IsEnabled") + .HasColumnType("bit(1)"); - b.Property("WorkflowId_VersionId") - .HasColumnType("int"); + b.Property("PluginId_ClassName") + .HasColumnType("longtext"); + + b.Property("PluginId_EntryFullName") + .HasColumnType("longtext"); + + b.Property("PluginId_Name") + .HasColumnType("longtext"); b.HasKey("Id"); - b.ToTable("WorkTaskInfos"); + b.ToTable("PluginInfos"); }); modelBuilder.Entity("WorkFlowCore.Workflows.Workflow", b => { b.Property("Id") - .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("ActiveVersion") @@ -220,7 +227,6 @@ namespace WorkFlowCore.Framework.Migrations modelBuilder.Entity("WorkFlowCore.Workflows.WorkflowVersionInfo", b => { b.Property("Id") - .ValueGeneratedOnAdd() .HasColumnType("char(36)"); b.Property("AllNodes") @@ -267,6 +273,155 @@ namespace WorkFlowCore.Framework.Migrations b.ToTable("WorkflowVersionInfos"); }); + + modelBuilder.Entity("WorkFlowCore.WorkTasks.WorkStepInfo", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("Comment") + .HasColumnType("longtext"); + + b.Property("CreatedUserId") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Deleted") + .HasColumnType("bit(1)"); + + b.Property("DeletedTime") + .HasColumnType("datetime(6)"); + + b.Property("DeletedUserId") + .HasColumnType("longtext"); + + b.Property("FormData") + .HasColumnType("longtext"); + + b.Property("FromForwardStepId") + .HasColumnType("char(36)"); + + b.Property("FromNodeId") + .HasColumnType("char(36)"); + + b.Property("FromNodeName") + .HasColumnType("longtext"); + + b.Property("GroupId") + .HasColumnType("longtext"); + + b.Property("HandleType") + .HasColumnType("int"); + + b.Property("HandleUser_Id") + .HasColumnType("longtext"); + + b.Property("HandleUser_Name") + .HasColumnType("longtext"); + + b.Property("HandlerTime") + .HasColumnType("datetime(6)"); + + b.Property("IsHandled") + .HasColumnType("bit(1)"); + + b.Property("IsRead") + .HasColumnType("bit(1)"); + + b.Property("ModifiedTime") + .HasColumnType("datetime(6)"); + + b.Property("ModifiedUserId") + .HasColumnType("longtext"); + + b.Property("NodeId") + .HasColumnType("char(36)"); + + b.Property("NodeName") + .HasColumnType("longtext"); + + b.Property("PreStepGroupId") + .HasColumnType("longtext"); + + b.Property("ReadTime") + .HasColumnType("datetime(6)"); + + b.Property("ResourceIds") + .HasColumnType("longtext"); + + b.Property("SubProcessNode_NodeId") + .HasColumnType("char(36)"); + + b.Property("SubProcessNode_WorkStepId") + .HasColumnType("char(36)"); + + b.Property("WorkStepType") + .HasColumnType("int"); + + b.Property("WorkTaskId") + .HasColumnType("char(36)"); + + b.HasKey("Id"); + + b.ToTable("WorkStepInfos"); + }); + + modelBuilder.Entity("WorkFlowCore.WorkTasks.WorkTaskInfo", b => + { + b.Property("Id") + .HasColumnType("char(36)"); + + b.Property("CreatedUserId") + .HasColumnType("longtext"); + + b.Property("CreationTime") + .HasColumnType("datetime(6)"); + + b.Property("Deleted") + .HasColumnType("bit(1)"); + + b.Property("DeletedTime") + .HasColumnType("datetime(6)"); + + b.Property("DeletedUserId") + .HasColumnType("longtext"); + + b.Property("EntityFullName") + .HasColumnType("longtext"); + + b.Property("EntityKeyValue") + .HasColumnType("longtext"); + + b.Property("FormData") + .HasColumnType("longtext"); + + b.Property("IsSimulation") + .HasColumnType("bit(1)"); + + b.Property("ModifiedTime") + .HasColumnType("datetime(6)"); + + b.Property("ModifiedUserId") + .HasColumnType("longtext"); + + b.Property("Name") + .HasColumnType("longtext"); + + b.Property("WorkTaskStatus") + .HasColumnType("int"); + + b.Property("WorkflowId_Id") + .HasColumnType("char(36)"); + + b.Property("WorkflowId_VersionId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("WorkTaskInfos"); + }); #pragma warning restore 612, 618 } } diff --git a/WorkFlowCore/WorkFlowCore.Framework/Repositories/BasicRepository.cs b/WorkFlowCore/WorkFlowCore.Framework/Repositories/BasicRepository.cs deleted file mode 100644 index cd6adc5f00696d17882bc37ddbbe0581590c6062..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore.Framework/Repositories/BasicRepository.cs +++ /dev/null @@ -1,222 +0,0 @@ -using JetBrains.Annotations; -using Newtonsoft.Json; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Linq.Expressions; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using WorkFlowCore.Authorization; -using WorkFlowCore.IRepositories; - -namespace WorkFlowCore.Framework.Repositories -{ - public class BasicRepository : IBasicRepository, IReadOnlyBasicRepository where TEntity : class, IEntity - { - - private readonly UnitOfWork unitOfWork; - private readonly IWorkflowSession session; - - static BasicRepository() - { - var data = ReadData(); - VirtualDB.Init(data); - } - public BasicRepository(IUnitOfWork unitOfWork) - { - this.unitOfWork = (UnitOfWork)unitOfWork; - } - - public BasicRepository(IUnitOfWork unitOfWork, IWorkflowSession session) - { - this.unitOfWork = (UnitOfWork)unitOfWork; - this.session = session; - } - - public static void ClearData() - { - VirtualDB.ClearData(); - } - - private static List ReadData() - { - var dir = Path.Combine(Environment.CurrentDirectory, "Data"); - if (!Directory.Exists(dir)) Directory.CreateDirectory(dir); - var path = Path.Combine(dir, typeof(TEntity).FullName); - if (!File.Exists(path)) return new List(); - try - { - return JsonConvert.DeserializeObject>(File.ReadAllText(path, Encoding.Default)); - } - catch (Exception ex) - { - return new List(); - } - } - private static void WriteData() - { - VirtualDB.SaveData(); - } - - - public async Task DeleteAsync(TKey id, bool autoSave = false, CancellationToken cancellationToken = default) - { - lock ($"BaseRepository-delete-{typeof(TEntity).FullName}") - { - var item = VirtualDB.GetData(d => d.Id.Equals(id)).FirstOrDefault(); - if (item != null) - { - if (cancellationToken.IsCancellationRequested) return; - if (unitOfWork.IsActive()) - unitOfWork.Remove(item); - else - VirtualDB.Remove(typeof(TEntity), item); - if (!unitOfWork.IsActive()) - WriteData(); - } - } - } - - public async Task DeleteAsync([global::JetBrains.Annotations.NotNullAttribute] TEntity entity, bool autoSave = false, CancellationToken cancellationToken = default) - { - await DeleteAsync(entity.Id, autoSave, cancellationToken); - } - - public async Task DeleteManyAsync([global::JetBrains.Annotations.NotNullAttribute] IEnumerable ids, bool autoSave = false, CancellationToken cancellationToken = default) - { - foreach (var id in ids) - { - await DeleteAsync(id, autoSave, cancellationToken); - } - } - - public async Task DeleteManyAsync([global::JetBrains.Annotations.NotNullAttribute] IEnumerable entities, bool autoSave = false, CancellationToken cancellationToken = default) - { - await DeleteManyAsync(entities.Select(e => e.Id), autoSave, cancellationToken); - } - - public async Task DeleteManyAsync([NotNull] Expression> predicate, bool autoSave = false, CancellationToken cancellationToken = default) - { - var ids = VirtualDB.GetData(d => predicate != null ? predicate.Compile().Invoke(d) : true).Select(e => e.Id).ToList(); - await DeleteManyAsync(ids, autoSave, cancellationToken); - } - - public async Task FindAsync(TKey id, bool includeDetails = true, CancellationToken cancellationToken = default) - { - return VirtualDB.GetData(d => d.Id.Equals(id)).FirstOrDefault(); - } - - public async Task GetAsync(TKey id, bool includeDetails = true, CancellationToken cancellationToken = default) - { - return VirtualDB.GetData(d => d.Id.Equals(id)).FirstOrDefault(); - } - - public async Task GetAsync([NotNull] Expression> predicate, bool includeDetails = false, CancellationToken cancellationToken = default) - { - return (await GetListAsync(predicate, includeDetails, cancellationToken)).FirstOrDefault(); - } - - public async Task GetCountAsync(CancellationToken cancellationToken = default) - { - return VirtualDB.GetData().Count(); - } - - public async Task GetCountAsync([NotNull] Expression> predicate, CancellationToken cancellationToken = default) - { - return VirtualDB.GetData(d => predicate != null ? predicate.Compile().Invoke(d) : true).Count(); - } - - public async Task> GetListAsync(bool includeDetails = false, CancellationToken cancellationToken = default) - { - return VirtualDB.GetData(); - } - - public async Task> GetListAsync([global::JetBrains.Annotations.NotNullAttribute] Expression> predicate, bool includeDetails = false, CancellationToken cancellationToken = default) - { - return VirtualDB.GetData(d => predicate != null ? predicate.Compile().Invoke(d) : true); - } - - public async Task> GetPagedListAsync(int skipCount, int maxResultCount, string sorting, bool includeDetails = false, CancellationToken cancellationToken = default) - { - return VirtualDB.GetData().Skip(skipCount).Take(maxResultCount).ToList(); - } - - public async Task> GetPagedListAsync([NotNull] Expression> predicate, int skipCount, int maxResultCount, string sorting, bool includeDetails = false, CancellationToken cancellationToken = default) - { - return new List(VirtualDB.GetData(d => predicate != null ? predicate.Compile().Invoke(d) : true).Skip(skipCount).Take(maxResultCount)); - } - - public async Task InsertAsync([global::JetBrains.Annotations.NotNullAttribute] TEntity entity, bool autoSave = false, CancellationToken cancellationToken = default) - { - lock ($"BaseRepository-add-{typeof(TEntity).FullName}") - { - if (entity is IWithBaseInfoEntity) - { - var withBaseInfoEntity = (IWithBaseInfoEntity)entity; - withBaseInfoEntity.CreationTime = DateTime.Now; - withBaseInfoEntity.CreatedUserId = session?.User?.Id; - entity = (TEntity)withBaseInfoEntity; - } - if (unitOfWork.IsActive()) - unitOfWork.Add(entity); - else - VirtualDB.Add(entity.GetType(), entity); - if (!unitOfWork.IsActive()) - WriteData(); - return entity; - } - } - - public async Task InsertManyAsync([global::JetBrains.Annotations.NotNullAttribute] IEnumerable entities, bool autoSave = false, CancellationToken cancellationToken = default) - { - foreach (var entity in entities) - { - await InsertAsync(entity, autoSave, cancellationToken); - } - } - - public async Task UpdateAsync([global::JetBrains.Annotations.NotNullAttribute] TEntity entity, bool autoSave = false, CancellationToken cancellationToken = default) - { - var item = VirtualDB.GetData(d => d.Id.Equals(entity.Id)).FirstOrDefault(); - if (item != null) - { - if (unitOfWork.IsActive()) - unitOfWork.Remove(item); - else - VirtualDB.Remove(item.GetType(), item); - if (entity is IWithBaseInfoEntity) - { - var withBaseInfoEntity = (IWithBaseInfoEntity)entity; - withBaseInfoEntity.ModifiedTime = DateTime.Now; - withBaseInfoEntity.ModifiedUserId = session?.User?.Id; - entity = (TEntity)withBaseInfoEntity; - } - if (unitOfWork.IsActive()) - unitOfWork.Add(entity); - else - VirtualDB.Add(entity.GetType(), entity); - if (!unitOfWork.IsActive()) - WriteData(); - return entity; - } - return item; - } - - public async Task UpdateManyAsync([global::JetBrains.Annotations.NotNullAttribute] IEnumerable entities, bool autoSave = false, CancellationToken cancellationToken = default) - { - foreach (var entity in entities) - { - await UpdateAsync(entity, autoSave, cancellationToken); - } - } - } - - public class BasicRepository : BasicRepository, IReadOnlyBasicRepository where TEntity : class, IEntity - { - public BasicRepository(IUnitOfWork unitOfWork, IWorkflowSession session) : base(unitOfWork, session) - { - } - } -} diff --git a/WorkFlowCore/WorkFlowCore.Framework/Repositories/UnitOfWork.cs b/WorkFlowCore/WorkFlowCore.Framework/Repositories/UnitOfWork.cs deleted file mode 100644 index 1d43d3fef34e384596ea643a7e576211782fbea2..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore.Framework/Repositories/UnitOfWork.cs +++ /dev/null @@ -1,111 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using WorkFlowCore.IRepositories; - -namespace WorkFlowCore.Framework.Repositories -{ - public class UnitOfWork : IUnitOfWork - { - private List removeList; - private List addList; - private bool isActive = false; - private int beginLevel = 0; - private Guid objId; - - public UnitOfWork() - { - objId = Guid.NewGuid(); - removeList = new List(); - addList = new List(); - } - - - public bool Commit() - { - beginLevel--; - //如果开启了多层事务,则最外层才提交 - if (beginLevel > 0) - { - - return true; - } - try - { - foreach (var item in removeList) - { - VirtualDB.Remove(item.GetType(), item); - } - foreach (var item in addList) - { - VirtualDB.Add(item.GetType(), item); - } - VirtualDB.SaveData(); - return true; - } - catch (Exception) - { - //回滚 - foreach (var item in removeList) - { - if(!VirtualDB.IsContains(item.GetType(), item)) - VirtualDB.Add(item.GetType(), item); - } - foreach (var item in addList) - { - if (VirtualDB.IsContains(item.GetType(), item)) - VirtualDB.Remove(item.GetType(), item); - } - return false; - } - } - - public void Dispose() - { - removeList.Clear(); - addList.Clear(); - isActive = false; - } - - public bool IsActive() - { - return isActive; - } - - internal int Add(params object[] items) - { - if (items != null) - { - var count = 0; - foreach (var item in items) - { - count++; - addList.Add(item); - } - return count; - } - return 0; - } - internal int Remove( params object[] items) - { - if (items != null) - { - var count = 0; - foreach (var item in items) - { - count++; - removeList.Add(item); - } - return count; - } - return 0; - } - - internal void Begin() - { - beginLevel++; - if (this.isActive) return; - isActive = true; - } - } -} diff --git a/WorkFlowCore/WorkFlowCore.Framework/Repositories/UnitOfWorkManager.cs b/WorkFlowCore/WorkFlowCore.Framework/Repositories/UnitOfWorkManager.cs deleted file mode 100644 index 4ffa5bcad51cc0131d5d975e2d268462f4206f59..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore.Framework/Repositories/UnitOfWorkManager.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using WorkFlowCore.IRepositories; -using Microsoft.Extensions.DependencyInjection; - -namespace WorkFlowCore.Framework.Repositories -{ - public class UnitOfWorkManager : IUnitOfWorkManager - { - private readonly UnitOfWork unitOfWork; - - public UnitOfWorkManager(IUnitOfWork unitOfWork) - { - this.unitOfWork = (UnitOfWork)unitOfWork; - } - - public IUnitOfWork Begin() - { - unitOfWork.Begin(); - return unitOfWork; - } - } -} diff --git a/WorkFlowCore/WorkFlowCore.Framework/Repositories/VirtualDB.cs b/WorkFlowCore/WorkFlowCore.Framework/Repositories/VirtualDB.cs deleted file mode 100644 index dfef40ef5a96b169d61335babd4546285421f0ec..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore.Framework/Repositories/VirtualDB.cs +++ /dev/null @@ -1,113 +0,0 @@ -using Newtonsoft.Json; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Linq.Expressions; -using System.Text; - -namespace WorkFlowCore.Framework.Repositories -{ - public class VirtualDB - { - private static Dictionary> data; - private static object _lock; - static VirtualDB() - { - data = new Dictionary>(); - _lock = new object(); - } - - private static void CheckAndInit(Type type) - { - if (!data.ContainsKey(type)) - { - lock (_lock) - { - if (!data.ContainsKey(type)) - { - data.Add(type, new List()); - } - } - } - } - - public static void Init(List list) - { - Type type = typeof(T); - CheckAndInit(type); - data[type] = list!=null ? list.Select(t => (object)t).ToList():new List(); - } - - public static void SaveData() - { - foreach (var item in data) - { - var dir = Path.Combine(Environment.CurrentDirectory, "Data"); - if (!Directory.Exists(dir)) Directory.CreateDirectory(dir); - var path = Path.Combine(dir, item.Key.FullName); - File.WriteAllText(path, JsonConvert.SerializeObject(item.Value), Encoding.Default); - } - - } - - - public static List GetData(Expression> expression=null) - { - Type type = typeof(T); - return data[type].Select(o => (T)o).Where(expression!=null?expression.Compile():t=>true).ToList(); - } - - public static int Add(Type type, params object[] items) - { - if (items != null) - { - var count = 0; - foreach (var item in items) - { - var list = data[type]; - if (!list.Contains(item)) - { - count++; - list.Add(item); - } - } - return count; - } - return 0; - } - public static int Remove(Type type,params object[] items) - { - if (items != null) - { - var count = 0; - foreach (var item in items) - { - var list = data[type]; - if (list.Contains(item)) - { - count++; - list.Remove(item); - } - } - return count; - } - return 0; - } - - public static bool IsContains(Type type,object item) - { - var list = data[type]; - return list.Contains(item); - } - - public static void ClearData() - { - foreach (var item in data) - { - item.Value.Clear(); - } - SaveData(); - } - } -} diff --git a/WorkFlowCore/WorkFlowCore.Framework/Repositories/WorkStepRepository.cs b/WorkFlowCore/WorkFlowCore.Framework/Repositories/WorkStepRepository.cs deleted file mode 100644 index edb7ef7bc4f7c65499525e615215e1433d098f69..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore.Framework/Repositories/WorkStepRepository.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using WorkFlowCore.IRepositories; -using WorkFlowCore.WorkTasks; - -namespace WorkFlowCore.Framework.Repositories -{ - public class WorkStepRepository : BasicRepository, IWorkStepRepository - { - public WorkStepRepository(IUnitOfWork unitOfWork) : base(unitOfWork) - { - } - - public async Task> GetUnHandlerWorkStepsOfUserAsync(string userId, int pageIndex = 1, int pageSize = -1) - { - var result = new PageResult - { - Total = (await GetCountAsync(ws => ws.HandleUser_Id == userId && !ws.IsHandled)) - }; - if (pageSize < 1) - result.Items = (await GetListAsync(ws => ws.HandleUser_Id == userId && !ws.IsHandled)).Select(w => w.ToWorkStep()).ToList(); - else result.Items = (await GetPagedListAsync(ws => ws.HandleUser_Id == userId && !ws.IsHandled,(pageIndex-1)*pageSize,pageSize,"")).Select(w => w.ToWorkStep()).ToList(); - return await Task.FromResult(result); - } - } -} diff --git a/WorkFlowCore/WorkFlowCore.Framework/Repositories/WorkTaskRepository.cs b/WorkFlowCore/WorkFlowCore.Framework/Repositories/WorkTaskRepository.cs deleted file mode 100644 index 2a8293fcc0cba41698d7f54d744706e3dfc1ec48..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore.Framework/Repositories/WorkTaskRepository.cs +++ /dev/null @@ -1,133 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using WorkFlowCore.IRepositories; -using WorkFlowCore.WorkTasks; - -namespace WorkFlowCore.Framework.Repositories -{ - public class WorkTaskRepository : BasicRepository, IWorkTaskRepository - { - private readonly IWorkStepRepository workStepRepository; - - public WorkTaskRepository(IUnitOfWork unitOfWork,IWorkStepRepository workStepRepository) : base(unitOfWork) - { - this.workStepRepository = workStepRepository; - } - - public async Task> GetAllTasksOfUserAsync(string userId, int pageIndex = 1, int pageSize = -1) - { - var workTaskIds = (await workStepRepository.GetListAsync(ws => ws.HandleUser_Id == userId)).Select(ws => ws.WorkTaskId); - - var result = new PageResult - { - Total = await GetCountAsync(wt => workTaskIds.Contains(wt.Id)) - }; - if (pageSize < 1) - result.Items = (await GetListAsync(wt => workTaskIds.Contains(wt.Id))).Select(w => w.ToWorkTask()).ToList(); - else result.Items = (await GetPagedListAsync(wt => workTaskIds.Contains(wt.Id), (pageIndex - 1) * pageSize, pageSize, "CreationTime desc")).Select(w => w.ToWorkTask()).ToList(); - return await Task.FromResult(result); - } - - public async Task> GetHandledWorkTasksOfUserAsync(string userId, int pageIndex = 1, int pageSize = -1) - { - var workTaskIds = (await workStepRepository.GetListAsync(ws => ws.HandleUser_Id == userId && ws.IsHandled)).Select(ws => ws.WorkTaskId); - - var workTasks = (await GetListAsync(wt => workTaskIds.Contains(wt.Id) && !wt.IsSimulation)).OrderByDescending(ws => ws.CreationTime); - - var result = new PageResult - { - Total = await GetCountAsync(wt => workTaskIds.Contains(wt.Id) && !wt.IsSimulation) - }; - - if (pageSize < 1) - result.Items = (await Task.FromResult(workTasks.Select(w => w.ToWorkTask()))).ToList(); - else result.Items = (await Task.FromResult(workTasks.Select(w => w.ToWorkTask()).Skip((pageIndex - 1) * pageSize).Take(pageSize))).ToList(); - - return await Task.FromResult(result); - } - - public async Task> GetTasksOfStartUserAsync(string userId, int pageIndex = 1, int pageSize = -1) - { - var result = new PageResult - { - Total = (await GetCountAsync(wt => wt.ModifiedUserId == userId)) - }; - if (pageSize < 1) - result.Items = (await GetListAsync(wt => wt.ModifiedUserId == userId)).Select(ws=>ws.ToWorkTask()).ToList(); - else result.Items = (await GetPagedListAsync(wt => wt.ModifiedUserId == userId, (pageIndex - 1) * pageSize, pageSize, "")).Select(w => w.ToWorkTask()).ToList(); - return await Task.FromResult(result); - } - - public async Task> GetUnHandledWorkTasksOfUserAsync(string userId, int pageIndex = 1, int pageSize = -1) - { - var workTaskIds = (await workStepRepository.GetListAsync(ws => ws.HandleUser_Id == userId && !ws.IsHandled)).Select(ws => ws.WorkTaskId); - - var workTasks = (await GetListAsync(wt => workTaskIds.Contains(wt.Id)&&!wt.IsSimulation)).OrderByDescending(ws => ws.CreationTime); - - var result = new PageResult - { - Total = await GetCountAsync(wt => workTaskIds.Contains(wt.Id) && !wt.IsSimulation) - }; - - if (pageSize < 1) - result.Items =( await Task.FromResult(workTasks.Select(w => w.ToWorkTask()))).ToList(); - else result.Items =(await Task.FromResult(workTasks.Select(w => w.ToWorkTask()).Skip((pageIndex - 1) * pageSize).Take(pageSize))).ToList(); - - return await Task.FromResult(result); - } - - public async Task> GetWorkflowedTasksOfUserAsync(string userId, int pageIndex = 1, int pageSize = -1) - { - var workTaskIds = (await workStepRepository.GetListAsync(ws => ws.HandleUser_Id == userId && ws.IsHandled)).Select(ws => ws.WorkTaskId); - var result = new PageResult - { - Total = await GetCountAsync(wt => workTaskIds.Contains(wt.Id)) - }; - - - if (pageSize < 1) - result.Items = (await GetListAsync(wt => workTaskIds.Contains(wt.Id))).OrderByDescending(ws => ws.CreationTime).Select(ws => ws.ToWorkTask()).ToList(); - else result.Items = (await GetListAsync(wt => workTaskIds.Contains(wt.Id))).OrderByDescending(ws => ws.CreationTime).Select(ws => ws.ToWorkTask()).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList(); - return await Task.FromResult(result); - } - - public async Task> GetWorkTasksOfCreatorAsync(string userId, int pageIndex = 1, int pageSize = -1) - { - var workTaskIds = (await workStepRepository.GetListAsync(ws => ws.CreatedUserId == userId && ws.IsHandled)).Select(ws => ws.WorkTaskId); - - var workTasks = (await GetListAsync(wt => workTaskIds.Contains(wt.Id) && !wt.IsSimulation)).OrderByDescending(ws => ws.CreationTime); - - var result = new PageResult - { - Total = await GetCountAsync(wt => workTaskIds.Contains(wt.Id) && !wt.IsSimulation) - }; - - if (pageSize < 1) - result.Items = (await Task.FromResult(workTasks.Select(w => w.ToWorkTask()))).ToList(); - else result.Items = (await Task.FromResult(workTasks.Select(w => w.ToWorkTask()).Skip((pageIndex - 1) * pageSize).Take(pageSize))).ToList(); - - return await Task.FromResult(result); - } - - public async Task> GetAllWorkTasksAsync(int pageIndex = 1, int pageSize = -1) - { - var workTaskIds = (await workStepRepository.GetListAsync(null)).Select(ws => ws.WorkTaskId); - - var workTasks = (await GetListAsync(wt => workTaskIds.Contains(wt.Id) && !wt.IsSimulation)).OrderByDescending(ws => ws.CreationTime); - - var result = new PageResult - { - Total = await GetCountAsync(wt => workTaskIds.Contains(wt.Id) && !wt.IsSimulation) - }; - - if (pageSize < 1) - result.Items = (await Task.FromResult(workTasks.Select(w => w.ToWorkTask()))).ToList(); - else result.Items = (await Task.FromResult(workTasks.Select(w => w.ToWorkTask()).Skip((pageIndex - 1) * pageSize).Take(pageSize))).ToList(); - - return await Task.FromResult(result); - } - } -} diff --git a/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/BasicRepository4EF.cs b/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/BasicRepository4EF.cs index 8c6b3881db9cc6048e7acadccc18da51b17826ce..6412dca2c2803bf224d66e92e1ef6e5279066326 100644 --- a/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/BasicRepository4EF.cs +++ b/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/BasicRepository4EF.cs @@ -12,34 +12,30 @@ using WorkFlowCore.Authorization; using WorkFlowCore.IRepositories; using System.Linq.Dynamic.Core; using Microsoft.EntityFrameworkCore; +using Volo.Abp.Domain.Repositories.EntityFrameworkCore; +using Volo.Abp.EntityFrameworkCore; +using Volo.Abp.Domain.Entities; namespace WorkFlowCore.Framework.Repositories4EF { - public class BasicRepository4EF : IBasicRepository, IReadOnlyBasicRepository where TEntity : class, IEntity + public class BasicRepository4EF : EfCoreRepository, IBasicRepository, IReadOnlyBasicRepository where TEntity : class, IEntity { - private readonly WorkflowDbContext workflowDbContext; - private UnitOfWork4EF unitOfWork; private readonly IWorkflowSession session; - public BasicRepository4EF(WorkflowDbContext workflowDbContext, IUnitOfWork unitOfWork, IWorkflowSession session) + public BasicRepository4EF(IWorkflowSession session,IDbContextProvider dbContextProvider) :base(dbContextProvider) { - this.workflowDbContext = workflowDbContext; - this.unitOfWork = (UnitOfWork4EF)unitOfWork; this.session = session; } public async Task DeleteAsync(TKey id, bool autoSave = false, CancellationToken cancellationToken = default) { - if (cancellationToken!=null&& cancellationToken.IsCancellationRequested) return; + if (cancellationToken != null && cancellationToken.IsCancellationRequested) return; - var entity = await workflowDbContext.Set().FindAsync(id); - if(entity!=null) + var entity = await DbContext.Set().FindAsync(id); + if (entity != null) { - unitOfWork.BeginWithoutLevel(); - - - workflowDbContext.Remove(entity); - if (autoSave)await workflowDbContext.SaveChangesAsync(); + DbContext.Remove(entity); + if (autoSave) await DbContext.SaveChangesAsync(); } } @@ -49,9 +45,9 @@ namespace WorkFlowCore.Framework.Repositories4EF if (entity != null) { - unitOfWork.BeginWithoutLevel(); - workflowDbContext.Remove(entity); - if (autoSave) await workflowDbContext.SaveChangesAsync(cancellationToken); + + DbContext.Remove(entity); + if (autoSave) await DbContext.SaveChangesAsync(cancellationToken); } } @@ -60,12 +56,12 @@ namespace WorkFlowCore.Framework.Repositories4EF if (cancellationToken != null && cancellationToken.IsCancellationRequested) return; - var entities = workflowDbContext.Set().Where(t=>ids.Contains(t.Id)).ToList(); + var entities = DbContext.Set().Where(t => ids.Contains(t.Id)).ToList(); if (entities != null) { - unitOfWork.BeginWithoutLevel(); - workflowDbContext.RemoveRange(entities); - if (autoSave) await workflowDbContext.SaveChangesAsync(cancellationToken); + + DbContext.RemoveRange(entities); + if (autoSave) await DbContext.SaveChangesAsync(cancellationToken); } } @@ -75,9 +71,9 @@ namespace WorkFlowCore.Framework.Repositories4EF if (cancellationToken != null && cancellationToken.IsCancellationRequested) return; if (entities != null) { - unitOfWork.BeginWithoutLevel(); - workflowDbContext.RemoveRange(entities); - if (autoSave) await workflowDbContext.SaveChangesAsync(cancellationToken); + + DbContext.RemoveRange(entities); + if (autoSave) await DbContext.SaveChangesAsync(cancellationToken); } } @@ -85,70 +81,70 @@ namespace WorkFlowCore.Framework.Repositories4EF { if (cancellationToken != null && cancellationToken.IsCancellationRequested) return; - var entities = workflowDbContext.Set().Where(predicate).ToList(); + var entities = DbContext.Set().Where(predicate).ToList(); if (entities != null) { - unitOfWork.BeginWithoutLevel(); - workflowDbContext.RemoveRange(entities); - if (autoSave) await workflowDbContext.SaveChangesAsync(cancellationToken); + + DbContext.RemoveRange(entities); + if (autoSave) await DbContext.SaveChangesAsync(cancellationToken); } } public async Task FindAsync(TKey id, bool includeDetails = true, CancellationToken cancellationToken = default) { if (cancellationToken != null && cancellationToken.IsCancellationRequested) return null; - return await workflowDbContext.Set().FindAsync(new object[] { id },cancellationToken); + return await DbContext.Set().FindAsync(new object[] { id }, cancellationToken); } public async Task GetAsync(TKey id, bool includeDetails = true, CancellationToken cancellationToken = default) { if (cancellationToken != null && cancellationToken.IsCancellationRequested) return null; - return await workflowDbContext.Set().FindAsync(new object[] { id }, cancellationToken); + return await DbContext.Set().FindAsync(new object[] { id }, cancellationToken); } public async Task GetAsync([NotNull] Expression> predicate, bool includeDetails = false, CancellationToken cancellationToken = default) { if (cancellationToken != null && cancellationToken.IsCancellationRequested) return null; - return await Task.FromResult(workflowDbContext.Set().Where(predicate).FirstOrDefault()); + return await Task.FromResult(DbContext.Set().Where(predicate).FirstOrDefault()); } public async Task GetCountAsync(CancellationToken cancellationToken = default) { if (cancellationToken != null && cancellationToken.IsCancellationRequested) return 0; - return await Task.FromResult(workflowDbContext.Set().Count()); + return await Task.FromResult(DbContext.Set().Count()); } public async Task GetCountAsync([NotNull] Expression> predicate, CancellationToken cancellationToken = default) { if (cancellationToken != null && cancellationToken.IsCancellationRequested) return 0; - return await Task.FromResult(workflowDbContext.Set().Count(predicate)); + return await Task.FromResult(DbContext.Set().Count(predicate)); } public async Task> GetListAsync(bool includeDetails = false, CancellationToken cancellationToken = default) { if (cancellationToken != null && cancellationToken.IsCancellationRequested) return null; - return await Task.FromResult(workflowDbContext.Set().ToList()); + return await Task.FromResult(DbContext.Set().ToList()); } public async Task> GetListAsync([global::JetBrains.Annotations.NotNullAttribute] Expression> predicate, bool includeDetails = false, CancellationToken cancellationToken = default) { if (cancellationToken != null && cancellationToken.IsCancellationRequested) return null; - return await Task.FromResult(workflowDbContext.Set().AsNoTracking().Where(predicate).ToList()); + return await Task.FromResult(DbContext.Set().Where(predicate).ToList()); } public async Task> GetPagedListAsync(int skipCount, int maxResultCount, string sorting, bool includeDetails = false, CancellationToken cancellationToken = default) { if (cancellationToken != null && cancellationToken.IsCancellationRequested) return null; - var query = workflowDbContext.Set().Where(t=>true); + var query = DbContext.Set().Where(t => true); if (!string.IsNullOrEmpty(sorting)) - query =query.OrderBy(sorting); + query = query.OrderBy(sorting); return await Task.FromResult(query.Skip(skipCount).Take(maxResultCount).ToList()); } public async Task> GetPagedListAsync([NotNull] Expression> predicate, int skipCount, int maxResultCount, string sorting, bool includeDetails = false, CancellationToken cancellationToken = default) { if (cancellationToken != null && cancellationToken.IsCancellationRequested) return null; - var query = workflowDbContext.Set().Where(predicate); + var query = DbContext.Set().Where(predicate); if (!string.IsNullOrEmpty(sorting)) query = query.OrderBy(sorting); return await Task.FromResult(query.Skip(skipCount).Take(maxResultCount).ToList()); @@ -168,9 +164,9 @@ namespace WorkFlowCore.Framework.Repositories4EF entity = (TEntity)withBaseInfoEntity; } - unitOfWork.BeginWithoutLevel(); - await workflowDbContext.Set().AddAsync(entity, cancellationToken); - if (autoSave) await workflowDbContext.SaveChangesAsync(cancellationToken); + + await DbContext.Set().AddAsync(entity, cancellationToken); + if (autoSave) await DbContext.SaveChangesAsync(cancellationToken); return await Task.FromResult(entity); } @@ -188,9 +184,9 @@ namespace WorkFlowCore.Framework.Repositories4EF withBaseInfoEntity.ModifiedUserId = session.User.Id; } } - unitOfWork.BeginWithoutLevel(); - await workflowDbContext.Set().AddRangeAsync(entities, cancellationToken); - if (autoSave) await workflowDbContext.SaveChangesAsync(cancellationToken); + + await DbContext.Set().AddRangeAsync(entities, cancellationToken); + if (autoSave) await DbContext.SaveChangesAsync(cancellationToken); } public async Task UpdateAsync([global::JetBrains.Annotations.NotNullAttribute] TEntity entity, bool autoSave = false, CancellationToken cancellationToken = default) @@ -201,8 +197,8 @@ namespace WorkFlowCore.Framework.Repositories4EF withBaseInfoEntity.ModifiedTime = DateTime.Now; withBaseInfoEntity.ModifiedUserId = session.User.Id; } - unitOfWork.BeginWithoutLevel(); - workflowDbContext.Set().Update(entity); + + DbContext.Set().Update(entity); return await Task.FromResult(entity); } @@ -218,16 +214,17 @@ namespace WorkFlowCore.Framework.Repositories4EF withBaseInfoEntity.ModifiedUserId = session.User.Id; } } - unitOfWork.BeginWithoutLevel(); - workflowDbContext.Set().UpdateRange(entities); - if (autoSave) await workflowDbContext.SaveChangesAsync(cancellationToken); + + DbContext.Set().UpdateRange(entities); + if (autoSave) await DbContext.SaveChangesAsync(cancellationToken); } } public class BasicRepository4EF : BasicRepository4EF, IReadOnlyBasicRepository where TEntity : class, IEntity { - public BasicRepository4EF(WorkflowDbContext workflowDbContext, IUnitOfWork unitOfWork, IWorkflowSession session) : base(workflowDbContext, unitOfWork, session) + public BasicRepository4EF(IWorkflowSession session, IDbContextProvider dbContextProvider) : base(session, dbContextProvider) { } } } + diff --git a/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/BloggingContextFactory.cs b/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/BloggingContextFactory.cs deleted file mode 100644 index f173e174d906f14e8014ebba85e54077bc8e9d7d..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/BloggingContextFactory.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Design; -using System; -using System.Collections.Generic; -using System.Text; - -namespace WorkFlowCore.Framework.Repositories4EF -{ - ///// - ///// 用于给到 nuget包控制台命令使用 - ///// - //public class BloggingContextFactory : IDesignTimeDbContextFactory - //{ - // public WorkflowDbContext CreateDbContext(string[] args) - // { - // var optionsBuilder = new DbContextOptionsBuilder(); - // //此处需要配置 SqlServer 的链接 - // optionsBuilder.UseSqlServer("Data Source=HY-PTJD-XR002;Initial Catalog=WorkFlowCore1;User Id=sa;Password=12345678;connect Timeout=30;"); - // return new WorkflowDbContext(optionsBuilder.Options); - // } - //} -} diff --git a/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/UnitOfWork4EF.cs b/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/UnitOfWork4EF.cs deleted file mode 100644 index a10a2a446bd69ac8c513d9fb52e0c6782c3371a4..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/UnitOfWork4EF.cs +++ /dev/null @@ -1,75 +0,0 @@ -using Microsoft.EntityFrameworkCore.Storage; -using System; -using System.Collections.Generic; -using System.Text; -using WorkFlowCore.IRepositories; - -namespace WorkFlowCore.Framework.Repositories4EF -{ - public class UnitOfWork4EF : IUnitOfWork - { - - private bool isActive = false; - private readonly WorkflowDbContext workflowDbContext; - private IDbContextTransaction dbContextTransaction=null; - private int beginLevel = 0; - - public UnitOfWork4EF(WorkflowDbContext workflowDbContext) - { - this.workflowDbContext = workflowDbContext; - } - - - public bool Commit() - { - beginLevel--; - //如果开启了多层事务,则最外层才提交 - if (beginLevel > 0) - { - - return true; - } - - isActive = false; - try - { - workflowDbContext.SaveChanges(); - dbContextTransaction.Commit(); - return true; - } - catch (Exception ex) - { - Console.WriteLine(ex.ToString()); - //回滚 - dbContextTransaction.Rollback(); - return false; - } - - } - - public void Dispose() - { - if(!isActive) - dbContextTransaction?.Dispose(); - } - - public bool IsActive() - { - return isActive; - } - - internal void Begin() - { - beginLevel++; - //if (this.isActive) return; - //this.dbContextTransaction = workflowDbContext.Database.BeginTransaction(); - //isActive = true; - } - internal void BeginWithoutLevel() - { - if (this.isActive) return; - this.dbContextTransaction = workflowDbContext.Database.BeginTransaction(); - isActive = true; - } - } -} diff --git a/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/UnitOfWorkManager4EF.cs b/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/UnitOfWorkManager4EF.cs deleted file mode 100644 index 94bb075cba05766239cca3d9e2056c4c60ffb3a2..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/UnitOfWorkManager4EF.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using WorkFlowCore.IRepositories; -using Microsoft.Extensions.DependencyInjection; - -namespace WorkFlowCore.Framework.Repositories4EF -{ - public class UnitOfWorkManager4EF : IUnitOfWorkManager - { - private readonly UnitOfWork4EF unitOfWork; - - public UnitOfWorkManager4EF(IUnitOfWork unitOfWork) - { - this.unitOfWork = (UnitOfWork4EF)unitOfWork; - } - - public IUnitOfWork Begin() - { - unitOfWork.Begin(); - return unitOfWork; - } - } -} diff --git a/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/WorkStepRepository4EF.cs b/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/WorkStepRepository4EF.cs index 4c6bedef0fb6224208e5405dda594a5ca2accc1b..edbe05c7f4841b416b8eb8fd4c7dc725b46d4a44 100644 --- a/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/WorkStepRepository4EF.cs +++ b/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/WorkStepRepository4EF.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using Volo.Abp.EntityFrameworkCore; using WorkFlowCore.Authorization; using WorkFlowCore.IRepositories; using WorkFlowCore.WorkTasks; @@ -11,7 +12,7 @@ namespace WorkFlowCore.Framework.Repositories4EF { public class WorkStepRepository4EF : BasicRepository4EF, IWorkStepRepository { - public WorkStepRepository4EF(WorkflowDbContext workflowDbContext, IUnitOfWork unitOfWork, IWorkflowSession session) : base(workflowDbContext, unitOfWork, session) + public WorkStepRepository4EF(IWorkflowSession session,IDbContextProvider dbContextProvider) : base(session,dbContextProvider) { } diff --git a/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/WorkTaskRepository4EF.cs b/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/WorkTaskRepository4EF.cs index 9b86c8f80b92a6690097b59427ed5ccfceebc394..c07015d8a039731f82d7367a3f1a4bde93a342e4 100644 --- a/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/WorkTaskRepository4EF.cs +++ b/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/WorkTaskRepository4EF.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using Volo.Abp.EntityFrameworkCore; using WorkFlowCore.Authorization; using WorkFlowCore.IRepositories; using WorkFlowCore.WorkTasks; @@ -14,7 +15,8 @@ namespace WorkFlowCore.Framework.Repositories4EF private readonly WorkflowDbContext workflowDbContext; private readonly IWorkStepRepository workStepRepository; - public WorkTaskRepository4EF(WorkflowDbContext workflowDbContext, IUnitOfWork unitOfWork, IWorkStepRepository workStepRepository, IWorkflowSession session) : base(workflowDbContext, unitOfWork, session) + public WorkTaskRepository4EF(IWorkflowSession session, WorkflowDbContext workflowDbContext, IDbContextProvider dbContextProvider, IWorkStepRepository workStepRepository) + : base(session,dbContextProvider) { this.workflowDbContext = workflowDbContext; this.workStepRepository = workStepRepository; diff --git a/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/WorkflowDbContext.cs b/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/WorkflowDbContext.cs index cc8910db38efe2483b1f80a4df7885fca707b19f..58cea587d80ff9e13f96ae85189f2bf0b3eac1ef 100644 --- a/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/WorkflowDbContext.cs +++ b/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/WorkflowDbContext.cs @@ -3,12 +3,16 @@ using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Text; +using Volo.Abp.Data; +using Volo.Abp.EntityFrameworkCore; +using WorkFlowCore.FormDesigns; +using WorkFlowCore.Plugins; using WorkFlowCore.Workflows; using WorkFlowCore.WorkTasks; namespace WorkFlowCore.Framework.Repositories4EF { - public class WorkflowDbContext : DbContext + public class WorkflowDbContext : AbpDbContext { public WorkflowDbContext([NotNull] DbContextOptions options) : base(options) { @@ -18,5 +22,15 @@ namespace WorkFlowCore.Framework.Repositories4EF public DbSet WorkflowVersionInfos { get; set; } public DbSet WorkStepInfos { get; set; } public DbSet WorkTaskInfos { get; set; } + + + //---插件管理 + public DbSet PluginInfos { get; set; } + public DbSet PluginApplyConfigs { get; set; } + + //表单设计管理 + public DbSet FormDesignInfos { get; set; } + public DbSet FormDesignVersions { get; set; } + } } diff --git a/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/WorkflowDbContextFactory.cs b/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/WorkflowDbContextFactory.cs new file mode 100644 index 0000000000000000000000000000000000000000..d29066ddab788436ad46ba1e9859fd49c43c04b0 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/WorkflowDbContextFactory.cs @@ -0,0 +1,33 @@ +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Design; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Options; +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; + +namespace WorkFlowCore.Framework.Repositories4EF +{ + public class WorkflowDbContextFactory : IDesignTimeDbContextFactory + { + public WorkflowDbContext CreateDbContext(string[] args) + { + var configuration = BuildConfiguration(); + + var builder = new DbContextOptionsBuilder() + .UseMySql(configuration.GetConnectionString("Default"),new MySqlServerVersion(configuration.GetConnectionString("DefaultVersion"))); + + return new WorkflowDbContext(builder.Options); + } + + private static IConfigurationRoot BuildConfiguration() + { + var builder = new ConfigurationBuilder() + .SetBasePath(Directory.GetCurrentDirectory()) + .AddJsonFile("appsettings.json", optional: false); + + return builder.Build(); + } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/WorkflowRepository.cs b/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/WorkflowRepository.cs new file mode 100644 index 0000000000000000000000000000000000000000..f361088397ffad7a253412868c603ba72a6dbff9 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/WorkflowRepository.cs @@ -0,0 +1,43 @@ +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Volo.Abp.EntityFrameworkCore; +using WorkFlowCore.Authorization; +using WorkFlowCore.IRepositories; +using WorkFlowCore.Workflows; +using WorkFlowCore.WorkTasks; + +namespace WorkFlowCore.Framework.Repositories4EF +{ + public class WorkflowRepository : BasicRepository4EF, IWorkflowRepository + { + public WorkflowRepository(IWorkflowSession session,IDbContextProvider dbContextProvider) : base(session,dbContextProvider) + { + } + + public async Task> GetAllWorkflowsWithVersion() + { + var result = new List(); + var workflows = await DbContext.Set().Where(w => !w.Deleted).ToListAsync(); + var versionIds = workflows.Select(w => w.Id); + var allVersions = await DbContext.Set().Where(v => versionIds.Contains(v.WorkflowId)).Select(v =>new {v.WorkflowId,v.VersionNo}).ToListAsync(); + + + workflows.ForEach(w => + { + var versions = allVersions.Where(v => v.WorkflowId == w.Id); + result.AddRange(versions.Select(v => new Workflow + { + Id = w.Id, + WorkflowNo = w.WorkflowNo, + Name = w.Name, + ActiveVersion = v.VersionNo + })); + }); + return result.OrderBy(w=>w.Name).ToList(); + } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Framework/WorkFlowCore.Framework.csproj b/WorkFlowCore/WorkFlowCore.Framework/WorkFlowCore.Framework.csproj index 01121501a5f46dd17d8306588543963d0ad967bc..36cb7e9dd8a317fbe60f7686f818e55df1db68fb 100644 --- a/WorkFlowCore/WorkFlowCore.Framework/WorkFlowCore.Framework.csproj +++ b/WorkFlowCore/WorkFlowCore.Framework/WorkFlowCore.Framework.csproj @@ -1,18 +1,35 @@  - netcoreapp3.1 + net6.0 - + + + + + + + - + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + - - - + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + diff --git a/WorkFlowCore/WorkFlowCore.Framework/WorkFlowCoreFrameworkModule.cs b/WorkFlowCore/WorkFlowCore.Framework/WorkFlowCoreFrameworkModule.cs new file mode 100644 index 0000000000000000000000000000000000000000..8624fabf1e01e2133e8057222c39913579941703 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Framework/WorkFlowCoreFrameworkModule.cs @@ -0,0 +1,107 @@ +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.DependencyInjection.Extensions; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text; +using Volo.Abp.EntityFrameworkCore; +using Volo.Abp.EntityFrameworkCore.MySQL; +using Volo.Abp.EventBus; +using Volo.Abp.EventBus.Abstractions; +using Volo.Abp.Modularity; +using Volo.Abp.Uow; +using WorkFlowCore.Authorization; +using WorkFlowCore.Common.SimplePluginLoaders; +using WorkFlowCore.Conditions; +using WorkFlowCore.Framework.Authorization; +using WorkFlowCore.Framework.Conditions; +using WorkFlowCore.Framework.EventHandlers; +using WorkFlowCore.Framework.Repositories4EF; +using WorkFlowCore.Framework.UserSelectors; +using WorkFlowCore.IRepositories; +using WorkFlowCore.UserSelectors; +using static WorkFlowCore.WorkFlowCoreService; + +namespace WorkFlowCore.Framework +{ + [DependsOn(typeof(AbpEventBusModule))] + [DependsOn(typeof(WorkFlowCoreModule))] + [DependsOn(typeof(AbpEntityFrameworkCoreMySQLModule))] + [DependsOn(typeof(AbpUnitOfWorkModule))] + public class WorkFlowCoreFrameworkModule :AbpModule + { + public override void ConfigureServices(ServiceConfigurationContext context) + { + base.ConfigureServices(context); + + var services = context.Services; + + services.AddScoped(typeof(IBasicRepository<,>), typeof(BasicRepository4EF<,>)); + services.AddScoped(typeof(IBasicRepository<>), typeof(BasicRepository4EF<>)); + services.AddScoped(typeof(IWorkStepRepository), typeof(WorkStepRepository4EF)); + services.AddScoped(typeof(IWorkTaskRepository), typeof(WorkTaskRepository4EF)); + + + + services.AddAbpDbContext(options => + { + options.AddDefaultRepositories(includeAllEntities: true); + }); + + Configure(options => + { + /* The main point to change your DBMS. + * See also WorkflowMigrationsDbContextFactory for EF Core tooling. */ + options.UseMySQL(); + }); + + + + //services.AddSingleton(); + //事件处理 + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + + var assembly = typeof(WorkFlowCoreFrameworkService).Assembly; + + + //注册条件和选择器 + #region 注册条件和选择器 + try + { + //项目实现的 + UserSelectorManager.RegisterSelector(services, assembly); + ConditionManager.Registercondition(services, assembly); + + + //外部插件注册的 + services.LoadPlugins(Path.Combine(AppContext.BaseDirectory, "Plugins", "UserSelectors"), plugins => + { + UserSelectorManager.RegisterSelector(plugins.Select(p => p.Assembly).ToArray()); + + }); + services.LoadPlugins(Path.Combine(AppContext.BaseDirectory, "Plugins", "Conditions"), plugins => + { + ConditionManager.Registercondition( plugins.Select(p => p.Assembly).ToArray()); + }); + } + catch (Exception ex) + { + // + } + #endregion + } + + public override void PostConfigureServices(ServiceConfigurationContext context) + { + base.PostConfigureServices(context); + + context.Services.Replace(new ServiceDescriptor(typeof(IWorkflowSession), typeof(DefaultSession), ServiceLifetime.Scoped)); + } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Framework/WorkFlowCoreFrameworkService.cs b/WorkFlowCore/WorkFlowCore.Framework/WorkFlowCoreFrameworkService.cs index c0226ff09ede45455aa4f388cf2834951c798046..a3742ae37682bf745e14284f674465b2eaa488a4 100644 --- a/WorkFlowCore/WorkFlowCore.Framework/WorkFlowCoreFrameworkService.cs +++ b/WorkFlowCore/WorkFlowCore.Framework/WorkFlowCoreFrameworkService.cs @@ -1,4 +1,5 @@ using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; using System; @@ -13,13 +14,10 @@ using WorkFlowCore.Conditions; using WorkFlowCore.Framework.Authorization; using WorkFlowCore.Framework.Conditions; using WorkFlowCore.Framework.EventHandlers; -using WorkFlowCore.Framework.Repositories; using WorkFlowCore.Framework.Repositories4EF; using WorkFlowCore.Framework.UserSelectors; using WorkFlowCore.IRepositories; using WorkFlowCore.UserSelectors; -using WorkFlowCore.Workflows; -using WorkFlowCore.WorkTasks; namespace WorkFlowCore.Framework { @@ -30,35 +28,31 @@ namespace WorkFlowCore.Framework /// public enum FrameworkConfigOrmType { - Default, EF, } public class FrameworkConfig { - public FrameworkConfigOrmType OrmType { get; set; } = FrameworkConfigOrmType.Default; + public FrameworkConfigOrmType OrmType { get; set; } = FrameworkConfigOrmType.EF; + } public static void AddWorkFlowCoreFramework(this IServiceCollection services,Action config=null) { var conf = new FrameworkConfig(); config?.Invoke(conf); - if (conf.OrmType== FrameworkConfigOrmType.Default) - { - services.AddScoped(typeof(IBasicRepository<,>), typeof(BasicRepository<,>)); - services.AddScoped(typeof(IBasicRepository<>), typeof(BasicRepository<>)); - services.AddScoped(typeof(IWorkStepRepository), typeof(WorkStepRepository)); - services.AddScoped(typeof(IWorkTaskRepository), typeof(WorkTaskRepository)); - services.AddScoped(typeof(IUnitOfWork), typeof(UnitOfWork)); - services.AddScoped(typeof(IUnitOfWorkManager), typeof(UnitOfWorkManager)); - } - else if (conf.OrmType == FrameworkConfigOrmType.EF) + + services.AddScoped(typeof(IBasicRepository<,>), typeof(BasicRepository4EF<,>)); + services.AddScoped(typeof(IBasicRepository<>), typeof(BasicRepository4EF<>)); + services.AddScoped(typeof(IWorkStepRepository), typeof(WorkStepRepository4EF)); + services.AddScoped(typeof(IWorkTaskRepository), typeof(WorkTaskRepository4EF)); + + + + services.AddAbpDbContext(options => { - services.AddScoped(typeof(IBasicRepository<,>), typeof(BasicRepository4EF<,>)); - services.AddScoped(typeof(IBasicRepository<>), typeof(BasicRepository4EF<>)); - services.AddScoped(typeof(IWorkStepRepository), typeof(WorkStepRepository4EF)); - services.AddScoped(typeof(IWorkTaskRepository), typeof(WorkTaskRepository4EF)); - services.AddScoped(typeof(IUnitOfWork), typeof(UnitOfWork4EF)); - services.AddScoped(typeof(IUnitOfWorkManager), typeof(UnitOfWorkManager4EF)); - } + options.AddDefaultRepositories(includeAllEntities: true); + }); + + services.AddSingleton(); //事件处理 @@ -92,12 +86,6 @@ namespace WorkFlowCore.Framework } #endregion - - //services.AddScoped(); - //services.AddScoped(); - //services.AddScoped(); - //services.AddScoped(); - //services.AddScoped(); } } } diff --git a/WorkFlowCore/WorkFlowCore.Host/.config/dotnet-tools.json b/WorkFlowCore/WorkFlowCore.Host/.config/dotnet-tools.json new file mode 100644 index 0000000000000000000000000000000000000000..3aca4744eb470414ac3cbb999a938995892e5cd0 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/.config/dotnet-tools.json @@ -0,0 +1,12 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "dotnet-ef": { + "version": "7.0.4", + "commands": [ + "dotnet-ef" + ] + } + } +} \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/AppModule.cs b/WorkFlowCore/WorkFlowCore.Host/AppModule.cs new file mode 100644 index 0000000000000000000000000000000000000000..89c1e0ee9d87201a3371e58bb768ec6bafe76031 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/AppModule.cs @@ -0,0 +1,134 @@ +using Volo.Abp.Modularity; +using Volo.Abp; +using Volo.Abp.AspNetCore.Mvc; +using Microsoft.AspNetCore.Builder; +using Microsoft.Extensions.Hosting; +using WorkFlowCore.Common.EventBus; +using Microsoft.Extensions.DependencyInjection; +using WorkFlowCore.Framework; +using WorkFlowCore.Host.Controllers.Filters; +using Microsoft.OpenApi.Models; +using System.Reflection; +using System; +using System.IO; +using Volo.Abp.AspNetCore.Mvc.AntiForgery; +using Volo.Abp.EventBus; +using Volo.Abp.BackgroundWorkers.Quartz; +using WorkFlowCore.Host.Filters; + +namespace WorkFlowCore.Host +{ + + [DependsOn(typeof(WorkFlowCoreFrameworkModule))] + [DependsOn(typeof(AbpEventBusModule))] + [DependsOn(typeof(AbpAspNetCoreMvcModule))] + [DependsOn( typeof(AbpBackgroundWorkersQuartzModule) //Add the new module dependency + )] + public class AppModule : AbpModule + { + public override void ConfigureServices(ServiceConfigurationContext context) + { + base.ConfigureServices(context); + var services = context.Services; + + services.AddControllersWithViews(options => + { + options.Filters.Add(); + options.Filters.Add(); + }); + + + //注册swagger + services.AddSwaggerGen(c => + { + c.SwaggerDoc("v1.0", new OpenApiInfo { Title = "流程服务", Version = "1.0" }); + var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; + var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile); + c.IncludeXmlComments(xmlPath); + c.IncludeXmlComments(Path.Combine(AppContext.BaseDirectory, "WorkFlowCore.xml")); + }); + + // Configure CORS for angular2 UI + services.AddCors( + options => options.AddPolicy( + "defaultcors", + builder => builder + .WithOrigins( + // App:CorsOrigins in appsettings.json can contain more than one address separated by comma. + //Configuration["AllowedHosts"] + // .Split(",", StringSplitOptions.RemoveEmptyEntries) + // .ToArray() + "http://localhost:9528".Split(',') + ) + .AllowAnyHeader() + .AllowAnyMethod() + .AllowCredentials() + ) + ); + + + //加这个是避免请求提示认证 + Configure(options => + { + options.TokenCookie.SameSite = Microsoft.AspNetCore.Http.SameSiteMode.Lax; + options.TokenCookie.Expiration = TimeSpan.FromDays(365); + options.AutoValidateIgnoredHttpMethods.Add("POST"); + options.AutoValidateIgnoredHttpMethods.Add("PUT"); + options.AutoValidateIgnoredHttpMethods.Add("DELETE"); + options.AutoValidateIgnoredHttpMethods.Add("GET"); + }); + + Configure(options => + { + options.IsAutoRegisterEnabled = true; + }); + } + public override void OnApplicationInitialization(ApplicationInitializationContext context) + { + var app = context.GetApplicationBuilder(); + var env = context.GetEnvironment(); + + if (env.IsDevelopment()) + { + app.UseDeveloperExceptionPage(); + } + else + { + app.UseExceptionHandler("/Home/Error"); + // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. + app.UseHsts(); + } + app.UseCors("defaultcors"); + app.UseHttpsRedirection(); + app.UseStaticFiles(); + + app.UseRouting(); + + app.UseAuthorization(); + + if (env.IsDevelopment()) + { + app.UseSwagger(); + app.UseSwaggerUI(c => + { + c.SwaggerEndpoint("/swagger/v1.0/swagger.json", "流程服务(V 1.0)"); + //c.RoutePrefix = string.Empty; + //c.DocExpansion(Swashbuckle.AspNetCore.SwaggerUI.DocExpansion.None);// 默认折叠 + }); + } + app.UseUnitOfWork(); + app.UseEndpoints(endpoints => + { + endpoints.MapControllerRoute( + name: "default", + pattern: "{controller=Home}/{action=Index}/{id?}"); + endpoints.MapControllerRoute( + name: "api", + pattern: "api/{controller=Home}/{action=Index}/{id?}"); + }); + + //注册全局事件总线 + //app.InitGlobalEventBus(); + } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Host/BackgroundWorkers/AutoClearEmptyWorkflowsBackgroundWorker.cs b/WorkFlowCore/WorkFlowCore.Host/BackgroundWorkers/AutoClearEmptyWorkflowsBackgroundWorker.cs new file mode 100644 index 0000000000000000000000000000000000000000..b55b755ee3d6285879187823e1b66498e5f50f52 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/BackgroundWorkers/AutoClearEmptyWorkflowsBackgroundWorker.cs @@ -0,0 +1,25 @@ +using Quartz; +using System.Threading.Tasks; +using Volo.Abp.BackgroundWorkers.Quartz; +using WorkFlowCore.Workflows; + +namespace WorkFlowCore.Host.BackgroundWorkers +{ + public class AutoClearEmptyWorkflowsBackgroundWorker : QuartzBackgroundWorkerBase + { + private readonly WorkflowManager workflowManager; + + public AutoClearEmptyWorkflowsBackgroundWorker(WorkflowManager workflowManager) + { + JobDetail = JobBuilder.Create().WithIdentity(nameof(AutoClearEmptyWorkflowsBackgroundWorker)).Build(); + Trigger = TriggerBuilder.Create().WithIdentity(nameof(AutoClearEmptyWorkflowsBackgroundWorker)).WithCronSchedule("0 0 */2 * * ?").Build(); + this.workflowManager = workflowManager; + } + + public override Task Execute(IJobExecutionContext context) + { + //return workflowManager.ClearEmptyWorkflows(); + return Task.CompletedTask; + } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Host/BackgroundWorkers/AutoSimulationWorkTasksBackgroundWorker.cs b/WorkFlowCore/WorkFlowCore.Host/BackgroundWorkers/AutoSimulationWorkTasksBackgroundWorker.cs new file mode 100644 index 0000000000000000000000000000000000000000..b9583ea00b9ad130d4315d683f7c736134d7147b --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/BackgroundWorkers/AutoSimulationWorkTasksBackgroundWorker.cs @@ -0,0 +1,30 @@ +using Quartz; +using System.Threading.Tasks; +using Volo.Abp.BackgroundWorkers.Quartz; +using WorkFlowCore.WorkTasks; + +namespace WorkFlowCore.Host.BackgroundWorkers +{ + public class AutoSimulationWorkTasksBackgroundWorker : QuartzBackgroundWorkerBase + { + private readonly WorkTaskManager workTaskManager; + + public AutoSimulationWorkTasksBackgroundWorker(WorkTaskManager workTaskManager) + { + JobDetail = JobBuilder.Create().WithIdentity(nameof(AutoClearEmptyWorkflowsBackgroundWorker)).Build(); +#if DEBUG + + Trigger = TriggerBuilder.Create().WithIdentity(nameof(AutoClearEmptyWorkflowsBackgroundWorker)).WithCronSchedule("0/10 * * * * ? ").Build(); +#else + Trigger = TriggerBuilder.Create().WithIdentity(nameof(AutoClearEmptyWorkflowsBackgroundWorker)).WithCronSchedule("0 0 0 * * ? ").Build(); +#endif + this.workTaskManager = workTaskManager; + } + + public override Task Execute(IJobExecutionContext context) + { + //return workTaskManager.ClearSimulationWorkTasks(); + return Task.CompletedTask; + } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Host/Controllers/FormDesignController.cs b/WorkFlowCore/WorkFlowCore.Host/Controllers/FormDesignController.cs new file mode 100644 index 0000000000000000000000000000000000000000..6ca29012f0456bf4bb050843bad486fb2be2bf53 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/Controllers/FormDesignController.cs @@ -0,0 +1,118 @@ +using Microsoft.AspNetCore.Mvc; +using System.Collections.Generic; +using System.Threading.Tasks; +using System; +using Volo.Abp.AspNetCore.Mvc; +using WorkFlowCore.FormDesigns; +using WorkFlowCore.IRepositories; +using WorkFlowCore.Host.ViewModels.FormDesigns; +using WorkFlowCore.Workflows; +using WorkFlowCore.Host.ViewModels; +using Volo.Abp.Application.Dtos; +using System.Linq; + +namespace WorkFlowCore.Host.Controllers +{ + [Route("api/[controller]")] + [ApiController] + public class FormDesignController : AbpControllerBase + { + private readonly FormDesignManager formDesignManager; + private readonly IBasicRepository repository; + private readonly IBasicRepository workflowVersionRepository; + private readonly IBasicRepository workflowRepository; + + public FormDesignController(FormDesignManager formDesignManager, IBasicRepository repository, IBasicRepository workflowVersionRepository, IBasicRepository workflowRepository) + { + this.formDesignManager = formDesignManager; + this.repository = repository; + this.workflowVersionRepository = workflowVersionRepository; + this.workflowRepository = workflowRepository; + } + [HttpPost("Create")] + public async Task CreateAsync(FormDesignCreateInput input) + { + FormDesign formDesign = await formDesignManager.CreateFormDesign(input.formType, input.title, input.description,input.workflowId); + return formDesign; + } + [HttpPut("Update")] + public async Task UpdateAsync(UpdateFormDesignVersionInput input) + { + var version = await formDesignManager.UpdateFormDesignVersion(input.formDesignId, input.formType, input.title, input.description,input.designContent,input.workflowId); + return version; + } + [HttpGet("Get")] + public async Task GetAsync([FromQuery] Guid id) + { + var design = await repository.GetAsync(id); + return design.ToFormDesign(); + } + [HttpGet("GetFormDesignVersion")] + public async Task GetFormDesignVersionAsync([FromQuery] FormDesignId formDesignId) + { + var version = await formDesignManager.GetFormDesignVersion(formDesignId); + return version; + } + + [HttpGet("GetFormDesignVersionByWorkflowId")] + public async Task GetFormDesignVersionByWorkflowIdAsync([FromQuery] FormDesigns.WorkflowId4FormDesign workflowId) + { + var version = await formDesignManager.GetFormDesignActiveVersion(workflowId); + return version; + } + + + [HttpDelete("Delete")] + public async Task Delete(Guid id) + { + await formDesignManager.DeleteFormDesign(id); + } + [HttpGet("GetAllFormDesignVersions")] + public async Task> GetAllFormDesignVersionsAsync([FromQuery] Guid formDesignId) + { + var formDesigns = await formDesignManager.GetAllFormDesignVersions(formDesignId); + return formDesigns; + } + [HttpGet("GetAllList")] + public async Task> GetAllListAsync([FromQuery] GetListInput input) + { + var entities = await repository.GetListAsync(); + var items = entities.OrderByDescending(e=>e.ModifiedTime).Select(e => e.ToFormDesign()); + return items.ToList(); + } + [HttpPut("SetActiveVersion")] + public async Task SetActiveVersion(FormDesignId id) + { + await formDesignManager.SetActiveVersion(id); + } + [HttpGet("GetPageList")] + public async Task> GetPageListAsync([FromQuery] PagedResultRequestDto input) + { + var count = await repository.GetCountAsync(); + var entities = await repository.GetPagedListAsync( input.SkipCount, input.MaxResultCount, "CreationTime desc"); + + var workflowIds = entities.Select(e => e.WorkflowId_Id); + var workflowInfos = await workflowRepository.GetListAsync(w => workflowIds.Contains(w.Id)); + + var workflowInfoNames = workflowInfos.ToDictionary(w => w.Id, w => w.Name); + + var result = entities.Select(e => e.ToFormDesign()).Select(entity => new FormDesignPageListOutput + { + Description = entity.Description, + WorkflowName = workflowInfoNames.ContainsKey(entity.WorkflowId.Id) ? workflowInfoNames[entity.WorkflowId.Id] : "", + ActiveVersion = entity.ActiveVersion, + CreatedUserId = entity.CreatedUserId, + CreationTime = entity.CreationTime, + FormType = entity.FormType, + Id = entity.Id, + ModifiedTime = entity.ModifiedTime, + Title = entity.Title, + WorkflowId = entity.WorkflowId + }).ToList(); + + var items = entities.Select(e => e.ToFormDesign()); + return PageResult.Result(result, count); + } + + } +} diff --git a/WorkFlowCore/WorkFlowCore.Host/Controllers/WorkFlowController.cs b/WorkFlowCore/WorkFlowCore.Host/Controllers/WorkFlowController.cs index 6ce4b85c69d14d7a11188c882bf8ac7c3b6248ff..7e88cc5f0d4111e6a0b0038449fa564093ad1002 100644 --- a/WorkFlowCore/WorkFlowCore.Host/Controllers/WorkFlowController.cs +++ b/WorkFlowCore/WorkFlowCore.Host/Controllers/WorkFlowController.cs @@ -8,20 +8,23 @@ using WorkFlowCore.Conditions; using WorkFlowCore.Framework.UserSelectors; using WorkFlowCore.Host.ViewModels; using WorkFlowCore.Host.ViewModels.WorkFlowCore; -using WorkFlowCore.IRepositories; using WorkFlowCore.UserSelectors; using WorkFlowCore.Workflows; using WorkFlowCore.WorkTasks; using Mapster; +using WorkFlowCore.IRepositories; +using Volo.Abp.AspNetCore.Mvc; +using Volo.Abp.Application.Dtos; namespace WorkFlowCore.Host.Controllers { [Route("api/[controller]")] [ApiController] - public class WorkFlowController : ControllerBase + public class WorkFlowController : AbpControllerBase { private ConditionManager conditionManager; private WorkflowManager workflowManager; + private WorkTaskManager workTaskManager; private IBasicRepository workflowRepository; private IWorkTaskRepository worktaskRepository; private IBasicRepository versionRepository; @@ -29,7 +32,7 @@ namespace WorkFlowCore.Host.Controllers private IWorkflowSession workflowSession; - public WorkFlowController(ConditionManager conditionManager, WorkflowManager workflowManager, IBasicRepository workflowRepository, IWorkTaskRepository worktaskRepository, IBasicRepository versionRepository, IBasicRepository workStepRepository, IWorkflowSession workflowSession) + public WorkFlowController(ConditionManager conditionManager, WorkflowManager workflowManager, IBasicRepository workflowRepository, IWorkTaskRepository worktaskRepository, IBasicRepository versionRepository, IBasicRepository workStepRepository, IWorkflowSession workflowSession, WorkTaskManager workTaskManager) { this.conditionManager = conditionManager; this.workflowManager = workflowManager; @@ -38,24 +41,25 @@ namespace WorkFlowCore.Host.Controllers this.versionRepository = versionRepository; this.workStepRepository = workStepRepository; this.workflowSession = workflowSession; + this.workTaskManager = workTaskManager; } /// /// 获取所有条件 /// /// [HttpGet("GetAllconditions")] - public async Task>> GetAllconditions() + public async Task> GetAllconditions() { - return OutputDto.Succeed(ConditionManager.AllConditions.Select(c => new ConditionDto { Id = c.Id, Name = c.Name,Description=c.Description })); + return ConditionManager.AllConditions.Select(c => new ConditionDto { Id = c.Id, Name = c.Name,Description=c.Description }); } /// /// 获取所有的用户选择器 /// /// [HttpGet("GetAllUserSelectors")] - public async Task>> GetAllUserSelectors() + public async Task> GetAllUserSelectors() { - return OutputDto.Succeed(UserSelectorManager.UserSelectors.Select(us => new UserSeletorDto { Id = us.Id, Name = us.Name, Description = us.Description })); + return UserSelectorManager.UserSelectors.Select(us => new UserSeletorDto { Id = us.Id, Name = us.Name, Description = us.Description }); } /// /// 获取用户选择器所提供的选项 @@ -63,9 +67,9 @@ namespace WorkFlowCore.Host.Controllers /// /// [HttpGet("GetUserSelectionsOfUserSelector")] - public async Task>> GetUserSelectionsOfUserSelector(string userSelectorId) + public async Task> GetUserSelectionsOfUserSelector(string userSelectorId) { - return OutputDto.Succeed(workflowManager.GetUserSelectionsOfUserSelector(userSelectorId).Result); + return workTaskManager.GetUserSelectionsOfUserSelector(userSelectorId).Result; } /// @@ -74,18 +78,18 @@ namespace WorkFlowCore.Host.Controllers /// /// [HttpPost("CreateWorkFlow")] - public async Task> CreateWorkFlow(CreateWorkFlowInput input) + public async Task CreateWorkFlow(CreateWorkFlowInput input) { - return OutputDto.Succeed(await workflowManager.CreateWorkflow($"WF{DateTime.Now.ToString("yyyMMddHHmmssfff")}", input.Name, input.Des)); + return await workflowManager.CreateWorkflow($"WF{DateTime.Now.ToString("yyyMMddHHmmssfff")}", input.Name, input.Des); } ///// ///// 获取所有流程列表 ///// ///// //[HttpGet("GetAllWorkflows")] - //public async Task>> GetAllWorkflows() + //public async Task>> GetAllWorkflows() //{ - // return OutputDto.Succeed((await workflowRepository.GetListAsync()).OrderByDescending(w=>w.CreationTime).ToList()); + // return (await workflowRepository.GetListAsync()).OrderByDescending(w=>w.CreationTime).ToList()); //} /// /// 获取流程所有版本信息 @@ -93,48 +97,62 @@ namespace WorkFlowCore.Host.Controllers /// /// [HttpGet("GetAllWorkflowVersions")] - public async Task>> GetAllWorkflowVersions(Guid workflowId) + public async Task> GetAllWorkflowVersions(Guid workflowId) { - return OutputDto.Succeed((await versionRepository.GetListAsync(v => v.WorkflowId == workflowId)).Select(v => new GetAllWorkflowVersionOutput + return (await versionRepository.GetListAsync(v => v.WorkflowId == workflowId)).Select(v => new GetAllWorkflowVersionOutput { WorkflowId = v.WorkflowId, VersionNo = v.VersionNo, Description = v.Description, CreationTime = v.CreationTime, ModifiedTime = v.ModifiedTime - })); + }); } /// /// 获取流程具体版本信息 /// - /// + /// + /// /// [HttpGet("GetWorkflowVersion")] - public async Task> GetWorkflowVersion(int versionId, Guid id) + public async Task GetWorkflowVersion(int versionId, Guid id) { - return OutputDto.Succeed(await workflowManager.GetWorkflowVersion(id, versionId)); + var version = await workflowManager.GetWorkflowVersion(id, versionId); + return version.Adapt(); } /// /// 删除流程 /// - /// + /// /// - [HttpDelete("DeleteWorkflowVersion")] - public async Task> GetWorkflowVersion(Guid id) + [HttpDelete("Delete")] + public async Task Delete(Guid id) { var result = await workflowManager.DeleteWorkflow(id); - return OutputDto.Result(result, result); + return result; + } + + /// + /// 删除流程 + /// + /// + /// + /// + [HttpDelete("DeleteWorkflowVersion")] + public async Task DeleteWorkflowVersion(Guid id, int versionId) + { + var result = await workflowManager.DeleteWorkflowVersion(id, versionId); + return result; } /// /// 更新流程激活的版本 /// - /// - /// + /// [HttpPut("UpdateWorkflowActiveVersion")] - public async Task> UpdateWorkflowActiveVersion(UpdateWorkflowActiveVersionInput input) + public async Task UpdateWorkflowActiveVersion(UpdateWorkflowActiveVersionInput input) { var result =await workflowManager.UpdateWorkflowActiveVersion(input.WorkflowId, input.ActiveVersion); - return result?OutputDto.Succeed(true): OutputDto.Failed(""); + return result; } @@ -144,11 +162,11 @@ namespace WorkFlowCore.Host.Controllers /// /// f [HttpPut("UpdateWorkFlow")] - public async Task> UpdateWorkFlow(UpdateWorkFlowInput input) + public async Task UpdateWorkFlow(UpdateWorkFlowInput input) { - return OutputDto.Succeed(await workflowManager.UpdateWorkflow(input.WorkflowId.Id, input.Name, input.Des, input.WorkflowId.VersionId, input.DrawingInfo, input.VersionDescription + return await workflowManager.UpdateWorkflow(input.WorkflowId.Id, input.Name, input.Des, input.WorkflowId.VersionId, input.DrawingInfo, input.VersionDescription , input.WorkflowLines.Select(line => new WorkflowLine(line.Name, input.WorkflowId, line.FromNodeId, line.ToNodeId, line.Conditions)).ToList() - , input.WorkflowNodes.Select(node => new WorkflowNode(node.Id, input.WorkflowId, node.Name, node.NodeType, node.DrawingInfo, node.IsWaitingAllUser, node.UserSelectors, node.RejectNodes)).ToList())); + , input.WorkflowNodes.Select(node => new WorkflowNode(node.Id, input.WorkflowId, node.Name, node.NodeType, node.DrawingInfo, node.IsWaitingAllUser, node.UserSelectors, node.RejectNodes)).ToList()); } /// @@ -156,12 +174,12 @@ namespace WorkFlowCore.Host.Controllers /// /// [HttpGet("GetAllWorkflows")] - public async Task>> GetAllWorkflows([FromQuery] GetAllWorkflowInput input) + public async Task> GetAllWorkflows([FromQuery] GetAllWorkflowInput input) { var items = await workflowRepository.GetPagedListAsync(w => !w.Deleted, input.SkipCount, input.MaxResultCount, "CreationTime desc"); var count = await workflowRepository.GetCountAsync(); var result = new PageResult { Items = items, Total = count }; - return OutputDto.Succeed(result); + return result; } /// @@ -170,10 +188,11 @@ namespace WorkFlowCore.Host.Controllers /// /// [HttpPost("CreateWorkTask")] - public async Task> CreateWorkTask(CreateWorkTaskInput input) + public async Task CreateWorkTask(CreateWorkTaskInput input) { - var worktask = await workflowManager.CreateWorkTask(input.WorkflowId, input.Name, input.FormData, input.EntityFullName, input.EntityKeyValue,input.CreatedUserId); - return OutputDto.Succeed(worktask); + input.CreatedUserId = workflowSession.User.Id; + var worktask = await workTaskManager.CreateWorkTask(input.WorkflowId, input.Name, input.FormData, input.EntityFullName, input.EntityKeyValue,input.CreatedUserId); + return worktask; } /// @@ -182,10 +201,10 @@ namespace WorkFlowCore.Host.Controllers /// /// [HttpPost("CreateSimulationWorkTask")] - public async Task> CreateSimulationWorkTask(CreateWorkTaskInput input) + public async Task CreateSimulationWorkTask(CreateWorkTaskInput input) { - var worktask = await workflowManager.CreateSimulationWorkTask(input.WorkflowId, input.Name, input.FormData, input.EntityFullName, input.EntityKeyValue, input.CreatedUserId); - return OutputDto.Succeed(worktask); + var worktask = await workTaskManager.CreateSimulationWorkTask(input.WorkflowId, input.Name, input.FormData, input.EntityFullName, input.EntityKeyValue, input.CreatedUserId); + return worktask; } /// @@ -194,23 +213,23 @@ namespace WorkFlowCore.Host.Controllers /// /// [HttpGet("GetWorkTask")] - public async Task> GetWorkTask(Guid id) + public async Task GetWorkTask(Guid id) { - var worktask = await workflowManager.GetWorkTaskAsync(id); - return OutputDto.Succeed(worktask); + var worktask = await workTaskManager.GetWorkTaskAsync(id); + return worktask; } /// /// 发起流程 /// - /// + /// /// [HttpPost("StartWorkTask")] - public async Task>> StartWorkTask(StartWorkTaskInput input) + public async Task> StartWorkTask(StartWorkTaskInput input) { - var steps = await workflowManager.WorkTaskStart(input.WorktaskId); - return OutputDto.Succeed(steps); + var steps = await workTaskManager.WorkTaskStart(input.WorktaskId); + return steps; } /// /// 通过审批 @@ -218,12 +237,12 @@ namespace WorkFlowCore.Host.Controllers /// /// [HttpPost("PassProve")] - public async Task>> PassProve(ProveInput input) + public async Task> PassProve(ProveInput input) { - var proveResult = await workflowManager.PassApprove(input.StepId, input.Comment, input.ResourceIds,input.FormData); - if (proveResult.Code == ProveResult.ProveResultCode.SUCCESS) - return OutputDto.Succeed(proveResult.WorkSteps); - return OutputDto.Failed>(proveResult.Msg); + var proveResult = await workTaskManager.PassApprove(input.StepId, input.Comment, input.ResourceIds,input.FormData); + if (proveResult.Code == ProveResult.ProveResultCode.FAIL) + new Exception(proveResult.Msg); + return proveResult.WorkSteps; } /// /// 驳回审批 @@ -231,12 +250,12 @@ namespace WorkFlowCore.Host.Controllers /// /// [HttpPost("RejectProve")] - public async Task>> RejectProve(ProveInput input) + public async Task> RejectProve(RejectProveInput input) { - var proveResult = await workflowManager.RejectApprove(input.StepId, input.Comment, input.ResourceIds, input.FormData); - if (proveResult.Code == ProveResult.ProveResultCode.SUCCESS) - return OutputDto.Succeed(proveResult.WorkSteps); - return OutputDto.Failed>(proveResult.Msg); + var proveResult = await workTaskManager.RejectApprove(input.StepId, input.Comment, input.ResourceIds, input.FormData, input.RejectToNodeId); + if (proveResult.Code == ProveResult.ProveResultCode.FAIL) + new Exception(proveResult.Msg); + return proveResult.WorkSteps; } /// /// 撤回审批 @@ -244,12 +263,12 @@ namespace WorkFlowCore.Host.Controllers /// /// [HttpPost("WithdrawProve")] - public async Task>> WithdrawProve(ProveInput input) + public async Task> WithdrawProve(ProveInput input) { - var proveResult = await workflowManager.Withdraw(input.StepId, input.Comment); - if (proveResult.Code == ProveResult.ProveResultCode.SUCCESS) - return OutputDto.Succeed(proveResult.WorkSteps); - return OutputDto.Failed>(proveResult.Msg); + var proveResult = await workTaskManager.Withdraw(input.StepId, input.Comment); + if (proveResult.Code == ProveResult.ProveResultCode.FAIL) + new Exception(proveResult.Msg); + return proveResult.WorkSteps; } /// /// 转发代办 @@ -257,12 +276,12 @@ namespace WorkFlowCore.Host.Controllers /// /// [HttpPost("ForwardProve")] - public async Task>> ForwardProve(ForwardProveInput input) + public async Task> ForwardProve(ForwardProveInput input) { - var proveResult = await workflowManager.Forward(input.StepId, input.UserSelectors, input.Comment); - if (proveResult.Code == ProveResult.ProveResultCode.SUCCESS) - return OutputDto.Succeed(proveResult.WorkSteps); - return OutputDto.Failed>(proveResult.Msg); + var proveResult = await workTaskManager.Forward(input.StepId, input.UserSelectors, input.Comment); + if (proveResult.Code == ProveResult.ProveResultCode.FAIL) + new Exception(proveResult.Msg); + return proveResult.WorkSteps; } /// /// 获取所有审批步骤 @@ -270,20 +289,20 @@ namespace WorkFlowCore.Host.Controllers /// /// [HttpGet("GetAllTaskStepsOfWorkTask")] - public async Task>> GetAllTaskStepsOfWorkTask(Guid worktaskId) + public async Task> GetAllTaskStepsOfWorkTask(Guid worktaskId) { //获取所有过程输出 - var historySteps =await workflowManager.GetAllTaskStepsOfWorkTaskAsync(worktaskId); - return OutputDto.Succeed(historySteps); + var historySteps =await workTaskManager.GetAllTaskStepsOfWorkTaskAsync(worktaskId); + return historySteps; } /// /// 清除模拟 记录 /// /// [HttpPost("ClearSimulationRecord")] - public async Task> ClearSimulationRecord() + public async Task ClearSimulationRecord() { - await workflowManager.ClearSimulationRecord(); + await workTaskManager.ClearSimulationRecord(); return OutputDto.Succeed(null); } @@ -293,9 +312,9 @@ namespace WorkFlowCore.Host.Controllers /// /// [HttpGet("GetAllUserForSimulation")] - public async Task>>GetAllUserForSimulation() + public async Task>GetAllUserForSimulation() { - return OutputDto.Succeed>(UserList.Users.Select(u=>new UserSelectors.User { Id=u.Id,Name=u.Name}).ToList()); + return UserList.Users.Select(u=>new UserSelectors.User { Id=u.Id,Name=u.Name}).ToList(); } /// @@ -304,11 +323,11 @@ namespace WorkFlowCore.Host.Controllers /// /// [HttpGet("GetAllTaskStepsOfWorkTaskByEntityInfo")] - public async Task>> GetAllTaskStepsOfWorkTaskByEntityInfo(string entityFullName, string entityKeyValue) + public async Task> GetAllTaskStepsOfWorkTaskByEntityInfo(string entityFullName, string entityKeyValue) { //获取所有过程输出 - var historySteps = await workflowManager.GetAllTaskStepsOfWorkTaskByEntityInfoAsync(entityFullName, entityKeyValue); - return OutputDto.Succeed(historySteps); + var historySteps = await workTaskManager.GetAllTaskStepsOfWorkTaskByEntityInfoAsync(entityFullName, entityKeyValue); + return historySteps; } @@ -327,9 +346,9 @@ namespace WorkFlowCore.Host.Controllers /// /// [HttpGet("GetUnHandledWorkTasksOfUser")] - public async Task>> GetUnHandledWorkTasksOfUser([FromQuery] GetUnHandledWorkTasksOfUserInput input) + public async Task> GetUnHandledWorkTasksOfUser([FromQuery] GetUnHandledWorkTasksOfUserInput input) { - var worktasks = await workflowManager.GetUnHandledWorkTasksOfUserAsync(workflowSession.User.Id, input.CurrentPage, input.MaxResultCount); + var worktasks = await workTaskManager.GetUnHandledWorkTasksOfUserAsync(workflowSession.User.Id, input.CurrentPage, input.MaxResultCount); var result = new PageResult { Items = worktasks.Items.Adapt>(),// mapper.Map, List>(worktasks.Items), @@ -337,7 +356,7 @@ namespace WorkFlowCore.Host.Controllers }; await FillWorktaskInfo(result.Items); - return OutputDto.Succeed(result); + return result; } @@ -346,9 +365,9 @@ namespace WorkFlowCore.Host.Controllers /// /// [HttpGet("GetHandledWorkTasksOfUser")] - public async Task>> GetHandledWorkTasksOfUser([FromQuery] GetHandledWorkTasksOfUserInput input) + public async Task> GetHandledWorkTasksOfUser([FromQuery] GetHandledWorkTasksOfUserInput input) { - var worktasks = await workflowManager.GetHandledWorkTasksOfUserAsync(workflowSession.User.Id, input.CurrentPage, input.MaxResultCount); + var worktasks = await workTaskManager.GetHandledWorkTasksOfUserAsync(workflowSession.User.Id, input.CurrentPage, input.MaxResultCount); var result = new PageResult { Items = worktasks.Items.Adapt>(),// mapper.Map, List>(worktasks.Items), @@ -357,7 +376,7 @@ namespace WorkFlowCore.Host.Controllers await FillWorktaskInfo(result.Items); - return OutputDto.Succeed(result); + return result; } /// /// 根据实体类型获取所有的处理中的工作流 @@ -371,7 +390,7 @@ namespace WorkFlowCore.Host.Controllers return worktaskInfos.Select(wt => wt.ToWorkTask()).ToList(); } [HttpGet("GetWorkTasksOfCreator")] - public async Task>> GetWorkTasksOfCreator([FromQuery] GetWorkTasksOfCreatorInput input) + public async Task> GetWorkTasksOfCreator([FromQuery] GetWorkTasksOfCreatorInput input) { var worktasks = await worktaskRepository.GetWorkTasksOfCreatorAsync(workflowSession.User.Id, input.CurrentPage, input.MaxResultCount); var result = new PageResult @@ -382,11 +401,11 @@ namespace WorkFlowCore.Host.Controllers await FillWorktaskInfo(result.Items); - return OutputDto.Succeed(result); + return result; } [HttpGet("GetAllWorkTasks")] - public async Task>> GetAllWorkTasks([FromQuery] GetAllWorkTasksInput input) + public async Task> GetAllWorkTasks([FromQuery] GetAllWorkTasksInput input) { var worktasks = await worktaskRepository.GetAllWorkTasksAsync(input.CurrentPage, input.MaxResultCount); var result = new PageResult @@ -397,8 +416,70 @@ namespace WorkFlowCore.Host.Controllers await FillWorktaskInfo(result.Items); - return OutputDto.Succeed(result); + return result; + } + [HttpGet("GetRejectNodes")] + public async Task> GetRejectNodes([FromQuery] GetRejectNodesInput input) + { + var data = await workTaskManager.GetRejectNodes(input.WorkStepId); + var result = data.Adapt>(); + return result; } + [HttpPut("CancelWorkTask")] + public async Task CancelWorkTask(EntityDto input) + { + var workTaskInfo = await worktaskRepository.GetAsync(input.Id); + var workTask = workTaskInfo.ToWorkTask(); + workTask.Cancel(); + await worktaskRepository.UpdateAsync(workTask.ToWorkTaskInfo(workTaskInfo)); + var result = workTask.Adapt(); + return result; + } + + [HttpPost("CopyWorkTask")] + public async Task CopyWorkTask(EntityDto input) + { + var workTaskInfo = await worktaskRepository.GetAsync(input.Id); + var workTask = workTaskInfo.ToWorkTask(); + var newWorkTask = workTask.Copy(); + await worktaskRepository.InsertAsync(newWorkTask.ToWorkTaskInfo()); + var result = newWorkTask.Adapt(); + return result; + } + + /// + /// 获取所有流程列表 + /// + /// + [HttpGet("GetAllWorkflowsWithVersion")] + public async Task> GetAllWorkflowsWithVersion() + { + var workflows = await workflowManager.GetAllWorkflowsWithVersion(); + return workflows.Adapt>(); + } + /// + /// 删除审批任务 + /// + /// + [HttpDelete("DeleteWorkTask")] + public async Task DeleteWorkTaskAsync(Guid id) + { + await workTaskManager.DeleteWorkTask(id); + } + + /// + /// 更新流程表单 + /// + /// + [HttpPut("UpdateWorkTaskFormData")] + public async Task UpdateWorkTaskFormData(UpdateWorkTaskFormDataInput input) + { + var workTaskInfo = await worktaskRepository.GetAsync(input.Id); + if (workTaskInfo == null) return; + var workTask = workTaskInfo.ToWorkTask(); + workTask.UpdateFormData(input.FormData); + await worktaskRepository.UpdateAsync(workTask.ToWorkTaskInfo(workTaskInfo)); + } } } diff --git a/WorkFlowCore/WorkFlowCore.Host/Dockerfile b/WorkFlowCore/WorkFlowCore.Host/Dockerfile deleted file mode 100644 index b50257d7cf19996d0352d7cf821e7f94e01fda21..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore.Host/Dockerfile +++ /dev/null @@ -1,10 +0,0 @@ -#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. - -FROM mcr.microsoft.com/dotnet/aspnet:3.1 -WORKDIR /app -EXPOSE 80 -EXPOSE 443 -RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ -&& echo Asia/Shanghai >/etc/timezone -COPY . . -ENTRYPOINT ["dotnet", "WorkFlowCore.Host.dll","--urls","http://[*]:80"] \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/Filters/ResultFilter.cs b/WorkFlowCore/WorkFlowCore.Host/Filters/ResultFilter.cs new file mode 100644 index 0000000000000000000000000000000000000000..a2751d44c4dcfb808693ffdfc865a6ae9c4ec843 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/Filters/ResultFilter.cs @@ -0,0 +1,29 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.Filters; +using WorkFlowCore.Host.ViewModels; + +namespace WorkFlowCore.Host.Filters +{ + public class ResultFilter : IResultFilter + { + public void OnResultExecuted(ResultExecutedContext context) + { + + } + + public void OnResultExecuting(ResultExecutingContext context) + { + if (context.Result is EmptyResult) + { + context.HttpContext.Response.StatusCode = 200; + context.Result = new ObjectResult(OutputDto.Succeed("")); + } + else + { + ObjectResult originalResult = (ObjectResult)context.Result; + context.Result = new ObjectResult(OutputDto.Succeed(originalResult.Value)); + } + + } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Host/Program.cs b/WorkFlowCore/WorkFlowCore.Host/Program.cs index ae1cb5aa77380c523052af65c5f02e2ae0029660..9ea9c893e42ec3c636f75d19e33ff83c52290140 100644 --- a/WorkFlowCore/WorkFlowCore.Host/Program.cs +++ b/WorkFlowCore/WorkFlowCore.Host/Program.cs @@ -1,11 +1,7 @@ using Microsoft.AspNetCore.Hosting; -using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Hosting; -using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; +using Volo.Abp; +using Volo.Abp.AspNetCore; namespace WorkFlowCore.Host { @@ -18,7 +14,8 @@ namespace WorkFlowCore.Host public static IHostBuilder CreateHostBuilder(string[] args) => Microsoft.Extensions.Hosting.Host.CreateDefaultBuilder(args) - .ConfigureWebHostDefaults(webBuilder => + .UseAutofac() + .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup(); }); diff --git a/WorkFlowCore/WorkFlowCore.Host/Startup.cs b/WorkFlowCore/WorkFlowCore.Host/Startup.cs index 7dcd816d2ca6cde6c0cfe66e24aa66c4dc8c4789..a1a2609de09e692fb1df908f0613afa07915425e 100644 --- a/WorkFlowCore/WorkFlowCore.Host/Startup.cs +++ b/WorkFlowCore/WorkFlowCore.Host/Startup.cs @@ -11,7 +11,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; using System.Reflection; -using System.Threading.Tasks; using WorkFlowCore.Common.EventBus; using WorkFlowCore.Framework; using WorkFlowCore.Framework.Repositories4EF; @@ -30,106 +29,16 @@ namespace WorkFlowCore.Host // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) - { - services.AddControllersWithViews(options=>options.Filters.Add()); - //ע - services.AddWorkFlowCore(); - services.AddWorkFlowCoreFramework(options=> { - options.OrmType = WorkFlowCoreFrameworkService.FrameworkConfigOrmType.EF; - }); - services.AddDbContext(op => - { - ////ﰴлݿʹá - //op.UseSqlServer(Configuration.GetConnectionString("Default")); //˴SqlServerַ 磺 "Data Source=HY-PTJD-XR002;Initial Catalog=WorkFlowCore1;User Id=sa;Password=12345678;connect Timeout=30;" - op.UseMySql(Configuration.GetConnectionString("Default"), new MySqlServerVersion(Configuration.GetConnectionString("DefaultVersion"))); - op.UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking); - }); - - //עswagger - services.AddSwaggerGen(c => - { - c.SwaggerDoc("v1.0", new OpenApiInfo { Title = "̷", Version = "1.0" }); - var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; - var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile); - c.IncludeXmlComments(xmlPath); - }); - - // Configure CORS for angular2 UI - services.AddCors( - options => options.AddPolicy( - "defaultcors", - builder => builder - .WithOrigins( - // App:CorsOrigins in appsettings.json can contain more than one address separated by comma. - //Configuration["AllowedHosts"] - // .Split(",", StringSplitOptions.RemoveEmptyEntries) - // .ToArray() - "http://localhost:9528".Split(',') - ) - .AllowAnyHeader() - .AllowAnyMethod() - .AllowCredentials() - ) - ); + { - services.AddDefautEventBus(typeof(WorkFlowCoreFrameworkService).Assembly); + services.AddApplication(); - //var KafkaBootstrapServers = Configuration["KafkaBootstrapServers"] ?? Configuration.GetSection("Kafka")["BootstrapServers"]; - //if (!string.IsNullOrEmpty(KafkaBootstrapServers)) - //{ - // services.AddKafkaEventBus(config => - // { - // config.Servers = KafkaBootstrapServers; - // config.RegisterAssemblies = new Assembly[] { typeof(WorkFlowCoreFrameworkService).Assembly }; - // }); - //} } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { - if (env.IsDevelopment()) - { - app.UseDeveloperExceptionPage(); - } - else - { - app.UseExceptionHandler("/Home/Error"); - // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. - app.UseHsts(); - } - app.UseCors("defaultcors"); - app.UseHttpsRedirection(); - app.UseStaticFiles(); - - app.UseRouting(); - - app.UseAuthorization(); - - if (env.IsDevelopment()) - { - app.UseSwagger(); - app.UseSwaggerUI(c => - { - c.SwaggerEndpoint("/swagger/v1.0/swagger.json", "̷(V 1.0)"); - //c.RoutePrefix = string.Empty; - //c.DocExpansion(Swashbuckle.AspNetCore.SwaggerUI.DocExpansion.None);// Ĭ۵ - }); - } - - - app.UseEndpoints(endpoints => - { - endpoints.MapControllerRoute( - name: "default", - pattern: "{controller=Home}/{action=Index}/{id?}"); - endpoints.MapControllerRoute( - name: "api", - pattern: "api/{controller=Home}/{action=Index}/{id?}"); - }); - - //עȫ¼ - app.InitGlobalEventBus(); + app.InitializeApplication(); } } } diff --git a/WorkFlowCore/WorkFlowCore.Host/ViewModels/FormDesigns/FormDesignCreateInput.cs b/WorkFlowCore/WorkFlowCore.Host/ViewModels/FormDesigns/FormDesignCreateInput.cs new file mode 100644 index 0000000000000000000000000000000000000000..1cd6828bcb8bad7d91c2528a0e74d6e7d387679e --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/ViewModels/FormDesigns/FormDesignCreateInput.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using WorkFlowCore.FormDesigns; + +namespace WorkFlowCore.Host.ViewModels.FormDesigns +{ + public class FormDesignCreateInput + { + public string formType{get;set;} + public string title {get;set;} + public string description {get;set;} + public WorkflowId4FormDesign workflowId { get; set; } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Host/ViewModels/FormDesigns/FormDesignPageListOutput.cs b/WorkFlowCore/WorkFlowCore.Host/ViewModels/FormDesigns/FormDesignPageListOutput.cs new file mode 100644 index 0000000000000000000000000000000000000000..8c01e97df1edd2252bcfe70d76da384c8b5f820a --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/ViewModels/FormDesigns/FormDesignPageListOutput.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; +using WorkFlowCore.FormDesigns; + +namespace WorkFlowCore.Host.ViewModels.FormDesigns +{ + public class FormDesignPageListOutput: FormDesign + { + /// + /// 流程名称 + /// + public string WorkflowName { get; set; } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Host/ViewModels/FormDesigns/UpdateFormDesignVersionInput.cs b/WorkFlowCore/WorkFlowCore.Host/ViewModels/FormDesigns/UpdateFormDesignVersionInput.cs new file mode 100644 index 0000000000000000000000000000000000000000..437c59ebfd31827d6de2c1df9865a802fa41c171 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/ViewModels/FormDesigns/UpdateFormDesignVersionInput.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using WorkFlowCore.FormDesigns; + +namespace WorkFlowCore.Host.ViewModels.FormDesigns +{ + public class UpdateFormDesignVersionInput + { + public FormDesignId formDesignId { get; set; } + public string formType{get;set;} + public string title {get;set;} + public string description {get;set;} + public string designContent { get;set; } + public WorkflowId4FormDesign workflowId { get; set; } + } +} diff --git a/WorkFlowCore/WorkFlowCore/IRepositories/IUnitOfWorkManager.cs b/WorkFlowCore/WorkFlowCore.Host/ViewModels/GetListInput.cs similarity index 43% rename from WorkFlowCore/WorkFlowCore/IRepositories/IUnitOfWorkManager.cs rename to WorkFlowCore/WorkFlowCore.Host/ViewModels/GetListInput.cs index 645b6fc4191323a80a68d50af3d26fb9773286f9..f206c05dbe0f98f21c9536202da37c40103e8007 100644 --- a/WorkFlowCore/WorkFlowCore/IRepositories/IUnitOfWorkManager.cs +++ b/WorkFlowCore/WorkFlowCore.Host/ViewModels/GetListInput.cs @@ -2,10 +2,10 @@ using System.Collections.Generic; using System.Text; -namespace WorkFlowCore.IRepositories +namespace WorkFlowCore.Host.ViewModels { - public interface IUnitOfWorkManager + public class GetListInput { - IUnitOfWork Begin(); + public string Sorting { get; set; } } } diff --git a/WorkFlowCore/WorkFlowCore.Host/ViewModels/WorkFlowCore/GetAllWorkflowsWithVersionOutput.cs b/WorkFlowCore/WorkFlowCore.Host/ViewModels/WorkFlowCore/GetAllWorkflowsWithVersionOutput.cs new file mode 100644 index 0000000000000000000000000000000000000000..0c93b5995a3c1ba580c4185e0b5f152c76d52cec --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/ViewModels/WorkFlowCore/GetAllWorkflowsWithVersionOutput.cs @@ -0,0 +1,26 @@ +using System; +using System.ComponentModel.DataAnnotations; + +namespace WorkFlowCore.Host.ViewModels.WorkFlowCore +{ + public class GetAllWorkflowsWithVersionOutput + { + public Guid Id { get; set; } + /// + /// 流程编号 + /// + [Required] + [StringLength(50)] + public string WorkflowNo { get; set; } + /// + /// 流程名称 + /// + [Required] + [StringLength(50)] + public string Name { get; set; } + /// + /// 激活版本 + /// + public int ActiveVersion { get; set; } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Host/ViewModels/WorkFlowCore/GetRejectNodesInput.cs b/WorkFlowCore/WorkFlowCore.Host/ViewModels/WorkFlowCore/GetRejectNodesInput.cs new file mode 100644 index 0000000000000000000000000000000000000000..94f9dcd23dd90bfa28dc894d690d8dd5df2fd474 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/ViewModels/WorkFlowCore/GetRejectNodesInput.cs @@ -0,0 +1,9 @@ +using System; + +namespace WorkFlowCore.Host.ViewModels.WorkFlowCore +{ + public class GetRejectNodesInput + { + public Guid WorkStepId { get; set; } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Host/ViewModels/WorkFlowCore/GetWorkflowVersionOutput.cs b/WorkFlowCore/WorkFlowCore.Host/ViewModels/WorkFlowCore/GetWorkflowVersionOutput.cs new file mode 100644 index 0000000000000000000000000000000000000000..697ffac3896b824275d4ccd63a8b9fd098365e30 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/ViewModels/WorkFlowCore/GetWorkflowVersionOutput.cs @@ -0,0 +1,37 @@ +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System; +using WorkFlowCore.Workflows; + +namespace WorkFlowCore.Host.ViewModels.WorkFlowCore +{ + public class GetWorkflowVersionOutput + { + public Guid Id { get; set; } + /// + /// 流程编号 + /// + [Required] + public Guid WorkflowId { get; set; } + /// + /// 版本号 + /// + [Required] + public int VersionNo { get; set; } + /// + /// 绘制信息,前端绘制所需信息 + /// + public string DrawingInfo { get; set; } + /// + /// 描述 + /// + [StringLength(2000)] + public string Description { get; set; } + /// + /// 节点映射信息 + /// + public List NodeMaps { get; set; } + + public List AllNodes { get; set; } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Host/ViewModels/WorkFlowCore/RejectProveInput.cs b/WorkFlowCore/WorkFlowCore.Host/ViewModels/WorkFlowCore/RejectProveInput.cs new file mode 100644 index 0000000000000000000000000000000000000000..9ea72fcd921d28cdfa488cd32b3b26b63a0edffb --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/ViewModels/WorkFlowCore/RejectProveInput.cs @@ -0,0 +1,13 @@ +using System.Collections.Generic; +using System; + +namespace WorkFlowCore.Host.ViewModels.WorkFlowCore +{ + public class RejectProveInput: ProveInput + { + /// + /// 指定驳回节点id + /// + public Guid? RejectToNodeId { get; set; } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Host/ViewModels/WorkFlowCore/UpdateWorkTaskFormDataInput.cs b/WorkFlowCore/WorkFlowCore.Host/ViewModels/WorkFlowCore/UpdateWorkTaskFormDataInput.cs new file mode 100644 index 0000000000000000000000000000000000000000..7b91beffcbebdc0ec60fb70db3a617761c437b1c --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/ViewModels/WorkFlowCore/UpdateWorkTaskFormDataInput.cs @@ -0,0 +1,13 @@ +using System; + +namespace WorkFlowCore.Host.ViewModels.WorkFlowCore +{ + public class UpdateWorkTaskFormDataInput + { + public Guid Id { get; set; } + /// + /// 表单数据(json) + /// + public string FormData { get; set; } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Host/WorkFlowCore.Host.csproj b/WorkFlowCore/WorkFlowCore.Host/WorkFlowCore.Host.csproj index 72eba056011105fc01a8632746d6be20b0deec76..5a91f6980ba1232cb1c046b374c3c622170e26f7 100644 --- a/WorkFlowCore/WorkFlowCore.Host/WorkFlowCore.Host.csproj +++ b/WorkFlowCore/WorkFlowCore.Host/WorkFlowCore.Host.csproj @@ -1,7 +1,7 @@  - netcoreapp3.1 + net6.0 47637287-d9af-4d46-81cd-a8ce27a19aac Linux @@ -17,14 +17,16 @@ - - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + + + + @@ -45,30 +47,30 @@ PreserveNewest - - PreserveNewest - PreserveNewest - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/WorkFlowCore/WorkFlowCore.Host/WorkFlowCore.Host.xml b/WorkFlowCore/WorkFlowCore.Host/WorkFlowCore.Host.xml index eda7b1e4b1a11ba0e47c0ca4fb7bff693788b747..8e4cf8f8d6ae57bd68eabd72408693541d36e0c4 100644 --- a/WorkFlowCore/WorkFlowCore.Host/WorkFlowCore.Host.xml +++ b/WorkFlowCore/WorkFlowCore.Host/WorkFlowCore.Host.xml @@ -41,22 +41,30 @@ 获取流程具体版本信息 - + + - + 删除流程 - + + + + + + 删除流程 + + + 更新流程激活的版本 - - + @@ -96,7 +104,7 @@ 发起流程 - + @@ -106,7 +114,7 @@ - + 驳回审批 @@ -172,6 +180,29 @@ + + + 获取所有流程列表 + + + + + + 删除审批任务 + + + + + + 更新流程表单 + + + + + + 流程名称 + + 流程id @@ -202,6 +233,21 @@ 发起人 + + + 流程编号 + + + + + 流程名称 + + + + + 激活版本 + + 流程编号 @@ -232,6 +278,31 @@ 分页大小 + + + 流程编号 + + + + + 版本号 + + + + + 绘制信息,前端绘制所需信息 + + + + + 描述 + + + + + 节点映射信息 + + 批语 @@ -252,6 +323,11 @@ 审批表单,与发起流程的表单是有区别 + + + 指定驳回节点id + + 流程名称 @@ -287,6 +363,11 @@ 流程连线 + + + 表单数据(json) + + 流程名称 diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/index.html b/WorkFlowCore/WorkFlowCore.Host/wwwroot/index.html index 00730f32495a0461f5a531e13ddd7568627443d2..8b5dc84093d9f59ded90b85f708383d0fdc89276 100644 --- a/WorkFlowCore/WorkFlowCore.Host/wwwroot/index.html +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/index.html @@ -1 +1 @@ -Vue Admin Template
\ No newline at end of file +Vue Admin Template
\ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-a70c5b14.37fe4ce6.css b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-1b787a16.ccb1a2b9.css similarity index 66% rename from WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-a70c5b14.37fe4ce6.css rename to WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-1b787a16.ccb1a2b9.css index 0055e972dfb77351ae520dc66c19db3d34cc852b..650130168c0b49ddf1fc60f09d4a60bc4cca5e5a 100644 --- a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-a70c5b14.37fe4ce6.css +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-1b787a16.ccb1a2b9.css @@ -1 +1 @@ -.control-container[data-v-50490820]{padding:0 10px 0 10px;margin:5px}.dynamic-col{padding:5px;margin-bottom:5px}.dynamic-col-default{padding:0 5px 0 5px;margin-bottom:4px}.dynamic-col{outline:1px solid #ddd;cursor:move}.dynamic-col:hover{outline:1px solid #699;cursor:move}.card-provehistory .el-card__body{padding-top:5px;padding-bottom:5px}.card-provehistory .historylabel{color:#999} \ No newline at end of file +.control-container[data-v-50490820]{padding:0 10px 0 10px;margin:5px}.dynamic-col{padding:5px;margin-bottom:5px}.dynamic-col-default{padding:0 5px 0 5px;margin-bottom:4px}.dynamic-col{outline:1px solid #ddd;cursor:move}.dynamic-col:hover{outline:1px solid #699;cursor:move} \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-1cc0ed8c.4c1004bf.css b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-1cc0ed8c.4c1004bf.css new file mode 100644 index 0000000000000000000000000000000000000000..628315b66f6a27fea5103358547847477582bbba --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-1cc0ed8c.4c1004bf.css @@ -0,0 +1 @@ +.card-provehistory .historylabel{color:#999} \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-2f5dfefb.0b3d46af.css b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-2f5dfefb.0b3d46af.css new file mode 100644 index 0000000000000000000000000000000000000000..4e85357b08e653be3d894eccb8f79c230622e337 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-2f5dfefb.0b3d46af.css @@ -0,0 +1 @@ +.card-provehistory .el-card__body{padding-top:5px;padding-bottom:5px}.card-provehistory .historylabel{color:#999} \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-3a07c062.923724d8.css b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-3a07c062.923724d8.css new file mode 100644 index 0000000000000000000000000000000000000000..4e85357b08e653be3d894eccb8f79c230622e337 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-3a07c062.923724d8.css @@ -0,0 +1 @@ +.card-provehistory .el-card__body{padding-top:5px;padding-bottom:5px}.card-provehistory .historylabel{color:#999} \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-3d34f123.923724d8.css b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-3d34f123.923724d8.css new file mode 100644 index 0000000000000000000000000000000000000000..4e85357b08e653be3d894eccb8f79c230622e337 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-3d34f123.923724d8.css @@ -0,0 +1 @@ +.card-provehistory .el-card__body{padding-top:5px;padding-bottom:5px}.card-provehistory .historylabel{color:#999} \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-954cb204.a624cf51.css b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-4343db66.a624cf51.css similarity index 100% rename from WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-954cb204.a624cf51.css rename to WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-4343db66.a624cf51.css diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-4389f322.0b3d46af.css b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-4389f322.0b3d46af.css new file mode 100644 index 0000000000000000000000000000000000000000..4e85357b08e653be3d894eccb8f79c230622e337 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-4389f322.0b3d46af.css @@ -0,0 +1 @@ +.card-provehistory .el-card__body{padding-top:5px;padding-bottom:5px}.card-provehistory .historylabel{color:#999} \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-43d5dd32.923724d8.css b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-43d5dd32.923724d8.css new file mode 100644 index 0000000000000000000000000000000000000000..4e85357b08e653be3d894eccb8f79c230622e337 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-43d5dd32.923724d8.css @@ -0,0 +1 @@ +.card-provehistory .el-card__body{padding-top:5px;padding-bottom:5px}.card-provehistory .historylabel{color:#999} \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-4efd20a2.0b3d46af.css b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-4efd20a2.0b3d46af.css new file mode 100644 index 0000000000000000000000000000000000000000..4e85357b08e653be3d894eccb8f79c230622e337 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-4efd20a2.0b3d46af.css @@ -0,0 +1 @@ +.card-provehistory .el-card__body{padding-top:5px;padding-bottom:5px}.card-provehistory .historylabel{color:#999} \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-4fbe6529.c99eba35.css b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-4fbe6529.c99eba35.css new file mode 100644 index 0000000000000000000000000000000000000000..21227040846ab8cdd200724c0543f95d78fbb4a9 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-4fbe6529.c99eba35.css @@ -0,0 +1 @@ +.box-card{margin-bottom:10px}.editor-card .el-card__body{padding:0}.property-card{margin-bottom:5px}.dynamic-form .el-form-item__label{line-height:30px!important;padding:0!important}.editbox{height:100%}.editbox-content{padding:20px}.editbox-content,.options-content-option{height:100%;overflow-y:auto;overflow-x:hidden;border:1px solid #eee;border-radius:3px}.options-content-option{padding:2px}.options-content .el-form-item{margin-bottom:2px}.ghostClass{background-color:#ccc!important}.chosenClass{background-color:#eee!important;opacity:1!important}.dragClass{opacity:1!important;-webkit-box-shadow:none!important;box-shadow:none!important;outline:none!important;background-image:none!important}.ctrl-empty:hover,.dragClass{background-color:#999!important}.tag-move{cursor:move} \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-50b1c14a.a624cf51.css b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-50b1c14a.a624cf51.css new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-590b2ef2.c99eba35.css b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-590b2ef2.c99eba35.css new file mode 100644 index 0000000000000000000000000000000000000000..21227040846ab8cdd200724c0543f95d78fbb4a9 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-590b2ef2.c99eba35.css @@ -0,0 +1 @@ +.box-card{margin-bottom:10px}.editor-card .el-card__body{padding:0}.property-card{margin-bottom:5px}.dynamic-form .el-form-item__label{line-height:30px!important;padding:0!important}.editbox{height:100%}.editbox-content{padding:20px}.editbox-content,.options-content-option{height:100%;overflow-y:auto;overflow-x:hidden;border:1px solid #eee;border-radius:3px}.options-content-option{padding:2px}.options-content .el-form-item{margin-bottom:2px}.ghostClass{background-color:#ccc!important}.chosenClass{background-color:#eee!important;opacity:1!important}.dragClass{opacity:1!important;-webkit-box-shadow:none!important;box-shadow:none!important;outline:none!important;background-image:none!important}.ctrl-empty:hover,.dragClass{background-color:#999!important}.tag-move{cursor:move} \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-5cb135c0.923724d8.css b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-5cb135c0.923724d8.css new file mode 100644 index 0000000000000000000000000000000000000000..4e85357b08e653be3d894eccb8f79c230622e337 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-5cb135c0.923724d8.css @@ -0,0 +1 @@ +.card-provehistory .el-card__body{padding-top:5px;padding-bottom:5px}.card-provehistory .historylabel{color:#999} \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-62ec26ef.69dc7be0.css b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-62ec26ef.69dc7be0.css new file mode 100644 index 0000000000000000000000000000000000000000..dab2cd4bc65d7ad230ef21c5371a434591dad513 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-62ec26ef.69dc7be0.css @@ -0,0 +1 @@ +@supports(-webkit-mask:none) and (not (cater-color:#fff)){.login-container .el-input input{color:#fff}}.login-container .el-input{display:inline-block;height:47px;width:85%}.login-container .el-input input{background:transparent;border:0;-webkit-appearance:none;border-radius:0;padding:12px 5px 12px 15px;color:#fff;height:47px;caret-color:#fff}.login-container .el-input input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #283443 inset!important;box-shadow:inset 0 0 0 1000px #283443!important;-webkit-text-fill-color:#fff!important}.login-container .el-form-item{border:1px solid hsla(0,0%,100%,.1);background:rgba(0,0,0,.1);border-radius:5px;color:#454545}.login-container[data-v-3f4cf53b]{min-height:100%;width:100%;background-color:#2d3a4b;overflow:hidden}.login-container .login-form[data-v-3f4cf53b]{position:relative;width:520px;max-width:100%;padding:160px 35px 0;margin:0 auto;overflow:hidden}.login-container .tips[data-v-3f4cf53b]{font-size:14px;color:#fff;margin-bottom:10px}.login-container .tips span[data-v-3f4cf53b]:first-of-type{margin-right:16px}.login-container .svg-container[data-v-3f4cf53b]{padding:6px 5px 6px 15px;color:#889aa4;vertical-align:middle;width:30px;display:inline-block}.login-container .title-container[data-v-3f4cf53b]{position:relative}.login-container .title-container .title[data-v-3f4cf53b]{font-size:26px;color:#eee;margin:0 auto 40px auto;text-align:center;font-weight:700}.login-container .show-pwd[data-v-3f4cf53b]{position:absolute;right:10px;top:7px;font-size:16px;color:#889aa4;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-76cea4de.3c7f5ad9.css b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-76cea4de.3c7f5ad9.css new file mode 100644 index 0000000000000000000000000000000000000000..5adab2859e610ae3d7544268b67337369d0a6f9d --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-76cea4de.3c7f5ad9.css @@ -0,0 +1 @@ +.wscn-http404-container[data-v-c095f994]{-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);position:absolute;top:40%;left:50%}.wscn-http404[data-v-c095f994]{position:relative;width:1200px;padding:0 50px;overflow:hidden}.wscn-http404 .pic-404[data-v-c095f994]{position:relative;float:left;width:600px;overflow:hidden}.wscn-http404 .pic-404__parent[data-v-c095f994]{width:100%}.wscn-http404 .pic-404__child[data-v-c095f994]{position:absolute}.wscn-http404 .pic-404__child.left[data-v-c095f994]{width:80px;top:17px;left:220px;opacity:0;-webkit-animation-name:cloudLeft-data-v-c095f994;animation-name:cloudLeft-data-v-c095f994;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-delay:1s;animation-delay:1s}.wscn-http404 .pic-404__child.mid[data-v-c095f994]{width:46px;top:10px;left:420px;opacity:0;-webkit-animation-name:cloudMid-data-v-c095f994;animation-name:cloudMid-data-v-c095f994;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-delay:1.2s;animation-delay:1.2s}.wscn-http404 .pic-404__child.right[data-v-c095f994]{width:62px;top:100px;left:500px;opacity:0;-webkit-animation-name:cloudRight-data-v-c095f994;animation-name:cloudRight-data-v-c095f994;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-delay:1s;animation-delay:1s}@-webkit-keyframes cloudLeft-data-v-c095f994{0%{top:17px;left:220px;opacity:0}20%{top:33px;left:188px;opacity:1}80%{top:81px;left:92px;opacity:1}to{top:97px;left:60px;opacity:0}}@keyframes cloudLeft-data-v-c095f994{0%{top:17px;left:220px;opacity:0}20%{top:33px;left:188px;opacity:1}80%{top:81px;left:92px;opacity:1}to{top:97px;left:60px;opacity:0}}@-webkit-keyframes cloudMid-data-v-c095f994{0%{top:10px;left:420px;opacity:0}20%{top:40px;left:360px;opacity:1}70%{top:130px;left:180px;opacity:1}to{top:160px;left:120px;opacity:0}}@keyframes cloudMid-data-v-c095f994{0%{top:10px;left:420px;opacity:0}20%{top:40px;left:360px;opacity:1}70%{top:130px;left:180px;opacity:1}to{top:160px;left:120px;opacity:0}}@-webkit-keyframes cloudRight-data-v-c095f994{0%{top:100px;left:500px;opacity:0}20%{top:120px;left:460px;opacity:1}80%{top:180px;left:340px;opacity:1}to{top:200px;left:300px;opacity:0}}@keyframes cloudRight-data-v-c095f994{0%{top:100px;left:500px;opacity:0}20%{top:120px;left:460px;opacity:1}80%{top:180px;left:340px;opacity:1}to{top:200px;left:300px;opacity:0}}.wscn-http404 .bullshit[data-v-c095f994]{position:relative;float:left;width:300px;padding:30px 0;overflow:hidden}.wscn-http404 .bullshit__oops[data-v-c095f994]{font-size:32px;line-height:40px;color:#1482f0;margin-bottom:20px;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wscn-http404 .bullshit__headline[data-v-c095f994],.wscn-http404 .bullshit__oops[data-v-c095f994]{font-weight:700;opacity:0;-webkit-animation-name:slideUp-data-v-c095f994;animation-name:slideUp-data-v-c095f994;-webkit-animation-duration:.5s;animation-duration:.5s}.wscn-http404 .bullshit__headline[data-v-c095f994]{font-size:20px;line-height:24px;color:#222;margin-bottom:10px;-webkit-animation-delay:.1s;animation-delay:.1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wscn-http404 .bullshit__info[data-v-c095f994]{font-size:13px;line-height:21px;color:grey;margin-bottom:30px;-webkit-animation-delay:.2s;animation-delay:.2s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.wscn-http404 .bullshit__info[data-v-c095f994],.wscn-http404 .bullshit__return-home[data-v-c095f994]{opacity:0;-webkit-animation-name:slideUp-data-v-c095f994;animation-name:slideUp-data-v-c095f994;-webkit-animation-duration:.5s;animation-duration:.5s}.wscn-http404 .bullshit__return-home[data-v-c095f994]{display:block;float:left;width:110px;height:36px;background:#1482f0;border-radius:100px;text-align:center;color:#fff;font-size:14px;line-height:36px;cursor:pointer;-webkit-animation-delay:.3s;animation-delay:.3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes slideUp-data-v-c095f994{0%{-webkit-transform:translateY(60px);transform:translateY(60px);opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes slideUp-data-v-c095f994{0%{-webkit-transform:translateY(60px);transform:translateY(60px);opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}} \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-788d8f30.0b3d46af.css b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-788d8f30.0b3d46af.css new file mode 100644 index 0000000000000000000000000000000000000000..4e85357b08e653be3d894eccb8f79c230622e337 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-788d8f30.0b3d46af.css @@ -0,0 +1 @@ +.card-provehistory .el-card__body{padding-top:5px;padding-bottom:5px}.card-provehistory .historylabel{color:#999} \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-31c818f5.b0775b0d.css b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-b6a04838.b0775b0d.css similarity index 100% rename from WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-31c818f5.b0775b0d.css rename to WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-b6a04838.b0775b0d.css diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-d28833c2.b0775b0d.css b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-d28833c2.b0775b0d.css new file mode 100644 index 0000000000000000000000000000000000000000..0c1a5ad05ffb706bdc5c5cc4ae74c0ad5f231f0c --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-d28833c2.b0775b0d.css @@ -0,0 +1 @@ +.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:transparent}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:transparent}.cm-fat-cursor{caret-color:transparent}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:none;position:relative}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none;outline:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:none!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-webkit-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:none} \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-e32ce2ae.a624cf51.css b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-e32ce2ae.a624cf51.css new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-e5f3d598.ccb1a2b9.css b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-e5f3d598.ccb1a2b9.css new file mode 100644 index 0000000000000000000000000000000000000000..650130168c0b49ddf1fc60f09d4a60bc4cca5e5a --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-e5f3d598.ccb1a2b9.css @@ -0,0 +1 @@ +.control-container[data-v-50490820]{padding:0 10px 0 10px;margin:5px}.dynamic-col{padding:5px;margin-bottom:5px}.dynamic-col-default{padding:0 5px 0 5px;margin-bottom:4px}.dynamic-col{outline:1px solid #ddd;cursor:move}.dynamic-col:hover{outline:1px solid #699;cursor:move} \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-eb25376c.4c1004bf.css b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-eb25376c.4c1004bf.css new file mode 100644 index 0000000000000000000000000000000000000000..628315b66f6a27fea5103358547847477582bbba --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/css/chunk-eb25376c.4c1004bf.css @@ -0,0 +1 @@ +.card-provehistory .historylabel{color:#999} \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/app.46cd4ca2.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/app.07eeb684.js similarity index 36% rename from WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/app.46cd4ca2.js rename to WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/app.07eeb684.js index b25d670c51735abbba6be06a9ce499bf24009029..7963d3357e0d22380279e5fc1b50dd441d974af1 100644 --- a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/app.46cd4ca2.js +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/app.07eeb684.js @@ -1 +1 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["app"],{0:function(e,t,n){e.exports=n("56d7")},"028b":function(e,t,n){"use strict";n("3f4d")},"0a9d":function(e,t,n){},"0af1":function(e,t,n){"use strict";n("e030")},"186a":function(e,t,n){"use strict";n("9df4")},"18f0":function(e,t,n){"use strict";n.r(t);var a=n("e017"),r=n.n(a),o=n("21a1"),i=n.n(o),s=new r.a({id:"icon-link",use:"icon-link-usage",viewBox:"0 0 128 128",content:''});i.a.add(s);t["default"]=s},2927:function(e,t,n){"use strict";n("e142")},"2a3d":function(e,t,n){"use strict";n.r(t);var a=n("e017"),r=n.n(a),o=n("21a1"),i=n.n(o),s=new r.a({id:"icon-password",use:"icon-password-usage",viewBox:"0 0 128 128",content:''});i.a.add(s);t["default"]=s},"30c3":function(e,t,n){"use strict";n.r(t);var a=n("e017"),r=n.n(a),o=n("21a1"),i=n.n(o),s=new r.a({id:"icon-example",use:"icon-example-usage",viewBox:"0 0 128 128",content:''});i.a.add(s);t["default"]=s},"34c8":function(e,t,n){"use strict";n("f30b")},"39a5":function(e,t,n){},"3f4d":function(e,t,n){},"47f1":function(e,t,n){"use strict";n.r(t);var a=n("e017"),r=n.n(a),o=n("21a1"),i=n.n(o),s=new r.a({id:"icon-table",use:"icon-table-usage",viewBox:"0 0 128 128",content:''});i.a.add(s);t["default"]=s},"4a3d":function(e,t,n){"use strict";n("39a5")},"4df5":function(e,t,n){"use strict";n.r(t);var a=n("e017"),r=n.n(a),o=n("21a1"),i=n.n(o),s=new r.a({id:"icon-eye",use:"icon-eye-usage",viewBox:"0 0 128 64",content:''});i.a.add(s);t["default"]=s},"51ff":function(e,t,n){var a={"./dashboard.svg":"f782","./example.svg":"30c3","./eye-open.svg":"d7ec","./eye.svg":"4df5","./form.svg":"eb1b","./link.svg":"18f0","./nested.svg":"dcf8","./password.svg":"2a3d","./table.svg":"47f1","./tree.svg":"93cd","./user.svg":"b3b5"};function r(e){var t=o(e);return n(t)}function o(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}r.keys=function(){return Object.keys(a)},r.resolve=o,e.exports=r,r.id="51ff"},"56d7":function(e,t,n){"use strict";n.r(t);n("e260"),n("e6cf"),n("cca6"),n("a79d");var a=n("2b0e"),r=(n("f5df1"),n("5c96")),o=n.n(r),i=(n("0fae"),n("b2d6")),s=n.n(i),c=(n("b20f"),n("8ce0"),function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"app"}},[n("router-view")],1)}),u=[],l={name:"App"},d=l,m=n("2877"),f=Object(m["a"])(d,c,u,!1,null,null,null),h=f.exports,p=n("2f62"),v=(n("b0c0"),{sidebar:function(e){return e.app.sidebar},device:function(e){return e.app.device},token:function(e){return e.user.token},avatar:function(e){return e.user.avatar},name:function(e){return e.user.name}}),b=v,g=n("a78e"),w=n.n(g),k={sidebar:{opened:!w.a.get("sidebarStatus")||!!+w.a.get("sidebarStatus"),withoutAnimation:!1},device:"desktop"},x={TOGGLE_SIDEBAR:function(e){e.sidebar.opened=!e.sidebar.opened,e.sidebar.withoutAnimation=!1,e.sidebar.opened?w.a.set("sidebarStatus",1):w.a.set("sidebarStatus",0)},CLOSE_SIDEBAR:function(e,t){w.a.set("sidebarStatus",0),e.sidebar.opened=!1,e.sidebar.withoutAnimation=t},TOGGLE_DEVICE:function(e,t){e.device=t}},y={toggleSideBar:function(e){var t=e.commit;t("TOGGLE_SIDEBAR")},closeSideBar:function(e,t){var n=e.commit,a=t.withoutAnimation;n("CLOSE_SIDEBAR",a)},toggleDevice:function(e,t){var n=e.commit;n("TOGGLE_DEVICE",t)}},S={resourceUploadUrl:function(e){return"/resource/upload"}},C={namespaced:!0,state:k,mutations:x,actions:y,getters:S},_=n("83d6"),T=n.n(_),O=T.a.showSettings,A=T.a.fixedHeader,W=T.a.sidebarLogo,E={showSettings:O,fixedHeader:A,sidebarLogo:W},H={CHANGE_SETTING:function(e,t){var n=t.key,a=t.value;e.hasOwnProperty(n)&&(e[n]=a)}},z={changeSetting:function(e,t){var n=e.commit;n("CHANGE_SETTING",t)}},M={namespaced:!0,state:E,mutations:H,actions:z},B=(n("e9c4"),"vue_admin_template_token"),U="vue_admin_template_user";function $(){return w.a.get(B)}function V(e){return w.a.set(B,e)}function L(){return w.a.remove(B)}function j(e){return localStorage.setItem(U,JSON.stringify(e))}function F(){try{return JSON.parse(localStorage.getItem(U))}catch(e){return null}}n("d3b7"),n("3ca3"),n("ddb0");var P,G,I=n("8c4f"),R=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-wrapper",class:e.classObj},["mobile"===e.device&&e.sidebar.opened?n("div",{staticClass:"drawer-bg",on:{click:e.handleClickOutside}}):e._e(),n("sidebar",{staticClass:"sidebar-container"}),n("div",{staticClass:"main-container"},[n("div",{class:{"fixed-header":e.fixedHeader}},[n("navbar")],1),n("app-main")],1)],1)},D=[],N=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"navbar"},[n("hamburger",{staticClass:"hamburger-container",attrs:{"is-active":e.sidebar.opened},on:{toggleClick:e.toggleSideBar}}),n("breadcrumb",{staticClass:"breadcrumb-container"}),n("div",{staticClass:"right-menu"},[n("el-dropdown",{staticClass:"avatar-container",attrs:{trigger:"click"}},[n("div",{staticClass:"avatar-wrapper"},[n("img",{staticClass:"user-avatar",attrs:{src:e.avatar+"?imageView2/1/w/80/h/80"}}),n("i",{staticClass:"el-icon-caret-bottom"})]),n("el-dropdown-menu",{staticClass:"user-dropdown",attrs:{slot:"dropdown"},slot:"dropdown"},[n("router-link",{attrs:{to:"/"}},[n("el-dropdown-item",[e._v(" Home ")])],1),n("a",{attrs:{target:"_blank",href:"https://gitee.com/mengtree/workflow-engine/tree/sample/"}},[n("el-dropdown-item",[e._v("Github")])],1),n("a",{attrs:{target:"_blank",href:"https://gitee.com/mengtree/workflow-engine/tree/sample/"}},[n("el-dropdown-item",[e._v("Docs")])],1),n("el-dropdown-item",{attrs:{divided:""},nativeOn:{click:function(t){return e.logout(t)}}},[n("span",{staticStyle:{display:"block"}},[e._v("Log Out")])])],1)],1)],1),n("div",{staticStyle:{float:"right","line-height":"50px","margin-right":"20px"}},[n("span",{staticStyle:{color:"#999999"}},[e._v("当前用户:")]),n("el-select",{attrs:{placeholder:"发起人",size:"mini",value:e.currentUserId},on:{change:e.currentUserChange}},e._l(e.allUsers,(function(e){return n("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1)],1)},q=[],J=n("1da1"),K=n("5530"),X=(n("4de4"),n("96cf"),function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("el-breadcrumb",{staticClass:"app-breadcrumb",attrs:{separator:"/"}},[n("transition-group",{attrs:{name:"breadcrumb"}},e._l(e.levelList,(function(t,a){return n("el-breadcrumb-item",{key:t.path},["noRedirect"===t.redirect||a==e.levelList.length-1?n("span",{staticClass:"no-redirect"},[e._v(e._s(t.meta.title))]):n("a",{on:{click:function(n){return n.preventDefault(),e.handleLink(t)}}},[e._v(e._s(t.meta.title))])])})),1)],1)}),Q=[],Y=(n("99af"),n("498a"),n("bd11")),Z=n.n(Y),ee={data:function(){return{levelList:null}},watch:{$route:function(){this.getBreadcrumb()}},created:function(){this.getBreadcrumb()},methods:{getBreadcrumb:function(){var e=this.$route.matched.filter((function(e){return e.meta&&e.meta.title})),t=e[0];this.isDashboard(t)||(e=[{path:"/dashboard",meta:{title:"Dashboard"}}].concat(e)),this.levelList=e.filter((function(e){return e.meta&&e.meta.title&&!1!==e.meta.breadcrumb}))},isDashboard:function(e){var t=e&&e.name;return!!t&&t.trim().toLocaleLowerCase()==="Dashboard".toLocaleLowerCase()},pathCompile:function(e){var t=this.$route.params,n=Z.a.compile(e);return n(t)},handleLink:function(e){var t=e.redirect,n=e.path;t?this.$router.push(t):this.$router.push(this.pathCompile(n))}}},te=ee,ne=(n("34c8"),Object(m["a"])(te,X,Q,!1,null,"62cc9144",null)),ae=ne.exports,re=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticStyle:{padding:"0 15px"},on:{click:e.toggleClick}},[n("svg",{staticClass:"hamburger",class:{"is-active":e.isActive},attrs:{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:"64",height:"64"}},[n("path",{attrs:{d:"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z"}})])])},oe=[],ie={name:"Hamburger",props:{isActive:{type:Boolean,default:!1}},methods:{toggleClick:function(){this.$emit("toggleClick")}}},se=ie,ce=(n("186a"),Object(m["a"])(se,re,oe,!1,null,"49e15297",null)),ue=ce.exports,le={components:{Breadcrumb:ae,Hamburger:ue},computed:Object(K["a"])(Object(K["a"])({},Object(p["b"])(["sidebar","avatar"])),{},{currentUserId:function(){return this.$store.state.user.user.id}}),data:function(){return{allUsers:[]}},mounted:function(){this.getAllUserForSimulation()},methods:{toggleSideBar:function(){this.$store.dispatch("app/toggleSideBar")},logout:function(){var e=this;return Object(J["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("user/logout");case 2:e.$router.push("/login?redirect=".concat(e.$route.fullPath));case 3:case"end":return t.stop()}}),t)})))()},getAllUserForSimulation:function(){var e=this;this.$store.dispatch("workflow/GetAllUserForSimulation").then((function(t){e.allUsers=t,e.currentUserId||e.currentUserChange(t[0].id)}))},currentUserChange:function(e){var t=this.allUsers.filter((function(t){return t.id==e}))[0];this.$store.dispatch("user/setCurrentUser",t)}}},de=le,me=(n("0af1"),Object(m["a"])(de,N,q,!1,null,"f21e43ba",null)),fe=me.exports,he=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:{"has-logo":e.showLogo}},[e.showLogo?n("logo",{attrs:{collapse:e.isCollapse}}):e._e(),n("el-scrollbar",{attrs:{"wrap-class":"scrollbar-wrapper"}},[n("el-menu",{attrs:{"default-active":e.activeMenu,collapse:e.isCollapse,"background-color":e.variables.menuBg,"text-color":e.variables.menuText,"unique-opened":!1,"active-text-color":e.variables.menuActiveText,"collapse-transition":!1,mode:"vertical"}},e._l(e.routes,(function(e){return n("sidebar-item",{key:e.path,attrs:{item:e,"base-path":e.path}})})),1)],1)],1)},pe=[],ve=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"sidebar-logo-container",class:{collapse:e.collapse}},[n("transition",{attrs:{name:"sidebarLogoFade"}},[e.collapse?n("router-link",{key:"collapse",staticClass:"sidebar-logo-link",attrs:{to:"/"}},[e.logo?n("img",{staticClass:"sidebar-logo",attrs:{src:e.logo}}):n("h1",{staticClass:"sidebar-title"},[e._v(e._s(e.title)+" ")])]):n("router-link",{key:"expand",staticClass:"sidebar-logo-link",attrs:{to:"/"}},[e.logo?n("img",{staticClass:"sidebar-logo",attrs:{src:e.logo}}):e._e(),n("h1",{staticClass:"sidebar-title"},[e._v(e._s(e.title)+" ")])])],1)],1)},be=[],ge={name:"SidebarLogo",props:{collapse:{type:Boolean,required:!0}},data:function(){return{title:"Vue Admin Template",logo:"https://wpimg.wallstcn.com/69a1c46c-eb1c-4b46-8bd4-e9e686ef5251.png"}}},we=ge,ke=(n("6b31"),Object(m["a"])(we,ve,be,!1,null,"5bb1c0e2",null)),xe=ke.exports,ye=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.item.hidden?e._e():n("div",[!e.hasOneShowingChild(e.item.children,e.item)||e.onlyOneChild.children&&!e.onlyOneChild.noShowingChildren||e.item.alwaysShow?n("el-submenu",{ref:"subMenu",attrs:{index:e.resolvePath(e.item.path),"popper-append-to-body":""}},[n("template",{slot:"title"},[e.item.meta?n("item",{attrs:{icon:e.item.meta&&e.item.meta.icon,title:e.item.meta.title}}):e._e()],1),e._l(e.item.children,(function(t){return n("sidebar-item",{key:t.path,staticClass:"nest-menu",attrs:{"is-nest":!0,item:t,"base-path":e.resolvePath(t.path)}})}))],2):[e.onlyOneChild.meta?n("app-link",{attrs:{to:e.resolvePath(e.onlyOneChild.path)}},[n("el-menu-item",{class:{"submenu-title-noDropdown":!e.isNest},attrs:{index:e.resolvePath(e.onlyOneChild.path)}},[n("item",{attrs:{icon:e.onlyOneChild.meta.icon||e.item.meta&&e.item.meta.icon,title:e.onlyOneChild.meta.title}})],1)],1):e._e()]],2)},Se=[],Ce=n("df7c"),_e=n.n(Ce),Te=n("61f7"),Oe=(n("caad"),n("2532"),{name:"MenuItem",functional:!0,props:{icon:{type:String,default:""},title:{type:String,default:""}},render:function(e,t){var n=t.props,a=n.icon,r=n.title,o=[];return a&&(a.includes("el-icon")?o.push(e("i",{class:[a,"sub-el-icon"]})):o.push(e("svg-icon",{attrs:{"icon-class":a}}))),r&&o.push(e("span",{slot:"title"},[r])),o}}),Ae=Oe,We=(n("bf4f"),Object(m["a"])(Ae,P,G,!1,null,"18eeea00",null)),Ee=We.exports,He=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(e.type,e._b({tag:"component"},"component",e.linkProps(e.to),!1),[e._t("default")],2)},ze=[],Me={props:{to:{type:String,required:!0}},computed:{isExternal:function(){return Object(Te["a"])(this.to)},type:function(){return this.isExternal?"a":"router-link"}},methods:{linkProps:function(e){return this.isExternal?{href:e,target:"_blank",rel:"noopener"}:{to:e}}}},Be=Me,Ue=Object(m["a"])(Be,He,ze,!1,null,null,null),$e=Ue.exports,Ve={computed:{device:function(){return this.$store.state.app.device}},mounted:function(){this.fixBugIniOS()},methods:{fixBugIniOS:function(){var e=this,t=this.$refs.subMenu;if(t){var n=t.handleMouseleave;t.handleMouseleave=function(t){"mobile"!==e.device&&n(t)}}}}},Le={name:"SidebarItem",components:{Item:Ee,AppLink:$e},mixins:[Ve],props:{item:{type:Object,required:!0},isNest:{type:Boolean,default:!1},basePath:{type:String,default:""}},data:function(){return this.onlyOneChild=null,{}},methods:{hasOneShowingChild:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1?arguments[1]:void 0,a=t.filter((function(t){return!t.hidden&&(e.onlyOneChild=t,!0)}));return 1===a.length||0===a.length&&(this.onlyOneChild=Object(K["a"])(Object(K["a"])({},n),{},{path:"",noShowingChildren:!0}),!0)},resolvePath:function(e){return Object(Te["a"])(e)?e:Object(Te["a"])(this.basePath)?this.basePath:_e.a.resolve(this.basePath,e)}}},je=Le,Fe=Object(m["a"])(je,ye,Se,!1,null,null,null),Pe=Fe.exports,Ge=n("cf1e"),Ie=n.n(Ge),Re={components:{SidebarItem:Pe,Logo:xe},computed:Object(K["a"])(Object(K["a"])({},Object(p["b"])(["sidebar"])),{},{routes:function(){return this.$router.options.routes},activeMenu:function(){var e=this.$route,t=e.meta,n=e.path;return t.activeMenu?t.activeMenu:n},showLogo:function(){return this.$store.state.settings.sidebarLogo},variables:function(){return Ie.a},isCollapse:function(){return!this.sidebar.opened}})},De=Re,Ne=Object(m["a"])(De,he,pe,!1,null,null,null),qe=Ne.exports,Je=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",{staticClass:"app-main"},[n("transition",{attrs:{name:"fade-transform",mode:"out-in"}},[n("router-view",{key:e.key})],1)],1)},Ke=[],Xe={name:"AppMain",computed:{key:function(){return this.$route.path}}},Qe=Xe,Ye=(n("e4de"),n("028b"),Object(m["a"])(Qe,Je,Ke,!1,null,"64cf4d83",null)),Ze=Ye.exports,et=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",{staticClass:"app-main"},[n("transition",{attrs:{name:"fade-transform",mode:"out-in"}},[n("router-view",{key:e.key})],1)],1)},tt=[],nt={name:"MyAppMain",computed:{key:function(){return this.$route.path}}},at=nt,rt=(n("4a3d"),n("d7c6"),Object(m["a"])(at,et,tt,!1,null,"852605b0",null)),ot=rt.exports,it=document,st=it.body,ct=992,ut={watch:{$route:function(e){"mobile"===this.device&&this.sidebar.opened&&Pt.dispatch("app/closeSideBar",{withoutAnimation:!1})}},beforeMount:function(){window.addEventListener("resize",this.$_resizeHandler)},beforeDestroy:function(){window.removeEventListener("resize",this.$_resizeHandler)},mounted:function(){var e=this.$_isMobile();e&&(Pt.dispatch("app/toggleDevice","mobile"),Pt.dispatch("app/closeSideBar",{withoutAnimation:!0}))},methods:{$_isMobile:function(){var e=st.getBoundingClientRect();return e.width-10&&(Ot.baseURL=globalconfig_baseURL);var At=Tt.a.create(Ot);At.interceptors.request.use((function(e){return $()&&(e.headers["X-Token"]=$(),e.headers["user-info"]=encodeURI(JSON.stringify(F()||{}))),e}),(function(e){return console.log(e),Promise.reject(e)})),At.interceptors.response.use((function(e){var t=e.data;return"error"==t.code?Promise.reject(new Error(t.msg||"Error")):t&&"success"==t.code?t.data:(Object(r["Message"])({message:t.msg,type:"error",duration:5e3}),Promise.reject(new Error(t.msg||"Error")))}),(function(e){return console.log("err"+e),Object(r["Message"])({message:e.message,type:"error",duration:5e3}),Promise.reject(e)}));var Wt=At,Et=function(){return{}},Ht=Et(),zt={},Mt={health:function(e,t){e.commit,e.state;return Wt({url:"/api/Health",method:"get",params:t})},getAllconditions:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/GetAllconditions",method:"get",params:t})},getAllUserSelectors:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/GetAllUserSelectors",method:"get",params:t})},getUserSelectionsOfUserSelector:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/GetUserSelectionsOfUserSelector",method:"get",params:t})},createWorkFlow:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/CreateWorkFlow",method:"post",data:t})},getAllWorkflows:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/GetAllWorkflows",method:"get",params:t})},getAllWorkflowVersions:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/GetAllWorkflowVersions",method:"get",params:t})},getWorkflowVersion:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/GetWorkflowVersion",method:"get",params:t})},delete:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/delete",method:"get",params:t})},updateWorkflowActiveVersion:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/UpdateWorkflowActiveVersion",method:"put",data:t})},updateWorkflow:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/UpdateWorkFlow",method:"put",data:t})},createWorkTask:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/CreateWorkTask",method:"post",data:t})},createSimulationWorkTask:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/CreateSimulationWorkTask",method:"post",data:t})},getWorkTask:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/GetWorkTask",method:"get",params:t})},startWorkTask:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/StartWorkTask",method:"post",data:t})},passProve:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/PassProve",method:"post",data:t})},rejectProve:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/RejectProve",method:"post",data:t})},withdrawProve:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/WithdrawProve",method:"post",data:t})},forwardProve:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/ForwardProve",method:"post",data:t})},getAllTaskStepsOfWorkTask:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/GetAllTaskStepsOfWorkTask",method:"get",params:t})},clearSimulationRecord:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/ClearSimulationRecord",method:"post",data:t})},getUnHandledWorkTasksOfUser:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/GetUnHandledWorkTasksOfUser",method:"get",params:t})},getHandledWorkTasksOfUser:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/GetHandledWorkTasksOfUser",method:"get",params:t})},getUnHandledWorkStepsOfUser:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/GetUnHandlerWorkStepsOfUser",method:"get",params:t})},createAndStartWorkTask:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/createAndStartWorkTask",method:"post",data:t})},getAllWorkflowsWithVersion:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/GetAllWorkflowsWithVersion",method:"get",params:t})},getAllTaskStepsOfWorkTaskByEntityInfo:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/GetAllTaskStepsOfWorkTaskByEntityInfo",method:"get",params:t})},getWorkTasksOfCreator:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/GetWorkTasksOfCreator",method:"get",params:t})},getAllWorkTasks:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/GetAllWorkTasks",method:"get",params:t})},deleteWorkTasks:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/deleteWorkTasks",method:"delete",data:t})},GetAllUserForSimulation:function(e,t){e.commit,e.state;return Wt({url:"/api/WorkFlow/GetAllUserForSimulation",method:"get",params:t})}},Bt={namespaced:!0,state:Ht,mutations:zt,actions:Mt},Ut=(n("25f0"),function(){return{token:$(),name:"",avatar:"",user:F()||{}}}),$t=Ut(),Vt={RESET_STATE:function(e){Object.assign(e,Ut())},SET_TOKEN:function(e,t){e.token=t},SET_NAME:function(e,t){e.name=t},SET_AVATAR:function(e,t){e.avatar=t},SET_CURRENTUSER:function(e,t){e.user=t}},Lt={login:function(e,t){e.commit,t.username,t.password;return new Promise((function(e,t){V((new Date).getTime()),e()}))},getInfo:function(e){var t=e.commit;e.state;return new Promise((function(e,n){t("SET_NAME","admin"),t("SET_AVATAR","https://himg.bdimg.com/sys/portraitn/item/942f5139303436cd06"),e({})}))},logout:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){var t=e.commit,n=e.state;return new Promise((function(e,a){logout(n.token).then((function(){L(),St(),t("RESET_STATE"),e()})).catch((function(e){a(e)}))}))})),resetToken:function(e){var t=e.commit;return new Promise((function(e){L(),t("RESET_STATE"),e()}))},setCurrentUser:function(e,t){e.commit;var n=e.state;n.user=t,j(t)},getCurrentUser:function(e,t){e.commit,e.state;return F()},getAllList:function(e,t){var n=e.commit;e.state;return Wt({url:"/organisation/api/User/GetAllList",method:"get",params:t}).then((function(e){return!F()&&e&&(n("SET_CURRENTUSER",e[0]),j(e[0])),e}))}},jt={namespaced:!0,state:$t,mutations:Vt,actions:Lt};a["default"].use(p["a"]);var Ft=new p["a"].Store({modules:{app:C,settings:M,workflow:Bt,user:jt},getters:b}),Pt=Ft,Gt=(n("d81d"),function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.isExternal?n("div",e._g({staticClass:"svg-external-icon svg-icon",style:e.styleExternalIcon},e.$listeners)):n("svg",e._g({class:e.svgClass,attrs:{"aria-hidden":"true"}},e.$listeners),[n("use",{attrs:{"xlink:href":e.iconName}})])}),It=[],Rt={name:"SvgIcon",props:{iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExternal:function(){return Object(Te["a"])(this.iconClass)},iconName:function(){return"#icon-".concat(this.iconClass)},svgClass:function(){return this.className?"svg-icon "+this.className:"svg-icon"},styleExternalIcon:function(){return{mask:"url(".concat(this.iconClass,") no-repeat 50% 50%"),"-webkit-mask":"url(".concat(this.iconClass,") no-repeat 50% 50%")}}}},Dt=Rt,Nt=(n("68fa"),Object(m["a"])(Dt,Gt,It,!1,null,"f9f7fefc",null)),qt=Nt.exports;a["default"].component("svg-icon",qt);var Jt=n("51ff"),Kt=function(e){return e.keys().map(e)};Kt(Jt);var Xt=n("323e"),Qt=n.n(Xt),Yt=(n("a5d8"),T.a.title||"Vue Admin Template");function Zt(e){return e?"".concat(e," - ").concat(Yt):"".concat(Yt)}Qt.a.configure({showSpinner:!1});var en=["/login"];Ct.beforeEach(function(){var e=Object(J["a"])(regeneratorRuntime.mark((function e(t,n,a){var o,i;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(Qt.a.start(),document.title=Zt(t.meta.title),o=$(),!o){e.next=29;break}if("/login"!==t.path){e.next=9;break}a({path:"/"}),Qt.a.done(),e.next=27;break;case 9:if(i=Pt.getters.name,!i){e.next=14;break}a(),e.next=27;break;case 14:return e.prev=14,e.next=17,Pt.dispatch("user/getInfo");case 17:a(),e.next=27;break;case 20:return e.prev=20,e.t0=e["catch"](14),e.next=24,Pt.dispatch("user/resetToken");case 24:r["Message"].error(e.t0||"Has Error"),a("/login?redirect=".concat(t.path)),Qt.a.done();case 27:e.next=30;break;case 29:-1!==en.indexOf(t.path)?a():(a("/login?redirect=".concat(t.path)),Qt.a.done());case 30:case"end":return e.stop()}}),e,null,[[14,20]])})));return function(t,n,a){return e.apply(this,arguments)}}()),Ct.afterEach((function(){Qt.a.done()}));var tn=n("fb19"),nn=n.n(tn);n("278f");a["default"].component("vue-draggable-resizable",nn.a),a["default"].use(o.a,{locale:s.a}),a["default"].config.productionTip=!1,new a["default"]({el:"#app",router:Ct,store:Pt,render:function(e){return e(h)}})},"61f7":function(e,t,n){"use strict";n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return r}));n("ac1f"),n("00b4"),n("498a");function a(e){return/^(https?:|mailto:|tel:)/.test(e)}function r(e){var t=["admin","editor"];return t.indexOf(e.trim())>=0}},"68fa":function(e,t,n){"use strict";n("eae4")},"6b31":function(e,t,n){"use strict";n("d346")},"709d":function(e,t,n){},"83d6":function(e,t){e.exports={title:"Vue Admin Template",fixedHeader:!0,sidebarLogo:!1}},"8ce0":function(e,t,n){},"93cd":function(e,t,n){"use strict";n.r(t);var a=n("e017"),r=n.n(a),o=n("21a1"),i=n.n(o),s=new r.a({id:"icon-tree",use:"icon-tree-usage",viewBox:"0 0 128 128",content:''});i.a.add(s);t["default"]=s},9874:function(e,t,n){},"9df4":function(e,t,n){},"9f2b":function(e,t,n){"use strict";n("709d")},b20f:function(e,t,n){e.exports={menuText:"#bfcbd9",menuActiveText:"#409eff",subMenuActiveText:"#f4f4f5",menuBg:"#304156",menuHover:"#263445",subMenuBg:"#1f2d3d",subMenuHover:"#001528",sideBarWidth:"210px"}},b3b5:function(e,t,n){"use strict";n.r(t);var a=n("e017"),r=n.n(a),o=n("21a1"),i=n.n(o),s=new r.a({id:"icon-user",use:"icon-user-usage",viewBox:"0 0 130 130",content:''});i.a.add(s);t["default"]=s},bf4f:function(e,t,n){"use strict";n("9874")},c763:function(e,t,n){},cf1e:function(e,t,n){e.exports={menuText:"#bfcbd9",menuActiveText:"#409eff",subMenuActiveText:"#f4f4f5",menuBg:"#304156",menuHover:"#263445",subMenuBg:"#1f2d3d",subMenuHover:"#001528",sideBarWidth:"210px"}},d346:function(e,t,n){},d7c6:function(e,t,n){"use strict";n("0a9d")},d7ec:function(e,t,n){"use strict";n.r(t);var a=n("e017"),r=n.n(a),o=n("21a1"),i=n.n(o),s=new r.a({id:"icon-eye-open",use:"icon-eye-open-usage",viewBox:"0 0 1024 1024",content:''});i.a.add(s);t["default"]=s},dcf8:function(e,t,n){"use strict";n.r(t);var a=n("e017"),r=n.n(a),o=n("21a1"),i=n.n(o),s=new r.a({id:"icon-nested",use:"icon-nested-usage",viewBox:"0 0 128 128",content:''});i.a.add(s);t["default"]=s},e030:function(e,t,n){},e142:function(e,t,n){},e4de:function(e,t,n){"use strict";n("c763")},eae4:function(e,t,n){},eb1b:function(e,t,n){"use strict";n.r(t);var a=n("e017"),r=n.n(a),o=n("21a1"),i=n.n(o),s=new r.a({id:"icon-form",use:"icon-form-usage",viewBox:"0 0 128 128",content:''});i.a.add(s);t["default"]=s},f30b:function(e,t,n){},f782:function(e,t,n){"use strict";n.r(t);var a=n("e017"),r=n.n(a),o=n("21a1"),i=n.n(o),s=new r.a({id:"icon-dashboard",use:"icon-dashboard-usage",viewBox:"0 0 128 100",content:''});i.a.add(s);t["default"]=s}},[[0,"runtime","chunk-elementUI","chunk-libs"]]]); \ No newline at end of file +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["app"],{0:function(e,t,n){e.exports=n("56d7")},"028b":function(e,t,n){"use strict";n("3f4d")},"0a9d":function(e,t,n){},"0af1":function(e,t,n){"use strict";n("e030")},"186a":function(e,t,n){"use strict";n("9df4")},"18f0":function(e,t,n){"use strict";n.r(t);var a=n("e017"),o=n.n(a),r=n("21a1"),i=n.n(r),s=new o.a({id:"icon-link",use:"icon-link-usage",viewBox:"0 0 128 128",content:''});i.a.add(s);t["default"]=s},2927:function(e,t,n){"use strict";n("e142")},"2a3d":function(e,t,n){"use strict";n.r(t);var a=n("e017"),o=n.n(a),r=n("21a1"),i=n.n(r),s=new o.a({id:"icon-password",use:"icon-password-usage",viewBox:"0 0 128 128",content:''});i.a.add(s);t["default"]=s},"30c3":function(e,t,n){"use strict";n.r(t);var a=n("e017"),o=n.n(a),r=n("21a1"),i=n.n(r),s=new o.a({id:"icon-example",use:"icon-example-usage",viewBox:"0 0 128 128",content:''});i.a.add(s);t["default"]=s},"34c8":function(e,t,n){"use strict";n("f30b")},"39a5":function(e,t,n){},"3f4d":function(e,t,n){},"47f1":function(e,t,n){"use strict";n.r(t);var a=n("e017"),o=n.n(a),r=n("21a1"),i=n.n(r),s=new o.a({id:"icon-table",use:"icon-table-usage",viewBox:"0 0 128 128",content:''});i.a.add(s);t["default"]=s},"4a3d":function(e,t,n){"use strict";n("39a5")},"4df5":function(e,t,n){"use strict";n.r(t);var a=n("e017"),o=n.n(a),r=n("21a1"),i=n.n(r),s=new o.a({id:"icon-eye",use:"icon-eye-usage",viewBox:"0 0 128 64",content:''});i.a.add(s);t["default"]=s},"51ff":function(e,t,n){var a={"./dashboard.svg":"f782","./example.svg":"30c3","./eye-open.svg":"d7ec","./eye.svg":"4df5","./form.svg":"eb1b","./link.svg":"18f0","./nested.svg":"dcf8","./password.svg":"2a3d","./table.svg":"47f1","./tree.svg":"93cd","./user.svg":"b3b5"};function o(e){var t=r(e);return n(t)}function r(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}o.keys=function(){return Object.keys(a)},o.resolve=r,e.exports=o,o.id="51ff"},"56d7":function(e,t,n){"use strict";n.r(t);n("e260"),n("e6cf"),n("cca6"),n("a79d");var a=n("2b0e"),o=(n("f5df1"),n("5c96")),r=n.n(o),i=(n("0fae"),n("b2d6")),s=n.n(i),c=(n("b20f"),n("8ce0"),function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"app"}},[n("router-view")],1)}),u=[],l={name:"App"},d=l,m=n("2877"),h=Object(m["a"])(d,c,u,!1,null,null,null),f=h.exports,p=n("2f62"),g=(n("b0c0"),{sidebar:function(e){return e.app.sidebar},device:function(e){return e.app.device},token:function(e){return e.user.token},avatar:function(e){return e.user.avatar},name:function(e){return e.user.name}}),b=g,v=n("a78e"),w=n.n(v),k={sidebar:{opened:!w.a.get("sidebarStatus")||!!+w.a.get("sidebarStatus"),withoutAnimation:!1},device:"desktop"},x={TOGGLE_SIDEBAR:function(e){e.sidebar.opened=!e.sidebar.opened,e.sidebar.withoutAnimation=!1,e.sidebar.opened?w.a.set("sidebarStatus",1):w.a.set("sidebarStatus",0)},CLOSE_SIDEBAR:function(e,t){w.a.set("sidebarStatus",0),e.sidebar.opened=!1,e.sidebar.withoutAnimation=t},TOGGLE_DEVICE:function(e,t){e.device=t}},y={toggleSideBar:function(e){var t=e.commit;t("TOGGLE_SIDEBAR")},closeSideBar:function(e,t){var n=e.commit,a=t.withoutAnimation;n("CLOSE_SIDEBAR",a)},toggleDevice:function(e,t){var n=e.commit;n("TOGGLE_DEVICE",t)}},S={resourceUploadUrl:function(e){return"/resource/upload"}},C={namespaced:!0,state:k,mutations:x,actions:y,getters:S},T=n("83d6"),_=n.n(T),O=_.a.showSettings,W=_.a.fixedHeader,A=_.a.sidebarLogo,E={showSettings:O,fixedHeader:W,sidebarLogo:A},H={CHANGE_SETTING:function(e,t){var n=t.key,a=t.value;e.hasOwnProperty(n)&&(e[n]=a)}},z={changeSetting:function(e,t){var n=e.commit;n("CHANGE_SETTING",t)}},F={namespaced:!0,state:E,mutations:H,actions:z},M=(n("e9c4"),"vue_admin_template_token"),B="vue_admin_template_user";function V(){return w.a.get(M)}function U(e){return w.a.set(M,e)}function L(){return w.a.remove(M)}function $(e){return localStorage.setItem(B,JSON.stringify(e))}function j(){try{return JSON.parse(localStorage.getItem(B))}catch(e){return null}}n("d3b7"),n("3ca3"),n("ddb0");var D,P,G=n("8c4f"),I=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-wrapper",class:e.classObj},["mobile"===e.device&&e.sidebar.opened?n("div",{staticClass:"drawer-bg",on:{click:e.handleClickOutside}}):e._e(),n("sidebar",{staticClass:"sidebar-container"}),n("div",{staticClass:"main-container"},[n("div",{class:{"fixed-header":e.fixedHeader}},[n("navbar")],1),n("app-main")],1)],1)},R=[],N=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"navbar"},[n("hamburger",{staticClass:"hamburger-container",attrs:{"is-active":e.sidebar.opened},on:{toggleClick:e.toggleSideBar}}),n("breadcrumb",{staticClass:"breadcrumb-container"}),n("div",{staticClass:"right-menu"},[n("el-dropdown",{staticClass:"avatar-container",attrs:{trigger:"click"}},[n("div",{staticClass:"avatar-wrapper"},[n("img",{staticClass:"user-avatar",attrs:{src:e.avatar+"?imageView2/1/w/80/h/80"}}),n("i",{staticClass:"el-icon-caret-bottom"})]),n("el-dropdown-menu",{staticClass:"user-dropdown",attrs:{slot:"dropdown"},slot:"dropdown"},[n("router-link",{attrs:{to:"/"}},[n("el-dropdown-item",[e._v(" Home ")])],1),n("a",{attrs:{target:"_blank",href:"https://gitee.com/mengtree/workflow-engine/tree/sample/"}},[n("el-dropdown-item",[e._v("Github")])],1),n("a",{attrs:{target:"_blank",href:"https://gitee.com/mengtree/workflow-engine/tree/sample/"}},[n("el-dropdown-item",[e._v("Docs")])],1),n("el-dropdown-item",{attrs:{divided:""},nativeOn:{click:function(t){return e.logout(t)}}},[n("span",{staticStyle:{display:"block"}},[e._v("Log Out")])])],1)],1)],1),n("div",{staticStyle:{float:"right","line-height":"50px","margin-right":"20px"}},[n("span",{staticStyle:{color:"#999999"}},[e._v("当前用户:")]),n("el-select",{attrs:{placeholder:"发起人",size:"mini",value:e.currentUserId},on:{change:e.currentUserChange}},e._l(e.allUsers,(function(e){return n("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1)],1)},q=[],J=n("1da1"),K=n("5530"),X=(n("4de4"),n("96cf"),function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("el-breadcrumb",{staticClass:"app-breadcrumb",attrs:{separator:"/"}},[n("transition-group",{attrs:{name:"breadcrumb"}},e._l(e.levelList,(function(t,a){return n("el-breadcrumb-item",{key:t.path},["noRedirect"===t.redirect||a==e.levelList.length-1?n("span",{staticClass:"no-redirect"},[e._v(e._s(t.meta.title))]):n("a",{on:{click:function(n){return n.preventDefault(),e.handleLink(t)}}},[e._v(e._s(t.meta.title))])])})),1)],1)}),Q=[],Y=(n("99af"),n("498a"),n("bd11")),Z=n.n(Y),ee={data:function(){return{levelList:null}},watch:{$route:function(){this.getBreadcrumb()}},created:function(){this.getBreadcrumb()},methods:{getBreadcrumb:function(){var e=this.$route.matched.filter((function(e){return e.meta&&e.meta.title})),t=e[0];this.isDashboard(t)||(e=[{path:"/dashboard",meta:{title:"Dashboard"}}].concat(e)),this.levelList=e.filter((function(e){return e.meta&&e.meta.title&&!1!==e.meta.breadcrumb}))},isDashboard:function(e){var t=e&&e.name;return!!t&&t.trim().toLocaleLowerCase()==="Dashboard".toLocaleLowerCase()},pathCompile:function(e){var t=this.$route.params,n=Z.a.compile(e);return n(t)},handleLink:function(e){var t=e.redirect,n=e.path;t?this.$router.push(t):this.$router.push(this.pathCompile(n))}}},te=ee,ne=(n("34c8"),Object(m["a"])(te,X,Q,!1,null,"62cc9144",null)),ae=ne.exports,oe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticStyle:{padding:"0 15px"},on:{click:e.toggleClick}},[n("svg",{staticClass:"hamburger",class:{"is-active":e.isActive},attrs:{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:"64",height:"64"}},[n("path",{attrs:{d:"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z"}})])])},re=[],ie={name:"Hamburger",props:{isActive:{type:Boolean,default:!1}},methods:{toggleClick:function(){this.$emit("toggleClick")}}},se=ie,ce=(n("186a"),Object(m["a"])(se,oe,re,!1,null,"49e15297",null)),ue=ce.exports,le={components:{Breadcrumb:ae,Hamburger:ue},computed:Object(K["a"])(Object(K["a"])({},Object(p["b"])(["sidebar","avatar"])),{},{currentUserId:function(){return this.$store.state.user.user.id}}),data:function(){return{allUsers:[]}},mounted:function(){this.getAllUserForSimulation()},methods:{toggleSideBar:function(){this.$store.dispatch("app/toggleSideBar")},logout:function(){var e=this;return Object(J["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("user/logout");case 2:e.$router.push("/login?redirect=".concat(e.$route.fullPath));case 3:case"end":return t.stop()}}),t)})))()},getAllUserForSimulation:function(){var e=this;this.$store.dispatch("workflow/GetAllUserForSimulation").then((function(t){e.allUsers=t,e.currentUserId||e.currentUserChange(t[0].id)}))},currentUserChange:function(e){var t=this.allUsers.filter((function(t){return t.id==e}))[0];this.$store.dispatch("user/setCurrentUser",t)}}},de=le,me=(n("0af1"),Object(m["a"])(de,N,q,!1,null,"f21e43ba",null)),he=me.exports,fe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:{"has-logo":e.showLogo}},[e.showLogo?n("logo",{attrs:{collapse:e.isCollapse}}):e._e(),n("el-scrollbar",{attrs:{"wrap-class":"scrollbar-wrapper"}},[n("el-menu",{attrs:{"default-active":e.activeMenu,collapse:e.isCollapse,"background-color":e.variables.menuBg,"text-color":e.variables.menuText,"unique-opened":!1,"active-text-color":e.variables.menuActiveText,"collapse-transition":!1,mode:"vertical"}},e._l(e.routes,(function(e){return n("sidebar-item",{key:e.path,attrs:{item:e,"base-path":e.path}})})),1)],1)],1)},pe=[],ge=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"sidebar-logo-container",class:{collapse:e.collapse}},[n("transition",{attrs:{name:"sidebarLogoFade"}},[e.collapse?n("router-link",{key:"collapse",staticClass:"sidebar-logo-link",attrs:{to:"/"}},[e.logo?n("img",{staticClass:"sidebar-logo",attrs:{src:e.logo}}):n("h1",{staticClass:"sidebar-title"},[e._v(e._s(e.title)+" ")])]):n("router-link",{key:"expand",staticClass:"sidebar-logo-link",attrs:{to:"/"}},[e.logo?n("img",{staticClass:"sidebar-logo",attrs:{src:e.logo}}):e._e(),n("h1",{staticClass:"sidebar-title"},[e._v(e._s(e.title)+" ")])])],1)],1)},be=[],ve={name:"SidebarLogo",props:{collapse:{type:Boolean,required:!0}},data:function(){return{title:"Vue Admin Template",logo:"https://wpimg.wallstcn.com/69a1c46c-eb1c-4b46-8bd4-e9e686ef5251.png"}}},we=ve,ke=(n("6b31"),Object(m["a"])(we,ge,be,!1,null,"5bb1c0e2",null)),xe=ke.exports,ye=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.item.hidden?e._e():n("div",[!e.hasOneShowingChild(e.item.children,e.item)||e.onlyOneChild.children&&!e.onlyOneChild.noShowingChildren||e.item.alwaysShow?n("el-submenu",{ref:"subMenu",attrs:{index:e.resolvePath(e.item.path),"popper-append-to-body":""}},[n("template",{slot:"title"},[e.item.meta?n("item",{attrs:{icon:e.item.meta&&e.item.meta.icon,title:e.item.meta.title}}):e._e()],1),e._l(e.item.children,(function(t){return n("sidebar-item",{key:t.path,staticClass:"nest-menu",attrs:{"is-nest":!0,item:t,"base-path":e.resolvePath(t.path)}})}))],2):[e.onlyOneChild.meta?n("app-link",{attrs:{to:e.resolvePath(e.onlyOneChild.path)}},[n("el-menu-item",{class:{"submenu-title-noDropdown":!e.isNest},attrs:{index:e.resolvePath(e.onlyOneChild.path)}},[n("item",{attrs:{icon:e.onlyOneChild.meta.icon||e.item.meta&&e.item.meta.icon,title:e.onlyOneChild.meta.title}})],1)],1):e._e()]],2)},Se=[],Ce=n("df7c"),Te=n.n(Ce),_e=n("61f7"),Oe=(n("caad"),n("2532"),{name:"MenuItem",functional:!0,props:{icon:{type:String,default:""},title:{type:String,default:""}},render:function(e,t){var n=t.props,a=n.icon,o=n.title,r=[];return a&&(a.includes("el-icon")?r.push(e("i",{class:[a,"sub-el-icon"]})):r.push(e("svg-icon",{attrs:{"icon-class":a}}))),o&&r.push(e("span",{slot:"title"},[o])),r}}),We=Oe,Ae=(n("bf4f"),Object(m["a"])(We,D,P,!1,null,"18eeea00",null)),Ee=Ae.exports,He=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(e.type,e._b({tag:"component"},"component",e.linkProps(e.to),!1),[e._t("default")],2)},ze=[],Fe={props:{to:{type:String,required:!0}},computed:{isExternal:function(){return Object(_e["a"])(this.to)},type:function(){return this.isExternal?"a":"router-link"}},methods:{linkProps:function(e){return this.isExternal?{href:e,target:"_blank",rel:"noopener"}:{to:e}}}},Me=Fe,Be=Object(m["a"])(Me,He,ze,!1,null,null,null),Ve=Be.exports,Ue={computed:{device:function(){return this.$store.state.app.device}},mounted:function(){this.fixBugIniOS()},methods:{fixBugIniOS:function(){var e=this,t=this.$refs.subMenu;if(t){var n=t.handleMouseleave;t.handleMouseleave=function(t){"mobile"!==e.device&&n(t)}}}}},Le={name:"SidebarItem",components:{Item:Ee,AppLink:Ve},mixins:[Ue],props:{item:{type:Object,required:!0},isNest:{type:Boolean,default:!1},basePath:{type:String,default:""}},data:function(){return this.onlyOneChild=null,{}},methods:{hasOneShowingChild:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1?arguments[1]:void 0,a=t.filter((function(t){return!t.hidden&&(e.onlyOneChild=t,!0)}));return 1===a.length||0===a.length&&(this.onlyOneChild=Object(K["a"])(Object(K["a"])({},n),{},{path:"",noShowingChildren:!0}),!0)},resolvePath:function(e){return Object(_e["a"])(e)?e:Object(_e["a"])(this.basePath)?this.basePath:Te.a.resolve(this.basePath,e)}}},$e=Le,je=Object(m["a"])($e,ye,Se,!1,null,null,null),De=je.exports,Pe=n("cf1e"),Ge=n.n(Pe),Ie={components:{SidebarItem:De,Logo:xe},computed:Object(K["a"])(Object(K["a"])({},Object(p["b"])(["sidebar"])),{},{routes:function(){return this.$router.options.routes},activeMenu:function(){var e=this.$route,t=e.meta,n=e.path;return t.activeMenu?t.activeMenu:n},showLogo:function(){return this.$store.state.settings.sidebarLogo},variables:function(){return Ge.a},isCollapse:function(){return!this.sidebar.opened}})},Re=Ie,Ne=Object(m["a"])(Re,fe,pe,!1,null,null,null),qe=Ne.exports,Je=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",{staticClass:"app-main"},[n("transition",{attrs:{name:"fade-transform",mode:"out-in"}},[n("router-view",{key:e.key})],1)],1)},Ke=[],Xe={name:"AppMain",computed:{key:function(){return this.$route.path}}},Qe=Xe,Ye=(n("e4de"),n("028b"),Object(m["a"])(Qe,Je,Ke,!1,null,"64cf4d83",null)),Ze=Ye.exports,et=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",{staticClass:"app-main"},[n("transition",{attrs:{name:"fade-transform",mode:"out-in"}},[n("router-view",{key:e.key})],1)],1)},tt=[],nt={name:"MyAppMain",computed:{key:function(){return this.$route.path}}},at=nt,ot=(n("4a3d"),n("d7c6"),Object(m["a"])(at,et,tt,!1,null,"852605b0",null)),rt=ot.exports,it=document,st=it.body,ct=992,ut={watch:{$route:function(e){"mobile"===this.device&&this.sidebar.opened&&Nt.dispatch("app/closeSideBar",{withoutAnimation:!1})}},beforeMount:function(){window.addEventListener("resize",this.$_resizeHandler)},beforeDestroy:function(){window.removeEventListener("resize",this.$_resizeHandler)},mounted:function(){var e=this.$_isMobile();e&&(Nt.dispatch("app/toggleDevice","mobile"),Nt.dispatch("app/closeSideBar",{withoutAnimation:!0}))},methods:{$_isMobile:function(){var e=st.getBoundingClientRect();return e.width-10&&(Ot.baseURL=globalconfig_baseURL);var Wt=_t.a.create(Ot);Wt.interceptors.request.use((function(e){return V()&&(e.headers["X-Token"]=V(),e.headers["user-info"]=encodeURI(JSON.stringify(j()||{}))),e}),(function(e){return console.log(e),Promise.reject(e)})),Wt.interceptors.response.use((function(e){var t=e.data;return"error"==t.code?Promise.reject(new Error(t.msg||"Error")):t&&"success"==t.code?t.data:(Object(o["Message"])({message:t.msg,type:"error",duration:5e3}),Promise.reject(new Error(t.msg||"Error")))}),(function(e){return console.log("err"+e),Object(o["Message"])({message:e.message,type:"error",duration:5e3}),Promise.reject(e)}));var At=Wt,Et=function(){return{}},Ht=Et(),zt={},Ft={health:function(e,t){e.commit,e.state;return At({url:"/api/Health",method:"get",params:t})},getAllconditions:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetAllconditions",method:"get",params:t})},getAllUserSelectors:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetAllUserSelectors",method:"get",params:t})},getUserSelectionsOfUserSelector:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetUserSelectionsOfUserSelector",method:"get",params:t})},createWorkFlow:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/CreateWorkFlow",method:"post",data:t})},getAllWorkflows:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetAllWorkflows",method:"get",params:t})},getAllWorkflowVersions:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetAllWorkflowVersions",method:"get",params:t})},getWorkflowVersion:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetWorkflowVersion",method:"get",params:t})},delete:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/delete",method:"delete",params:t})},updateWorkflowActiveVersion:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/UpdateWorkflowActiveVersion",method:"put",data:t})},updateWorkflow:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/UpdateWorkFlow",method:"put",data:t})},createWorkTask:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/CreateWorkTask",method:"post",data:t})},createSimulationWorkTask:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/CreateSimulationWorkTask",method:"post",data:t})},getWorkTask:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetWorkTask",method:"get",params:t})},startWorkTask:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/StartWorkTask",method:"post",data:t})},passProve:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/PassProve",method:"post",data:t})},rejectProve:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/RejectProve",method:"post",data:t})},withdrawProve:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/WithdrawProve",method:"post",data:t})},forwardProve:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/ForwardProve",method:"post",data:t})},getAllTaskStepsOfWorkTask:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetAllTaskStepsOfWorkTask",method:"get",params:t})},clearSimulationRecord:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/ClearSimulationRecord",method:"post",data:t})},getUnHandledWorkTasksOfUser:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetUnHandledWorkTasksOfUser",method:"get",params:t})},getHandledWorkTasksOfUser:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetHandledWorkTasksOfUser",method:"get",params:t})},getUnHandledWorkStepsOfUser:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetUnHandlerWorkStepsOfUser",method:"get",params:t})},createAndStartWorkTask:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/createAndStartWorkTask",method:"post",data:t})},getAllWorkflowsWithVersion:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetAllWorkflowsWithVersion",method:"get",params:t})},getAllTaskStepsOfWorkTaskByEntityInfo:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetAllTaskStepsOfWorkTaskByEntityInfo",method:"get",params:t})},getWorkTasksOfCreator:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetWorkTasksOfCreator",method:"get",params:t})},getAllWorkTasks:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetAllWorkTasks",method:"get",params:t})},deleteWorkTasks:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/deleteWorkTasks",method:"delete",data:t})},GetAllUserForSimulation:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetAllUserForSimulation",method:"get",params:t})},GetRejectNodes:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetRejectNodes",method:"get",params:t})},deleteWorkTask:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/DeleteWorkTask",method:"delete",params:t})},updateWorkTaskFormData:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/UpdateWorkTaskFormData",method:"put",data:t})}},Mt={namespaced:!0,state:Ht,mutations:zt,actions:Ft},Bt=(n("25f0"),function(){return{token:V(),name:"",avatar:"",user:j()||{}}}),Vt=Bt(),Ut={RESET_STATE:function(e){Object.assign(e,Bt())},SET_TOKEN:function(e,t){e.token=t},SET_NAME:function(e,t){e.name=t},SET_AVATAR:function(e,t){e.avatar=t},SET_CURRENTUSER:function(e,t){e.user=t}},Lt={login:function(e,t){e.commit,t.username,t.password;return new Promise((function(e,t){U((new Date).getTime()),e()}))},getInfo:function(e){var t=e.commit;e.state;return new Promise((function(e,n){t("SET_NAME","admin"),t("SET_AVATAR","https://himg.bdimg.com/sys/portraitn/item/942f5139303436cd06"),e({})}))},logout:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){var t=e.commit,n=e.state;return new Promise((function(e,a){logout(n.token).then((function(){L(),St(),t("RESET_STATE"),e()})).catch((function(e){a(e)}))}))})),resetToken:function(e){var t=e.commit;return new Promise((function(e){L(),t("RESET_STATE"),e()}))},setCurrentUser:function(e,t){e.commit;var n=e.state;n.user=t,$(t)},getCurrentUser:function(e,t){e.commit,e.state;return j()},getAllList:function(e,t){var n=e.commit;e.state;return At({url:"/organisation/api/User/GetAllList",method:"get",params:t}).then((function(e){return!j()&&e&&(n("SET_CURRENTUSER",e[0]),$(e[0])),e}))}},$t={namespaced:!0,state:Vt,mutations:Ut,actions:Lt},jt=function(){return{}},Dt=jt(),Pt={},Gt={create:function(e,t){e.commit,e.state;return At({url:"/api/FormDesign/Create",method:"post",data:t})},update:function(e,t){e.commit,e.state;return At({url:"/api/FormDesign/Update",method:"put",data:t})},get:function(e,t){e.commit,e.state;return At({url:"/api/FormDesign/Get",method:"get",params:t})},getFormDesignVersion:function(e,t){e.commit,e.state;return At({url:"/api/FormDesign/GetFormDesignVersion",method:"get",params:t})},delete:function(e,t){e.commit,e.state;return At({url:"/api/FormDesign/Delete",method:"delete",params:t})},getAllFormDesignVersions:function(e,t){e.commit,e.state;return At({url:"/api/FormDesign/getAllFormDesignVersions",method:"get",params:t})},getAllList:function(e,t){e.commit,e.state;return At({url:"/api/FormDesign/getAllList",method:"get",params:t})},setActiveVersion:function(e,t){e.commit,e.state;return At({url:"/api/FormDesign/SetActiveVersion",method:"put",data:t,params:{id:t.id}})},getPageList:function(e,t){e.commit,e.state;return At({url:"/api/FormDesign/GetPageList",method:"get",params:t})},getFormDesignVersionByWorkflowId:function(e,t){e.commit,e.state;return At({url:"/api/FormDesign/GetFormDesignVersionByWorkflowId",method:"get",params:t})}},It={namespaced:!0,state:Dt,mutations:Pt,actions:Gt};a["default"].use(p["a"]);var Rt=new p["a"].Store({modules:{app:C,settings:F,workflow:Mt,user:$t,dynamicFormDesign:It},getters:b}),Nt=Rt,qt=(n("d81d"),function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.isExternal?n("div",e._g({staticClass:"svg-external-icon svg-icon",style:e.styleExternalIcon},e.$listeners)):n("svg",e._g({class:e.svgClass,attrs:{"aria-hidden":"true"}},e.$listeners),[n("use",{attrs:{"xlink:href":e.iconName}})])}),Jt=[],Kt={name:"SvgIcon",props:{iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExternal:function(){return Object(_e["a"])(this.iconClass)},iconName:function(){return"#icon-".concat(this.iconClass)},svgClass:function(){return this.className?"svg-icon "+this.className:"svg-icon"},styleExternalIcon:function(){return{mask:"url(".concat(this.iconClass,") no-repeat 50% 50%"),"-webkit-mask":"url(".concat(this.iconClass,") no-repeat 50% 50%")}}}},Xt=Kt,Qt=(n("68fa"),Object(m["a"])(Xt,qt,Jt,!1,null,"f9f7fefc",null)),Yt=Qt.exports;a["default"].component("svg-icon",Yt);var Zt=n("51ff"),en=function(e){return e.keys().map(e)};en(Zt);var tn=n("323e"),nn=n.n(tn),an=(n("a5d8"),_.a.title||"Vue Admin Template");function on(e){return e?"".concat(e," - ").concat(an):"".concat(an)}nn.a.configure({showSpinner:!1});var rn=["/login"];Ct.beforeEach(function(){var e=Object(J["a"])(regeneratorRuntime.mark((function e(t,n,a){var r,i;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(nn.a.start(),document.title=on(t.meta.title),r=V(),!r){e.next=29;break}if("/login"!==t.path){e.next=9;break}a({path:"/"}),nn.a.done(),e.next=27;break;case 9:if(i=Nt.getters.name,!i){e.next=14;break}a(),e.next=27;break;case 14:return e.prev=14,e.next=17,Nt.dispatch("user/getInfo");case 17:a(),e.next=27;break;case 20:return e.prev=20,e.t0=e["catch"](14),e.next=24,Nt.dispatch("user/resetToken");case 24:o["Message"].error(e.t0||"Has Error"),a("/login?redirect=".concat(t.path)),nn.a.done();case 27:e.next=30;break;case 29:-1!==rn.indexOf(t.path)?a():(a("/login?redirect=".concat(t.path)),nn.a.done());case 30:case"end":return e.stop()}}),e,null,[[14,20]])})));return function(t,n,a){return e.apply(this,arguments)}}()),Ct.afterEach((function(){nn.a.done()}));var sn=n("fb19"),cn=n.n(sn);n("278f");a["default"].component("vue-draggable-resizable",cn.a),a["default"].use(r.a,{locale:s.a}),a["default"].config.productionTip=!1,new a["default"]({el:"#app",router:Ct,store:Nt,render:function(e){return e(f)}})},"61f7":function(e,t,n){"use strict";n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return o}));n("ac1f"),n("00b4"),n("498a");function a(e){return/^(https?:|mailto:|tel:)/.test(e)}function o(e){var t=["admin","editor"];return t.indexOf(e.trim())>=0}},"68fa":function(e,t,n){"use strict";n("eae4")},"6b31":function(e,t,n){"use strict";n("d346")},"709d":function(e,t,n){},"83d6":function(e,t){e.exports={title:"Vue Admin Template",fixedHeader:!0,sidebarLogo:!1}},"8ce0":function(e,t,n){},"93cd":function(e,t,n){"use strict";n.r(t);var a=n("e017"),o=n.n(a),r=n("21a1"),i=n.n(r),s=new o.a({id:"icon-tree",use:"icon-tree-usage",viewBox:"0 0 128 128",content:''});i.a.add(s);t["default"]=s},9874:function(e,t,n){},"9df4":function(e,t,n){},"9f2b":function(e,t,n){"use strict";n("709d")},b20f:function(e,t,n){e.exports={menuText:"#bfcbd9",menuActiveText:"#409eff",subMenuActiveText:"#f4f4f5",menuBg:"#304156",menuHover:"#263445",subMenuBg:"#1f2d3d",subMenuHover:"#001528",sideBarWidth:"210px"}},b3b5:function(e,t,n){"use strict";n.r(t);var a=n("e017"),o=n.n(a),r=n("21a1"),i=n.n(r),s=new o.a({id:"icon-user",use:"icon-user-usage",viewBox:"0 0 130 130",content:''});i.a.add(s);t["default"]=s},bf4f:function(e,t,n){"use strict";n("9874")},c763:function(e,t,n){},cf1e:function(e,t,n){e.exports={menuText:"#bfcbd9",menuActiveText:"#409eff",subMenuActiveText:"#f4f4f5",menuBg:"#304156",menuHover:"#263445",subMenuBg:"#1f2d3d",subMenuHover:"#001528",sideBarWidth:"210px"}},d346:function(e,t,n){},d7c6:function(e,t,n){"use strict";n("0a9d")},d7ec:function(e,t,n){"use strict";n.r(t);var a=n("e017"),o=n.n(a),r=n("21a1"),i=n.n(r),s=new o.a({id:"icon-eye-open",use:"icon-eye-open-usage",viewBox:"0 0 1024 1024",content:''});i.a.add(s);t["default"]=s},dcf8:function(e,t,n){"use strict";n.r(t);var a=n("e017"),o=n.n(a),r=n("21a1"),i=n.n(r),s=new o.a({id:"icon-nested",use:"icon-nested-usage",viewBox:"0 0 128 128",content:''});i.a.add(s);t["default"]=s},e030:function(e,t,n){},e142:function(e,t,n){},e4de:function(e,t,n){"use strict";n("c763")},eae4:function(e,t,n){},eb1b:function(e,t,n){"use strict";n.r(t);var a=n("e017"),o=n.n(a),r=n("21a1"),i=n.n(r),s=new o.a({id:"icon-form",use:"icon-form-usage",viewBox:"0 0 128 128",content:''});i.a.add(s);t["default"]=s},f30b:function(e,t,n){},f782:function(e,t,n){"use strict";n.r(t);var a=n("e017"),o=n.n(a),r=n("21a1"),i=n.n(r),s=new o.a({id:"icon-dashboard",use:"icon-dashboard-usage",viewBox:"0 0 128 100",content:''});i.a.add(s);t["default"]=s}},[[0,"runtime","chunk-elementUI","chunk-libs"]]]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/app.8d646783.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/app.8d646783.js new file mode 100644 index 0000000000000000000000000000000000000000..42f8434ce34545c2a4f64e5a7f74dac513db6fc0 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/app.8d646783.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["app"],{0:function(e,t,n){e.exports=n("56d7")},"028b":function(e,t,n){"use strict";n("3f4d")},"0a9d":function(e,t,n){},"0af1":function(e,t,n){"use strict";n("e030")},"186a":function(e,t,n){"use strict";n("9df4")},"18f0":function(e,t,n){"use strict";n.r(t);var o=n("e017"),a=n.n(o),r=n("21a1"),i=n.n(r),s=new a.a({id:"icon-link",use:"icon-link-usage",viewBox:"0 0 128 128",content:''});i.a.add(s);t["default"]=s},2927:function(e,t,n){"use strict";n("e142")},"2a3d":function(e,t,n){"use strict";n.r(t);var o=n("e017"),a=n.n(o),r=n("21a1"),i=n.n(r),s=new a.a({id:"icon-password",use:"icon-password-usage",viewBox:"0 0 128 128",content:''});i.a.add(s);t["default"]=s},"30c3":function(e,t,n){"use strict";n.r(t);var o=n("e017"),a=n.n(o),r=n("21a1"),i=n.n(r),s=new a.a({id:"icon-example",use:"icon-example-usage",viewBox:"0 0 128 128",content:''});i.a.add(s);t["default"]=s},"34c8":function(e,t,n){"use strict";n("f30b")},"39a5":function(e,t,n){},"3f4d":function(e,t,n){},"47f1":function(e,t,n){"use strict";n.r(t);var o=n("e017"),a=n.n(o),r=n("21a1"),i=n.n(r),s=new a.a({id:"icon-table",use:"icon-table-usage",viewBox:"0 0 128 128",content:''});i.a.add(s);t["default"]=s},"4a3d":function(e,t,n){"use strict";n("39a5")},"4df5":function(e,t,n){"use strict";n.r(t);var o=n("e017"),a=n.n(o),r=n("21a1"),i=n.n(r),s=new a.a({id:"icon-eye",use:"icon-eye-usage",viewBox:"0 0 128 64",content:''});i.a.add(s);t["default"]=s},"51ff":function(e,t,n){var o={"./dashboard.svg":"f782","./example.svg":"30c3","./eye-open.svg":"d7ec","./eye.svg":"4df5","./form.svg":"eb1b","./link.svg":"18f0","./nested.svg":"dcf8","./password.svg":"2a3d","./table.svg":"47f1","./tree.svg":"93cd","./user.svg":"b3b5"};function a(e){var t=r(e);return n(t)}function r(e){if(!n.o(o,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return o[e]}a.keys=function(){return Object.keys(o)},a.resolve=r,e.exports=a,a.id="51ff"},"56d7":function(e,t,n){"use strict";n.r(t);n("e260"),n("e6cf"),n("cca6"),n("a79d");var o=n("2b0e"),a=(n("f5df1"),n("5c96")),r=n.n(a),i=(n("0fae"),n("b2d6")),s=n.n(i),c=(n("b20f"),n("8ce0"),function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"app"}},[n("router-view")],1)}),u=[],l={name:"App"},d=l,m=n("2877"),h=Object(m["a"])(d,c,u,!1,null,null,null),p=h.exports,f=n("2f62"),g=(n("b0c0"),{sidebar:function(e){return e.app.sidebar},device:function(e){return e.app.device},token:function(e){return e.user.token},avatar:function(e){return e.user.avatar},name:function(e){return e.user.name}}),b=g,v=n("a78e"),w=n.n(v),k={sidebar:{opened:!w.a.get("sidebarStatus")||!!+w.a.get("sidebarStatus"),withoutAnimation:!1},device:"desktop"},x={TOGGLE_SIDEBAR:function(e){e.sidebar.opened=!e.sidebar.opened,e.sidebar.withoutAnimation=!1,e.sidebar.opened?w.a.set("sidebarStatus",1):w.a.set("sidebarStatus",0)},CLOSE_SIDEBAR:function(e,t){w.a.set("sidebarStatus",0),e.sidebar.opened=!1,e.sidebar.withoutAnimation=t},TOGGLE_DEVICE:function(e,t){e.device=t}},y={toggleSideBar:function(e){var t=e.commit;t("TOGGLE_SIDEBAR")},closeSideBar:function(e,t){var n=e.commit,o=t.withoutAnimation;n("CLOSE_SIDEBAR",o)},toggleDevice:function(e,t){var n=e.commit;n("TOGGLE_DEVICE",t)}},S={resourceUploadUrl:function(e){return"/resource/upload"}},C={namespaced:!0,state:k,mutations:x,actions:y,getters:S},T=n("83d6"),_=n.n(T),O=_.a.showSettings,W=_.a.fixedHeader,A=_.a.sidebarLogo,E={showSettings:O,fixedHeader:W,sidebarLogo:A},H={CHANGE_SETTING:function(e,t){var n=t.key,o=t.value;e.hasOwnProperty(n)&&(e[n]=o)}},z={changeSetting:function(e,t){var n=e.commit;n("CHANGE_SETTING",t)}},F={namespaced:!0,state:E,mutations:H,actions:z},M=(n("e9c4"),"vue_admin_template_token"),B="vue_admin_template_user";function V(){return w.a.get(M)}function U(e){return w.a.set(M,e)}function L(){return w.a.remove(M)}function $(e){return localStorage.setItem(B,JSON.stringify(e))}function j(){try{return JSON.parse(localStorage.getItem(B))}catch(e){return null}}n("d3b7"),n("3ca3"),n("ddb0");var D,P,G=n("8c4f"),I=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-wrapper",class:e.classObj},["mobile"===e.device&&e.sidebar.opened?n("div",{staticClass:"drawer-bg",on:{click:e.handleClickOutside}}):e._e(),n("sidebar",{staticClass:"sidebar-container"}),n("div",{staticClass:"main-container"},[n("div",{class:{"fixed-header":e.fixedHeader}},[n("navbar")],1),n("app-main")],1)],1)},R=[],N=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"navbar"},[n("hamburger",{staticClass:"hamburger-container",attrs:{"is-active":e.sidebar.opened},on:{toggleClick:e.toggleSideBar}}),n("breadcrumb",{staticClass:"breadcrumb-container"}),n("div",{staticClass:"right-menu"},[n("el-dropdown",{staticClass:"avatar-container",attrs:{trigger:"click"}},[n("div",{staticClass:"avatar-wrapper"},[n("img",{staticClass:"user-avatar",attrs:{src:e.avatar+"?imageView2/1/w/80/h/80"}}),n("i",{staticClass:"el-icon-caret-bottom"})]),n("el-dropdown-menu",{staticClass:"user-dropdown",attrs:{slot:"dropdown"},slot:"dropdown"},[n("router-link",{attrs:{to:"/"}},[n("el-dropdown-item",[e._v(" Home ")])],1),n("a",{attrs:{target:"_blank",href:"https://gitee.com/mengtree/workflow-engine/tree/sample/"}},[n("el-dropdown-item",[e._v("Github")])],1),n("a",{attrs:{target:"_blank",href:"https://gitee.com/mengtree/workflow-engine/tree/sample/"}},[n("el-dropdown-item",[e._v("Docs")])],1),n("el-dropdown-item",{attrs:{divided:""},nativeOn:{click:function(t){return e.logout(t)}}},[n("span",{staticStyle:{display:"block"}},[e._v("Log Out")])])],1)],1)],1),n("div",{staticStyle:{float:"right","line-height":"50px","margin-right":"20px"}},[n("span",{staticStyle:{color:"#999999"}},[e._v("当前用户:")]),n("el-select",{attrs:{placeholder:"发起人",size:"mini",value:e.currentUserId},on:{change:e.currentUserChange}},e._l(e.allUsers,(function(e){return n("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1)],1)},q=[],J=n("1da1"),K=n("5530"),X=(n("4de4"),n("96cf"),function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("el-breadcrumb",{staticClass:"app-breadcrumb",attrs:{separator:"/"}},[n("transition-group",{attrs:{name:"breadcrumb"}},e._l(e.levelList,(function(t,o){return n("el-breadcrumb-item",{key:t.path},["noRedirect"===t.redirect||o==e.levelList.length-1?n("span",{staticClass:"no-redirect"},[e._v(e._s(t.meta.title))]):n("a",{on:{click:function(n){return n.preventDefault(),e.handleLink(t)}}},[e._v(e._s(t.meta.title))])])})),1)],1)}),Q=[],Y=(n("99af"),n("498a"),n("bd11")),Z=n.n(Y),ee={data:function(){return{levelList:null}},watch:{$route:function(){this.getBreadcrumb()}},created:function(){this.getBreadcrumb()},methods:{getBreadcrumb:function(){var e=this.$route.matched.filter((function(e){return e.meta&&e.meta.title})),t=e[0];this.isDashboard(t)||(e=[{path:"/dashboard",meta:{title:"Dashboard"}}].concat(e)),this.levelList=e.filter((function(e){return e.meta&&e.meta.title&&!1!==e.meta.breadcrumb}))},isDashboard:function(e){var t=e&&e.name;return!!t&&t.trim().toLocaleLowerCase()==="Dashboard".toLocaleLowerCase()},pathCompile:function(e){var t=this.$route.params,n=Z.a.compile(e);return n(t)},handleLink:function(e){var t=e.redirect,n=e.path;t?this.$router.push(t):this.$router.push(this.pathCompile(n))}}},te=ee,ne=(n("34c8"),Object(m["a"])(te,X,Q,!1,null,"62cc9144",null)),oe=ne.exports,ae=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticStyle:{padding:"0 15px"},on:{click:e.toggleClick}},[n("svg",{staticClass:"hamburger",class:{"is-active":e.isActive},attrs:{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:"64",height:"64"}},[n("path",{attrs:{d:"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z"}})])])},re=[],ie={name:"Hamburger",props:{isActive:{type:Boolean,default:!1}},methods:{toggleClick:function(){this.$emit("toggleClick")}}},se=ie,ce=(n("186a"),Object(m["a"])(se,ae,re,!1,null,"49e15297",null)),ue=ce.exports,le={components:{Breadcrumb:oe,Hamburger:ue},computed:Object(K["a"])(Object(K["a"])({},Object(f["b"])(["sidebar","avatar"])),{},{currentUserId:function(){return this.$store.state.user.user.id}}),data:function(){return{allUsers:[]}},mounted:function(){this.getAllUserForSimulation()},methods:{toggleSideBar:function(){this.$store.dispatch("app/toggleSideBar")},logout:function(){var e=this;return Object(J["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("user/logout");case 2:e.$router.push("/login?redirect=".concat(e.$route.fullPath));case 3:case"end":return t.stop()}}),t)})))()},getAllUserForSimulation:function(){var e=this;this.$store.dispatch("workflow/GetAllUserForSimulation").then((function(t){e.allUsers=t,e.currentUserId||e.currentUserChange(t[0].id)}))},currentUserChange:function(e){var t=this.allUsers.filter((function(t){return t.id==e}))[0];this.$store.dispatch("user/setCurrentUser",t)}}},de=le,me=(n("0af1"),Object(m["a"])(de,N,q,!1,null,"f21e43ba",null)),he=me.exports,pe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:{"has-logo":e.showLogo}},[e.showLogo?n("logo",{attrs:{collapse:e.isCollapse}}):e._e(),n("el-scrollbar",{attrs:{"wrap-class":"scrollbar-wrapper"}},[n("el-menu",{attrs:{"default-active":e.activeMenu,collapse:e.isCollapse,"background-color":e.variables.menuBg,"text-color":e.variables.menuText,"unique-opened":!1,"active-text-color":e.variables.menuActiveText,"collapse-transition":!1,mode:"vertical"}},e._l(e.routes,(function(e){return n("sidebar-item",{key:e.path,attrs:{item:e,"base-path":e.path}})})),1)],1)],1)},fe=[],ge=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"sidebar-logo-container",class:{collapse:e.collapse}},[n("transition",{attrs:{name:"sidebarLogoFade"}},[e.collapse?n("router-link",{key:"collapse",staticClass:"sidebar-logo-link",attrs:{to:"/"}},[e.logo?n("img",{staticClass:"sidebar-logo",attrs:{src:e.logo}}):n("h1",{staticClass:"sidebar-title"},[e._v(e._s(e.title)+" ")])]):n("router-link",{key:"expand",staticClass:"sidebar-logo-link",attrs:{to:"/"}},[e.logo?n("img",{staticClass:"sidebar-logo",attrs:{src:e.logo}}):e._e(),n("h1",{staticClass:"sidebar-title"},[e._v(e._s(e.title)+" ")])])],1)],1)},be=[],ve={name:"SidebarLogo",props:{collapse:{type:Boolean,required:!0}},data:function(){return{title:"Vue Admin Template",logo:"https://wpimg.wallstcn.com/69a1c46c-eb1c-4b46-8bd4-e9e686ef5251.png"}}},we=ve,ke=(n("6b31"),Object(m["a"])(we,ge,be,!1,null,"5bb1c0e2",null)),xe=ke.exports,ye=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.item.hidden?e._e():n("div",[!e.hasOneShowingChild(e.item.children,e.item)||e.onlyOneChild.children&&!e.onlyOneChild.noShowingChildren||e.item.alwaysShow?n("el-submenu",{ref:"subMenu",attrs:{index:e.resolvePath(e.item.path),"popper-append-to-body":""}},[n("template",{slot:"title"},[e.item.meta?n("item",{attrs:{icon:e.item.meta&&e.item.meta.icon,title:e.item.meta.title}}):e._e()],1),e._l(e.item.children,(function(t){return n("sidebar-item",{key:t.path,staticClass:"nest-menu",attrs:{"is-nest":!0,item:t,"base-path":e.resolvePath(t.path)}})}))],2):[e.onlyOneChild.meta?n("app-link",{attrs:{to:e.resolvePath(e.onlyOneChild.path)}},[n("el-menu-item",{class:{"submenu-title-noDropdown":!e.isNest},attrs:{index:e.resolvePath(e.onlyOneChild.path)}},[n("item",{attrs:{icon:e.onlyOneChild.meta.icon||e.item.meta&&e.item.meta.icon,title:e.onlyOneChild.meta.title}})],1)],1):e._e()]],2)},Se=[],Ce=n("df7c"),Te=n.n(Ce),_e=n("61f7"),Oe=(n("caad"),n("2532"),{name:"MenuItem",functional:!0,props:{icon:{type:String,default:""},title:{type:String,default:""}},render:function(e,t){var n=t.props,o=n.icon,a=n.title,r=[];return o&&(o.includes("el-icon")?r.push(e("i",{class:[o,"sub-el-icon"]})):r.push(e("svg-icon",{attrs:{"icon-class":o}}))),a&&r.push(e("span",{slot:"title"},[a])),r}}),We=Oe,Ae=(n("bf4f"),Object(m["a"])(We,D,P,!1,null,"18eeea00",null)),Ee=Ae.exports,He=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(e.type,e._b({tag:"component"},"component",e.linkProps(e.to),!1),[e._t("default")],2)},ze=[],Fe={props:{to:{type:String,required:!0}},computed:{isExternal:function(){return Object(_e["a"])(this.to)},type:function(){return this.isExternal?"a":"router-link"}},methods:{linkProps:function(e){return this.isExternal?{href:e,target:"_blank",rel:"noopener"}:{to:e}}}},Me=Fe,Be=Object(m["a"])(Me,He,ze,!1,null,null,null),Ve=Be.exports,Ue={computed:{device:function(){return this.$store.state.app.device}},mounted:function(){this.fixBugIniOS()},methods:{fixBugIniOS:function(){var e=this,t=this.$refs.subMenu;if(t){var n=t.handleMouseleave;t.handleMouseleave=function(t){"mobile"!==e.device&&n(t)}}}}},Le={name:"SidebarItem",components:{Item:Ee,AppLink:Ve},mixins:[Ue],props:{item:{type:Object,required:!0},isNest:{type:Boolean,default:!1},basePath:{type:String,default:""}},data:function(){return this.onlyOneChild=null,{}},methods:{hasOneShowingChild:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1?arguments[1]:void 0,o=t.filter((function(t){return!t.hidden&&(e.onlyOneChild=t,!0)}));return 1===o.length||0===o.length&&(this.onlyOneChild=Object(K["a"])(Object(K["a"])({},n),{},{path:"",noShowingChildren:!0}),!0)},resolvePath:function(e){return Object(_e["a"])(e)?e:Object(_e["a"])(this.basePath)?this.basePath:Te.a.resolve(this.basePath,e)}}},$e=Le,je=Object(m["a"])($e,ye,Se,!1,null,null,null),De=je.exports,Pe=n("cf1e"),Ge=n.n(Pe),Ie={components:{SidebarItem:De,Logo:xe},computed:Object(K["a"])(Object(K["a"])({},Object(f["b"])(["sidebar"])),{},{routes:function(){return this.$router.options.routes},activeMenu:function(){var e=this.$route,t=e.meta,n=e.path;return t.activeMenu?t.activeMenu:n},showLogo:function(){return this.$store.state.settings.sidebarLogo},variables:function(){return Ge.a},isCollapse:function(){return!this.sidebar.opened}})},Re=Ie,Ne=Object(m["a"])(Re,pe,fe,!1,null,null,null),qe=Ne.exports,Je=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",{staticClass:"app-main"},[n("transition",{attrs:{name:"fade-transform",mode:"out-in"}},[n("router-view",{key:e.key})],1)],1)},Ke=[],Xe={name:"AppMain",computed:{key:function(){return this.$route.path}}},Qe=Xe,Ye=(n("e4de"),n("028b"),Object(m["a"])(Qe,Je,Ke,!1,null,"64cf4d83",null)),Ze=Ye.exports,et=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("section",{staticClass:"app-main"},[n("transition",{attrs:{name:"fade-transform",mode:"out-in"}},[n("router-view",{key:e.key})],1)],1)},tt=[],nt={name:"MyAppMain",computed:{key:function(){return this.$route.path}}},ot=nt,at=(n("4a3d"),n("d7c6"),Object(m["a"])(ot,et,tt,!1,null,"852605b0",null)),rt=at.exports,it=document,st=it.body,ct=992,ut={watch:{$route:function(e){"mobile"===this.device&&this.sidebar.opened&&Nt.dispatch("app/closeSideBar",{withoutAnimation:!1})}},beforeMount:function(){window.addEventListener("resize",this.$_resizeHandler)},beforeDestroy:function(){window.removeEventListener("resize",this.$_resizeHandler)},mounted:function(){var e=this.$_isMobile();e&&(Nt.dispatch("app/toggleDevice","mobile"),Nt.dispatch("app/closeSideBar",{withoutAnimation:!0}))},methods:{$_isMobile:function(){var e=st.getBoundingClientRect();return e.width-10&&(Ot.baseURL=globalconfig_baseURL);var Wt=_t.a.create(Ot);Wt.interceptors.request.use((function(e){return V()&&(e.headers["X-Token"]=V(),e.headers["user-info"]=encodeURI(JSON.stringify(j()||{}))),e}),(function(e){return console.log(e),Promise.reject(e)})),Wt.interceptors.response.use((function(e){var t=e.data;return"error"==t.code?Promise.reject(new Error(t.msg||"Error")):t&&"success"==t.code?t.data:(Object(a["Message"])({message:t.msg,type:"error",duration:5e3}),Promise.reject(new Error(t.msg||"Error")))}),(function(e){return console.log("err"+e),Object(a["Message"])({message:e.message,type:"error",duration:5e3}),Promise.reject(e)}));var At=Wt,Et=function(){return{}},Ht=Et(),zt={},Ft={health:function(e,t){e.commit,e.state;return At({url:"/api/Health",method:"get",params:t})},getAllconditions:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetAllconditions",method:"get",params:t})},getAllUserSelectors:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetAllUserSelectors",method:"get",params:t})},getUserSelectionsOfUserSelector:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetUserSelectionsOfUserSelector",method:"get",params:t})},createWorkFlow:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/CreateWorkFlow",method:"post",data:t})},getAllWorkflows:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetAllWorkflows",method:"get",params:t})},getAllWorkflowVersions:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetAllWorkflowVersions",method:"get",params:t})},getWorkflowVersion:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetWorkflowVersion",method:"get",params:t})},delete:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/delete",method:"delete",params:t})},updateWorkflowActiveVersion:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/UpdateWorkflowActiveVersion",method:"put",data:t})},updateWorkflow:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/UpdateWorkFlow",method:"put",data:t})},createWorkTask:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/CreateWorkTask",method:"post",data:t})},createSimulationWorkTask:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/CreateSimulationWorkTask",method:"post",data:t})},getWorkTask:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetWorkTask",method:"get",params:t})},startWorkTask:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/StartWorkTask",method:"post",data:t})},passProve:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/PassProve",method:"post",data:t})},rejectProve:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/RejectProve",method:"post",data:t})},withdrawProve:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/WithdrawProve",method:"post",data:t})},forwardProve:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/ForwardProve",method:"post",data:t})},getAllTaskStepsOfWorkTask:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetAllTaskStepsOfWorkTask",method:"get",params:t})},clearSimulationRecord:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/ClearSimulationRecord",method:"post",data:t})},getUnHandledWorkTasksOfUser:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetUnHandledWorkTasksOfUser",method:"get",params:t})},getHandledWorkTasksOfUser:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetHandledWorkTasksOfUser",method:"get",params:t})},getUnHandledWorkStepsOfUser:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetUnHandlerWorkStepsOfUser",method:"get",params:t})},createAndStartWorkTask:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/createAndStartWorkTask",method:"post",data:t})},getAllWorkflowsWithVersion:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetAllWorkflowsWithVersion",method:"get",params:t})},getAllTaskStepsOfWorkTaskByEntityInfo:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetAllTaskStepsOfWorkTaskByEntityInfo",method:"get",params:t})},getWorkTasksOfCreator:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetWorkTasksOfCreator",method:"get",params:t})},getAllWorkTasks:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetAllWorkTasks",method:"get",params:t})},deleteWorkTasks:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/deleteWorkTasks",method:"delete",data:t})},GetAllUserForSimulation:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetAllUserForSimulation",method:"get",params:t})},GetRejectNodes:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/GetRejectNodes",method:"get",params:t})},deleteWorkTask:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/DeleteWorkTask",method:"delete",params:t})},updateWorkTaskFormData:function(e,t){e.commit,e.state;return At({url:"/api/WorkFlow/UpdateWorkTaskFormData",method:"put",data:t})}},Mt={namespaced:!0,state:Ht,mutations:zt,actions:Ft},Bt=(n("25f0"),function(){return{token:V(),name:"",avatar:"",user:j()||{}}}),Vt=Bt(),Ut={RESET_STATE:function(e){Object.assign(e,Bt())},SET_TOKEN:function(e,t){e.token=t},SET_NAME:function(e,t){e.name=t},SET_AVATAR:function(e,t){e.avatar=t},SET_CURRENTUSER:function(e,t){e.user=t}},Lt={login:function(e,t){e.commit,t.username,t.password;return new Promise((function(e,t){U((new Date).getTime()),e()}))},getInfo:function(e){var t=e.commit;e.state;return new Promise((function(e,n){t("SET_NAME","admin"),t("SET_AVATAR","https://himg.bdimg.com/sys/portraitn/item/942f5139303436cd06"),e({})}))},logout:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){var t=e.commit,n=e.state;return new Promise((function(e,o){logout(n.token).then((function(){L(),St(),t("RESET_STATE"),e()})).catch((function(e){o(e)}))}))})),resetToken:function(e){var t=e.commit;return new Promise((function(e){L(),t("RESET_STATE"),e()}))},setCurrentUser:function(e,t){e.commit;var n=e.state;n.user=t,$(t)},getCurrentUser:function(e,t){e.commit,e.state;return j()},getAllList:function(e,t){var n=e.commit;e.state;return At({url:"/organisation/api/User/GetAllList",method:"get",params:t}).then((function(e){return!j()&&e&&(n("SET_CURRENTUSER",e[0]),$(e[0])),e}))}},$t={namespaced:!0,state:Vt,mutations:Ut,actions:Lt},jt=function(){return{}},Dt=jt(),Pt={},Gt={create:function(e,t){e.commit,e.state;return At({url:"/api/FormDesign/Create",method:"post",data:t})},update:function(e,t){e.commit,e.state;return At({url:"/api/FormDesign/Update",method:"put",data:t})},get:function(e,t){e.commit,e.state;return At({url:"/api/FormDesign/Get",method:"get",params:t})},getFormDesignVersion:function(e,t){e.commit,e.state;return At({url:"/api/FormDesign/GetFormDesignVersion",method:"get",params:t})},delete:function(e,t){e.commit,e.state;return At({url:"/api/FormDesign/Delete",method:"delete",params:t})},getAllFormDesignVersions:function(e,t){e.commit,e.state;return At({url:"/api/FormDesign/getAllFormDesignVersions",method:"get",params:t})},getAllList:function(e,t){e.commit,e.state;return At({url:"/api/FormDesign/getAllList",method:"get",params:t})},setActiveVersion:function(e,t){e.commit,e.state;return At({url:"/api/FormDesign/SetActiveVersion",method:"put",data:t,params:{id:t.id}})},getPageList:function(e,t){e.commit,e.state;return At({url:"/api/FormDesign/GetPageList",method:"get",params:t})},getFormDesignVersionByWorkflowId:function(e,t){e.commit,e.state;return At({url:"/api/FormDesign/GetFormDesignVersionByWorkflowId",method:"get",params:t})}},It={namespaced:!0,state:Dt,mutations:Pt,actions:Gt};o["default"].use(f["a"]);var Rt=new f["a"].Store({modules:{app:C,settings:F,workflow:Mt,user:$t,dynamicFormDesign:It},getters:b}),Nt=Rt,qt=(n("d81d"),function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.isExternal?n("div",e._g({staticClass:"svg-external-icon svg-icon",style:e.styleExternalIcon},e.$listeners)):n("svg",e._g({class:e.svgClass,attrs:{"aria-hidden":"true"}},e.$listeners),[n("use",{attrs:{"xlink:href":e.iconName}})])}),Jt=[],Kt={name:"SvgIcon",props:{iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExternal:function(){return Object(_e["a"])(this.iconClass)},iconName:function(){return"#icon-".concat(this.iconClass)},svgClass:function(){return this.className?"svg-icon "+this.className:"svg-icon"},styleExternalIcon:function(){return{mask:"url(".concat(this.iconClass,") no-repeat 50% 50%"),"-webkit-mask":"url(".concat(this.iconClass,") no-repeat 50% 50%")}}}},Xt=Kt,Qt=(n("68fa"),Object(m["a"])(Xt,qt,Jt,!1,null,"f9f7fefc",null)),Yt=Qt.exports;o["default"].component("svg-icon",Yt);var Zt=n("51ff"),en=function(e){return e.keys().map(e)};en(Zt);var tn=n("323e"),nn=n.n(tn),on=(n("a5d8"),_.a.title||"Vue Admin Template");function an(e){return e?"".concat(e," - ").concat(on):"".concat(on)}nn.a.configure({showSpinner:!1});var rn=["/login"];Ct.beforeEach(function(){var e=Object(J["a"])(regeneratorRuntime.mark((function e(t,n,o){var r,i;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(nn.a.start(),document.title=an(t.meta.title),r=V(),!r){e.next=29;break}if("/login"!==t.path){e.next=9;break}o({path:"/"}),nn.a.done(),e.next=27;break;case 9:if(i=Nt.getters.name,!i){e.next=14;break}o(),e.next=27;break;case 14:return e.prev=14,e.next=17,Nt.dispatch("user/getInfo");case 17:o(),e.next=27;break;case 20:return e.prev=20,e.t0=e["catch"](14),e.next=24,Nt.dispatch("user/resetToken");case 24:a["Message"].error(e.t0||"Has Error"),o("/login?redirect=".concat(t.path)),nn.a.done();case 27:e.next=30;break;case 29:-1!==rn.indexOf(t.path)?o():(o("/login?redirect=".concat(t.path)),nn.a.done());case 30:case"end":return e.stop()}}),e,null,[[14,20]])})));return function(t,n,o){return e.apply(this,arguments)}}()),Ct.afterEach((function(){nn.a.done()}));var sn=n("fb19"),cn=n.n(sn);n("278f");o["default"].component("vue-draggable-resizable",cn.a),o["default"].use(r.a,{locale:s.a}),o["default"].config.productionTip=!1,new o["default"]({el:"#app",router:Ct,store:Nt,render:function(e){return e(p)}})},"61f7":function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return a}));n("ac1f"),n("00b4"),n("498a");function o(e){return/^(https?:|mailto:|tel:)/.test(e)}function a(e){var t=["admin","editor"];return t.indexOf(e.trim())>=0}},"68fa":function(e,t,n){"use strict";n("eae4")},"6b31":function(e,t,n){"use strict";n("d346")},"709d":function(e,t,n){},"83d6":function(e,t){e.exports={title:"Vue Admin Template",fixedHeader:!0,sidebarLogo:!1}},"8ce0":function(e,t,n){},"93cd":function(e,t,n){"use strict";n.r(t);var o=n("e017"),a=n.n(o),r=n("21a1"),i=n.n(r),s=new a.a({id:"icon-tree",use:"icon-tree-usage",viewBox:"0 0 128 128",content:''});i.a.add(s);t["default"]=s},9874:function(e,t,n){},"9df4":function(e,t,n){},"9f2b":function(e,t,n){"use strict";n("709d")},b20f:function(e,t,n){e.exports={menuText:"#bfcbd9",menuActiveText:"#409eff",subMenuActiveText:"#f4f4f5",menuBg:"#304156",menuHover:"#263445",subMenuBg:"#1f2d3d",subMenuHover:"#001528",sideBarWidth:"210px"}},b3b5:function(e,t,n){"use strict";n.r(t);var o=n("e017"),a=n.n(o),r=n("21a1"),i=n.n(r),s=new a.a({id:"icon-user",use:"icon-user-usage",viewBox:"0 0 130 130",content:''});i.a.add(s);t["default"]=s},bf4f:function(e,t,n){"use strict";n("9874")},c763:function(e,t,n){},cf1e:function(e,t,n){e.exports={menuText:"#bfcbd9",menuActiveText:"#409eff",subMenuActiveText:"#f4f4f5",menuBg:"#304156",menuHover:"#263445",subMenuBg:"#1f2d3d",subMenuHover:"#001528",sideBarWidth:"210px"}},d346:function(e,t,n){},d7c6:function(e,t,n){"use strict";n("0a9d")},d7ec:function(e,t,n){"use strict";n.r(t);var o=n("e017"),a=n.n(o),r=n("21a1"),i=n.n(r),s=new a.a({id:"icon-eye-open",use:"icon-eye-open-usage",viewBox:"0 0 1024 1024",content:''});i.a.add(s);t["default"]=s},dcf8:function(e,t,n){"use strict";n.r(t);var o=n("e017"),a=n.n(o),r=n("21a1"),i=n.n(r),s=new a.a({id:"icon-nested",use:"icon-nested-usage",viewBox:"0 0 128 128",content:''});i.a.add(s);t["default"]=s},e030:function(e,t,n){},e142:function(e,t,n){},e4de:function(e,t,n){"use strict";n("c763")},eae4:function(e,t,n){},eb1b:function(e,t,n){"use strict";n.r(t);var o=n("e017"),a=n.n(o),r=n("21a1"),i=n.n(r),s=new a.a({id:"icon-form",use:"icon-form-usage",viewBox:"0 0 128 128",content:''});i.a.add(s);t["default"]=s},f30b:function(e,t,n){},f782:function(e,t,n){"use strict";n.r(t);var o=n("e017"),a=n.n(o),r=n("21a1"),i=n.n(r),s=new a.a({id:"icon-dashboard",use:"icon-dashboard-usage",viewBox:"0 0 128 100",content:''});i.a.add(s);t["default"]=s}},[[0,"runtime","chunk-elementUI","chunk-libs"]]]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-1473f586.d15b2e01.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-1473f586.d15b2e01.js new file mode 100644 index 0000000000000000000000000000000000000000..7f3afb3d89602dffbe3df3434315270a0c7e75f1 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-1473f586.d15b2e01.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-1473f586"],{7156:function(e,t,r){var n=r("861d"),o=r("d2bb");e.exports=function(e,t,r){var a,i;return o&&"function"==typeof(a=t.constructor)&&a!==r&&n(i=a.prototype)&&i!==r.prototype&&o(e,i),e}},a15b:function(e,t,r){"use strict";var n=r("23e7"),o=r("44ad"),a=r("fc6a"),i=r("a640"),c=[].join,f=o!=Object,s=i("join",",");n({target:"Array",proto:!0,forced:f||!s},{join:function(e){return c.call(a(this),void 0===e?",":e)}})},a434:function(e,t,r){"use strict";var n=r("23e7"),o=r("23cb"),a=r("a691"),i=r("50c4"),c=r("7b0b"),f=r("65f0"),s=r("8418"),u=r("1dde"),l=r("ae40"),p=u("splice"),d=l("splice",{ACCESSORS:!0,0:0,1:2}),h=Math.max,I=Math.min,N=9007199254740991,b="Maximum allowed length exceeded";n({target:"Array",proto:!0,forced:!p||!d},{splice:function(e,t){var r,n,u,l,p,d,g=c(this),A=i(g.length),E=o(e,A),v=arguments.length;if(0===v?r=n=0:1===v?(r=0,n=A-E):(r=v-2,n=I(h(a(t),0),A-E)),A+r-n>N)throw TypeError(b);for(u=f(g,n),l=0;lA-n+r;l--)delete g[l-1]}else if(r>n)for(l=A-n;l>E;l--)p=l+n-1,d=l+r-1,p in g?g[d]=g[p]:delete g[d];for(l=0;l2)if(s=N(s),t=s.charCodeAt(0),43===t||45===t){if(r=s.charCodeAt(2),88===r||120===r)return NaN}else if(48===t){switch(s.charCodeAt(1)){case 66:case 98:n=2,o=49;break;case 79:case 111:n=8,o=55;break;default:return+s}for(a=s.slice(2),i=a.length,c=0;co)return NaN;return parseInt(a,n)}return+s};if(a(b,!g(" 0o1")||!g("0b1")||g("+0x1"))){for(var w,y=function(e){var t=arguments.length<1?0:e,r=this;return r instanceof y&&(E?l((function(){A.valueOf.call(r)})):f(r)!=b)?s(new g(v(t)),r,y):v(t)},S=n?d(g):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),_=0;S.length>_;_++)c(g,w=S[_])&&!c(y,w)&&I(y,w,h(g,w));y.prototype=A,A.constructor=y,i(o,b,y)}}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-1b787a16.fa45d8e8.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-1b787a16.fa45d8e8.js new file mode 100644 index 0000000000000000000000000000000000000000..fb14d8f5edc3325a131d26511d6917707f8e0b29 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-1b787a16.fa45d8e8.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-1b787a16"],{1245:function(t,e,n){"use strict";n("6216")},"1c3a":function(t,e,n){"use strict";n("cd17")},4080:function(t,e,n){"use strict";var l=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:{"control-container":t.isEditForm}},[t._t("default")],2)},i=[],o={props:{isEditForm:{type:Boolean,default:!1}}},a=o,s=(n("fa1c"),n("2877")),r=Object(s["a"])(a,l,i,!1,null,"50490820",null);e["a"]=r.exports},"61a5":function(t,e,n){"use strict";var l=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-col",{attrs:{xs:24,sm:"table"==t.control.type?24:12,md:t._f("spanFileter")(t.control.span),lg:t._f("spanFileter")(t.control.span),xl:t._f("spanFileter")(t.control.span)}},[n("control",{staticClass:"dynamic-col"},[n("el-form-item",{attrs:{label:t.control.label}},[n("el-row",{staticClass:"dynamic-col",staticStyle:{"min-height":"200px"},attrs:{gutter:10}},[n("draggable",t._b({attrs:{animation:500,dragClass:"dragClass",ghostClass:"ghostClass",chosenClass:"chosenClass"},model:{value:t.orderedcontrols,callback:function(e){t.orderedcontrols=e},expression:"orderedcontrols"}},"draggable",{group:{name:"controlpanel"},sort:!0},!1),[n("transition-group",t._l(t.orderedcontrols,(function(e,l){return n("dynamicCol",{key:l,attrs:{control:e||{},isEdit:!0,isEditForm:t.isEditForm},on:{edit:function(n){return t.editCtrl(e)},remove:function(e){return t.removeCtrl(l)},copy:function(e){return t.copyCtrl(l)}},model:{value:t.bindModel(e)[e.field],callback:function(n){t.$set(t.bindModel(e),e.field,n)},expression:"bindModel(control)[control.field]"}})})),1)],1)],1),n("div",[n("el-button",{attrs:{type:"text"},on:{click:function(e){return t.$emit("edit")}}},[t._v("edit")]),n("el-button",{attrs:{type:"text"},on:{click:function(e){return t.$emit("remove")}}},[t._v("remove")]),n("el-button",{attrs:{type:"text"},on:{click:function(e){return t.$emit("copy")}}},[t._v("copy")])],1)],1)],1)],1)},i=[],o=(n("a9e3"),n("4de4"),n("d3b7"),n("e9c4"),n("a434"),n("b76a")),a=n.n(o),s=n("d27b"),r=n("4080"),c={name:"dynamicContainer",components:{draggable:a.a,dynamicCol:s["a"],control:r["a"]},props:{control:{type:Object,default:function(){return{}}},value:null,isEdit:{type:Boolean,default:!1},isEditForm:{type:Boolean,default:!1}},filters:{spanFileter:function(t){return isNaN(t)?8:Number(t)}},model:{event:"change",prop:"value"},data:function(){return{thisValue:{}}},computed:{orderedcontrols:{get:function(){return this.control.options.filter((function(t){return t}))},set:function(t){this.control.options=t}}},watch:{value:function(){this.thisValue=this.value},thisValue:{deep:!0,handler:function(){this.change(this.thisValue)}}},mounted:function(){console.log(this.control),this.thisValue=this.value},methods:{change:function(t){this.$emit("change",t)},bindModel:function(t){return t||(t={}),"empty"==t.type?{}:(this.thisValue[t.field]||this.$set(this.thisValue,t.field,t.default),this.thisValue)},editCtrl:function(t){this.currentControl=t,this.$emit("edit",this.currentControl)},copyCtrl:function(t){var e=JSON.parse(JSON.stringify(this.control.options[t]));this.control.options.splice(t,0,e)},removeCtrl:function(t){this.control.options.splice(t,1)}}},u=c,d=(n("1245"),n("2877")),h=Object(d["a"])(u,l,i,!1,null,null,null);e["a"]=h.exports},6216:function(t,e,n){},"98c2":function(t,e,n){},afbe:function(t,e,n){"use strict";var l=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-form",{ref:"form",staticClass:"dynamic-form",attrs:{"label-width":"auto","label-position":"top",size:"mini"}},[n("el-row",{attrs:{gutter:10}},[t.controls&&t.controls.length>0?[t._l(t.controls,(function(e,l){return["container"==e.type?n("dynamicContainer",{key:l+"container",attrs:{control:e||{},isEdit:t.isEdit,isEditForm:t.isEditForm},model:{value:t.bindModel(e)[e.field],callback:function(n){t.$set(t.bindModel(e),e.field,n)},expression:"bindModel(control)[control.field]"}}):n("dynamicCol",{key:l,attrs:{control:e||{},isEdit:t.isEdit,isEditForm:t.isEditForm},model:{value:t.bindModel(e)[e.field],callback:function(n){t.$set(t.bindModel(e),e.field,n)},expression:"bindModel(control)[control.field]"}})]}))]:n("el-input",{attrs:{readonly:!t.isEdit,type:"textarea",size:"normal",rows:5},model:{value:t.valueString,callback:function(e){t.valueString=e},expression:"valueString"}})],2)],1)},i=[],o=(n("e9c4"),n("d27b")),a=n("61a5"),s={components:{dynamicCol:o["a"],dynamicContainer:a["a"]},props:{isEdit:{type:Boolean,default:!1}},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",isEditForm:!1,value:{},valueString:"",controls:[{span:12,type:"empty",field:"field",label:"label",default:"",options:[]}]}},methods:{bindModel:function(t){return t||(t={}),this.value[t.field]||this.$set(this.value,t.field,t.default),this.value},setValue:function(t,e){var n=this;this.valueString=JSON.stringify(e),this.$set(this,"value",e),this.controls=[];this.$nextTick((function(){n.controls=t}))},getValue:function(){if(this.controls&&this.controls.length>0)return this.value;try{return JSON.parse(this.valueString)}catch(t){return{}}}}},r=s,c=n("2877"),u=Object(c["a"])(r,l,i,!1,null,null,null);e["a"]=u.exports},b3cd:function(t,e,n){"use strict";var l=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",["string"==t.control.type?n("el-input",{attrs:{readonly:!t.isEdit,size:"normal"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}}):t._e(),"number"==t.control.type?n("el-input",{attrs:{readonly:!t.isEdit,type:"number",size:"normal"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}}):t._e(),"textarea"==t.control.type?n("el-input",{attrs:{readonly:!t.isEdit,type:"textarea",size:"normal"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}}):t._e(),"checkbox"==t.control.type?n("el-checkbox-group",{attrs:{"aria-readonly":!t.isEdit,size:"normal"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}},t._l(t.control.options,(function(e,l){return n("el-checkbox",{key:e.value+l,attrs:{label:e.value,value:e.value}},[t._v(t._s(e.label))])})),1):t._e(),"radio"==t.control.type?n("el-radio-group",{attrs:{size:"normal"},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}},t._l(t.control.options,(function(e,l){return n("el-radio",{key:e.value+l,attrs:{"aria-readonly":!t.isEdit,label:e.value},on:{change:t.change}},[t._v(t._s(e.label))])})),1):t._e(),"select"==t.control.type?n("el-select",{staticStyle:{width:"100%"},attrs:{disabled:!t.isEdit,placeholder:"请选择",size:"normal"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}},t._l(t.control.options,(function(t,e){return n("el-option",{key:t.value+e,attrs:{label:t.label,value:t.value}})})),1):t._e(),"multipleselect"==t.control.type?n("el-select",{staticStyle:{width:"100%"},attrs:{disabled:!t.isEdit,placeholder:"请选择",multiple:"",size:"normal"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}},t._l(t.control.options,(function(t,e){return n("el-option",{key:t.value+e,attrs:{label:t.label,value:t.value}})})),1):t._e(),"date"==t.control.type?n("el-date-picker",{staticStyle:{width:"100%"},attrs:{readonly:!t.isEdit,size:"normal",type:"date",placeholder:"选择日期"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}}):t._e(),"time"==t.control.type?n("el-time-select",{staticStyle:{width:"100%"},attrs:{readonly:!t.isEdit,size:"normal",placeholder:"选择时间"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}}):t._e(),"datetime"==t.control.type?n("el-date-picker",{staticStyle:{width:"100%"},attrs:{readonly:!t.isEdit,size:"normal",type:"datetime",placeholder:"选择日期时间"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}}):t._e()],1)},i=[],o={props:{control:{type:Object,default:function(){return{}}},value:"",isEdit:{type:Boolean,default:!1}},model:{event:"change",prop:"value"},data:function(){return{thisValue:""}},watch:{value:function(){this.updateValue()}},mounted:function(){this.updateValue()},methods:{change:function(t){this.$emit("change",t)},updateValue:function(){this.value&&(this.thisValue=this.value)}}},a=o,s=n("2877"),r=Object(s["a"])(a,l,i,!1,null,null,null);e["a"]=r.exports},cd17:function(t,e,n){},d27b:function(t,e,n){"use strict";var l=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-col",{attrs:{xs:24,sm:"table"==t.control.type?24:12,md:t._f("spanFileter")(t.control.span),lg:t._f("spanFileter")(t.control.span),xl:t._f("spanFileter")(t.control.span)}},["empty"==t.control.type&&t.isEditForm?n("div",{staticStyle:{height:"500px","text-align":"center",color:"#999999"}},[t._v(" 拖拽左边的组件到这里 ")]):t._e(),"empty"!=t.control.type?n("control",{class:{"dynamic-col":t.isEditForm,"dynamic-col-default":!t.isEditForm},attrs:{isEditForm:t.isEditForm}},["table"==t.control.type?[n("el-form-item",{attrs:{label:t.control.label}}),n("formItemTable",{attrs:{control:t.control,isEdit:t.isEdit},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}})]:"textarea"==t.control.type?[n("el-form-item",{attrs:{label:t.control.label}}),n("formItem",{attrs:{control:t.control,isEdit:t.isEdit},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}})]:n("el-form-item",{attrs:{label:t.control.label,prop:t.control.field}},[n("formItem",{attrs:{control:t.control,isEdit:t.isEdit},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}})],1),t.isEditForm?n("div",[n("el-tooltip",{staticClass:"item",attrs:{effect:"dark",content:"编辑组件信息,点击编辑在右侧配置组件属性",placement:"top"}},[n("el-button",{attrs:{type:"text"},on:{click:function(e){return t.$emit("edit")}}},[t._v(" 编辑 ")])],1),n("el-tooltip",{staticClass:"item",attrs:{effect:"dark",content:"复制一个组件插入到编辑面板",placement:"top"}},[n("el-button",{attrs:{type:"text"},on:{click:function(e){return t.$emit("copy")}}},[t._v(" 复制 ")])],1),n("el-tooltip",{staticClass:"item",attrs:{effect:"dark",content:"删除组件",placement:"top"}},[n("el-button",{attrs:{type:"text"},on:{click:function(e){return t.$emit("remove")}}},[t._v(" 删除 ")])],1)],1):t._e()],2):t._e()],1)},i=[],o=(n("a9e3"),n("4080")),a=n("b3cd"),s=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",data:t.thisValue,stripe:"",size:"mini"}},[n("el-table-column",{attrs:{type:"index",label:"序号",width:"60"}}),t._l(t.control.options,(function(e){return n("el-table-column",{key:e.field,attrs:{prop:e.field,label:e.label,width:e.width||180},scopedSlots:t._u([{key:"default",fn:function(l){return[t.isEdit?n("formItem",{attrs:{control:e,isEdit:t.isEdit},model:{value:l.row[e.field],callback:function(n){t.$set(l.row,e.field,n)},expression:"scope.row[item.field]"}}):n("span",[t._v(t._s(l.row[e.field]))])]}}],null,!0)})})),n("el-table-column"),t.isEdit?n("el-table-column",{attrs:{fixed:"right",label:"操作",width:"50"},scopedSlots:t._u([{key:"default",fn:function(e){return[n("el-button",{attrs:{type:"text",size:"small"},on:{click:function(n){return t.removeItem(e.$index)}}},[t._v("删除")])]}}],null,!1,3436078618)}):t._e()],2),t.isEdit?n("el-button",{attrs:{type:"text",size:"small"},on:{click:t.addItem}},[t._v("添加")]):t._e()],1)},r=[],c=(n("d3b7"),n("159b"),n("a434"),{components:{formItem:a["a"]},props:{control:{type:Object,default:function(){return{span:12,type:"table",field:"field",label:"label",default:"",options:[{type:"string",field:"field",label:"label",width:"180",default:""}]}}},value:null,isEdit:{type:Boolean,default:!1}},model:{event:"change",prop:"value"},data:function(){return{thisValue:[]}},watch:{value:function(){this.value instanceof Array&&(this.thisValue=this.value)},thisValue:function(){this.$emit("change",this.thisValue)}},methods:{addItem:function(){var t={};this.control.options.forEach((function(e){t[e.field]=e.default})),this.thisValue.push(t)},removeItem:function(t){this.thisValue.splice(t,1)}}}),u=c,d=n("2877"),h=Object(d["a"])(u,s,r,!1,null,null,null),p=h.exports,f={name:"dynamicCol",components:{control:o["a"],formItem:a["a"],formItemTable:p},props:{control:{type:Object,default:function(){return{}}},value:{},isEdit:{type:Boolean,default:!1},isEditForm:{type:Boolean,default:!1}},model:{event:"change",prop:"value"},filters:{spanFileter:function(t){return isNaN(t)?8:Number(t)}},watch:{value:function(){this.thisValue=this.value}},data:function(){return{thisValue:""}},mounted:function(){this.thisValue=this.value},methods:{change:function(t){this.$emit("change",t)}}},m=f,g=(n("1c3a"),Object(d["a"])(m,l,i,!1,null,null,null));e["a"]=g.exports},eb3e:function(t,e,n){"use strict";e["a"]={computed:{currentUserId:function(){return this.$store.state.user.user.id}},data:function(){return{moduleName:"",tableData:[],page:{total:100,maxResultCount:50,currentPage:1,conditions:[],sorting:"creationtime desc"},loading:{getPageList:!1}}},watch:{currentUserId:function(){this.getPageList&&this.getPageList()}},mounted:function(){this.getPageList()},methods:{dateFormat:function(t,e){var n=t[e.property];if(null===n)return"";var l=new Date(n);return l.getFullYear()+"-"+(l.getMonth()+1)+"-"+l.getDate()+" "+l.getHours()+":"+l.getMinutes()+":"+l.getSeconds()},paginationChange:function(t,e){t&&(this.page.maxResultCount=t),e&&(this.page.currentPage=e),this.getPageList()},create:function(){this.$refs.createForm.show()},edit:function(t){this.$refs.editForm.show(t)},getPageList:function(){var t=this;this.loading.getPageList=!0,this.page.skipCount=(this.page.currentPage-1)*this.page.maxResultCount,this.$store.dispatch(this.moduleName+"/getPageList",this.page).then((function(e){t.tableData=e.items,t.page.total=e.total,t.loading.getPageList=!1}))},remove:function(t){var e=this;this.$confirm("确认删除该记录?, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){e.$store.dispatch(e.moduleName+"/delete",{id:t}).then((function(t){e.$message({type:"success",message:"删除成功!"}),e.getPageList()}))})).catch((function(){e.$message({type:"info",message:"已取消删除"})}))}}}},fa1c:function(t,e,n){"use strict";n("98c2")}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-1cc0ed8c.5a81aa7e.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-1cc0ed8c.5a81aa7e.js new file mode 100644 index 0000000000000000000000000000000000000000..dd9e307f892829d20beb2807e6550cb53e3e70d4 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-1cc0ed8c.5a81aa7e.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-1cc0ed8c"],{3776:function(t,e,i){"use strict";i.r(e);var o=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{directives:[{name:"loading",rawName:"v-loading",value:t.loading.getPageList,expression:"loading.getPageList"}],staticClass:"app-container"},[i("div",[i("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.create}},[t._v("新增")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.getPageList}},[t._v("刷新")])],1),i("br"),i("el-table",{staticStyle:{width:"100%"},attrs:{data:t.tableData,border:""}},[i("el-table-column",{attrs:{type:"index",label:"序号",width:"60"}}),i("el-table-column",{attrs:{prop:"title",label:"表单名称",width:"220"}}),i("el-table-column",{attrs:{prop:"formType",label:"表单类型",width:"100"}}),i("el-table-column",{attrs:{prop:"description",label:"描述",width:"300"}}),i("el-table-column",{attrs:{prop:"activeVersion",label:"激活版本",width:"100"}}),i("el-table-column",{attrs:{prop:"workflowName",label:"关联流程",width:"150"},scopedSlots:t._u([{key:"default",fn:function(e){return[i("span",[t._v(t._s(e.row.workflowName+":"+e.row.workflowId.version))])]}}])}),i("el-table-column",{attrs:{prop:"creationTime",formatter:t.dateFormat,label:"创建时间",width:"160"}}),i("el-table-column",{attrs:{prop:"modifiedTime",formatter:t.dateFormat,label:"更新时间",width:"160"}}),i("el-table-column"),i("el-table-column",{attrs:{fixed:"right",label:"操作",width:"280"},scopedSlots:t._u([{key:"default",fn:function(e){return[i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return t.$refs.updateVersionForm.show(e.row)}}},[t._v("版本切换")]),i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return t.edit(e.row)}}},[t._v("编辑")]),i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return t.remove(e.row.id)}}},[t._v("删除")]),i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return t.$refs.viewFormDesignForm.show({id:e.row.id,version:e.row.activeVersion})}}},[t._v("查看表单")]),i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return t.$refs.workflowDesignForm.show(e.row.workflowId)}}},[t._v("流程图")])]}}])})],1),i("br"),i("el-pagination",{attrs:{background:"",layout:"sizes,prev, pager, next",total:t.page.total,"page-size":t.page.maxResultCount,"current-page":t.page.currentPage},on:{"current-change":function(e){return t.paginationChange(null,e)},"size-change":function(e){return t.paginationChange(e)}}}),i("createForm",{ref:"createForm",on:{"ok-click":t.created}}),i("editForm",{ref:"editForm",on:{"ok-click":t.getPageList}}),i("updateVersionForm",{ref:"updateVersionForm",on:{"ok-click":t.getPageList}}),i("workflowDesignForm",{ref:"workflowDesignForm"}),i("viewFormDesignForm",{ref:"viewFormDesignForm"})],1)},n=[],l=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",[i("el-dialog",{attrs:{title:"新增",visible:t.visible,width:"40%","close-on-click-modal":!1},on:{close:function(e){t.visible=!1}}},[i("el-form",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],ref:"form",staticClass:"demo-form",staticStyle:{width:"80%"},attrs:{model:t.form,rules:t.rules,"label-width":"100px","label-position":"right",size:"mini"}},[i("el-form-item",{attrs:{label:"关联流程","label-width":t.defaultLabelWidth,rules:t.rules["workflowId_id"]}},[i("el-select",{staticStyle:{width:"100%"},attrs:{filterable:"",value:t.workflowId,placeholder:"请选择"},on:{change:t.workflowIdChange}},t._l(t.allWorkflows,(function(t){return i("el-option",{key:t.id+t.activeVersion,attrs:{label:t.name+":Version"+t.activeVersion,value:t.id+":"+t.activeVersion}})})),1)],1),i("el-form-item",{attrs:{label:"表单名称",prop:"title","label-width":t.defaultLabelWidth}},[i("el-input",{attrs:{disabled:"",size:"mini",type:"text"},model:{value:t.form.title,callback:function(e){t.$set(t.form,"title",e)},expression:"form.title"}})],1),i("el-form-item",{attrs:{label:"表单类型",prop:"formType","label-width":t.defaultLabelWidth}},[i("el-input",{attrs:{size:"mini",type:"text"},model:{value:t.form.formType,callback:function(e){t.$set(t.form,"formType",e)},expression:"form.formType"}})],1),i("el-form-item",{attrs:{label:"描述",prop:"description","label-width":t.defaultLabelWidth}},[i("el-input",{attrs:{size:"mini",type:"text"},model:{value:t.form.description,callback:function(e){t.$set(t.form,"description",e)},expression:"form.description"}})],1)],1),i("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{size:"small"},on:{click:function(e){t.visible=!1}}},[t._v("取 消")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirm}},[t._v("确 定")])],1)],1)],1)},r=[],a=(i("4de4"),i("d3b7"),i("b0c0"),i("159b"),i("b64b"),i("a9e3"),i("ac1f"),i("1276"),{props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()},"form.workflowId.id":{handler:function(){var t=this;if(this.form.workflowId.id&&0!=this.form.workflowId.id.length){var e=this.allWorkflows.filter((function(e){return e.id==t.form.workflowId.id}))[0];this.form.title="表单-"+e.name+"-Version"+e.activeVersion,this.form.workflowId.version=e.activeVersion}}}},model:{prop:"value",event:"change"},computed:{workflowId:function(){var t=this.form.workflowId.id+":"+this.form.workflowId.version;return 1==t.length?"":t}},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{name:"",workflowId:{id:"",version:""}},allWorkflows:[],rules:{workflowId_id:[{required:!0,message:"请选择",trigger:"change"}]}}},methods:{confirm:function(){this.commit()},show:function(t){this.visible=!0,this.getWorkflowDesignList(),t&&this.loadData(t)},hide:function(){this.visible=!1,this.form={name:"",workflowId:{id:"",version:""}}},loadData:function(t){var e=this;this.loading=!0,Object.keys(t).forEach((function(i){e.form[i]=t[i]})),this.loading=!1},commit:function(){var t=this;this.$refs["form"].validate((function(e){if(!e)return console.log("error submit!!"),!1;t.form.workflowId.version=Number(t.form.workflowId.version),t.$store.dispatch("dynamicFormDesign/create",t.form).then((function(e){t.$emit("ok-click",e),t.hide()}))}))},getWorkflowDesignList:function(){var t=this;this.loading=!0,this.$store.dispatch("workflow/getAllWorkflowsWithVersion",this.form).then((function(e){t.allWorkflows=e,t.loading=!1}))},workflowIdChange:function(t){var e=t.split(":");this.form.workflowId={id:e[0],version:e[1]}}}}),s=a,c=i("2877"),d=Object(c["a"])(s,l,r,!1,null,null,null),f=d.exports,u=i("fad4"),m=i("eb3e"),h=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",[i("el-dialog",{attrs:{title:"切换版本",visible:t.visible,width:"40%","close-on-click-modal":!1},on:{close:function(e){t.visible=!1}}},[i("el-table",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],ref:"singleTable",staticStyle:{width:"100%",height:"40vh"},attrs:{data:t.selections},on:{"current-change":t.handleCurrentChange,"selection-change":t.handleSelectionChange}},[i("el-table-column",{attrs:{type:"index",width:"50"}}),i("el-table-column",{attrs:{property:"activeVersion",label:"版本编号",width:"120"}}),i("el-table-column",{attrs:{property:"name",label:"状态"},scopedSlots:t._u([{key:"default",fn:function(e){return[e.row.activeVersion==t.value.activeVersion?i("span",[t._v("激活")]):t._e()]}}])}),i("el-table-column",{attrs:{property:"name",label:"操作"},scopedSlots:t._u([{key:"default",fn:function(e){return[e.row.activeVersion!=t.value.activeVersion?i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return t.updateActiveVersion(e.row)}}},[t._v("切换")]):t._e()]}}])})],1),i("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{size:"small"},on:{click:function(e){t.visible=!1}}},[t._v("取 消")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirm}},[t._v("确 定")])],1)],1)],1)},p=[],g=i("5530"),v={props:{},watch:{visible:function(t,e){!t&&e&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{},rules:{},currentRow:null,selections:[],value:{},multipleSelection:[]}},methods:{confirm:function(){this.commit()},show:function(t){this.visible=!0,this.value=Object(g["a"])({},t),this.loadData(this.value)},hide:function(){this.visible=!1,this.form={name:""}},loadData:function(t){var e=this;this.loading=!0,this.value=t,this.getAllFormDesignVersions(t.id).then((function(){e.loading=!1}))},getAllFormDesignVersions:function(t){var e=this;return this.$store.dispatch("dynamicFormDesign/getAllFormDesignVersions",{formDesignId:t}).then((function(t){console.log(t),e.selections=t}))},updateActiveVersion:function(t){var e=this;this.loading=!0,this.$store.dispatch("dynamicFormDesign/setActiveVersion",{id:t.id,version:t.activeVersion}).then((function(i){e.loading=!1,e.value.activeVersion=t.activeVersion}))},commit:function(){this.$emit("ok-click",{}),this.hide()},handleCurrentChange:function(t){this.currentRow=t},handleSelectionChange:function(t){this.multipleSelection=t}}},w=v,b=Object(c["a"])(w,h,p,!1,null,null,null),k=b.exports,y=i("37c0"),D=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",[i("el-dialog",{attrs:{title:"表单预览",visible:t.visible,width:"60%","close-on-click-modal":!1},on:{close:function(e){t.visible=!1}}},[i("controlPanel",{ref:"controlPanel",attrs:{isEdit:t.isEdit}}),i("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{size:"small"},on:{click:function(e){t.visible=!1}}},[t._v("取 消")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirm}},[t._v("确 定")])],1)],1)],1)},x=[],$=i("afbe"),_={components:{controlPanel:$["a"]},props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,form:{name:"",formDesignId:{}},controls:[],selections:[],rules:{},isEdit:!1,workHistories:[]}},methods:{confirm:function(){this.commit()},show:function(t){this.visible=!0,t&&this.loadData(t)},hide:function(){this.visible=!1,this.form={name:"",formDesignId:{},formData:{}}},loadData:function(t){var e=this;this.loading=!0,this.getDesign(t).then((function(t){e.loading=!1,e.$refs.controlPanel.setValue(t,{})}))},commit:function(){this.$emit("ok-click",{}),this.hide()},getDesign:function(t){return this.$store.dispatch("dynamicFormDesign/getFormDesignVersion",t).then((function(t){return t&&t.designContent?JSON.parse(t&&t.designContent):[]}))}}},F=_,V=(i("7d4d"),Object(c["a"])(F,D,x,!1,null,null,null)),I=V.exports,L={components:{createForm:f,editForm:u["a"],updateVersionForm:k,workflowDesignForm:y["a"],viewFormDesignForm:I},mixins:[m["a"]],data:function(){return{moduleName:"dynamicFormDesign",isnew:!0}},methods:{created:function(){this.getPageList(),this.$notify({title:"恭喜添加新表单设计",message:"可以通过 编辑 对表单进行编辑,自定义表单布局和绑定的字段",type:"success"})},edit:function(t){this.$router.push({path:"/workflowDesign/editPage",query:{id:t.id,version:t.activeVersion||1}})}}},z=L,C=Object(c["a"])(z,o,n,!1,null,null,null);e["default"]=C.exports},"37c0":function(t,e,i){"use strict";var o,n=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",[i("el-dialog",{attrs:{title:"流程查看",visible:t.visible,width:"60%","close-on-click-modal":!1},on:{close:function(e){t.visible=!1}}},[i("workflowEditPanel",{ref:"workflowEditPanel",attrs:{nodeData:t.nodeData}}),i("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{size:"small"},on:{click:function(e){t.visible=!1}}},[t._v("取 消")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirm}},[t._v("确 定")])],1)],1)],1)},l=[],r=i("ade3"),a=(i("d3b7"),i("159b"),i("0aef")),s={components:{workflowEditPanel:a["a"]},props:{},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",nodeData:{},data:{}}},methods:(o={confirm:function(){this.commit()},show:function(t){this.visible=!0,this.loadData(t.version,t.id)},hide:function(){this.visible=!1,this.value={},this.control={}},loadData:function(t){},commit:function(){this.hide()}},Object(r["a"])(o,"loadData",(function(t,e){var i=this,o=this;this.$store.dispatch("workflow/getWorkflowVersion",{versionid:t,id:e}).then((function(t){o.nodeData=0==t.drawingInfo.length?i.defaultNode():JSON.parse(t.drawingInfo),o.data=t,o.nodeData.nodeList&&o.nodeData.nodeList.forEach((function(t){return t.viewOnly=!0})),o.$refs.workflowEditPanel.loadNodeData()}))})),Object(r["a"])(o,"defaultNode",(function(){return{name:"",nodeList:[],lineList:[]}})),o)},c=s,d=i("2877"),f=Object(d["a"])(c,n,l,!1,null,null,null);e["a"]=f.exports},"7d4d":function(t,e,i){"use strict";i("ada5")},ada5:function(t,e,i){},eb3e:function(t,e,i){"use strict";e["a"]={computed:{currentUserId:function(){return this.$store.state.user.user.id}},data:function(){return{moduleName:"",tableData:[],page:{total:100,maxResultCount:50,currentPage:1,conditions:[],sorting:"creationtime desc"},loading:{getPageList:!1}}},watch:{currentUserId:function(){this.getPageList&&this.getPageList()}},mounted:function(){this.getPageList()},methods:{dateFormat:function(t,e){var i=t[e.property];if(null===i)return"";var o=new Date(i);return o.getFullYear()+"-"+(o.getMonth()+1)+"-"+o.getDate()+" "+o.getHours()+":"+o.getMinutes()+":"+o.getSeconds()},paginationChange:function(t,e){t&&(this.page.maxResultCount=t),e&&(this.page.currentPage=e),this.getPageList()},create:function(){this.$refs.createForm.show()},edit:function(t){this.$refs.editForm.show(t)},getPageList:function(){var t=this;this.loading.getPageList=!0,this.page.skipCount=(this.page.currentPage-1)*this.page.maxResultCount,this.$store.dispatch(this.moduleName+"/getPageList",this.page).then((function(e){t.tableData=e.items,t.page.total=e.total,t.loading.getPageList=!1}))},remove:function(t){var e=this;this.$confirm("确认删除该记录?, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){e.$store.dispatch(e.moduleName+"/delete",{id:t}).then((function(t){e.$message({type:"success",message:"删除成功!"}),e.getPageList()}))})).catch((function(){e.$message({type:"info",message:"已取消删除"})}))}}}},fad4:function(t,e,i){"use strict";var o=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",[i("el-dialog",{attrs:{title:"编辑",visible:t.visible,width:"40%","close-on-click-modal":!1},on:{close:function(e){t.visible=!1}}},[i("el-form",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],ref:"form",staticClass:"demo-form",staticStyle:{width:"80%"},attrs:{model:t.form,rules:t.rules,"label-width":"100px","label-position":"right",size:"mini"}},[i("el-form-item",{attrs:{label:"表单名称",prop:"title","label-width":t.defaultLabelWidth}},[i("el-input",{attrs:{disabled:"",size:"mini",type:"text"},model:{value:t.form.title,callback:function(e){t.$set(t.form,"title",e)},expression:"form.title"}})],1),i("el-form-item",{attrs:{label:"表单类型",prop:"formType","label-width":t.defaultLabelWidth}},[i("el-input",{attrs:{size:"mini",type:"text"},model:{value:t.form.formType,callback:function(e){t.$set(t.form,"formType",e)},expression:"form.formType"}})],1),i("el-form-item",{attrs:{label:"版本","label-width":t.defaultLabelWidth}},[i("el-input",{attrs:{size:"mini",type:"number"},model:{value:t.form.activeVersion,callback:function(e){t.$set(t.form,"activeVersion",e)},expression:"form.activeVersion"}})],1),i("el-form-item",{attrs:{label:"描述",prop:"description","label-width":t.defaultLabelWidth}},[i("el-input",{attrs:{size:"mini",type:"text"},model:{value:t.form.description,callback:function(e){t.$set(t.form,"description",e)},expression:"form.description"}})],1)],1),i("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{size:"small"},on:{click:function(e){t.visible=!1}}},[t._v("取 消")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirm}},[t._v("确 定")])],1)],1)],1)},n=[],l=(i("a9e3"),i("ac1f"),i("1276"),{props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{workflowId:{},formDesignId:{}},rules:{name:[{required:!0,message:"请输入",trigger:"change"}]},allWorkflows:[]}},methods:{confirm:function(){this.commit()},show:function(t){this.visible=!0,t&&this.loadData(t)},hide:function(){this.visible=!1,this.form={workflowId:{},formDesignId:{}}},loadData:function(t){var e=this;this.loading=!0,this.$store.dispatch("dynamicFormDesign/get",{id:t.formDesignId.id}).then((function(i){e.form=i,e.form.designContent=t.designContent,e.form.activeVersion=t.formDesignId.version,e.loading=!1}))},commit:function(){var t=this;this.$refs["form"].validate((function(e){if(!e)return console.log("error submit!!"),!1;t.form.formDesignId={id:t.form.id,version:Number(t.form.activeVersion)},t.form.workflowId.version=Number(t.form.workflowId.version),t.$store.dispatch("dynamicFormDesign/update",t.form).then((function(e){t.$emit("ok-click",e),t.hide()}))}))},getAllWorkflowsWithVersion:function(){var t=this;this.loading=!0,this.$store.dispatch("workflow/getAllWorkflowsWithVersion",this.form).then((function(e){t.allWorkflows=e,t.loading=!1}))},workflowIdChange:function(t){var e=t.split(":");this.form.workflowId={id:e[0],version:e[1]}}}}),r=l,a=i("2877"),s=Object(a["a"])(r,o,n,!1,null,null,null);e["a"]=s.exports}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-238c903c.004549f9.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-238c903c.d4d3f4d4.js similarity index 100% rename from WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-238c903c.004549f9.js rename to WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-238c903c.d4d3f4d4.js diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-2d0c0323.4349e664.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-2d0c0323.4349e664.js deleted file mode 100644 index e11810458252d13c5b173be6f4db030121db92c0..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-2d0c0323.4349e664.js +++ /dev/null @@ -1 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0c0323"],{"416f":function(e,t,o){"use strict";o.r(t);var i=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{directives:[{name:"loading",rawName:"v-loading",value:e.loading.getPageList,expression:"loading.getPageList"}],staticClass:"app-container"},[o("div",[o("el-button",{attrs:{type:"primary",size:"small"},on:{click:function(t){return e.$refs.createForm.show()}}},[e._v("新增")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.getPageList}},[e._v("刷新")])],1),o("br"),o("el-table",{staticStyle:{width:"100%"},attrs:{data:e.tableData,border:""}},[o("el-table-column",{attrs:{type:"index",label:"序号",width:"60"}}),o("el-table-column",{attrs:{prop:"name",label:"名称",width:"220"}}),o("el-table-column",{attrs:{prop:"activeVersion",label:"版本",width:"60"}}),o("el-table-column",{attrs:{prop:"description",label:"描述"}}),o("el-table-column",{attrs:{prop:"modifiedTime",label:"更新日期",formatter:e.dateFormat,width:"150"}}),o("el-table-column",{attrs:{prop:"creationTime",label:"创建日期",formatter:e.dateFormat,width:"150"}}),o("el-table-column"),o("el-table-column",{attrs:{fixed:"right",label:"操作",width:"240"},scopedSlots:e._u([{key:"default",fn:function(t){return[o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return e.$refs.updateVersionForm.show(t.row)}}},[e._v("版本切换")]),o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return e.$router.push({path:"/workflowDesign/simulation",query:{id:t.row.id,versionId:t.row.activeVersion,name:t.row.name}})}}},[e._v("模拟")]),o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return e.$router.push({path:"/editworkflow/edit",query:{id:t.row.id,versionId:t.row.activeVersion,name:t.row.name,des:t.row.description}})}}},[e._v("编辑")]),o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return e.$refs.viewWorkflowForm.show({id:t.row.id,version:t.row.activeVersion,name:t.row.name})}}},[e._v("查看")]),o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return e.remove(t.row.id)}}},[e._v("删除")])]}}])})],1),o("br"),o("el-pagination",{attrs:{background:"",layout:"sizes,prev, pager, next",total:e.page.total,"page-size":e.page.maxResultCount,"current-page":e.page.currentPage},on:{"current-change":function(t){return e.paginationChange(null,t)},"size-change":function(t){return e.paginationChange(t)}}}),o("createForm",{ref:"createForm",on:{"ok-click":function(t){return e.$router.push({path:"/editworkflow/edit",query:{id:t.id,versionId:t.activeVersion,name:t.name,des:t.description}})}}}),o("updateVersionForm",{ref:"updateVersionForm",on:{"ok-click":function(t){return e.getPageList()}}}),o("viewWorkflowForm",{ref:"viewWorkflowForm"})],1)},n=[],l=o("ade3"),a=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("el-dialog",{attrs:{title:"新增流程",visible:e.visible,width:"40%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[o("el-form",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],ref:"form",staticClass:"demo-form",staticStyle:{width:"80%"},attrs:{model:e.form,rules:e.rules,"label-width":"100px","label-position":"right",size:"mini"}},[o("el-form-item",{attrs:{label:"名称",prop:"name","label-width":e.defaultLabelWidth}},[o("el-input",{attrs:{size:"mini",type:"text"},model:{value:e.form.name,callback:function(t){e.$set(e.form,"name",t)},expression:"form.name"}})],1),o("el-form-item",{attrs:{label:"描述",prop:"name","label-width":e.defaultLabelWidth}},[o("el-input",{attrs:{size:"mini",type:"textarea"},model:{value:e.form.des,callback:function(t){e.$set(e.form,"des",t)},expression:"form.des"}})],1)],1),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)},r=[],s=(o("d3b7"),o("159b"),o("b64b"),{props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{name:""},rules:{name:[{required:!0,message:"请输入",trigger:"change"}]}}},methods:{confirm:function(){this.commit()},show:function(e){this.visible=!0,e&&this.loadData(e)},hide:function(){this.visible=!1,this.form={name:""}},loadData:function(e){var t=this;this.loading=!0,Object.keys(e).forEach((function(o){t.form[o]=e[o]})),this.loading=!1},commit:function(){var e=this;this.$refs["form"].validate((function(t){if(!t)return console.log("error submit!!"),!1;e.$store.dispatch("workflow/createWorkFlow",e.form).then((function(t){e.$emit("ok-click",t),e.hide()}))}))}}}),c=s,u=o("2877"),d=Object(u["a"])(c,a,r,!1,null,null,null),m=d.exports,f=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("el-dialog",{attrs:{title:"切换版本",visible:e.visible,width:"40%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[o("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],ref:"singleTable",staticStyle:{width:"100%",height:"40vh"},attrs:{data:e.selections},on:{"current-change":e.handleCurrentChange,"selection-change":e.handleSelectionChange}},[o("el-table-column",{attrs:{type:"index",width:"50"}}),o("el-table-column",{attrs:{property:"versionNo",label:"版本编号",width:"120"}}),o("el-table-column",{attrs:{property:"description",label:"描述"}}),o("el-table-column",{attrs:{property:"name",label:"状态"},scopedSlots:e._u([{key:"default",fn:function(t){return[t.row.versionNo==e.value.activeVersion?o("span",[e._v("激活")]):e._e()]}}])}),o("el-table-column",{attrs:{property:"name",label:"操作"},scopedSlots:e._u([{key:"default",fn:function(t){return[t.row.versionNo!=e.value.activeVersion?o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return e.updateActiveVersion(t.row)}}},[e._v("切换")]):e._e()]}}])})],1),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)},h=[],p=o("5530"),v={props:{},watch:{visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{},rules:{},currentRow:null,selections:[],value:{},multipleSelection:[]}},methods:{confirm:function(){this.commit()},show:function(e){this.visible=!0,this.value=Object(p["a"])({},e),this.loadData(this.value)},hide:function(){this.visible=!1,this.form={name:""}},loadData:function(e){var t=this;this.loading=!0,this.value=e,this.getAllWorkflowVersions(e.id).then((function(){t.loading=!1}))},getAllWorkflowVersions:function(e){var t=this;return this.$store.dispatch("workflow/getAllWorkflowVersions",{workflowId:e}).then((function(e){console.log(e),t.selections=e}))},updateActiveVersion:function(e){var t=this;this.loading=!0,this.$store.dispatch("workflow/updateWorkflowActiveVersion",{workflowId:e.workflowId,activeVersion:e.versionNo}).then((function(o){t.loading=!1,t.value.activeVersion=e.versionNo}))},commit:function(){this.$emit("ok-click",{}),this.hide()},handleCurrentChange:function(e){this.currentRow=e},handleSelectionChange:function(e){this.multipleSelection=e}}},b=v,w=Object(u["a"])(b,f,h,!1,null,null,null),g=w.exports,k=o("eb3e"),y=o("37c0"),x=Object(l["a"])({components:{createForm:m,updateVersionForm:g,viewWorkflowForm:y["a"]},mixins:[k["a"]],methods:{handleClick:function(e){console.log(e)}},data:function(){return{moduleName:"workflow"}},mounted:function(){this.getPageList()}},"methods",{getPageList:function(){var e=this;this.loading.getPageList=!0,this.$store.dispatch("workflow/getAllWorkflows",this.page).then((function(t){e.tableData=t.items,e.page.total=t.total,e.loading.getPageList=!1}))}}),_=x,V=Object(u["a"])(_,i,n,!1,null,null,null);t["default"]=V.exports}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-2d0dead0.58ef810d.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-2d0dead0.58ef810d.js new file mode 100644 index 0000000000000000000000000000000000000000..208dc398e56ee13ac10096d116304a9e0bdd675b --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-2d0dead0.58ef810d.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0dead0"],{8750:function(e,t,o){"use strict";o.r(t);var i=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("workflowEditPanel",{ref:"workflowEditPanel",attrs:{nodeData:e.nodeData},on:{update:e.update}}),o("updateForm",{ref:"updateForm"})],1)},n=[],a=(o("b0c0"),o("a4d3"),o("e01a"),function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("el-dialog",{attrs:{title:"更新流程",visible:e.visible,width:"40%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[o("el-form",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],ref:"form",staticClass:"demo-form",staticStyle:{width:"80%"},attrs:{model:e.form,rules:e.rules,"label-width":"100px","label-position":"right",size:"mini"}},[o("el-form-item",{attrs:{label:"名称",prop:"name","label-width":e.defaultLabelWidth}},[o("el-input",{attrs:{disabled:"",size:"mini",type:"text"},model:{value:e.form.name,callback:function(t){e.$set(e.form,"name",t)},expression:"form.name"}})],1),o("el-form-item",{attrs:{label:"描述",prop:"des","label-width":e.defaultLabelWidth}},[o("el-input",{attrs:{size:"mini",type:"textarea"},model:{value:e.form.des,callback:function(t){e.$set(e.form,"des",t)},expression:"form.des"}})],1),o("el-form-item",{attrs:{label:"版本",prop:"workflowId.versionId","label-width":e.defaultLabelWidth}},[o("el-input",{attrs:{size:"mini",type:"number"},model:{value:e.form.workflowId.versionId,callback:function(t){e.$set(e.form.workflowId,"versionId",t)},expression:"form.workflowId.versionId"}})],1),o("el-form-item",{attrs:{label:"版本描述",prop:"versionDescription","label-width":e.defaultLabelWidth}},[o("el-input",{attrs:{size:"mini",type:"textarea"},model:{value:e.form.versionDescription,callback:function(t){e.$set(e.form,"versionDescription",t)},expression:"form.versionDescription"}})],1)],1),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)}),s=[],l=(o("d3b7"),o("159b"),o("b64b"),o("a9e3"),{props:{value:{id:1}},watch:{value:{handler:function(){this.load()},deep:!0},visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{workflowId:{}},rules:{name:[{required:!0,message:"请输入",trigger:"change"}],"workflowId.versionId":[{required:!0,message:"请输入",trigger:"change"}]}}},methods:{confirm:function(){this.commit()},show:function(e){this.visible=!0,e&&this.loadData(e)},hide:function(){this.visible=!1},loadData:function(e){var t=this;this.loading=!0,Object.keys(e).forEach((function(o){t.$set(t.form,o,e[o])})),this.loading=!1},commit:function(){var e=this;this.$refs["form"].validate((function(t){if(!t)return console.log("error submit!!"),!1;e.form.workflowId.versionId=Number(e.form.workflowId.versionId),e.$store.dispatch("workflow/updateWorkflow",e.form).then((function(t){e.$emit("ok-click",t),e.hide(),e.$message({message:"操作成功!",type:"success"})}))}))}}}),r=l,d=o("2877"),c=Object(d["a"])(r,a,s,!1,null,null,null),u=c.exports,f=function(){var e=this,t=e.$createElement,o=e._self._c||t;return e.easyFlowVisible?o("div",{staticStyle:{height:"calc(100vh)"}},[o("el-row",[o("el-col",{attrs:{span:24}},[o("div",{staticClass:"ef-tooltar"},[o("el-button",{attrs:{type:"text",icon:"el-icon-delete",size:"large",disabled:!this.activeElement.type},on:{click:e.deleteElement}}),o("el-divider",{attrs:{direction:"vertical"}}),o("el-button",{attrs:{type:"text",icon:"el-icon-download",size:"large"},on:{click:e.downloadData}}),o("el-divider",{attrs:{direction:"vertical"}}),o("el-button",{attrs:{type:"text",icon:"el-icon-plus",size:"large"},on:{click:e.zoomAdd}}),o("el-divider",{attrs:{direction:"vertical"}}),o("el-button",{attrs:{type:"text",icon:"el-icon-minus",size:"large"},on:{click:e.zoomSub}}),o("el-divider",{attrs:{direction:"vertical"}}),o("el-link",{staticStyle:{"text-aglin":"center"},attrs:{underline:!1}},[e._v(e._s(e.workflowName))]),o("div",{staticStyle:{float:"right","margin-right":"5px"}},[o("el-button",{attrs:{type:"danger",plain:"",icon:"el-icon-document",size:"mini"},on:{click:function(t){return e.$router.push({path:"/workflowDesign/list"})}}},[e._v("返回")]),o("el-button",{attrs:{type:"info",plain:"",icon:"el-icon-document",size:"mini"},on:{click:e.dataInfo}},[e._v("流程信息")]),o("el-button",{attrs:{type:"primary",plain:"",icon:"el-icon-document",size:"mini"},on:{click:e.update}},[e._v("保存")])],1)],1)])],1),o("div",{staticStyle:{display:"flex",height:"calc(100% - 47px)"}},[o("div",{staticStyle:{width:"230px","border-right":"1px solid #dce3e8"}},[o("node-menu",{ref:"nodeMenu",on:{addNode:e.addNode}})],1),o("div",{directives:[{name:"flowDrag",rawName:"v-flowDrag"}],ref:"efContainer",staticClass:"container",attrs:{id:"efContainer"}},[e._l(e.data.nodeList,(function(t){return[o("flow-node",{key:t.id,attrs:{id:t.id,node:t,activeElement:e.activeElement},on:{changeNodeSite:e.changeNodeSite,nodeRightMenu:e.nodeRightMenu,clickNode:e.clickNode}})]})),o("div",{staticStyle:{position:"absolute",top:"2000px",left:"2000px"}})],2),o("div",{staticStyle:{width:"300px",height:"100%","overflow-y":"auto","border-left":"1px solid #dce3e8","background-color":"#FBFBFB"}},[o("flow-node-form",{directives:[{name:"show",rawName:"v-show",value:e.activeElement&&e.activeElement.type,expression:"activeElement && activeElement.type"}],ref:"nodeForm",on:{setLineLabel:e.setLineLabel,repaintEverything:e.repaintEverything}})],1)]),e.flowInfoVisible?o("flow-info",{ref:"flowInfo",attrs:{data:e.data},on:{update:function(t){return e.dataReload(t)}}}):e._e(),e.flowHelpVisible?o("flow-help",{ref:"flowHelp"}):e._e()],1):e._e()},m=[],h=(o("25f0"),o("4de4"),o("e9c4"),o("b76a")),p=o.n(h),v=(o("7aa8"),o("3301")),b=o("540a"),g=o("c069"),w=o("c5dc"),y=o("4af4"),k=o("b545"),I=o("2ef0"),L=o.n(I),x=(o("f598"),o("6951"),o("92f6"),o("b214"),o("30f2"),o("018b"),{props:{nodeData:{type:Object}},computed:{workflowName:function(){return this.$route.query.name}},data:function(){return{jsPlumb:null,easyFlowVisible:!0,flowInfoVisible:!1,loadEasyFlowFinish:!1,flowHelpVisible:!1,data:{},activeElement:{type:void 0,nodeId:void 0,sourceId:void 0,targetId:void 0},zoom:.5,activeLine:{from:"",to:""},nodeTypeMap:{Begin:0,End:1,Normal:2,Judge:3,Sign:4,SubProcess:6,SubNode:7},workflowId:{}}},mixins:[v["a"]],components:{draggable:p.a,flowNode:b["a"],nodeMenu:g["a"],FlowInfo:w["a"],FlowNodeForm:k["a"],FlowHelp:y["a"]},directives:{flowDrag:{bind:function(e,t,o,i){t&&(e.onmousedown=function(t){if(2!=t.button){var o=t.clientX,i=t.clientY;e.style.cursor="move",document.onmousemove=function(t){t.preventDefault();var n=t.clientX-o;o=t.clientX,e.scrollLeft+=-n;var a=t.clientY-i;i=t.clientY,e.scrollTop+=-a},document.onmouseup=function(t){e.style.cursor="auto",document.onmousemove=null,document.onmouseup=null}}})}}},mounted:function(){this.jsPlumb=jsPlumb.getInstance(),this.keyCodeForEvent()},methods:{loadNodeData:function(){var e=this;this.$nextTick((function(){e.dataReload(e.nodeData)}))},getUUID:function(){return Math.random().toString(36).substr(3,10)},newGuid:function(){for(var e="",t=1;t<=32;t++){var o=Math.floor(16*Math.random()).toString(16);e+=o,8!=t&&12!=t&&16!=t&&20!=t||(e+="-")}return e},jsPlumbInit:function(){var e=this,t=this;this.jsPlumb.ready((function(){e.jsPlumb.importDefaults(e.jsplumbSetting),e.jsPlumb.setSuspendDrawing(!1,!0),e.loadEasyFlow(),e.jsPlumb.bind("click",(function(o,i){e.activeElement.type="line",e.activeElement.sourceId=o.sourceId,e.activeElement.targetId=o.targetId,e.$refs.nodeForm.lineInit({from:o.sourceId,to:o.targetId,label:o.getLabel(),conditions:e.getConditionsOfLine(o.sourceId,o.targetId)});var n={from:o.sourceId,to:o.targetId};t.activeLine.from==n.from&&t.activeLine.to==n.to||(t.resetOldLineStyle(),t.activeLine=n,o.setPaintStyle({stroke:"lightgray",strokeWidth:3}),console.log(e.jsplumbConnectOptions))})),e.jsPlumb.bind("connection",(function(t){var o=t.source.id,i=t.target.id;e.loadEasyFlowFinish&&e.data.lineList.push({from:o,to:i,label:"",conditions:[]})})),e.jsPlumb.bind("connectionDetached",(function(t){e.deleteLine(t.sourceId,t.targetId)})),e.jsPlumb.bind("connectionMoved",(function(t){e.changeLine(t.originalSourceId,t.originalTargetId)})),e.jsPlumb.bind("contextmenu",(function(e){console.log("contextmenu",e)})),e.jsPlumb.bind("beforeDrop",(function(t){var o=t.sourceId,i=t.targetId;return e.hasLine(o,i)?(e.$message.error("该关系已存在,不允许重复创建"),!1):(e.$message.success("连接成功"),!0)})),e.jsPlumb.bind("beforeDetach",(function(e){console.log("beforeDetach",e)})),e.jsPlumb.setContainer(e.$refs.efContainer)}))},loadEasyFlow:function(){for(var e=0;es.width+s.x||rs.y+s.height)this.$message.error("请把节点拖入到画布中");else{l=l-s.x+a.scrollLeft,r=r-s.y+a.scrollTop,l-=85,r-=16;var d=this.newGuid(),c=t.name,u=c,f=1;while(f<1e4){for(var m=!1,h=0;h=1||(this.zoom=this.zoom+.1,this.$refs.efContainer.style.transform="scale(".concat(this.zoom,")"),this.jsPlumb.setZoom(this.zoom))},zoomSub:function(){this.zoom<=0||(this.zoom=this.zoom-.1,this.$refs.efContainer.style.transform="scale(".concat(this.zoom,")"),this.jsPlumb.setZoom(this.zoom))},downloadData:function(){var e=this;this.$confirm("确定要下载该流程数据吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning",closeOnClickModal:!1}).then((function(){var t="data:text/json;charset=utf-8,"+encodeURIComponent(JSON.stringify(e.data,null,"\t")),o=document.createElement("a");o.setAttribute("href",t),o.setAttribute("download","data.json"),o.click(),o.remove(),e.$message.success("正在下载中,请稍后...")})).catch((function(){}))},openHelp:function(){this.flowHelpVisible=!0,this.$nextTick((function(){this.$refs.flowHelp.init()}))},keyCodeForEvent:function(){var e=this;document.getElementById("efContainer").onkeydown=function(t){console.log(t);var o=t||event,i=o.keyCode||o.which||o.charCode;8!==i&&46!==i||(e.deleteElement(),o.preventDefault())}},getConditionsOfLine:function(e,t){return this.data.lineList.filter((function(o){return o.from==e&&o.to==t}))[0].conditions},resetOldLineStyle:function(){var e=this.jsPlumb.getConnections({source:this.activeLine.from,target:this.activeLine.to});if(this.activeLine={from:"",to:""},1==e.length){var t=e[0];t.setPaintStyle(this.jsplumbSetting.PaintStyle)}},update:function(){var e=this,t={drawingInfo:JSON.stringify(this.data),workflowId:this.workflowId,workflowLines:[],workflowNodes:[]};this.data.nodeList.forEach((function(o){o.nodeType=e.nodeTypeMap[o.type],t.workflowNodes.push(o)})),this.data.lineList.forEach((function(e){e.name=e.label,e.fromNodeId=e.from,e.toNodeId=e.to,t.workflowLines.push(e)})),console.log(t),this.$emit("update",t)}}}),j=x,E=Object(d["a"])(j,f,m,!1,null,null,null),$=E.exports,P={components:{workflowEditPanel:$,updateForm:u},data:function(){return{nodeData:{},data:{}}},mounted:function(){this.loadData(this.$route.query.versionId,this.$route.query.id)},methods:{loadData:function(e,t){var o=this,i=this;this.$store.dispatch("workflow/getWorkflowVersion",{versionid:e,id:t}).then((function(e){i.nodeData=0==e.drawingInfo.length?o.defaultNode():JSON.parse(e.drawingInfo),i.data=e,i.$refs.workflowEditPanel.loadNodeData()}))},defaultNode:function(){return{name:"",nodeList:[],lineList:[]}},update:function(e){var t={des:this.$route.query.des,name:this.$route.query.name,versionDescription:this.data.description};for(var o in e)t[o]=e[o];t.workflowId={versionId:this.data.versionNo,id:this.data.workflowId},this.$refs.updateForm.show(t)}}},S=P,N=Object(d["a"])(S,i,n,!1,null,null,null);t["default"]=N.exports}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-2d0dead0.dcb5b74f.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-2d0dead0.dcb5b74f.js deleted file mode 100644 index 5ae294b675466f6ea7ceb9d78f84fc097d9505ab..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-2d0dead0.dcb5b74f.js +++ /dev/null @@ -1 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0dead0"],{8750:function(e,t,o){"use strict";o.r(t);var i=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("workflowEditPanel",{ref:"workflowEditPanel",attrs:{nodeData:e.nodeData},on:{update:e.update}}),o("updateForm",{ref:"updateForm"})],1)},n=[],a=(o("b0c0"),o("a4d3"),o("e01a"),function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("el-dialog",{attrs:{title:"更新流程",visible:e.visible,width:"40%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[o("el-form",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],ref:"form",staticClass:"demo-form",staticStyle:{width:"80%"},attrs:{model:e.form,rules:e.rules,"label-width":"100px","label-position":"right",size:"mini"}},[o("el-form-item",{attrs:{label:"名称",prop:"name","label-width":e.defaultLabelWidth}},[o("el-input",{attrs:{size:"mini",type:"text"},model:{value:e.form.name,callback:function(t){e.$set(e.form,"name",t)},expression:"form.name"}})],1),o("el-form-item",{attrs:{label:"描述",prop:"des","label-width":e.defaultLabelWidth}},[o("el-input",{attrs:{size:"mini",type:"textarea"},model:{value:e.form.des,callback:function(t){e.$set(e.form,"des",t)},expression:"form.des"}})],1),o("el-form-item",{attrs:{label:"版本",prop:"workflowId.versionId","label-width":e.defaultLabelWidth}},[o("el-input",{attrs:{size:"mini",type:"number"},model:{value:e.form.workflowId.versionId,callback:function(t){e.$set(e.form.workflowId,"versionId",t)},expression:"form.workflowId.versionId"}})],1),o("el-form-item",{attrs:{label:"版本描述",prop:"versionDescription","label-width":e.defaultLabelWidth}},[o("el-input",{attrs:{size:"mini",type:"textarea"},model:{value:e.form.versionDescription,callback:function(t){e.$set(e.form,"versionDescription",t)},expression:"form.versionDescription"}})],1)],1),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)}),s=[],l=(o("d3b7"),o("159b"),o("b64b"),o("a9e3"),{props:{value:{id:1}},watch:{value:{handler:function(){this.load()},deep:!0},visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{workflowId:{}},rules:{name:[{required:!0,message:"请输入",trigger:"change"}],"workflowId.versionId":[{required:!0,message:"请输入",trigger:"change"}]}}},methods:{confirm:function(){this.commit()},show:function(e){this.visible=!0,e&&this.loadData(e)},hide:function(){this.visible=!1},loadData:function(e){var t=this;this.loading=!0,Object.keys(e).forEach((function(o){t.$set(t.form,o,e[o])})),this.loading=!1},commit:function(){var e=this;this.$refs["form"].validate((function(t){if(!t)return console.log("error submit!!"),!1;e.form.workflowId.versionId=Number(e.form.workflowId.versionId),e.$store.dispatch("workflow/updateWorkflow",e.form).then((function(t){e.$emit("ok-click",t),e.hide(),e.$message({message:"操作成功!",type:"success"})}))}))}}}),r=l,d=o("2877"),c=Object(d["a"])(r,a,s,!1,null,null,null),u=c.exports,f=function(){var e=this,t=e.$createElement,o=e._self._c||t;return e.easyFlowVisible?o("div",{staticStyle:{height:"calc(100vh)"}},[o("el-row",[o("el-col",{attrs:{span:24}},[o("div",{staticClass:"ef-tooltar"},[o("el-button",{attrs:{type:"text",icon:"el-icon-delete",size:"large",disabled:!this.activeElement.type},on:{click:e.deleteElement}}),o("el-divider",{attrs:{direction:"vertical"}}),o("el-button",{attrs:{type:"text",icon:"el-icon-download",size:"large"},on:{click:e.downloadData}}),o("el-divider",{attrs:{direction:"vertical"}}),o("el-button",{attrs:{type:"text",icon:"el-icon-plus",size:"large"},on:{click:e.zoomAdd}}),o("el-divider",{attrs:{direction:"vertical"}}),o("el-button",{attrs:{type:"text",icon:"el-icon-minus",size:"large"},on:{click:e.zoomSub}}),o("el-divider",{attrs:{direction:"vertical"}}),o("el-link",{staticStyle:{"text-aglin":"center"},attrs:{underline:!1}},[e._v(e._s(e.workflowName))]),o("div",{staticStyle:{float:"right","margin-right":"5px"}},[o("el-button",{attrs:{type:"danger",plain:"",icon:"el-icon-document",size:"mini"},on:{click:function(t){return e.$router.push({path:"/workflowDesign/list"})}}},[e._v("返回")]),o("el-button",{attrs:{type:"info",plain:"",icon:"el-icon-document",size:"mini"},on:{click:e.dataInfo}},[e._v("流程信息")]),o("el-button",{attrs:{type:"primary",plain:"",icon:"el-icon-document",size:"mini"},on:{click:e.update}},[e._v("保存")])],1)],1)])],1),o("div",{staticStyle:{display:"flex",height:"calc(100% - 47px)"}},[o("div",{staticStyle:{width:"230px","border-right":"1px solid #dce3e8"}},[o("node-menu",{ref:"nodeMenu",on:{addNode:e.addNode}})],1),o("div",{directives:[{name:"flowDrag",rawName:"v-flowDrag"}],ref:"efContainer",staticClass:"container",attrs:{id:"efContainer"}},[e._l(e.data.nodeList,(function(t){return[o("flow-node",{key:t.id,attrs:{id:t.id,node:t,activeElement:e.activeElement},on:{changeNodeSite:e.changeNodeSite,nodeRightMenu:e.nodeRightMenu,clickNode:e.clickNode}})]})),o("div",{staticStyle:{position:"absolute",top:"2000px",left:"2000px"}})],2),o("div",{staticStyle:{width:"300px",height:"100%","overflow-y":"auto","border-left":"1px solid #dce3e8","background-color":"#FBFBFB"}},[o("flow-node-form",{directives:[{name:"show",rawName:"v-show",value:e.activeElement&&e.activeElement.type,expression:"activeElement && activeElement.type"}],ref:"nodeForm",on:{setLineLabel:e.setLineLabel,repaintEverything:e.repaintEverything}})],1)]),e.flowInfoVisible?o("flow-info",{ref:"flowInfo",attrs:{data:e.data}}):e._e(),e.flowHelpVisible?o("flow-help",{ref:"flowHelp"}):e._e()],1):e._e()},m=[],h=(o("25f0"),o("4de4"),o("e9c4"),o("b76a")),p=o.n(h),v=(o("7aa8"),o("3301")),b=o("540a"),g=o("c069"),w=o("c5dc"),y=o("4af4"),k=o("b545"),I=o("2ef0"),L=o.n(I),x=(o("f598"),o("6951"),o("92f6"),o("b214"),o("30f2"),o("018b"),{props:{nodeData:{type:Object}},computed:{workflowName:function(){return this.$route.query.name}},data:function(){return{jsPlumb:null,easyFlowVisible:!0,flowInfoVisible:!1,loadEasyFlowFinish:!1,flowHelpVisible:!1,data:{},activeElement:{type:void 0,nodeId:void 0,sourceId:void 0,targetId:void 0},zoom:.5,activeLine:{from:"",to:""},nodeTypeMap:{Begin:0,End:1,Normal:2,Judge:3,Sign:4,SubProcess:6,SubNode:7},workflowId:{}}},mixins:[v["a"]],components:{draggable:p.a,flowNode:b["a"],nodeMenu:g["a"],FlowInfo:w["a"],FlowNodeForm:k["a"],FlowHelp:y["a"]},directives:{flowDrag:{bind:function(e,t,o,i){t&&(e.onmousedown=function(t){if(2!=t.button){var o=t.clientX,i=t.clientY;e.style.cursor="move",document.onmousemove=function(t){t.preventDefault();var n=t.clientX-o;o=t.clientX,e.scrollLeft+=-n;var a=t.clientY-i;i=t.clientY,e.scrollTop+=-a},document.onmouseup=function(t){e.style.cursor="auto",document.onmousemove=null,document.onmouseup=null}}})}}},mounted:function(){this.jsPlumb=jsPlumb.getInstance(),this.keyCodeForEvent()},methods:{loadNodeData:function(){var e=this;this.$nextTick((function(){e.dataReload(e.nodeData)}))},getUUID:function(){return Math.random().toString(36).substr(3,10)},newGuid:function(){for(var e="",t=1;t<=32;t++){var o=Math.floor(16*Math.random()).toString(16);e+=o,8!=t&&12!=t&&16!=t&&20!=t||(e+="-")}return e},jsPlumbInit:function(){var e=this,t=this;this.jsPlumb.ready((function(){e.jsPlumb.importDefaults(e.jsplumbSetting),e.jsPlumb.setSuspendDrawing(!1,!0),e.loadEasyFlow(),e.jsPlumb.bind("click",(function(o,i){e.activeElement.type="line",e.activeElement.sourceId=o.sourceId,e.activeElement.targetId=o.targetId,e.$refs.nodeForm.lineInit({from:o.sourceId,to:o.targetId,label:o.getLabel(),conditions:e.getConditionsOfLine(o.sourceId,o.targetId)});var n={from:o.sourceId,to:o.targetId};t.activeLine.from==n.from&&t.activeLine.to==n.to||(t.resetOldLineStyle(),t.activeLine=n,o.setPaintStyle({stroke:"lightgray",strokeWidth:3}),console.log(e.jsplumbConnectOptions))})),e.jsPlumb.bind("connection",(function(t){var o=t.source.id,i=t.target.id;e.loadEasyFlowFinish&&e.data.lineList.push({from:o,to:i,label:"",conditions:[]})})),e.jsPlumb.bind("connectionDetached",(function(t){e.deleteLine(t.sourceId,t.targetId)})),e.jsPlumb.bind("connectionMoved",(function(t){e.changeLine(t.originalSourceId,t.originalTargetId)})),e.jsPlumb.bind("contextmenu",(function(e){console.log("contextmenu",e)})),e.jsPlumb.bind("beforeDrop",(function(t){var o=t.sourceId,i=t.targetId;return e.hasLine(o,i)?(e.$message.error("该关系已存在,不允许重复创建"),!1):(e.$message.success("连接成功"),!0)})),e.jsPlumb.bind("beforeDetach",(function(e){console.log("beforeDetach",e)})),e.jsPlumb.setContainer(e.$refs.efContainer)}))},loadEasyFlow:function(){for(var e=0;es.width+s.x||rs.y+s.height)this.$message.error("请把节点拖入到画布中");else{l=l-s.x+a.scrollLeft,r=r-s.y+a.scrollTop,l-=85,r-=16;var d=this.newGuid(),c=t.name,u=c,f=1;while(f<1e4){for(var m=!1,h=0;h=1||(this.zoom=this.zoom+.1,this.$refs.efContainer.style.transform="scale(".concat(this.zoom,")"),this.jsPlumb.setZoom(this.zoom))},zoomSub:function(){this.zoom<=0||(this.zoom=this.zoom-.1,this.$refs.efContainer.style.transform="scale(".concat(this.zoom,")"),this.jsPlumb.setZoom(this.zoom))},downloadData:function(){var e=this;this.$confirm("确定要下载该流程数据吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning",closeOnClickModal:!1}).then((function(){var t="data:text/json;charset=utf-8,"+encodeURIComponent(JSON.stringify(e.data,null,"\t")),o=document.createElement("a");o.setAttribute("href",t),o.setAttribute("download","data.json"),o.click(),o.remove(),e.$message.success("正在下载中,请稍后...")})).catch((function(){}))},openHelp:function(){this.flowHelpVisible=!0,this.$nextTick((function(){this.$refs.flowHelp.init()}))},keyCodeForEvent:function(){var e=this;document.getElementById("efContainer").onkeydown=function(t){console.log(t);var o=t||event,i=o.keyCode||o.which||o.charCode;8!==i&&46!==i||(e.deleteElement(),o.preventDefault())}},getConditionsOfLine:function(e,t){return this.data.lineList.filter((function(o){return o.from==e&&o.to==t}))[0].conditions},resetOldLineStyle:function(){var e=this.jsPlumb.getConnections({source:this.activeLine.from,target:this.activeLine.to});if(this.activeLine={from:"",to:""},1==e.length){var t=e[0];t.setPaintStyle(this.jsplumbSetting.PaintStyle)}},update:function(){var e=this,t={drawingInfo:JSON.stringify(this.data),workflowId:this.workflowId,workflowLines:[],workflowNodes:[]};this.data.nodeList.forEach((function(o){o.nodeType=e.nodeTypeMap[o.type],t.workflowNodes.push(o)})),this.data.lineList.forEach((function(e){e.name=e.label,e.fromNodeId=e.from,e.toNodeId=e.to,t.workflowLines.push(e)})),console.log(t),this.$emit("update",t)}}}),j=x,E=Object(d["a"])(j,f,m,!1,null,null,null),$=E.exports,P={components:{workflowEditPanel:$,updateForm:u},data:function(){return{nodeData:{},data:{}}},mounted:function(){this.loadData(this.$route.query.versionId,this.$route.query.id)},methods:{loadData:function(e,t){var o=this,i=this;this.$store.dispatch("workflow/getWorkflowVersion",{versionid:e,id:t}).then((function(e){i.nodeData=0==e.drawingInfo.length?o.defaultNode():JSON.parse(e.drawingInfo),i.data=e,i.$refs.workflowEditPanel.loadNodeData()}))},defaultNode:function(){return{name:"",nodeList:[],lineList:[]}},update:function(e){var t={des:this.$route.query.des,name:this.$route.query.name,versionDescription:this.data.description};for(var o in e)t[o]=e[o];t.workflowId={versionId:this.data.versionNo,id:this.data.workflowId},this.$refs.updateForm.show(t)}}},S=P,N=Object(d["a"])(S,i,n,!1,null,null,null);t["default"]=N.exports}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-2f5dfefb.471adb6b.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-2f5dfefb.471adb6b.js new file mode 100644 index 0000000000000000000000000000000000000000..40fe8e9f67cdc0acb517a7bc3c544698ad5f4930 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-2f5dfefb.471adb6b.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2f5dfefb"],{"0254":function(e,t,o){},"09e3":function(e,t,o){"use strict";o("0254")},"0ccb":function(e,t,o){var s=o("50c4"),i=o("1148"),r=o("1d80"),n=Math.ceil,a=function(e){return function(t,o,a){var l,c,d=String(r(t)),u=d.length,h=void 0===a?" ":String(a),f=s(o);return f<=u||""==h?d:(l=f-u,c=i.call(h,n(l/h.length)),c.length>l&&(c=c.slice(0,l)),e?d+c:c+d)}};e.exports={start:a(!1),end:a(!0)}},1148:function(e,t,o){"use strict";var s=o("a691"),i=o("1d80");e.exports="".repeat||function(e){var t=String(i(this)),o="",r=s(e);if(r<0||r==1/0)throw RangeError("Wrong number of repetitions");for(;r>0;(r>>>=1)&&(t+=t))1&r&&(o+=t);return o}},"37c0":function(e,t,o){"use strict";var s,i=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("el-dialog",{attrs:{title:"流程查看",visible:e.visible,width:"60%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[o("workflowEditPanel",{ref:"workflowEditPanel",attrs:{nodeData:e.nodeData}}),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)},r=[],n=o("ade3"),a=(o("d3b7"),o("159b"),o("0aef")),l={components:{workflowEditPanel:a["a"]},props:{},watch:{value:{handler:function(){},deep:!0},visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",nodeData:{},data:{}}},methods:(s={confirm:function(){this.commit()},show:function(e){this.visible=!0,this.loadData(e.version,e.id)},hide:function(){this.visible=!1,this.value={},this.control={}},loadData:function(e){},commit:function(){this.hide()}},Object(n["a"])(s,"loadData",(function(e,t){var o=this,s=this;this.$store.dispatch("workflow/getWorkflowVersion",{versionid:e,id:t}).then((function(e){s.nodeData=0==e.drawingInfo.length?o.defaultNode():JSON.parse(e.drawingInfo),s.data=e,s.nodeData.nodeList&&s.nodeData.nodeList.forEach((function(e){return e.viewOnly=!0})),s.$refs.workflowEditPanel.loadNodeData()}))})),Object(n["a"])(s,"defaultNode",(function(){return{name:"",nodeList:[],lineList:[]}})),s)},c=l,d=o("2877"),u=Object(d["a"])(c,i,r,!1,null,null,null);t["a"]=u.exports},4410:function(e,t,o){},4808:function(e,t,o){"use strict";o.r(t);var s=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{directives:[{name:"loading",rawName:"v-loading",value:e.loading.getPageList,expression:"loading.getPageList"}],staticClass:"app-container"},[o("div",[o("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.getPageList}},[e._v("刷新")])],1),o("br"),o("el-table",{staticStyle:{width:"100%"},attrs:{data:e.tableData,border:""}},[o("el-table-column",{attrs:{type:"index",label:"序号",width:"60"}}),o("el-table-column",{attrs:{prop:"name",label:"标题"}}),o("el-table-column",{attrs:{prop:"workflowName",label:"流程名称",width:"250"},scopedSlots:e._u([{key:"default",fn:function(t){return[o("span",[e._v(e._s(t.row.workflowId.workflowName))])]}}])}),o("el-table-column",{attrs:{prop:"creationTime",formatter:e.dateFormat,label:"创建时间",width:"160"}}),o("el-table-column",{attrs:{prop:"modifiedTime",formatter:e.dateFormat,label:"更新时间",width:"160"}}),o("el-table-column",{attrs:{fixed:"right",label:"操作",width:"150"},scopedSlots:e._u([{key:"default",fn:function(t){return[0!=t.row.workflowStatus?o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return e.$refs.processForm.show(t.row.id)}}},[e._v("办理")]):e._e(),o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return e.$refs.workflowDesignForm.show({id:t.row.workflowId.id,version:t.row.workflowId.versionId})}}},[e._v("流程图")])]}}])})],1),o("br"),o("el-pagination",{attrs:{background:"",layout:"sizes,prev, pager, next",total:e.page.total,"page-size":e.page.maxResultCount,"current-page":e.page.currentPage},on:{"current-change":function(t){return e.paginationChange(null,t)},"size-change":function(t){return e.paginationChange(t)}}}),o("processForm",{ref:"processForm",on:{"ok-click":e.getPageList}}),o("workflowDesignForm",{ref:"workflowDesignForm"})],1)},i=[],r=o("eb3e"),n=o("677e"),a=o("37c0"),l={components:{processForm:n["a"],workflowDesignForm:a["a"]},mixins:[r["a"]],data:function(){return{moduleName:"workflow"}},mounted:function(){},methods:{getPageList:function(){var e=this;this.loading.getPageList=!0,this.page.skipCount=(this.page.currentPage-1)*this.page.maxResultCount,this.$store.dispatch("workflow/getUnHandledWorkTasksOfUser",this.page).then((function(t){e.tableData=t.items,e.page.total=t.total,e.loading.getPageList=!1}))}}},c=l,d=o("2877"),u=Object(d["a"])(c,s,i,!1,null,null,null);t["default"]=u.exports},"4aab":function(e,t,o){"use strict";o("877e")},"4d90":function(e,t,o){"use strict";var s=o("23e7"),i=o("0ccb").start,r=o("9a0c");s({target:"String",proto:!0,forced:r},{padStart:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}})},"677e":function(e,t,o){"use strict";var s=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("el-dialog",{attrs:{title:e.workTaskForm.name,visible:e.visible,width:"60%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1},opened:function(t){return e.opened()}}},[o("el-card",{attrs:{shadow:"never"}},[o("div",{attrs:{slot:"header"},slot:"header"},[e._v("表单数据")]),o("el-form",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],ref:"form",staticClass:"demo-form",attrs:{model:e.form,rules:e.rules,"label-width":"0px","label-position":"top",size:"mini"}},[o("el-form-item",{attrs:{label:"",prop:"title"}},[o("controlPanel",{ref:"controlPanel",attrs:{isEdit:e.isEdit}})],1)],1)],1),o("processForm",{ref:"processForm",attrs:{workTaskForm:e.workTaskForm}}),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)},i=[],r=o("5530"),n=(o("4de4"),o("d3b7"),o("afbe")),a=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",e._l(e.userSelectors,(function(t,s){return o("div",{key:s,staticClass:"user-card",staticStyle:{"margin-top":"10px"},attrs:{shadow:"naver"}},[o("el-form",{staticClass:"demo-form",attrs:{"label-width":"0px","label-position":"right",size:"mini"}},[o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-select",{staticStyle:{width:"100%"},attrs:{size:"mini",placeholder:"选择人员类型"},on:{change:function(o){return e.selectorChange(t)}},model:{value:t.selectorId,callback:function(o){e.$set(t,"selectorId",o)},expression:"item.selectorId"}},e._l(e.allUserSelectors,(function(e){return o("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("userSelections",{ref:"userSelections",refInFor:!0,attrs:{index:s,selectorId:t.selectorId,selections:t.selections},on:{"ok-click":e.userSelectionsOkHandler}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-input",{attrs:{size:"mini",placeholder:"参数"},model:{value:t.parameter,callback:function(o){e.$set(t,"parameter",o)},expression:"item.parameter"}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-input",{attrs:{size:"mini",placeholder:"描述"},model:{value:t.description,callback:function(o){e.$set(t,"description",o)},expression:"item.description"}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}})],1)],1)})),0)},l=[],c=(o("159b"),o("b0c0"),o("a15b"),o("a434"),function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("el-select",{staticStyle:{width:"100%"},attrs:{value:e.selectedValues,multiple:"",filterable:"","allow-create":"","default-first-option":"",size:"mini",placeholder:"请选择文章标签"},on:{focus:e.onfocus,change:e.onchange}},e._l(e.allOptions,(function(e){return o("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)}),d=[],u=(o("a9e3"),{props:{selections:{type:Array},index:{type:Number},selectorId:{type:String}},watch:{selectorId:function(){this.onfocus()}},computed:{allOptions:function(){var e=[];return e=0==this.options.length?this.selections.filter((function(e){return!0})):this.options,e},selectedValues:function(){var e=[];return this.selections.forEach((function(t){e.push(t.id)})),e}},data:function(){return{options:[]}},methods:{onfocus:function(){var e=this;this.$store.dispatch("workflow/getUserSelectionsOfUserSelector",{userSelectorId:this.selectorId}).then((function(t){console.log(t),e.options=t}))},onchange:function(e){this.$emit("ok-click",{index:this.index,value:this.options.filter((function(t){return e.indexOf(t.id)>-1}))})}}}),h=u,f=o("2877"),p=Object(f["a"])(h,c,d,!1,null,null,null),m=p.exports,k={components:{userSelections:m},props:{userSelectors:{type:Array,default:function(){return[]}}},filters:{getSelectionsName:function(e){if(!e)return"";var t=[];return e.forEach((function(e){t.push(e.name)})),t.join(",")}},data:function(){return{allUserSelectors:[]}},mounted:function(){this.loadUserSelectors()},methods:{loadUserSelectors:function(){var e=this;this.$store.dispatch("workflow/getAllUserSelectors").then((function(t){console.log(t),e.allUserSelectors=t}))},delUserSelector:function(e,t){e.splice(t,1)},userSelectionsOkHandler:function(e){var t=this.userSelectors[e.index];this.$set(t,"selections",[]),e.value.forEach((function(e){t.selections.push({id:e.id,name:e.name})}))},selectorChange:function(e){this.$set(e,"selections",[])}}},w=k,g=(o("86e2"),Object(f["a"])(w,a,l,!1,null,null,null)),v=g.exports,b=(o("ed08"),o("69a1")),S={components:{controlPanel:n["a"],nodeUser:v,processForm:b["a"]},props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},computed:{currentUserId:function(){return this.$store.state.user.user.id},canHandle:function(){var e=this;return this.workHistories.filter((function(t){return t.handleUser.id===e.currentUserId&&0==t.isHandled&&0==t.workStepType})).length>0}},data:function(){return{loading:!1,visible:!1,form:{name:"",formDesignId:{}},controls:[],selections:[],rules:{},isEdit:!1,workTaskForm:{id:"",createdUserId:"",entityFullName:"",entityKeyValue:"",formData:"{}",workTaskStatus:"",name:"模拟流程",workflowId:{}},workStep:{handleUser:{id:""},userSelectors:[{selectorId:"",selectorName:"",selections:[],parameter:"",description:"",handleType:0}],comment:"",stepId:""},workHistories:[],isForward:!1}},methods:{opened:function(){this.value&&this.loadData(this.value)},confirm:function(){this.commit()},show:function(e){this.visible=!0,this.value=e},hide:function(){this.visible=!1,this.form={name:"",formDesignId:{},formData:{}},this.isForward=!1},loadData:function(e){var t=this;this.loading=!0,this.getWorkTask(e).then((function(e){t.getAllTaskStepsOfWorkTask(),t.getAndRendWithFormDesign(e),t.loading=!1}))},commit:function(){this.$emit("ok-click",{}),this.hide()},getWorkTask:function(e){var t=this;return this.$store.dispatch("workflow/getWorkTask",{id:e}).then((function(e){return t.workTaskForm=e,t.$refs.processForm.loadHistories(t.workTaskForm),e})).catch((function(e){t.loading=!1}))},loadFormInstance:function(e){var t=this;this.loading=!0,this.$store.dispatch("dynamicFormInstance/get",{id:e}).then((function(e){t.form=e,t.getDesign(t.form.formDesignId).then((function(o){t.loading=!1,t.$refs.controlPanel.setValue(o,JSON.parse(e.formData||"{}"))}))}))},getAllTaskStepsOfWorkTask:function(){var e=this;this.$store.dispatch("workflow/getAllTaskStepsOfWorkTask",{worktaskId:this.workTaskForm.id}).then((function(t){e.workHistories=t;var o=e.workHistories.filter((function(t){return t.handleUser.id==e.currentUserId&&0==t.isHandled&&0==t.workStepType}))[0];e.workStep.handleUser=o.handleUser,e.workStep.id=o.id})).catch((function(t){e.loading=!1}))},callback:function(){this.loadData(this.workTaskForm.id)},passApprove:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:""},o=this;this.$store.dispatch("workflow/passProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},rejectApprove:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:""},o=this;this.$store.dispatch("workflow/rejectProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},forwardProve:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:"",userSelectors:this.workStep.userSelectors},o=this;this.$store.dispatch("workflow/forwardProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},withdrawProve:function(e){var t=this;this.loading=!0;var o={stepId:e,comment:this.workStep.comment},s=this;this.$store.dispatch("workflow/withdrawProve",o).then((function(e){s.loading=!1,t.callback()})).catch((function(e){t.loading=!1}))},getAndRendWithFormDesign:function(e){var t=this;this.loading=!0;var o={};try{o=JSON.parse(e.entityKeyValue)}catch(n){o={}}var s={};try{s=JSON.parse(e.formData)}catch(n){s={}}this.$refs.controlPanel.setValue([],s);var i=Object(r["a"])(Object(r["a"])({},o),{},{version:o.versionId});this.$store.dispatch("dynamicFormDesign/getFormDesignVersion",i).then((function(e){return t.loading=!1,t.formDesign=e,e&&e.designContent?JSON.parse(e&&e.designContent):[]})).then((function(e){t.loading=!1,t.$refs.controlPanel.setValue(e,s)}))}}},y=S,I=(o("4aab"),Object(f["a"])(y,s,i,!1,null,null,null));t["a"]=I.exports},"69a1":function(e,t,o){"use strict";var s=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[e.workStep&&e.canHandle?o("el-card",{staticClass:"box-card",staticStyle:{"margin-top":"10px"}},[o("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[o("span",[e._v("审批")])]),o("el-card",{staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[o("div",[o("el-radio",{attrs:{label:!1},model:{value:e.isForward,callback:function(t){e.isForward=t},expression:"isForward"}},[e._v("处理")]),o("el-radio",{attrs:{label:!0},model:{value:e.isForward,callback:function(t){e.isForward=t},expression:"isForward"}},[e._v("转发")])],1),o("br"),e.isForward?o("div",[o("nodeUser",{attrs:{userSelectors:e.workStep.userSelectors}}),o("br"),o("el-button",{attrs:{type:"danger",size:"mini"},on:{click:e.forwardProve}},[e._v("转发/代办")])],1):o("div",[o("el-form",[o("el-form-item",{attrs:{label:"表单数据"}},[o("el-input",{attrs:{type:"textarea",rows:4,placeholder:"表单数据(与主流程不同,每一步都可能有当前的处理表单数据)"},model:{value:e.workStep.formData,callback:function(t){e.$set(e.workStep,"formData",t)},expression:"workStep.formData"}})],1),o("el-form-item",{attrs:{label:"批语"}},[o("el-input",{attrs:{type:"textarea",rows:2,placeholder:"批语 "},model:{value:e.workStep.comment,callback:function(t){e.$set(e.workStep,"comment",t)},expression:"workStep.comment"}})],1),e.isPass?e._e():o("el-form-item",{attrs:{label:"驳回节点"}},[o("el-select",{attrs:{placeholder:"驳回节点",size:"mini"},model:{value:e.workStep.rejectToNodeId,callback:function(t){e.$set(e.workStep,"rejectToNodeId",t)},expression:"workStep.rejectToNodeId"}},e._l(e.workStep.rejectNodes,(function(e){return o("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1),o("el-form-item",[o("div",[o("el-radio",{attrs:{label:!0},model:{value:e.isPass,callback:function(t){e.isPass=t},expression:"isPass"}},[e._v("通过")]),o("el-radio",{attrs:{label:!1},model:{value:e.isPass,callback:function(t){e.isPass=t},expression:"isPass"}},[e._v("驳回")])],1),o("el-button",{attrs:{type:"primary",size:"mini"},on:{click:function(){return e.isPass?e.passApprove():e.rejectApprove()}}},[e._v("确定")])],1)],1)],1)])],1):e._e(),o("el-card",{staticClass:"card-provehistory",staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[o("div",{attrs:{slot:"header"},slot:"header"},[e._v(" 审批记录 "),o("el-button",{attrs:{type:"text",size:"mini"},on:{click:e.getAllTaskStepsOfWorkTask}},[e._v("刷新")])],1),e._l(e.workHistories,(function(t){return o("el-card",{key:t.id,staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[o("div",{attrs:{slot:"header"},slot:"header"},[o("span",[o("span",{staticClass:"historylabel"},[e._v("节点:")]),e._v(e._s(t.nodeName))]),o("div",{staticStyle:{float:"right",padding:"3px 0"}},[0==t.workStepType?o("span",[t.isHandled?o("span",[0==t.handleType?o("el-link",{attrs:{underline:!1,type:"success"}},[e._v("通过")]):e._e(),1==t.handleType?o("el-link",{attrs:{underline:!1,type:"danger"}},[e._v("拒绝")]):e._e(),2==t.handleType?o("el-link",{attrs:{underline:!1,type:"info"}},[e._v("撤回")]):e._e(),3==t.handleType?o("el-link",{attrs:{underline:!1,type:"warning"}},[e._v("转发")]):e._e(),4==t.handleType?o("el-link",{attrs:{underline:!1}},[e._v("未处理")]):e._e()],1):o("el-link",{attrs:{underline:!1,type:"info"}},[e._v("待处理")])],1):o("span",[e._v("只读/抄送")])])]),o("div",[o("span",{staticClass:"historylabel"},[e._v("处理人:")]),e._v(" "+e._s(t.handleUser.name)+" ")]),o("div",[o("p",{staticClass:"historylabel"},[e._v("意见:")]),e._v(" "+e._s(t.comment)+" ")]),o("div",[o("p",{staticClass:"historylabel"},[e._v("附件:")]),e._v(" "+e._s(t.resourceIds)+" ")]),o("br"),o("div",{staticClass:"bottom clearfix"},[t.isHandled?o("time",{staticClass:"time"},[o("span",{staticClass:"historylabel"},[e._v("处理时间:")]),e._v(e._s(t.handlerTime))]):e._e(),1==t.isHandled&&t.handleUser.id==e.currentUserId?o("el-button",{staticStyle:{float:"right",padding:"3px 0"},attrs:{type:"text"},on:{click:function(o){return e.withdrawProve(t.id)}}},[e._v("撤回")]):e._e()],1)])}))],2)],1)},i=[],r=(o("b0c0"),o("4de4"),o("d3b7"),o("77ff")),n={components:{nodeUser:r["a"]},name:"workflow-simulation",props:{workflowName:{default:"测试流程"},workflowId:{default:"1"},workflowVersionId:{default:"1"}},computed:{id:function(){return this.$route.query.id||this.workflowId},name:function(){return this.$route.query.name||this.workflowName},versionId:function(){return this.$route.query.versionId||this.workflowVersionId},canHandle:function(){var e=this;return this.workHistories.filter((function(t){return t.handleUser.id==e.$store.state.user.user.id&&0==t.isHandled&&0==t.workStepType})).length>0},currentUserId:function(){return this.$store.state.user.user.id}},watch:{currentUserId:{handler:function(){this.getAllTaskStepsOfWorkTask()}},isPass:{handler:function(){this.isPass?this.workStep.rejectToNodeId=null:this.getRejectNodes()}}},data:function(){return{formData:"",loading:!1,allUsers:[],workTaskForm:{},workStep:{handleUser:{id:""},userSelectors:[{selectorId:"",selectorName:"",selections:[],parameter:"",description:"",handleType:0}],rejectNodes:[{id:"",name:""}],comment:"",stepId:"",formData:"",rejectToNodeId:null},workHistories:[],isForward:!1,isPass:!0,isSimulation:!0}},mounted:function(){this.getAllUserForSimulation()},methods:{loadHistories:function(e){this.workTaskForm=e,this.callback()},getAllUserForSimulation:function(){var e=this;this.$store.dispatch("workflow/GetAllUserForSimulation").then((function(t){e.allUsers=t}))},getAllTaskStepsOfWorkTask:function(){var e=this;this.workTaskForm.id&&0!=this.workTaskForm.id.length&&this.$store.dispatch("workflow/getAllTaskStepsOfWorkTask",{worktaskId:this.workTaskForm.id}).then((function(t){e.workHistories=t;var o=e.workHistories.filter((function(t){return t.handleUser.id==e.$store.state.user.user.id&&0==t.isHandled&&0==t.workStepType}))[0];e.workStep.handleUser=o.handleUser,e.workStep.id=o.id})).catch((function(t){e.loading=!1}))},getUserName:function(e){var t=this.allUsers.filter((function(t){return t.id==e}));return t.length>0?t[0].name:""},callback:function(){this.getAllTaskStepsOfWorkTask(),this.workStep.comment="",this.isPass=!0},passApprove:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:"",formData:this.workStep.formData},o=this;this.$store.dispatch("workflow/passProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},rejectApprove:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:""},o=this;this.$store.dispatch("workflow/rejectProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},forwardProve:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:"",userSelectors:this.workStep.userSelectors},o=this;this.$store.dispatch("workflow/forwardProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},withdrawProve:function(e){var t=this;this.loading=!0;var o={stepId:e,comment:this.workStep.comment},s=this;this.$store.dispatch("workflow/withdrawProve",o).then((function(e){s.loading=!1,t.callback()})).catch((function(e){t.loading=!1}))},getRejectNodes:function(){var e=this;console.log(this.workStep),this.$store.dispatch("workflow/GetRejectNodes",{workStepId:this.workStep.id}).then((function(t){e.workStep.rejectNodes=t})).catch((function(t){e.loading=!1}))}}},a=n,l=o("2877"),c=Object(l["a"])(a,s,i,!1,null,null,null);t["a"]=c.exports},"77ff":function(e,t,o){"use strict";var s=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",e._l(e.userSelectors,(function(t,s){return o("div",{key:s,staticClass:"user-card",staticStyle:{"margin-top":"10px"},attrs:{shadow:"naver"}},[o("el-form",{staticClass:"demo-form",attrs:{"label-width":"0px","label-position":"right",size:"mini"}},[o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-select",{staticStyle:{width:"100%"},attrs:{size:"mini",placeholder:"选择人员类型"},model:{value:t.selectorId,callback:function(o){e.$set(t,"selectorId",o)},expression:"item.selectorId"}},e._l(e.allUserSelectors,(function(e){return o("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("userSelections",{ref:"userSelections",refInFor:!0,attrs:{index:s,selectorId:t.selectorId,selections:t.selections},on:{"ok-click":e.userSelectionsOkHandler}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-input",{attrs:{size:"mini",placeholder:"参数"},model:{value:t.parameter,callback:function(o){e.$set(t,"parameter",o)},expression:"item.parameter"}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-input",{attrs:{size:"mini",placeholder:"描述"},model:{value:t.description,callback:function(o){e.$set(t,"description",o)},expression:"item.description"}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}})],1)],1)})),0)},i=[],r=(o("d3b7"),o("159b"),o("b0c0"),o("a15b"),o("a434"),function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("el-dialog",{attrs:{title:"选择用户",visible:e.visible,width:"40%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[o("el-table",{ref:"singleTable",staticStyle:{width:"100%",height:"40vh"},attrs:{data:e.selections},on:{"current-change":e.handleCurrentChange,"selection-change":e.handleSelectionChange}},[o("el-table-column",{attrs:{type:"selection",width:"50"}}),o("el-table-column",{attrs:{type:"index",width:"50"}}),o("el-table-column",{attrs:{property:"name",label:"名称",width:"220"}}),o("el-table-column",{attrs:{property:"id",label:"ID"}})],1),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)}),n=[],a={props:{},watch:{visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{name:""},rules:{name:[{required:!0,message:"请输入",trigger:"change"}]},currentRow:null,selections:[],value:{},multipleSelection:[]}},methods:{confirm:function(){this.commit()},show:function(e){this.visible=!0,this.loadData(e)},hide:function(){this.visible=!1,this.form={name:""}},loadData:function(e){var t=this;this.loading=!0,this.value=e,this.getUserSelectionsOfUserSelector(e.selectorId).then((function(){t.loading=!1}))},getUserSelectionsOfUserSelector:function(e){var t=this;return this.$store.dispatch("workflow/getUserSelectionsOfUserSelector",{userSelectorId:e}).then((function(e){console.log(e),t.selections=e}))},commit:function(){0!=this.multipleSelection.length?(this.$emit("ok-click",{index:this.value.index,value:this.multipleSelection}),this.hide()):this.$message({message:"警告,请选择!",type:"warning"})},handleCurrentChange:function(e){this.currentRow=e},handleSelectionChange:function(e){this.multipleSelection=e}}},l=a,c=o("2877"),d=Object(c["a"])(l,r,n,!1,null,null,null),u=d.exports,h={components:{userSelections:u},props:{userSelectors:{type:Array,default:function(){return[]}}},filters:{getSelectionsName:function(e){if(!e)return"";var t=[];return e.forEach((function(e){t.push(e.name)})),t.join(",")}},data:function(){return{allUserSelectors:[]}},mounted:function(){this.loadUserSelectors()},methods:{loadUserSelectors:function(){var e=this;this.$store.dispatch("workflow/getAllUserSelectors").then((function(t){console.log(t),e.allUserSelectors=t}))},delUserSelector:function(e,t){e.splice(t,1)},userSelectionsOkHandler:function(e){var t=this.userSelectors[e.index];this.$set(t,"selections",[]),e.value.forEach((function(e){t.selections.push({id:e.id,name:e.name})}))}}},f=h,p=(o("09e3"),Object(c["a"])(f,s,i,!1,null,null,null));t["a"]=p.exports},"86e2":function(e,t,o){"use strict";o("4410")},"877e":function(e,t,o){},"9a0c":function(e,t,o){var s=o("342f");e.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(s)},eb3e:function(e,t,o){"use strict";t["a"]={computed:{currentUserId:function(){return this.$store.state.user.user.id}},data:function(){return{moduleName:"",tableData:[],page:{total:100,maxResultCount:50,currentPage:1,conditions:[],sorting:"creationtime desc"},loading:{getPageList:!1}}},watch:{currentUserId:function(){this.getPageList&&this.getPageList()}},mounted:function(){this.getPageList()},methods:{dateFormat:function(e,t){var o=e[t.property];if(null===o)return"";var s=new Date(o);return s.getFullYear()+"-"+(s.getMonth()+1)+"-"+s.getDate()+" "+s.getHours()+":"+s.getMinutes()+":"+s.getSeconds()},paginationChange:function(e,t){e&&(this.page.maxResultCount=e),t&&(this.page.currentPage=t),this.getPageList()},create:function(){this.$refs.createForm.show()},edit:function(e){this.$refs.editForm.show(e)},getPageList:function(){var e=this;this.loading.getPageList=!0,this.page.skipCount=(this.page.currentPage-1)*this.page.maxResultCount,this.$store.dispatch(this.moduleName+"/getPageList",this.page).then((function(t){e.tableData=t.items,e.page.total=t.total,e.loading.getPageList=!1}))},remove:function(e){var t=this;this.$confirm("确认删除该记录?, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){t.$store.dispatch(t.moduleName+"/delete",{id:e}).then((function(e){t.$message({type:"success",message:"删除成功!"}),t.getPageList()}))})).catch((function(){t.$message({type:"info",message:"已取消删除"})}))}}}},ed08:function(e,t,o){"use strict";o("a4d3"),o("e01a"),o("d3b7"),o("d28b"),o("3ca3"),o("ddb0");o("ac1f"),o("00b4"),o("5319"),o("4d63"),o("2c3e"),o("25f0"),o("4d90"),o("1276"),o("159b"),o("a15b")}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-3a07c062.4a32f4d5.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-3a07c062.4a32f4d5.js new file mode 100644 index 0000000000000000000000000000000000000000..ca25e84c8676d03ad748cbfae2720c2d42048ac1 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-3a07c062.4a32f4d5.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-3a07c062"],{"0ccb":function(t,e,i){var o=i("50c4"),a=i("1148"),n=i("1d80"),r=Math.ceil,s=function(t){return function(e,i,s){var l,c,d=String(n(e)),u=d.length,f=void 0===s?" ":String(s),h=o(i);return h<=u||""==f?d:(l=h-u,c=a.call(f,r(l/f.length)),c.length>l&&(c=c.slice(0,l)),t?d+c:c+d)}};t.exports={start:s(!1),end:s(!0)}},1148:function(t,e,i){"use strict";var o=i("a691"),a=i("1d80");t.exports="".repeat||function(t){var e=String(a(this)),i="",n=o(t);if(n<0||n==1/0)throw RangeError("Wrong number of repetitions");for(;n>0;(n>>>=1)&&(e+=e))1&n&&(i+=e);return i}},"2a48":function(t,e,i){"use strict";i.r(e);var o=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{directives:[{name:"loading",rawName:"v-loading",value:t.loading.getPageList,expression:"loading.getPageList"}],staticClass:"app-container"},[i("div",[i("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.create}},[t._v("新增")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.getPageList}},[t._v("刷新")])],1),i("br"),i("el-table",{staticStyle:{width:"100%"},attrs:{data:t.tableData,border:""}},[i("el-table-column",{attrs:{type:"index",label:"序号",width:"60"}}),i("el-table-column",{attrs:{prop:"name",label:"标题"}}),i("el-table-column",{attrs:{prop:"workflowName",label:"流程名称",width:"250"},scopedSlots:t._u([{key:"default",fn:function(e){return[i("span",[t._v(t._s(e.row.workflowId.workflowName))])]}}])}),i("el-table-column",{attrs:{label:"审批状态",width:"80"},scopedSlots:t._u([{key:"default",fn:function(e){return[0==e.row.workTaskStatus?i("span",[t._v("待发起")]):t._e(),1==e.row.workTaskStatus?i("span",[t._v("审批中")]):t._e(),2==e.row.workTaskStatus?i("span",[t._v("已审批")]):t._e()]}}])}),i("el-table-column",{attrs:{prop:"creationTime",formatter:t.dateFormat,label:"创建时间",width:"160"}}),i("el-table-column",{attrs:{prop:"modifiedTime",formatter:t.dateFormat,label:"更新时间",width:"160"}}),i("el-table-column",{attrs:{fixed:"right",label:"操作",width:"200"},scopedSlots:t._u([{key:"default",fn:function(e){return[0!=e.row.workTaskStatus?i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return t.$refs.viewForm.show(e.row.id)}}},[t._v("查看")]):t._e(),0==e.row.workTaskStatus?i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return t.startWorkTask(e.row.id)}}},[t._v("发起审批")]):t._e(),0==e.row.workTaskStatus?i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return t.$refs.editForm.show(e.row.id)}}},[t._v("编辑")]):t._e(),0==e.row.workTaskStatus?i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return t.remove(e.row.id)}}},[t._v("删除")]):t._e(),i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return t.$refs.workflowDesignForm.show({id:e.row.workflowId.id,version:e.row.workflowId.versionId})}}},[t._v("流程图")])]}}])})],1),i("br"),i("el-pagination",{attrs:{background:"",layout:"sizes,prev, pager, next",total:t.page.total,"page-size":t.page.maxResultCount,"current-page":t.page.currentPage},on:{"current-change":function(e){return t.paginationChange(null,e)},"size-change":function(e){return t.paginationChange(e)}}}),i("viewForm",{ref:"viewForm"}),i("createForm",{ref:"createForm",on:{"ok-click":t.getPageList}}),i("editForm",{ref:"editForm"}),i("workflowDesignForm",{ref:"workflowDesignForm"})],1)},a=[],n=(i("4de4"),i("d3b7"),function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",[i("el-dialog",{attrs:{title:"新增",visible:t.visible,width:"60%","close-on-click-modal":!1},on:{close:function(e){t.visible=!1}}},[i("el-form",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],ref:"form",staticClass:"demo-form",staticStyle:{width:"100%"},attrs:{model:t.form,rules:t.rules,"label-width":"100px","label-position":"top",size:"mini"}},[i("el-form-item",{attrs:{label:"表单名称",prop:"workflowId","label-width":t.defaultLabelWidth}},[i("el-select",{staticStyle:{width:"100%"},attrs:{filterable:"",placeholder:"请选择","default-first-option":""},model:{value:t.form.workflowId,callback:function(e){t.$set(t.form,"workflowId",e)},expression:"form.workflowId"}},t._l(t.allWorkflows,(function(t){return i("el-option",{key:t.id+t.activeVersion,attrs:{label:t.name+":Version"+t.activeVersion,value:t.id+":"+t.activeVersion}})})),1)],1),i("el-form-item",{attrs:{label:"标题",prop:"title","label-width":t.defaultLabelWidth}},[i("el-input",{attrs:{disabled:"",size:"mini",type:"text"},model:{value:t.form.title,callback:function(e){t.$set(t.form,"title",e)},expression:"form.title"}})],1),i("el-form-item",{attrs:{label:"表单数据",prop:""}},[i("el-card",{attrs:{shadow:"never"}},[i("controlPanel",{ref:"controlPanel",attrs:{isEdit:!0}})],1)],1)],1),i("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{size:"small"},on:{click:function(e){t.visible=!1}}},[t._v("取 消")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirm}},[t._v("确 定")])],1)],1)],1)}),r=[],s=(i("99af"),i("b0c0"),i("ac1f"),i("1276"),i("159b"),i("b64b"),i("e9c4"),i("afbe")),l={components:{controlPanel:s["a"]},props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()},"form.workflowId":{handler:function(){var t=this;if(this.form.workflowId){console.log(this.$store.state);var e=new Date,i=this.allWorkflows.filter((function(e){return e.id+":"+e.activeVersion===t.form.workflowId}));this.form.title="".concat(this.$store.state.user.user.name,"-").concat(i[0].name,"审批-").concat(e.getFullYear(),"/").concat(e.getMonth()+1,"/").concat(e.getDate());var o=this.form.workflowId.split(":");this.workTaskForm.workflowId={id:o[0],versionId:o[1]},this.changeFormDesign({id:o[0],version:o[1]})}}}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{title:""},rules:{title:[{required:!0,message:"请输入",trigger:"change"}],workflowId:[{required:!0,message:"请选择",trigger:"change"}]},allWorkflows:[],formDesign:{},workTaskForm:{entityFullName:"dynamicForm",entityKeyValue:"",formData:"{}",workTaskStatus:"",name:"",workflowId:{}}}},methods:{confirm:function(){this.commit()},show:function(t){this.visible=!0,this.getAllWorkflowsWithVersion(),t&&this.loadData(t)},hide:function(){this.visible=!1,this.form={name:""}},loadData:function(t){var e=this;this.loading=!0,Object.keys(t).forEach((function(i){e.form[i]=t[i]})),this.loading=!1},commit:function(){var t=this;this.$refs["form"].validate((function(e){if(!e)return console.log("error submit!!"),!1;t.createWorkTask()}))},changeFormDesign:function(t){var e=this;this.loading=!0,this.getDesign(t).then((function(t){e.loading=!1,e.$refs.controlPanel.setValue(t,{})}))},getDesign:function(t){var e=this;return this.$store.dispatch("dynamicFormDesign/getFormDesignVersionByWorkflowId",t).then((function(t){return e.formDesign=t,t&&t.designContent?JSON.parse(t&&t.designContent):[]}))},createWorkTask:function(){var t=this;this.loading=!0;var e=this.formDesign||{};this.workTaskForm.entityKeyValue=JSON.stringify({id:e.formDesignId,versionId:e.version,time:(new Date).getTime()}),this.workTaskForm.name=this.form.title,this.workTaskForm.formData=JSON.stringify(this.$refs.controlPanel.getValue());var i="workflow/createWorkTask";this.$store.dispatch(i,this.workTaskForm).then((function(e){return t.loading=!1,t.hide(),t.$emit("ok-click"),e})).catch((function(e){t.loading=!1}))},getAllWorkflowsWithVersion:function(){var t=this;this.loading=!0,this.$store.dispatch("workflow/getAllWorkflowsWithVersion",this.form).then((function(e){t.allWorkflows=e,t.loading=!1}))}}},c=l,d=i("2877"),u=Object(d["a"])(c,n,r,!1,null,null,null),f=u.exports,h=i("eb3e"),m=i("64d3"),g=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",[i("el-dialog",{attrs:{title:"编辑",visible:t.visible,width:"60%","close-on-click-modal":!1},on:{close:function(e){t.visible=!1}}},[i("el-form",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],ref:"form",staticClass:"demo-form",staticStyle:{width:"100%"},attrs:{model:t.form,rules:t.rules,"label-width":"100px","label-position":"top",size:"mini"}},[i("el-form-item",{attrs:{label:"表单名称",prop:"workflowId","label-width":t.defaultLabelWidth}},[i("el-select",{staticStyle:{width:"100%"},attrs:{filterable:"",placeholder:"请选择","default-first-option":"",disabled:""},model:{value:t.form.workflowId,callback:function(e){t.$set(t.form,"workflowId",e)},expression:"form.workflowId"}},t._l(t.allWorkflows,(function(t){return i("el-option",{key:t.id+t.activeVersion,attrs:{label:t.name+":"+t.activeVersion,value:t.id+":"+t.activeVersion}})})),1)],1),i("el-form-item",{attrs:{label:"标题",prop:"title","label-width":t.defaultLabelWidth}},[i("el-input",{attrs:{disabled:"",size:"mini",type:"text"},model:{value:t.form.title,callback:function(e){t.$set(t.form,"title",e)},expression:"form.title"}})],1),i("el-form-item",{attrs:{label:"表单数据",prop:"title"}},[i("el-card",{attrs:{shadow:"never"}},[i("controlPanel",{ref:"controlPanel",attrs:{isEdit:!0}})],1)],1)],1),i("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{size:"small"},on:{click:function(e){t.visible=!1}}},[t._v("取 消")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirm}},[t._v("确 定")])],1)],1)],1)},p=[],w=i("5530"),v={components:{controlPanel:s["a"]},props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{title:"",value:""},rules:{title:[{required:!0,message:"请输入",trigger:"blur"}],workflowId:[{required:!0,message:"请选择",trigger:"blur"}]},allWorkflows:[],formDesign:{},workTaskForm:{entityFullName:"dynamicForm",entityKeyValue:"",formData:"{}",workTaskStatus:"",name:"",workflowId:{}}}},methods:{confirm:function(){this.commit()},show:function(t){this.visible=!0,this.getAllWorkflowsWithVersion(),t&&this.loadData(t)},hide:function(){this.visible=!1,this.form={name:""}},loadData:function(t){this.loading=!0,this.getWorkTask(t),this.loading=!1},commit:function(){this.updateFormData()},getAndRendWithFormDesign:function(t){var e=this;this.loading=!0;var i={};try{i=JSON.parse(t.entityKeyValue)}catch(n){i={}}var o={};try{o=JSON.parse(t.formData)}catch(n){o={}}this.$refs.controlPanel.setValue([],o);var a=Object(w["a"])(Object(w["a"])({},i),{},{version:i.versionId});this.$store.dispatch("dynamicFormDesign/getFormDesignVersion",a).then((function(t){return e.loading=!1,e.formDesign=t,t&&t.designContent?JSON.parse(t&&t.designContent):[]})).then((function(t){e.loading=!1,e.$refs.controlPanel.setValue(t,o)}))},getWorkTask:function(t){var e=this;this.loading=!0;var i="workflow/getWorkTask";this.$store.dispatch(i,{id:t}).then((function(t){return e.form.id=t.id,e.form.title=t.name,e.form.workflowId=t.workflowId.id+":"+t.workflowId.versionId,e.getAndRendWithFormDesign(t),e.loading=!1,t})).catch((function(t){e.loading=!1}))},getAllWorkflowsWithVersion:function(){var t=this;this.loading=!0,this.$store.dispatch("workflow/getAllWorkflowsWithVersion",this.form).then((function(e){t.allWorkflows=e,t.loading=!1}))},updateFormData:function(){var t=this;this.loading=!0;var e={id:this.form.id,formData:JSON.stringify(this.$refs.controlPanel.getValue())};this.$store.dispatch("workflow/updateWorkTaskFormData",e).then((function(e){t.loading=!1,t.hide()})).catch((function(e){t.loading=!1}))}}},k=v,b=Object(d["a"])(k,g,p,!1,null,null,null),y=b.exports,_=i("37c0"),D={components:{createForm:f,viewForm:m["a"],editForm:y,workflowDesignForm:_["a"]},mixins:[h["a"]],data:function(){return{moduleName:"workflow",selections:[]}},mounted:function(){},methods:{getPageList:function(){var t=this;this.loading.getPageList=!0,this.page.skipCount=(this.page.currentPage-1)*this.page.maxResultCount,this.$store.dispatch(this.moduleName+"/getWorkTasksOfCreator",this.page).then((function(e){t.tableData=e.items,t.page.total=e.total,t.loading.getPageList=!1}))},getDesignName:function(t){var e=this.selections.filter((function(e){return e.id==t}));return e&&e.length>0?e[0].title:""},remove:function(t){var e=this;this.$confirm("确认删除该记录?, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){e.$store.dispatch(e.moduleName+"/deleteWorkTask",{id:t}).then((function(t){e.$message({type:"success",message:"删除成功!"}),e.getPageList()}))})).catch((function(){e.$message({type:"info",message:"已取消删除"})}))},startWorkTask:function(t){var e=this;this.$confirm("确认发起审批?, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){e.loading.getPageList=!0;var i={workTaskId:t};e.$store.dispatch("workflow/startWorkTask",i).then((function(t){e.loading.getPageList=!1,e.getPageList()})).catch((function(t){e.loading.getPageList=!1}))})).catch((function(){e.$message({type:"info",message:"已取消删除"})}))}}},T=D,F=Object(d["a"])(T,o,a,!1,null,null,null);e["default"]=F.exports},"37c0":function(t,e,i){"use strict";var o,a=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",[i("el-dialog",{attrs:{title:"流程查看",visible:t.visible,width:"60%","close-on-click-modal":!1},on:{close:function(e){t.visible=!1}}},[i("workflowEditPanel",{ref:"workflowEditPanel",attrs:{nodeData:t.nodeData}}),i("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{size:"small"},on:{click:function(e){t.visible=!1}}},[t._v("取 消")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirm}},[t._v("确 定")])],1)],1)],1)},n=[],r=i("ade3"),s=(i("d3b7"),i("159b"),i("0aef")),l={components:{workflowEditPanel:s["a"]},props:{},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",nodeData:{},data:{}}},methods:(o={confirm:function(){this.commit()},show:function(t){this.visible=!0,this.loadData(t.version,t.id)},hide:function(){this.visible=!1,this.value={},this.control={}},loadData:function(t){},commit:function(){this.hide()}},Object(r["a"])(o,"loadData",(function(t,e){var i=this,o=this;this.$store.dispatch("workflow/getWorkflowVersion",{versionid:t,id:e}).then((function(t){o.nodeData=0==t.drawingInfo.length?i.defaultNode():JSON.parse(t.drawingInfo),o.data=t,o.nodeData.nodeList&&o.nodeData.nodeList.forEach((function(t){return t.viewOnly=!0})),o.$refs.workflowEditPanel.loadNodeData()}))})),Object(r["a"])(o,"defaultNode",(function(){return{name:"",nodeList:[],lineList:[]}})),o)},c=l,d=i("2877"),u=Object(d["a"])(c,a,n,!1,null,null,null);e["a"]=u.exports},"4d90":function(t,e,i){"use strict";var o=i("23e7"),a=i("0ccb").start,n=i("9a0c");o({target:"String",proto:!0,forced:n},{padStart:function(t){return a(this,t,arguments.length>1?arguments[1]:void 0)}})},6129:function(t,e,i){},"64d3":function(t,e,i){"use strict";var o=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",[i("el-dialog",{attrs:{title:t.workTaskForm.name,visible:t.visible,width:"60%","close-on-click-modal":!1},on:{close:function(e){t.visible=!1}}},[0!=t.form.workflowStatus?i("el-card",{attrs:{shadow:"never"}},[i("div",{attrs:{slot:"header"},slot:"header"},[t._v("表单数据")]),i("el-form",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],ref:"form",staticClass:"demo-form",attrs:{model:t.form,rules:t.rules,"label-width":"0px","label-position":"top",size:"mini"}},[i("el-form-item",{attrs:{label:"",prop:"title"}},[i("controlPanel",{ref:"controlPanel",attrs:{isEdit:t.isEdit}})],1)],1)],1):t._e(),i("el-card",{staticClass:"card-provehistory",staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[i("div",{attrs:{slot:"header"},slot:"header"},[t._v("审批记录")]),t._l(t.workHistories,(function(e){return i("el-card",{key:e.id,staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[i("div",{attrs:{slot:"header"},slot:"header"},[i("span",[i("span",{staticClass:"historylabel"},[t._v("节点:")]),t._v(t._s(e.nodeName))]),i("div",{staticStyle:{float:"right",padding:"3px 0"}},[0==e.workStepType?i("span",[e.isHandled?i("span",{attrs:{underline:!1,type:"success"}},[i("span",[0==e.handleType?i("el-link",{attrs:{underline:!1,type:"success"}},[t._v("通过")]):t._e(),1==e.handleType?i("el-link",{attrs:{underline:!1,type:"danger"}},[t._v("拒绝")]):t._e(),2==e.handleType?i("el-link",{attrs:{underline:!1,type:"info"}},[t._v("撤回")]):t._e(),3==e.handleType?i("el-link",{attrs:{underline:!1,type:"warning"}},[t._v("转发")]):t._e(),4==e.handleType?i("el-link",{attrs:{underline:!1}},[t._v("未处理")]):t._e()],1)]):i("el-link",{attrs:{underline:!1,type:"info"}},[t._v("待处理")])],1):i("span",[i("el-link",{attrs:{underline:!1,type:"info"}},[t._v("只读")])],1)])]),i("div",[i("span",{staticClass:"historylabel"},[t._v("处理人:")]),t._v(" "+t._s(e.handleUser.name)+" ")]),i("div",[i("p",{staticClass:"historylabel"},[t._v("意见:")]),t._v(" "+t._s(e.comment)+" ")]),i("div",[i("p",{staticClass:"historylabel"},[t._v("附件:")]),t._v(" "+t._s(e.resourceIds)+" ")]),i("br"),i("div",{staticClass:"bottom clearfix"},[e.isHandled?i("time",{staticClass:"time"},[i("span",{staticClass:"historylabel"},[t._v("处理时间:")]),t._v(t._s(e.handlerTime))]):t._e()])])}))],2),i("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{size:"small"},on:{click:function(e){t.visible=!1}}},[t._v("取 消")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirm}},[t._v("确 定")])],1)],1)],1)},a=[],n=i("5530"),r=(i("4de4"),i("d3b7"),i("afbe")),s=(i("ed08"),{components:{controlPanel:r["a"]},props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()}},model:{prop:"value",event:"change"},computed:{currentUserId:function(){return this.$store.state.user.user.id},canHandle:function(){var t=this;return this.workHistories.filter((function(e){return e.handleUser.id==t.currentUserId&&0==e.isHandled&&0==e.workStepType})).length>0}},data:function(){return{loading:!1,visible:!1,form:{name:"",formDesignId:{}},controls:[],selections:[],rules:{},isEdit:!1,workTaskForm:{id:"",createdUserId:"",entityFullName:"",entityKeyValue:"",formData:"{}",workTaskStatus:"",name:"模拟流程",workflowId:{}},workStep:{handleUser:{id:""},userSelectors:[{selectorId:"",selectorName:"",selections:[],parameter:"",description:"",handleType:0}],comment:"",stepId:""},workHistories:[],isForward:!1}},methods:{confirm:function(){this.commit()},show:function(t){this.visible=!0,t&&this.loadData(t)},hide:function(){this.visible=!1,this.form={name:"",formDesignId:{},formData:{}},this.isForward=!1},loadData:function(t){var e=this;this.loading=!0,this.getWorkTask(t).then((function(t){e.getAllTaskStepsOfWorkTask(),e.$refs.controlPanel.setValue([],JSON.parse(t.formData||"{}")),e.loading=!1}))},commit:function(){this.$emit("ok-click",{}),this.hide()},getWorkTask:function(t){var e=this;return this.$store.dispatch("workflow/getWorkTask",{id:t}).then((function(t){return e.workTaskForm=t,e.getAndRendWithFormDesign(t),t})).catch((function(t){e.loading=!1}))},getAllTaskStepsOfWorkTask:function(){var t=this;this.$store.dispatch("workflow/getAllTaskStepsOfWorkTask",{worktaskId:this.workTaskForm.id}).then((function(e){t.workHistories=e;var i=t.workHistories.filter((function(e){return e.handleUser.id==t.$store.state.user.user.id&&0==e.isHandled&&0==e.workStepType}))[0];t.workStep.handleUser=i.handleUser,t.workStep.id=i.id})).catch((function(e){t.loading=!1}))},callback:function(){this.loadData(this.workTaskForm.id)},getAndRendWithFormDesign:function(t){var e=this;this.loading=!0;var i={};try{i=JSON.parse(t.entityKeyValue)}catch(r){i={}}var o={};try{o=JSON.parse(t.formData)}catch(r){o={}}this.$refs.controlPanel.setValue([],o);var a=Object(n["a"])(Object(n["a"])({},i),{},{version:i.versionId});this.$store.dispatch("dynamicFormDesign/getFormDesignVersion",a).then((function(t){return e.loading=!1,e.formDesign=t,t&&t.designContent?JSON.parse(t&&t.designContent):[]})).then((function(t){e.loading=!1,e.$refs.controlPanel.setValue(t,o)}))}}}),l=s,c=(i("f84a"),i("2877")),d=Object(c["a"])(l,o,a,!1,null,null,null);e["a"]=d.exports},"9a0c":function(t,e,i){var o=i("342f");t.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o)},eb3e:function(t,e,i){"use strict";e["a"]={computed:{currentUserId:function(){return this.$store.state.user.user.id}},data:function(){return{moduleName:"",tableData:[],page:{total:100,maxResultCount:50,currentPage:1,conditions:[],sorting:"creationtime desc"},loading:{getPageList:!1}}},watch:{currentUserId:function(){this.getPageList&&this.getPageList()}},mounted:function(){this.getPageList()},methods:{dateFormat:function(t,e){var i=t[e.property];if(null===i)return"";var o=new Date(i);return o.getFullYear()+"-"+(o.getMonth()+1)+"-"+o.getDate()+" "+o.getHours()+":"+o.getMinutes()+":"+o.getSeconds()},paginationChange:function(t,e){t&&(this.page.maxResultCount=t),e&&(this.page.currentPage=e),this.getPageList()},create:function(){this.$refs.createForm.show()},edit:function(t){this.$refs.editForm.show(t)},getPageList:function(){var t=this;this.loading.getPageList=!0,this.page.skipCount=(this.page.currentPage-1)*this.page.maxResultCount,this.$store.dispatch(this.moduleName+"/getPageList",this.page).then((function(e){t.tableData=e.items,t.page.total=e.total,t.loading.getPageList=!1}))},remove:function(t){var e=this;this.$confirm("确认删除该记录?, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){e.$store.dispatch(e.moduleName+"/delete",{id:t}).then((function(t){e.$message({type:"success",message:"删除成功!"}),e.getPageList()}))})).catch((function(){e.$message({type:"info",message:"已取消删除"})}))}}}},ed08:function(t,e,i){"use strict";i("a4d3"),i("e01a"),i("d3b7"),i("d28b"),i("3ca3"),i("ddb0");i("ac1f"),i("00b4"),i("5319"),i("4d63"),i("2c3e"),i("25f0"),i("4d90"),i("1276"),i("159b"),i("a15b")},f84a:function(t,e,i){"use strict";i("6129")}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-3d34f123.1f8e4c1e.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-3d34f123.1f8e4c1e.js new file mode 100644 index 0000000000000000000000000000000000000000..f55476f5ee59b2b07d53c3949703d3db990a13db --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-3d34f123.1f8e4c1e.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-3d34f123"],{"0ccb":function(t,e,o){var i=o("50c4"),a=o("1148"),n=o("1d80"),r=Math.ceil,s=function(t){return function(e,o,s){var l,c,d=String(n(e)),f=d.length,u=void 0===s?" ":String(s),h=i(o);return h<=f||""==u?d:(l=h-f,c=a.call(u,r(l/u.length)),c.length>l&&(c=c.slice(0,l)),t?d+c:c+d)}};t.exports={start:s(!1),end:s(!0)}},1148:function(t,e,o){"use strict";var i=o("a691"),a=o("1d80");t.exports="".repeat||function(t){var e=String(a(this)),o="",n=i(t);if(n<0||n==1/0)throw RangeError("Wrong number of repetitions");for(;n>0;(n>>>=1)&&(e+=e))1&n&&(o+=e);return o}},"2a48":function(t,e,o){"use strict";o.r(e);var i=function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",{directives:[{name:"loading",rawName:"v-loading",value:t.loading.getPageList,expression:"loading.getPageList"}],staticClass:"app-container"},[o("div",[o("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.create}},[t._v("新增")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.getPageList}},[t._v("刷新")])],1),o("br"),o("el-table",{staticStyle:{width:"100%"},attrs:{data:t.tableData,border:""}},[o("el-table-column",{attrs:{type:"index",label:"序号",width:"60"}}),o("el-table-column",{attrs:{prop:"name",label:"标题"}}),o("el-table-column",{attrs:{prop:"workflowName",label:"流程名称",width:"250"},scopedSlots:t._u([{key:"default",fn:function(e){return[o("span",[t._v(t._s(e.row.workflowId.workflowName))])]}}])}),o("el-table-column",{attrs:{label:"审批状态",width:"80"},scopedSlots:t._u([{key:"default",fn:function(e){return[0==e.row.workTaskStatus?o("span",[t._v("待发起")]):t._e(),1==e.row.workTaskStatus?o("span",[t._v("审批中")]):t._e(),2==e.row.workTaskStatus?o("span",[t._v("已审批")]):t._e()]}}])}),o("el-table-column",{attrs:{prop:"creationTime",formatter:t.dateFormat,label:"创建时间",width:"160"}}),o("el-table-column",{attrs:{prop:"modifiedTime",formatter:t.dateFormat,label:"更新时间",width:"160"}}),o("el-table-column",{attrs:{fixed:"right",label:"操作",width:"200"},scopedSlots:t._u([{key:"default",fn:function(e){return[0!=e.row.workTaskStatus?o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return t.$refs.viewForm.show(e.row.id)}}},[t._v("查看")]):t._e(),0==e.row.workTaskStatus?o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return t.startWorkTask(e.row.id)}}},[t._v("发起审批")]):t._e(),0==e.row.workTaskStatus?o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return t.$refs.editForm.show(e.row.id)}}},[t._v("编辑")]):t._e(),0==e.row.workTaskStatus?o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return t.remove(e.row.id)}}},[t._v("删除")]):t._e(),o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return t.$refs.workflowDesignForm.show({id:e.row.workflowId.id,version:e.row.workflowId.versionId})}}},[t._v("流程图")])]}}])})],1),o("br"),o("el-pagination",{attrs:{background:"",layout:"sizes,prev, pager, next",total:t.page.total,"page-size":t.page.maxResultCount,"current-page":t.page.currentPage},on:{"current-change":function(e){return t.paginationChange(null,e)},"size-change":function(e){return t.paginationChange(e)}}}),o("viewForm",{ref:"viewForm"}),o("createForm",{ref:"createForm",on:{"ok-click":t.getPageList}}),o("editForm",{ref:"editForm"}),o("workflowDesignForm",{ref:"workflowDesignForm"})],1)},a=[],n=(o("4de4"),o("d3b7"),function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",[o("el-dialog",{attrs:{title:"新增",visible:t.visible,width:"60%","close-on-click-modal":!1},on:{close:function(e){t.visible=!1}}},[o("el-form",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],ref:"form",staticClass:"demo-form",staticStyle:{width:"100%"},attrs:{model:t.form,rules:t.rules,"label-width":"100px","label-position":"top",size:"mini"}},[o("el-form-item",{attrs:{label:"表单名称",prop:"workflowId","label-width":t.defaultLabelWidth}},[o("el-select",{staticStyle:{width:"100%"},attrs:{filterable:"",placeholder:"请选择","default-first-option":""},model:{value:t.form.workflowId,callback:function(e){t.$set(t.form,"workflowId",e)},expression:"form.workflowId"}},t._l(t.allWorkflows,(function(t){return o("el-option",{key:t.id+t.activeVersion,attrs:{label:t.name+":Version"+t.activeVersion,value:t.id+":"+t.activeVersion}})})),1)],1),o("el-form-item",{attrs:{label:"标题",prop:"title","label-width":t.defaultLabelWidth}},[o("el-input",{attrs:{disabled:"",size:"mini",type:"text"},model:{value:t.form.title,callback:function(e){t.$set(t.form,"title",e)},expression:"form.title"}})],1),o("el-form-item",{attrs:{label:"表单数据",prop:""}},[o("el-card",{attrs:{shadow:"never"}},[o("controlPanel",{ref:"controlPanel",attrs:{isEdit:!0}})],1)],1)],1),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("el-button",{attrs:{size:"small"},on:{click:function(e){t.visible=!1}}},[t._v("取 消")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirm}},[t._v("确 定")])],1)],1)],1)}),r=[],s=(o("99af"),o("b0c0"),o("ac1f"),o("1276"),o("159b"),o("b64b"),o("e9c4"),o("afbe")),l={components:{controlPanel:s["a"]},props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()},"form.workflowId":{handler:function(){var t=this;if(this.form.workflowId){console.log(this.$store.state);var e=new Date,o=this.allWorkflows.filter((function(e){return e.id+":"+e.activeVersion===t.form.workflowId}));this.form.title="".concat(this.$store.state.user.user.name,"-").concat(o[0].name,"审批-").concat(e.getFullYear(),"/").concat(e.getMonth()+1,"/").concat(e.getDate());var i=this.form.workflowId.split(":");this.workTaskForm.workflowId={id:i[0],versionId:i[1]},this.changeFormDesign({id:i[0],version:i[1]})}}}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{title:""},rules:{title:[{required:!0,message:"请输入",trigger:"change"}],workflowId:[{required:!0,message:"请选择",trigger:"change"}]},allWorkflows:[],formDesign:{},workTaskForm:{entityFullName:"dynamicForm",entityKeyValue:"",formData:"{}",workTaskStatus:"",name:"",workflowId:{}}}},methods:{confirm:function(){this.commit()},show:function(t){this.visible=!0,this.getAllWorkflowsWithVersion(),t&&this.loadData(t)},hide:function(){this.visible=!1,this.form={name:""}},loadData:function(t){var e=this;this.loading=!0,Object.keys(t).forEach((function(o){e.form[o]=t[o]})),this.loading=!1},commit:function(){var t=this;this.$refs["form"].validate((function(e){if(!e)return console.log("error submit!!"),!1;t.createWorkTask()}))},changeFormDesign:function(t){var e=this;this.loading=!0,this.getDesign(t).then((function(t){e.loading=!1,e.$refs.controlPanel.setValue(t,{})}))},getDesign:function(t){var e=this;return this.$store.dispatch("dynamicFormDesign/getFormDesignVersionByWorkflowId",t).then((function(t){return e.formDesign=t,t&&t.designContent?JSON.parse(t&&t.designContent):[]}))},createWorkTask:function(){var t=this;this.loading=!0;var e=this.formDesign||{};this.workTaskForm.entityKeyValue=JSON.stringify({id:e.formDesignId,versionId:e.version,time:(new Date).getTime()}),this.workTaskForm.name=this.form.title,this.workTaskForm.formData=JSON.stringify(this.$refs.controlPanel.getValue());var o="workflow/createWorkTask";this.$store.dispatch(o,this.workTaskForm).then((function(e){return t.loading=!1,t.hide(),t.$emit("ok-click"),e})).catch((function(e){t.loading=!1}))},getAllWorkflowsWithVersion:function(){var t=this;this.loading=!0,this.$store.dispatch("workflow/getAllWorkflowsWithVersion",this.form).then((function(e){t.allWorkflows=e,t.loading=!1}))}}},c=l,d=o("2877"),f=Object(d["a"])(c,n,r,!1,null,null,null),u=f.exports,h=o("eb3e"),m=o("64d3"),g=function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",[o("el-dialog",{attrs:{title:"编辑",visible:t.visible,width:"60%","close-on-click-modal":!1},on:{close:function(e){t.visible=!1}}},[o("el-form",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],ref:"form",staticClass:"demo-form",staticStyle:{width:"100%"},attrs:{model:t.form,rules:t.rules,"label-width":"100px","label-position":"top",size:"mini"}},[o("el-form-item",{attrs:{label:"表单名称",prop:"workflowId","label-width":t.defaultLabelWidth}},[o("el-select",{staticStyle:{width:"100%"},attrs:{filterable:"",placeholder:"请选择","default-first-option":"",disabled:""},model:{value:t.form.workflowId,callback:function(e){t.$set(t.form,"workflowId",e)},expression:"form.workflowId"}},t._l(t.allWorkflows,(function(t){return o("el-option",{key:t.id+t.activeVersion,attrs:{label:t.name+":"+t.activeVersion,value:t.id+":"+t.activeVersion}})})),1)],1),o("el-form-item",{attrs:{label:"标题",prop:"title","label-width":t.defaultLabelWidth}},[o("el-input",{attrs:{disabled:"",size:"mini",type:"text"},model:{value:t.form.title,callback:function(e){t.$set(t.form,"title",e)},expression:"form.title"}})],1),o("el-form-item",{attrs:{label:"表单数据",prop:"title"}},[o("el-card",{attrs:{shadow:"never"}},[o("controlPanel",{ref:"controlPanel",attrs:{isEdit:!0}})],1)],1)],1),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("el-button",{attrs:{size:"small"},on:{click:function(e){t.visible=!1}}},[t._v("取 消")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirm}},[t._v("确 定")])],1)],1)],1)},p=[],w=o("5530"),k={components:{controlPanel:s["a"]},props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{title:"",value:""},rules:{title:[{required:!0,message:"请输入",trigger:"blur"}],workflowId:[{required:!0,message:"请选择",trigger:"blur"}]},allWorkflows:[],formDesign:{},workTaskForm:{entityFullName:"dynamicForm",entityKeyValue:"",formData:"{}",workTaskStatus:"",name:"",workflowId:{}}}},methods:{confirm:function(){this.commit()},show:function(t){this.visible=!0,this.getAllWorkflowsWithVersion(),t&&this.loadData(t)},hide:function(){this.visible=!1,this.form={name:""}},loadData:function(t){this.loading=!0,this.getWorkTask(t),this.loading=!1},commit:function(){this.updateFormData()},getAndRendWithFormDesign:function(t){var e=this;this.loading=!0;var o={};try{o=JSON.parse(t.entityKeyValue)}catch(n){o={}}var i={};try{i=JSON.parse(t.formData)}catch(n){i={}}this.$refs.controlPanel.setValue([],i);var a=Object(w["a"])(Object(w["a"])({},o),{},{version:o.versionId});this.$store.dispatch("dynamicFormDesign/getFormDesignVersion",a).then((function(t){return e.loading=!1,e.formDesign=t,t&&t.designContent?JSON.parse(t&&t.designContent):[]})).then((function(t){e.loading=!1,e.$refs.controlPanel.setValue(t,i)}))},getWorkTask:function(t){var e=this;this.loading=!0;var o="workflow/getWorkTask";this.$store.dispatch(o,{id:t}).then((function(t){return e.form.id=t.id,e.form.title=t.name,e.form.workflowId=t.workflowId.id+":"+t.workflowId.versionId,e.getAndRendWithFormDesign(t),e.loading=!1,t})).catch((function(t){e.loading=!1}))},getAllWorkflowsWithVersion:function(){var t=this;this.loading=!0,this.$store.dispatch("workflow/getAllWorkflowsWithVersion",this.form).then((function(e){t.allWorkflows=e,t.loading=!1}))},updateFormData:function(){var t=this;this.loading=!0;var e={id:this.form.id,formData:JSON.stringify(this.$refs.controlPanel.getValue())};this.$store.dispatch("workflow/updateWorkTaskFormData",e).then((function(e){t.loading=!1,t.hide()})).catch((function(e){t.loading=!1}))}}},v=k,b=Object(d["a"])(v,g,p,!1,null,null,null),y=b.exports,_=o("37c0"),T={components:{createForm:u,viewForm:m["a"],editForm:y,workflowDesignForm:_["a"]},mixins:[h["a"]],data:function(){return{moduleName:"workflow",selections:[]}},mounted:function(){},methods:{getPageList:function(){var t=this;this.loading.getPageList=!0,this.page.skipCount=(this.page.currentPage-1)*this.page.maxResultCount,this.$store.dispatch(this.moduleName+"/getWorkTasksOfCreator",this.page).then((function(e){t.tableData=e.items,t.page.total=e.total,t.loading.getPageList=!1}))},getDesignName:function(t){var e=this.selections.filter((function(e){return e.id==t}));return e&&e.length>0?e[0].title:""},remove:function(t){var e=this;this.$confirm("确认删除该记录?, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){e.$store.dispatch(e.moduleName+"/deleteWorkTask",{id:t}).then((function(t){e.$message({type:"success",message:"删除成功!"}),e.getPageList()}))})).catch((function(){e.$message({type:"info",message:"已取消删除"})}))},startWorkTask:function(t){var e=this;this.$confirm("确认发起审批?, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){e.loading.getPageList=!0;var o={workTaskId:t};e.$store.dispatch("workflow/startWorkTask",o).then((function(t){e.loading.getPageList=!1,e.getPageList()})).catch((function(t){e.loading.getPageList=!1}))})).catch((function(){e.$message({type:"info",message:"已取消删除"})}))}}},D=T,F=Object(d["a"])(D,i,a,!1,null,null,null);e["default"]=F.exports},"37c0":function(t,e,o){"use strict";var i,a=function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",[o("el-dialog",{attrs:{title:"流程查看",visible:t.visible,width:"60%","close-on-click-modal":!1},on:{close:function(e){t.visible=!1}}},[o("workflowEditPanel",{ref:"workflowEditPanel",attrs:{nodeData:t.nodeData}}),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("el-button",{attrs:{size:"small"},on:{click:function(e){t.visible=!1}}},[t._v("取 消")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirm}},[t._v("确 定")])],1)],1)],1)},n=[],r=o("ade3"),s=o("0aef"),l={components:{workflowEditPanel:s["a"]},props:{},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",nodeData:{},data:{}}},methods:(i={confirm:function(){this.commit()},show:function(t){this.visible=!0,this.loadData(t.version,t.id)},hide:function(){this.visible=!1,this.value={},this.control={}},loadData:function(t){},commit:function(){this.hide()}},Object(r["a"])(i,"loadData",(function(t,e){var o=this,i=this;this.$store.dispatch("workflow/getWorkflowVersion",{versionid:t,id:e}).then((function(t){i.nodeData=0==t.drawingInfo.length?o.defaultNode():JSON.parse(t.drawingInfo),i.data=t,i.$refs.workflowEditPanel.loadNodeData()}))})),Object(r["a"])(i,"defaultNode",(function(){return{name:"",nodeList:[],lineList:[]}})),i)},c=l,d=o("2877"),f=Object(d["a"])(c,a,n,!1,null,null,null);e["a"]=f.exports},"4d90":function(t,e,o){"use strict";var i=o("23e7"),a=o("0ccb").start,n=o("9a0c");i({target:"String",proto:!0,forced:n},{padStart:function(t){return a(this,t,arguments.length>1?arguments[1]:void 0)}})},6129:function(t,e,o){},"64d3":function(t,e,o){"use strict";var i=function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",[o("el-dialog",{attrs:{title:t.workTaskForm.name,visible:t.visible,width:"60%","close-on-click-modal":!1},on:{close:function(e){t.visible=!1}}},[0!=t.form.workflowStatus?o("el-card",{attrs:{shadow:"never"}},[o("div",{attrs:{slot:"header"},slot:"header"},[t._v("表单数据")]),o("el-form",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],ref:"form",staticClass:"demo-form",attrs:{model:t.form,rules:t.rules,"label-width":"0px","label-position":"top",size:"mini"}},[o("el-form-item",{attrs:{label:"",prop:"title"}},[o("controlPanel",{ref:"controlPanel",attrs:{isEdit:t.isEdit}})],1)],1)],1):t._e(),o("el-card",{staticClass:"card-provehistory",staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[o("div",{attrs:{slot:"header"},slot:"header"},[t._v("审批记录")]),t._l(t.workHistories,(function(e){return o("el-card",{key:e.id,staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[o("div",{attrs:{slot:"header"},slot:"header"},[o("span",[o("span",{staticClass:"historylabel"},[t._v("节点:")]),t._v(t._s(e.nodeName))]),o("div",{staticStyle:{float:"right",padding:"3px 0"}},[0==e.workStepType?o("span",[e.isHandled?o("span",{attrs:{underline:!1,type:"success"}},[o("span",[0==e.handleType?o("el-link",{attrs:{underline:!1,type:"success"}},[t._v("通过")]):t._e(),1==e.handleType?o("el-link",{attrs:{underline:!1,type:"danger"}},[t._v("拒绝")]):t._e(),2==e.handleType?o("el-link",{attrs:{underline:!1,type:"info"}},[t._v("撤回")]):t._e(),3==e.handleType?o("el-link",{attrs:{underline:!1,type:"warning"}},[t._v("转发")]):t._e(),4==e.handleType?o("el-link",{attrs:{underline:!1}},[t._v("未处理")]):t._e()],1)]):o("el-link",{attrs:{underline:!1,type:"info"}},[t._v("待处理")])],1):o("span",[o("el-link",{attrs:{underline:!1,type:"info"}},[t._v("只读")])],1)])]),o("div",[o("span",{staticClass:"historylabel"},[t._v("处理人:")]),t._v(" "+t._s(e.handleUser.name)+" ")]),o("div",[o("p",{staticClass:"historylabel"},[t._v("意见:")]),t._v(" "+t._s(e.comment)+" ")]),o("div",[o("p",{staticClass:"historylabel"},[t._v("附件:")]),t._v(" "+t._s(e.resourceIds)+" ")]),o("br"),o("div",{staticClass:"bottom clearfix"},[e.isHandled?o("time",{staticClass:"time"},[o("span",{staticClass:"historylabel"},[t._v("处理时间:")]),t._v(t._s(e.handlerTime))]):t._e()])])}))],2),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("el-button",{attrs:{size:"small"},on:{click:function(e){t.visible=!1}}},[t._v("取 消")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirm}},[t._v("确 定")])],1)],1)],1)},a=[],n=o("5530"),r=(o("4de4"),o("d3b7"),o("afbe")),s=(o("ed08"),{components:{controlPanel:r["a"]},props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()}},model:{prop:"value",event:"change"},computed:{currentUserId:function(){return this.$store.state.user.user.id},canHandle:function(){var t=this;return this.workHistories.filter((function(e){return e.handleUser.id==t.currentUserId&&0==e.isHandled&&0==e.workStepType})).length>0}},data:function(){return{loading:!1,visible:!1,form:{name:"",formDesignId:{}},controls:[],selections:[],rules:{},isEdit:!1,workTaskForm:{id:"",createdUserId:"",entityFullName:"",entityKeyValue:"",formData:"{}",workTaskStatus:"",name:"模拟流程",workflowId:{}},workStep:{handleUser:{id:""},userSelectors:[{selectorId:"",selectorName:"",selections:[],parameter:"",description:"",handleType:0}],comment:"",stepId:""},workHistories:[],isForward:!1}},methods:{confirm:function(){this.commit()},show:function(t){this.visible=!0,t&&this.loadData(t)},hide:function(){this.visible=!1,this.form={name:"",formDesignId:{},formData:{}},this.isForward=!1},loadData:function(t){var e=this;this.loading=!0,this.getWorkTask(t).then((function(t){e.getAllTaskStepsOfWorkTask(),e.$refs.controlPanel.setValue([],JSON.parse(t.formData||"{}")),e.loading=!1}))},commit:function(){this.$emit("ok-click",{}),this.hide()},getWorkTask:function(t){var e=this;return this.$store.dispatch("workflow/getWorkTask",{id:t}).then((function(t){return e.workTaskForm=t,e.getAndRendWithFormDesign(t),t})).catch((function(t){e.loading=!1}))},getAllTaskStepsOfWorkTask:function(){var t=this;this.$store.dispatch("workflow/getAllTaskStepsOfWorkTask",{worktaskId:this.workTaskForm.id}).then((function(e){t.workHistories=e;var o=t.workHistories.filter((function(e){return e.handleUser.id==t.$store.state.user.user.id&&0==e.isHandled&&0==e.workStepType}))[0];t.workStep.handleUser=o.handleUser,t.workStep.id=o.id})).catch((function(e){t.loading=!1}))},callback:function(){this.loadData(this.workTaskForm.id)},getAndRendWithFormDesign:function(t){var e=this;this.loading=!0;var o={};try{o=JSON.parse(t.entityKeyValue)}catch(r){o={}}var i={};try{i=JSON.parse(t.formData)}catch(r){i={}}this.$refs.controlPanel.setValue([],i);var a=Object(n["a"])(Object(n["a"])({},o),{},{version:o.versionId});this.$store.dispatch("dynamicFormDesign/getFormDesignVersion",a).then((function(t){return e.loading=!1,e.formDesign=t,t&&t.designContent?JSON.parse(t&&t.designContent):[]})).then((function(t){e.loading=!1,e.$refs.controlPanel.setValue(t,i)}))}}}),l=s,c=(o("f84a"),o("2877")),d=Object(c["a"])(l,i,a,!1,null,null,null);e["a"]=d.exports},"9a0c":function(t,e,o){var i=o("342f");t.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(i)},ed08:function(t,e,o){"use strict";o("a4d3"),o("e01a"),o("d3b7"),o("d28b"),o("3ca3"),o("ddb0");o("ac1f"),o("00b4"),o("5319"),o("4d63"),o("2c3e"),o("25f0"),o("4d90"),o("1276"),o("159b"),o("a15b")},f84a:function(t,e,o){"use strict";o("6129")}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-4343db66.e4f70db8.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-4343db66.e4f70db8.js new file mode 100644 index 0000000000000000000000000000000000000000..fe23ac1675cb87c5e35dded4003e495a036185e1 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-4343db66.e4f70db8.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-4343db66"],{"0254":function(e,t,r){},"09e3":function(e,t,r){"use strict";r("0254")},"13d9":function(e,t,r){"use strict";r.r(t);var s=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"app-container"},[r("el-card",{staticClass:"box-card"},[this.$route.query.id?r("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[r("span",[e._v("模拟流程:"+e._s(e.$route.query.name))]),r("el-button",{staticStyle:{float:"right",padding:"3px 0","margin-right":"10px"},attrs:{type:"text"},on:{click:function(t){return e.$router.push({path:"/workflow/list"})}}},[e._v("返回")])],1):e._e(),r("div",[r("div",[r("controlPanel",{ref:"controlPanel",attrs:{isEdit:!0}})],1),r("br"),r("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0}},[r("el-form-item",{attrs:{label:""}},[r("el-select",{attrs:{placeholder:"发起人",size:"mini"},model:{value:e.workTaskForm.createdUserId,callback:function(t){e.$set(e.workTaskForm,"createdUserId",t)},expression:"workTaskForm.createdUserId"}},e._l(e.allUsers,(function(e){return r("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1),r("el-form-item",[r("el-checkbox",{model:{value:e.isSimulation,callback:function(t){e.isSimulation=t},expression:"isSimulation"}},[e._v("是否模拟")])],1),r("el-form-item",[r("el-button",{attrs:{type:"primary",size:"mini"},on:{click:e.startWork}},[e._v("发起流程")])],1)],1)],1)]),r("el-card",{staticClass:"box-card",staticStyle:{"margin-top":"10px"}},[r("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[r("span",[e._v("流程实例")])]),r("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],ref:"singleTable",attrs:{data:[e.workTaskForm]}},[r("el-table-column",{attrs:{type:"index",width:"50"}}),r("el-table-column",{attrs:{property:"name",label:"流程名称",width:"200"}}),r("el-table-column",{attrs:{property:"formData",label:"表单"}}),r("el-table-column",{attrs:{property:"workTaskStatus",label:"状态",width:"100"},scopedSlots:e._u([{key:"default",fn:function(t){return[0==t.row.workTaskStatus?r("span",[e._v("待发起")]):e._e(),1==t.row.workTaskStatus?r("span",[e._v("审批中")]):e._e(),2==t.row.workTaskStatus?r("span",[e._v("已审批")]):e._e()]}}])}),r("el-table-column",{attrs:{property:"createdUserId",label:"创建用户id",width:"200"},scopedSlots:e._u([{key:"default",fn:function(t){return[r("span",[e._v(e._s(e.getUserName(t.row.createdUserId)))])]}}])}),r("el-table-column",{attrs:{property:"creationTime",label:"创建时间",width:"320"}})],1)],1),r("processForm",{ref:"processForm",attrs:{workTaskForm:e.workTaskForm}})],1)},o=[],i=(r("b0c0"),r("4de4"),r("d3b7"),r("a9e3"),r("25f0"),r("e9c4"),r("77ff")),a=r("69a1"),n=r("afbe"),l={components:{nodeUser:i["a"],processForm:a["a"],controlPanel:n["a"]},name:"workflow-simulation",props:{workflowName:{default:"测试流程"},workflowId:{default:"1"},workflowVersionId:{default:"1"}},computed:{id:function(){return this.$route.query.id||this.workflowId},name:function(){return this.$route.query.name||this.workflowName},versionId:function(){return this.$route.query.versionId||this.workflowVersionId},canHandle:function(){var e=this;return this.workHistories.filter((function(t){return t.handleUser.id==e.$store.state.user.user.id&&0==t.isHandled&&0==t.workStepType})).length>0},currentUserId:function(){return this.$store.state.user.user.id}},watch:{"workTaskForm.createdUserId":{handler:function(){var e=this,t=this.allUsers.filter((function(t){return t.id==e.workTaskForm.createdUserId}))[0];this.$store.dispatch("user/setCurrentUser",t)}},isPass:{handler:function(){this.isPass?this.workStep.rejectToNodeId=null:this.getRejectNodes()}}},data:function(){return{formData:"",loading:!1,allUsers:[],workTaskForm:{id:"",createdUserId:"",entityFullName:"",entityKeyValue:"",formData:"{}",workTaskStatus:"",name:"模拟流程",workflowId:{}},workStep:{handleUser:{id:""},userSelectors:[{selectorId:"",selectorName:"",selections:[],parameter:"",description:"",handleType:0}],rejectNodes:[{id:"",name:""}],comment:"",stepId:"",formData:"",rejectToNodeId:null},workHistories:[],isForward:!1,isPass:!0,isSimulation:!0}},mounted:function(){this.getAllUserForSimulation(),this.getFormDesignVersionByWorkflowId({id:this.id,version:this.versionId})},methods:{goback:function(){this.$navtab.close(this.$route.fullPath)},getAllUserForSimulation:function(){var e=this;this.$store.dispatch("workflow/GetAllUserForSimulation").then((function(t){e.allUsers=t,e.workTaskForm.createdUserId=e.allUsers[0].id}))},getUserName:function(e){var t=this.allUsers.filter((function(t){return t.id==e}));return t.length>0?t[0].name:""},startWork:function(){var e=this;this.loading=!0,this.workTaskForm.workflowId={versionId:Number(this.versionId),id:this.id},this.workTaskForm.entityFullName="Simulation",this.workTaskForm.entityKeyValue=(new Date).getTime().toString(),this.workTaskForm.formData=JSON.stringify(this.$refs.controlPanel.getValue());var t=this;console.log("this.isSimulation",this.isSimulation);var r=this.isSimulation?"workflow/createSimulationWorkTask":"workflow/createWorkTask";this.$store.dispatch(r,this.workTaskForm).then((function(t){return e.workTaskForm=t,t})).then((function(r){var s={workTaskId:r.id};e.$store.dispatch("workflow/startWorkTask",s).then((function(r){t.loading=!1,e.$refs.processForm.loadHistories(e.workTaskForm)})).catch((function(t){e.loading=!1}))})).catch((function(t){e.loading=!1}))},getFormDesignVersionByWorkflowId:function(e){var t=this;this.loading=!0,this.$store.dispatch("dynamicFormDesign/getFormDesignVersionByWorkflowId",e).then((function(e){return t.loading=!1,t.formDesign=e,e&&e.designContent?JSON.parse(e&&e.designContent):[]})).then((function(e){t.loading=!1,t.$refs.controlPanel.setValue(e,{})}))}}},c=l,d=r("2877"),u=Object(d["a"])(c,s,o,!1,null,null,null);t["default"]=u.exports},"69a1":function(e,t,r){"use strict";var s=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[e.workStep&&e.canHandle?r("el-card",{staticClass:"box-card",staticStyle:{"margin-top":"10px"}},[r("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[r("span",[e._v("审批")])]),r("el-card",{staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[r("div",[r("el-radio",{attrs:{label:!1},model:{value:e.isForward,callback:function(t){e.isForward=t},expression:"isForward"}},[e._v("处理")]),r("el-radio",{attrs:{label:!0},model:{value:e.isForward,callback:function(t){e.isForward=t},expression:"isForward"}},[e._v("转发")])],1),r("br"),e.isForward?r("div",[r("nodeUser",{attrs:{userSelectors:e.workStep.userSelectors}}),r("br"),r("el-button",{attrs:{type:"danger",size:"mini"},on:{click:e.forwardProve}},[e._v("转发/代办")])],1):r("div",[r("el-form",[r("el-form-item",{attrs:{label:"表单数据"}},[r("el-input",{attrs:{type:"textarea",rows:4,placeholder:"表单数据(与主流程不同,每一步都可能有当前的处理表单数据)"},model:{value:e.workStep.formData,callback:function(t){e.$set(e.workStep,"formData",t)},expression:"workStep.formData"}})],1),r("el-form-item",{attrs:{label:"批语"}},[r("el-input",{attrs:{type:"textarea",rows:2,placeholder:"批语 "},model:{value:e.workStep.comment,callback:function(t){e.$set(e.workStep,"comment",t)},expression:"workStep.comment"}})],1),e.isPass?e._e():r("el-form-item",{attrs:{label:"驳回节点"}},[r("el-select",{attrs:{placeholder:"驳回节点",size:"mini"},model:{value:e.workStep.rejectToNodeId,callback:function(t){e.$set(e.workStep,"rejectToNodeId",t)},expression:"workStep.rejectToNodeId"}},e._l(e.workStep.rejectNodes,(function(e){return r("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1),r("el-form-item",[r("div",[r("el-radio",{attrs:{label:!0},model:{value:e.isPass,callback:function(t){e.isPass=t},expression:"isPass"}},[e._v("通过")]),r("el-radio",{attrs:{label:!1},model:{value:e.isPass,callback:function(t){e.isPass=t},expression:"isPass"}},[e._v("驳回")])],1),r("el-button",{attrs:{type:"primary",size:"mini"},on:{click:function(){return e.isPass?e.passApprove():e.rejectApprove()}}},[e._v("确定")])],1)],1)],1)])],1):e._e(),r("el-card",{staticClass:"card-provehistory",staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[r("div",{attrs:{slot:"header"},slot:"header"},[e._v(" 审批记录 "),r("el-button",{attrs:{type:"text",size:"mini"},on:{click:e.getAllTaskStepsOfWorkTask}},[e._v("刷新")])],1),e._l(e.workHistories,(function(t){return r("el-card",{key:t.id,staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[r("div",{attrs:{slot:"header"},slot:"header"},[r("span",[r("span",{staticClass:"historylabel"},[e._v("节点:")]),e._v(e._s(t.nodeName))]),r("div",{staticStyle:{float:"right",padding:"3px 0"}},[0==t.workStepType?r("span",[t.isHandled?r("span",[0==t.handleType?r("el-link",{attrs:{underline:!1,type:"success"}},[e._v("通过")]):e._e(),1==t.handleType?r("el-link",{attrs:{underline:!1,type:"danger"}},[e._v("拒绝")]):e._e(),2==t.handleType?r("el-link",{attrs:{underline:!1,type:"info"}},[e._v("撤回")]):e._e(),3==t.handleType?r("el-link",{attrs:{underline:!1,type:"warning"}},[e._v("转发")]):e._e(),4==t.handleType?r("el-link",{attrs:{underline:!1}},[e._v("未处理")]):e._e()],1):r("el-link",{attrs:{underline:!1,type:"info"}},[e._v("待处理")])],1):r("span",[e._v("只读/抄送")])])]),r("div",[r("span",{staticClass:"historylabel"},[e._v("处理人:")]),e._v(" "+e._s(t.handleUser.name)+" ")]),r("div",[r("p",{staticClass:"historylabel"},[e._v("意见:")]),e._v(" "+e._s(t.comment)+" ")]),r("div",[r("p",{staticClass:"historylabel"},[e._v("附件:")]),e._v(" "+e._s(t.resourceIds)+" ")]),r("br"),r("div",{staticClass:"bottom clearfix"},[t.isHandled?r("time",{staticClass:"time"},[r("span",{staticClass:"historylabel"},[e._v("处理时间:")]),e._v(e._s(t.handlerTime))]):e._e(),1==t.isHandled&&t.handleUser.id==e.currentUserId?r("el-button",{staticStyle:{float:"right",padding:"3px 0"},attrs:{type:"text"},on:{click:function(r){return e.withdrawProve(t.id)}}},[e._v("撤回")]):e._e()],1)])}))],2)],1)},o=[],i=(r("b0c0"),r("4de4"),r("d3b7"),r("77ff")),a={components:{nodeUser:i["a"]},name:"workflow-simulation",props:{workflowName:{default:"测试流程"},workflowId:{default:"1"},workflowVersionId:{default:"1"}},computed:{id:function(){return this.$route.query.id||this.workflowId},name:function(){return this.$route.query.name||this.workflowName},versionId:function(){return this.$route.query.versionId||this.workflowVersionId},canHandle:function(){var e=this;return this.workHistories.filter((function(t){return t.handleUser.id==e.$store.state.user.user.id&&0==t.isHandled&&0==t.workStepType})).length>0},currentUserId:function(){return this.$store.state.user.user.id}},watch:{currentUserId:{handler:function(){this.getAllTaskStepsOfWorkTask()}},isPass:{handler:function(){this.isPass?this.workStep.rejectToNodeId=null:this.getRejectNodes()}}},data:function(){return{formData:"",loading:!1,allUsers:[],workTaskForm:{},workStep:{handleUser:{id:""},userSelectors:[{selectorId:"",selectorName:"",selections:[],parameter:"",description:"",handleType:0}],rejectNodes:[{id:"",name:""}],comment:"",stepId:"",formData:"",rejectToNodeId:null},workHistories:[],isForward:!1,isPass:!0,isSimulation:!0}},mounted:function(){this.getAllUserForSimulation()},methods:{loadHistories:function(e){this.workTaskForm=e,this.callback()},getAllUserForSimulation:function(){var e=this;this.$store.dispatch("workflow/GetAllUserForSimulation").then((function(t){e.allUsers=t}))},getAllTaskStepsOfWorkTask:function(){var e=this;this.workTaskForm.id&&0!=this.workTaskForm.id.length&&this.$store.dispatch("workflow/getAllTaskStepsOfWorkTask",{worktaskId:this.workTaskForm.id}).then((function(t){e.workHistories=t;var r=e.workHistories.filter((function(t){return t.handleUser.id==e.$store.state.user.user.id&&0==t.isHandled&&0==t.workStepType}))[0];e.workStep.handleUser=r.handleUser,e.workStep.id=r.id})).catch((function(t){e.loading=!1}))},getUserName:function(e){var t=this.allUsers.filter((function(t){return t.id==e}));return t.length>0?t[0].name:""},callback:function(){this.getAllTaskStepsOfWorkTask(),this.workStep.comment="",this.isPass=!0},passApprove:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:"",formData:this.workStep.formData},r=this;this.$store.dispatch("workflow/passProve",t).then((function(t){r.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},rejectApprove:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:""},r=this;this.$store.dispatch("workflow/rejectProve",t).then((function(t){r.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},forwardProve:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:"",userSelectors:this.workStep.userSelectors},r=this;this.$store.dispatch("workflow/forwardProve",t).then((function(t){r.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},withdrawProve:function(e){var t=this;this.loading=!0;var r={stepId:e,comment:this.workStep.comment},s=this;this.$store.dispatch("workflow/withdrawProve",r).then((function(e){s.loading=!1,t.callback()})).catch((function(e){t.loading=!1}))},getRejectNodes:function(){var e=this;console.log(this.workStep),this.$store.dispatch("workflow/GetRejectNodes",{workStepId:this.workStep.id}).then((function(t){e.workStep.rejectNodes=t})).catch((function(t){e.loading=!1}))}}},n=a,l=r("2877"),c=Object(l["a"])(n,s,o,!1,null,null,null);t["a"]=c.exports},"77ff":function(e,t,r){"use strict";var s=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",e._l(e.userSelectors,(function(t,s){return r("div",{key:s,staticClass:"user-card",staticStyle:{"margin-top":"10px"},attrs:{shadow:"naver"}},[r("el-form",{staticClass:"demo-form",attrs:{"label-width":"0px","label-position":"right",size:"mini"}},[r("el-form-item",{attrs:{label:"",prop:"ame"}},[r("el-select",{staticStyle:{width:"100%"},attrs:{size:"mini",placeholder:"选择人员类型"},model:{value:t.selectorId,callback:function(r){e.$set(t,"selectorId",r)},expression:"item.selectorId"}},e._l(e.allUserSelectors,(function(e){return r("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1),r("el-form-item",{attrs:{label:"",prop:"ame"}},[r("userSelections",{ref:"userSelections",refInFor:!0,attrs:{index:s,selectorId:t.selectorId,selections:t.selections},on:{"ok-click":e.userSelectionsOkHandler}})],1),r("el-form-item",{attrs:{label:"",prop:"ame"}},[r("el-input",{attrs:{size:"mini",placeholder:"参数"},model:{value:t.parameter,callback:function(r){e.$set(t,"parameter",r)},expression:"item.parameter"}})],1),r("el-form-item",{attrs:{label:"",prop:"ame"}},[r("el-input",{attrs:{size:"mini",placeholder:"描述"},model:{value:t.description,callback:function(r){e.$set(t,"description",r)},expression:"item.description"}})],1),r("el-form-item",{attrs:{label:"",prop:"ame"}})],1)],1)})),0)},o=[],i=(r("d3b7"),r("159b"),r("b0c0"),r("a15b"),r("a434"),function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("el-dialog",{attrs:{title:"选择用户",visible:e.visible,width:"40%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[r("el-table",{ref:"singleTable",staticStyle:{width:"100%",height:"40vh"},attrs:{data:e.selections},on:{"current-change":e.handleCurrentChange,"selection-change":e.handleSelectionChange}},[r("el-table-column",{attrs:{type:"selection",width:"50"}}),r("el-table-column",{attrs:{type:"index",width:"50"}}),r("el-table-column",{attrs:{property:"name",label:"名称",width:"220"}}),r("el-table-column",{attrs:{property:"id",label:"ID"}})],1),r("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[r("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),r("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)}),a=[],n={props:{},watch:{visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{name:""},rules:{name:[{required:!0,message:"请输入",trigger:"change"}]},currentRow:null,selections:[],value:{},multipleSelection:[]}},methods:{confirm:function(){this.commit()},show:function(e){this.visible=!0,this.loadData(e)},hide:function(){this.visible=!1,this.form={name:""}},loadData:function(e){var t=this;this.loading=!0,this.value=e,this.getUserSelectionsOfUserSelector(e.selectorId).then((function(){t.loading=!1}))},getUserSelectionsOfUserSelector:function(e){var t=this;return this.$store.dispatch("workflow/getUserSelectionsOfUserSelector",{userSelectorId:e}).then((function(e){console.log(e),t.selections=e}))},commit:function(){0!=this.multipleSelection.length?(this.$emit("ok-click",{index:this.value.index,value:this.multipleSelection}),this.hide()):this.$message({message:"警告,请选择!",type:"warning"})},handleCurrentChange:function(e){this.currentRow=e},handleSelectionChange:function(e){this.multipleSelection=e}}},l=n,c=r("2877"),d=Object(c["a"])(l,i,a,!1,null,null,null),u=d.exports,h={components:{userSelections:u},props:{userSelectors:{type:Array,default:function(){return[]}}},filters:{getSelectionsName:function(e){if(!e)return"";var t=[];return e.forEach((function(e){t.push(e.name)})),t.join(",")}},data:function(){return{allUserSelectors:[]}},mounted:function(){this.loadUserSelectors()},methods:{loadUserSelectors:function(){var e=this;this.$store.dispatch("workflow/getAllUserSelectors").then((function(t){console.log(t),e.allUserSelectors=t}))},delUserSelector:function(e,t){e.splice(t,1)},userSelectionsOkHandler:function(e){var t=this.userSelectors[e.index];this.$set(t,"selections",[]),e.value.forEach((function(e){t.selections.push({id:e.id,name:e.name})}))}}},m=h,f=(r("09e3"),Object(c["a"])(m,s,o,!1,null,null,null));t["a"]=f.exports},a15b:function(e,t,r){"use strict";var s=r("23e7"),o=r("44ad"),i=r("fc6a"),a=r("a640"),n=[].join,l=o!=Object,c=a("join",",");s({target:"Array",proto:!0,forced:l||!c},{join:function(e){return n.call(i(this),void 0===e?",":e)}})}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-4389f322.2cf35e32.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-4389f322.2cf35e32.js new file mode 100644 index 0000000000000000000000000000000000000000..cfb274c7c59a40b818b89783cb843be24aa83850 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-4389f322.2cf35e32.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-4389f322"],{"0254":function(e,t,o){},"09e3":function(e,t,o){"use strict";o("0254")},"0ccb":function(e,t,o){var r=o("50c4"),s=o("1148"),i=o("1d80"),n=Math.ceil,a=function(e){return function(t,o,a){var l,c,d=String(i(t)),u=d.length,h=void 0===a?" ":String(a),f=r(o);return f<=u||""==h?d:(l=f-u,c=s.call(h,n(l/h.length)),c.length>l&&(c=c.slice(0,l)),e?d+c:c+d)}};e.exports={start:a(!1),end:a(!0)}},1148:function(e,t,o){"use strict";var r=o("a691"),s=o("1d80");e.exports="".repeat||function(e){var t=String(s(this)),o="",i=r(e);if(i<0||i==1/0)throw RangeError("Wrong number of repetitions");for(;i>0;(i>>>=1)&&(t+=t))1&i&&(o+=t);return o}},"37c0":function(e,t,o){"use strict";var r,s=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("el-dialog",{attrs:{title:"流程查看",visible:e.visible,width:"60%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[o("workflowEditPanel",{ref:"workflowEditPanel",attrs:{nodeData:e.nodeData}}),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)},i=[],n=o("ade3"),a=o("0aef"),l={components:{workflowEditPanel:a["a"]},props:{},watch:{value:{handler:function(){},deep:!0},visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",nodeData:{},data:{}}},methods:(r={confirm:function(){this.commit()},show:function(e){this.visible=!0,this.loadData(e.version,e.id)},hide:function(){this.visible=!1,this.value={},this.control={}},loadData:function(e){},commit:function(){this.hide()}},Object(n["a"])(r,"loadData",(function(e,t){var o=this,r=this;this.$store.dispatch("workflow/getWorkflowVersion",{versionid:e,id:t}).then((function(e){r.nodeData=0==e.drawingInfo.length?o.defaultNode():JSON.parse(e.drawingInfo),r.data=e,r.$refs.workflowEditPanel.loadNodeData()}))})),Object(n["a"])(r,"defaultNode",(function(){return{name:"",nodeList:[],lineList:[]}})),r)},c=l,d=o("2877"),u=Object(d["a"])(c,s,i,!1,null,null,null);t["a"]=u.exports},4410:function(e,t,o){},4808:function(e,t,o){"use strict";o.r(t);var r=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{directives:[{name:"loading",rawName:"v-loading",value:e.loading.getPageList,expression:"loading.getPageList"}],staticClass:"app-container"},[o("div",[o("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.getPageList}},[e._v("刷新")])],1),o("br"),o("el-table",{staticStyle:{width:"100%"},attrs:{data:e.tableData,border:""}},[o("el-table-column",{attrs:{type:"index",label:"序号",width:"60"}}),o("el-table-column",{attrs:{prop:"name",label:"标题"}}),o("el-table-column",{attrs:{prop:"workflowName",label:"流程名称",width:"250"},scopedSlots:e._u([{key:"default",fn:function(t){return[o("span",[e._v(e._s(t.row.workflowId.workflowName))])]}}])}),o("el-table-column",{attrs:{prop:"creationTime",formatter:e.dateFormat,label:"创建时间",width:"160"}}),o("el-table-column",{attrs:{prop:"modifiedTime",formatter:e.dateFormat,label:"更新时间",width:"160"}}),o("el-table-column",{attrs:{fixed:"right",label:"操作",width:"150"},scopedSlots:e._u([{key:"default",fn:function(t){return[0!=t.row.workflowStatus?o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return e.$refs.processForm.show(t.row.id)}}},[e._v("办理")]):e._e(),o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return e.$refs.workflowDesignForm.show({id:t.row.workflowId.id,version:t.row.workflowId.versionId})}}},[e._v("流程图")])]}}])})],1),o("br"),o("el-pagination",{attrs:{background:"",layout:"sizes,prev, pager, next",total:e.page.total,"page-size":e.page.maxResultCount,"current-page":e.page.currentPage},on:{"current-change":function(t){return e.paginationChange(null,t)},"size-change":function(t){return e.paginationChange(t)}}}),o("processForm",{ref:"processForm",on:{"ok-click":e.getPageList}}),o("workflowDesignForm",{ref:"workflowDesignForm"})],1)},s=[],i=o("eb3e"),n=o("677e"),a=o("37c0"),l={components:{processForm:n["a"],workflowDesignForm:a["a"]},mixins:[i["a"]],data:function(){return{moduleName:"workflow"}},mounted:function(){},methods:{getPageList:function(){var e=this;this.loading.getPageList=!0,this.page.skipCount=(this.page.currentPage-1)*this.page.maxResultCount,this.$store.dispatch("workflow/getUnHandledWorkTasksOfUser",this.page).then((function(t){e.tableData=t.items,e.page.total=t.total,e.loading.getPageList=!1}))}}},c=l,d=o("2877"),u=Object(d["a"])(c,r,s,!1,null,null,null);t["default"]=u.exports},"4aab":function(e,t,o){"use strict";o("877e")},"4d90":function(e,t,o){"use strict";var r=o("23e7"),s=o("0ccb").start,i=o("9a0c");r({target:"String",proto:!0,forced:i},{padStart:function(e){return s(this,e,arguments.length>1?arguments[1]:void 0)}})},"677e":function(e,t,o){"use strict";var r=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("el-dialog",{attrs:{title:e.workTaskForm.name,visible:e.visible,width:"60%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1},opened:function(t){return e.opened()}}},[o("el-card",{attrs:{shadow:"never"}},[o("div",{attrs:{slot:"header"},slot:"header"},[e._v("表单数据")]),o("el-form",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],ref:"form",staticClass:"demo-form",attrs:{model:e.form,rules:e.rules,"label-width":"0px","label-position":"top",size:"mini"}},[o("el-form-item",{attrs:{label:"",prop:"title"}},[o("controlPanel",{ref:"controlPanel",attrs:{isEdit:e.isEdit}})],1)],1)],1),o("processForm",{ref:"processForm",attrs:{workTaskForm:e.workTaskForm}}),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)},s=[],i=o("5530"),n=(o("4de4"),o("d3b7"),o("afbe")),a=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",e._l(e.userSelectors,(function(t,r){return o("div",{key:r,staticClass:"user-card",staticStyle:{"margin-top":"10px"},attrs:{shadow:"naver"}},[o("el-form",{staticClass:"demo-form",attrs:{"label-width":"0px","label-position":"right",size:"mini"}},[o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-select",{staticStyle:{width:"100%"},attrs:{size:"mini",placeholder:"选择人员类型"},on:{change:function(o){return e.selectorChange(t)}},model:{value:t.selectorId,callback:function(o){e.$set(t,"selectorId",o)},expression:"item.selectorId"}},e._l(e.allUserSelectors,(function(e){return o("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("userSelections",{ref:"userSelections",refInFor:!0,attrs:{index:r,selectorId:t.selectorId,selections:t.selections},on:{"ok-click":e.userSelectionsOkHandler}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-input",{attrs:{size:"mini",placeholder:"参数"},model:{value:t.parameter,callback:function(o){e.$set(t,"parameter",o)},expression:"item.parameter"}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-input",{attrs:{size:"mini",placeholder:"描述"},model:{value:t.description,callback:function(o){e.$set(t,"description",o)},expression:"item.description"}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}})],1)],1)})),0)},l=[],c=(o("159b"),o("b0c0"),o("a15b"),o("a434"),function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("el-select",{staticStyle:{width:"100%"},attrs:{value:e.selectedValues,multiple:"",filterable:"","allow-create":"","default-first-option":"",size:"mini",placeholder:"请选择文章标签"},on:{focus:e.onfocus,change:e.onchange}},e._l(e.allOptions,(function(e){return o("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)}),d=[],u=(o("a9e3"),{props:{selections:{type:Array},index:{type:Number},selectorId:{type:String}},watch:{selectorId:function(){this.onfocus()}},computed:{allOptions:function(){var e=[];return e=0==this.options.length?this.selections.filter((function(e){return!0})):this.options,e},selectedValues:function(){var e=[];return this.selections.forEach((function(t){e.push(t.id)})),e}},data:function(){return{options:[]}},methods:{onfocus:function(){var e=this;this.$store.dispatch("workflow/getUserSelectionsOfUserSelector",{userSelectorId:this.selectorId}).then((function(t){console.log(t),e.options=t}))},onchange:function(e){this.$emit("ok-click",{index:this.index,value:this.options.filter((function(t){return e.indexOf(t.id)>-1}))})}}}),h=u,f=o("2877"),p=Object(f["a"])(h,c,d,!1,null,null,null),m=p.exports,k={components:{userSelections:m},props:{userSelectors:{type:Array,default:function(){return[]}}},filters:{getSelectionsName:function(e){if(!e)return"";var t=[];return e.forEach((function(e){t.push(e.name)})),t.join(",")}},data:function(){return{allUserSelectors:[]}},mounted:function(){this.loadUserSelectors()},methods:{loadUserSelectors:function(){var e=this;this.$store.dispatch("workflow/getAllUserSelectors").then((function(t){console.log(t),e.allUserSelectors=t}))},delUserSelector:function(e,t){e.splice(t,1)},userSelectionsOkHandler:function(e){var t=this.userSelectors[e.index];this.$set(t,"selections",[]),e.value.forEach((function(e){t.selections.push({id:e.id,name:e.name})}))},selectorChange:function(e){this.$set(e,"selections",[])}}},w=k,v=(o("86e2"),Object(f["a"])(w,a,l,!1,null,null,null)),g=v.exports,b=(o("ed08"),o("69a1")),S={components:{controlPanel:n["a"],nodeUser:g,processForm:b["a"]},props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},computed:{currentUserId:function(){return this.$store.state.user.user.id},canHandle:function(){var e=this;return this.workHistories.filter((function(t){return t.handleUser.id===e.currentUserId&&0==t.isHandled&&0==t.workStepType})).length>0}},data:function(){return{loading:!1,visible:!1,form:{name:"",formDesignId:{}},controls:[],selections:[],rules:{},isEdit:!1,workTaskForm:{id:"",createdUserId:"",entityFullName:"",entityKeyValue:"",formData:"{}",workTaskStatus:"",name:"模拟流程",workflowId:{}},workStep:{handleUser:{id:""},userSelectors:[{selectorId:"",selectorName:"",selections:[],parameter:"",description:"",handleType:0}],comment:"",stepId:""},workHistories:[],isForward:!1}},methods:{opened:function(){this.value&&this.loadData(this.value)},confirm:function(){this.commit()},show:function(e){this.visible=!0,this.value=e},hide:function(){this.visible=!1,this.form={name:"",formDesignId:{},formData:{}},this.isForward=!1},loadData:function(e){var t=this;this.loading=!0,this.getWorkTask(e).then((function(e){t.getAllTaskStepsOfWorkTask(),t.getAndRendWithFormDesign(e),t.loading=!1}))},commit:function(){this.$emit("ok-click",{}),this.hide()},getWorkTask:function(e){var t=this;return this.$store.dispatch("workflow/getWorkTask",{id:e}).then((function(e){return t.workTaskForm=e,t.$refs.processForm.loadHistories(t.workTaskForm),e})).catch((function(e){t.loading=!1}))},loadFormInstance:function(e){var t=this;this.loading=!0,this.$store.dispatch("dynamicFormInstance/get",{id:e}).then((function(e){t.form=e,t.getDesign(t.form.formDesignId).then((function(o){t.loading=!1,t.$refs.controlPanel.setValue(o,JSON.parse(e.formData||"{}"))}))}))},getAllTaskStepsOfWorkTask:function(){var e=this;this.$store.dispatch("workflow/getAllTaskStepsOfWorkTask",{worktaskId:this.workTaskForm.id}).then((function(t){e.workHistories=t;var o=e.workHistories.filter((function(t){return t.handleUser.id==e.currentUserId&&0==t.isHandled&&0==t.workStepType}))[0];e.workStep.handleUser=o.handleUser,e.workStep.id=o.id})).catch((function(t){e.loading=!1}))},callback:function(){this.loadData(this.workTaskForm.id)},passApprove:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:""},o=this;this.$store.dispatch("workflow/passProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},rejectApprove:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:""},o=this;this.$store.dispatch("workflow/rejectProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},forwardProve:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:"",userSelectors:this.workStep.userSelectors},o=this;this.$store.dispatch("workflow/forwardProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},withdrawProve:function(e){var t=this;this.loading=!0;var o={stepId:e,comment:this.workStep.comment},r=this;this.$store.dispatch("workflow/withdrawProve",o).then((function(e){r.loading=!1,t.callback()})).catch((function(e){t.loading=!1}))},getAndRendWithFormDesign:function(e){var t=this;this.loading=!0;var o={};try{o=JSON.parse(e.entityKeyValue)}catch(n){o={}}var r={};try{r=JSON.parse(e.formData)}catch(n){r={}}this.$refs.controlPanel.setValue([],r);var s=Object(i["a"])(Object(i["a"])({},o),{},{version:o.versionId});this.$store.dispatch("dynamicFormDesign/getFormDesignVersion",s).then((function(e){return t.loading=!1,t.formDesign=e,e&&e.designContent?JSON.parse(e&&e.designContent):[]})).then((function(e){t.loading=!1,t.$refs.controlPanel.setValue(e,r)}))}}},y=S,_=(o("4aab"),Object(f["a"])(y,r,s,!1,null,null,null));t["a"]=_.exports},"69a1":function(e,t,o){"use strict";var r=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[e.workStep&&e.canHandle?o("el-card",{staticClass:"box-card",staticStyle:{"margin-top":"10px"}},[o("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[o("span",[e._v("审批")])]),o("el-card",{staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[o("div",[o("el-radio",{attrs:{label:!1},model:{value:e.isForward,callback:function(t){e.isForward=t},expression:"isForward"}},[e._v("处理")]),o("el-radio",{attrs:{label:!0},model:{value:e.isForward,callback:function(t){e.isForward=t},expression:"isForward"}},[e._v("转发")])],1),o("br"),e.isForward?o("div",[o("nodeUser",{attrs:{userSelectors:e.workStep.userSelectors}}),o("br"),o("el-button",{attrs:{type:"danger",size:"mini"},on:{click:e.forwardProve}},[e._v("转发/代办")])],1):o("div",[o("el-form",[o("el-form-item",{attrs:{label:"表单数据"}},[o("el-input",{attrs:{type:"textarea",rows:4,placeholder:"表单数据(与主流程不同,每一步都可能有当前的处理表单数据)"},model:{value:e.workStep.formData,callback:function(t){e.$set(e.workStep,"formData",t)},expression:"workStep.formData"}})],1),o("el-form-item",{attrs:{label:"批语"}},[o("el-input",{attrs:{type:"textarea",rows:2,placeholder:"批语 "},model:{value:e.workStep.comment,callback:function(t){e.$set(e.workStep,"comment",t)},expression:"workStep.comment"}})],1),e.isPass?e._e():o("el-form-item",{attrs:{label:"驳回节点"}},[o("el-select",{attrs:{placeholder:"驳回节点",size:"mini"},model:{value:e.workStep.rejectToNodeId,callback:function(t){e.$set(e.workStep,"rejectToNodeId",t)},expression:"workStep.rejectToNodeId"}},e._l(e.workStep.rejectNodes,(function(e){return o("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1),o("el-form-item",[o("div",[o("el-radio",{attrs:{label:!0},model:{value:e.isPass,callback:function(t){e.isPass=t},expression:"isPass"}},[e._v("通过")]),o("el-radio",{attrs:{label:!1},model:{value:e.isPass,callback:function(t){e.isPass=t},expression:"isPass"}},[e._v("驳回")])],1),o("el-button",{attrs:{type:"primary",size:"mini"},on:{click:function(){return e.isPass?e.passApprove():e.rejectApprove()}}},[e._v("确定")])],1)],1)],1)])],1):e._e(),o("el-card",{staticClass:"card-provehistory",staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[o("div",{attrs:{slot:"header"},slot:"header"},[e._v(" 审批记录 "),o("el-button",{attrs:{type:"text",size:"mini"},on:{click:e.getAllTaskStepsOfWorkTask}},[e._v("刷新")])],1),e._l(e.workHistories,(function(t){return o("el-card",{key:t.id,staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[o("div",{attrs:{slot:"header"},slot:"header"},[o("span",[o("span",{staticClass:"historylabel"},[e._v("节点:")]),e._v(e._s(t.nodeName))]),o("div",{staticStyle:{float:"right",padding:"3px 0"}},[0==t.workStepType?o("span",[t.isHandled?o("span",[0==t.handleType?o("el-link",{attrs:{underline:!1,type:"success"}},[e._v("通过")]):e._e(),1==t.handleType?o("el-link",{attrs:{underline:!1,type:"danger"}},[e._v("拒绝")]):e._e(),2==t.handleType?o("el-link",{attrs:{underline:!1,type:"info"}},[e._v("撤回")]):e._e(),3==t.handleType?o("el-link",{attrs:{underline:!1,type:"warning"}},[e._v("转发")]):e._e(),4==t.handleType?o("el-link",{attrs:{underline:!1}},[e._v("未处理")]):e._e()],1):o("el-link",{attrs:{underline:!1,type:"info"}},[e._v("待处理")])],1):o("span",[e._v("只读/抄送")])])]),o("div",[o("span",{staticClass:"historylabel"},[e._v("处理人:")]),e._v(" "+e._s(t.handleUser.name)+" ")]),o("div",[o("p",{staticClass:"historylabel"},[e._v("意见:")]),e._v(" "+e._s(t.comment)+" ")]),o("div",[o("p",{staticClass:"historylabel"},[e._v("附件:")]),e._v(" "+e._s(t.resourceIds)+" ")]),o("br"),o("div",{staticClass:"bottom clearfix"},[t.isHandled?o("time",{staticClass:"time"},[o("span",{staticClass:"historylabel"},[e._v("处理时间:")]),e._v(e._s(t.handlerTime))]):e._e(),1==t.isHandled&&t.handleUser.id==e.currentUserId?o("el-button",{staticStyle:{float:"right",padding:"3px 0"},attrs:{type:"text"},on:{click:function(o){return e.withdrawProve(t.id)}}},[e._v("撤回")]):e._e()],1)])}))],2)],1)},s=[],i=(o("b0c0"),o("4de4"),o("d3b7"),o("77ff")),n={components:{nodeUser:i["a"]},name:"workflow-simulation",props:{workflowName:{default:"测试流程"},workflowId:{default:"1"},workflowVersionId:{default:"1"}},computed:{id:function(){return this.$route.query.id||this.workflowId},name:function(){return this.$route.query.name||this.workflowName},versionId:function(){return this.$route.query.versionId||this.workflowVersionId},canHandle:function(){var e=this;return this.workHistories.filter((function(t){return t.handleUser.id==e.$store.state.user.user.id&&0==t.isHandled&&0==t.workStepType})).length>0},currentUserId:function(){return this.$store.state.user.user.id}},watch:{currentUserId:{handler:function(){this.getAllTaskStepsOfWorkTask()}},isPass:{handler:function(){this.isPass?this.workStep.rejectToNodeId=null:this.getRejectNodes()}}},data:function(){return{formData:"",loading:!1,allUsers:[],workTaskForm:{},workStep:{handleUser:{id:""},userSelectors:[{selectorId:"",selectorName:"",selections:[],parameter:"",description:"",handleType:0}],rejectNodes:[{id:"",name:""}],comment:"",stepId:"",formData:"",rejectToNodeId:null},workHistories:[],isForward:!1,isPass:!0,isSimulation:!0}},mounted:function(){this.getAllUserForSimulation()},methods:{loadHistories:function(e){this.workTaskForm=e,this.callback()},getAllUserForSimulation:function(){var e=this;this.$store.dispatch("workflow/GetAllUserForSimulation").then((function(t){e.allUsers=t}))},getAllTaskStepsOfWorkTask:function(){var e=this;this.workTaskForm.id&&0!=this.workTaskForm.id.length&&this.$store.dispatch("workflow/getAllTaskStepsOfWorkTask",{worktaskId:this.workTaskForm.id}).then((function(t){e.workHistories=t;var o=e.workHistories.filter((function(t){return t.handleUser.id==e.$store.state.user.user.id&&0==t.isHandled&&0==t.workStepType}))[0];e.workStep.handleUser=o.handleUser,e.workStep.id=o.id})).catch((function(t){e.loading=!1}))},getUserName:function(e){var t=this.allUsers.filter((function(t){return t.id==e}));return t.length>0?t[0].name:""},callback:function(){this.getAllTaskStepsOfWorkTask(),this.workStep.comment="",this.isPass=!0},passApprove:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:"",formData:this.workStep.formData},o=this;this.$store.dispatch("workflow/passProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},rejectApprove:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:""},o=this;this.$store.dispatch("workflow/rejectProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},forwardProve:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:"",userSelectors:this.workStep.userSelectors},o=this;this.$store.dispatch("workflow/forwardProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},withdrawProve:function(e){var t=this;this.loading=!0;var o={stepId:e,comment:this.workStep.comment},r=this;this.$store.dispatch("workflow/withdrawProve",o).then((function(e){r.loading=!1,t.callback()})).catch((function(e){t.loading=!1}))},getRejectNodes:function(){var e=this;console.log(this.workStep),this.$store.dispatch("workflow/GetRejectNodes",{workStepId:this.workStep.id}).then((function(t){e.workStep.rejectNodes=t})).catch((function(t){e.loading=!1}))}}},a=n,l=o("2877"),c=Object(l["a"])(a,r,s,!1,null,null,null);t["a"]=c.exports},"77ff":function(e,t,o){"use strict";var r=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",e._l(e.userSelectors,(function(t,r){return o("div",{key:r,staticClass:"user-card",staticStyle:{"margin-top":"10px"},attrs:{shadow:"naver"}},[o("el-form",{staticClass:"demo-form",attrs:{"label-width":"0px","label-position":"right",size:"mini"}},[o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-select",{staticStyle:{width:"100%"},attrs:{size:"mini",placeholder:"选择人员类型"},model:{value:t.selectorId,callback:function(o){e.$set(t,"selectorId",o)},expression:"item.selectorId"}},e._l(e.allUserSelectors,(function(e){return o("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("userSelections",{ref:"userSelections",refInFor:!0,attrs:{index:r,selectorId:t.selectorId,selections:t.selections},on:{"ok-click":e.userSelectionsOkHandler}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-input",{attrs:{size:"mini",placeholder:"参数"},model:{value:t.parameter,callback:function(o){e.$set(t,"parameter",o)},expression:"item.parameter"}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-input",{attrs:{size:"mini",placeholder:"描述"},model:{value:t.description,callback:function(o){e.$set(t,"description",o)},expression:"item.description"}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}})],1)],1)})),0)},s=[],i=(o("d3b7"),o("159b"),o("b0c0"),o("a15b"),o("a434"),function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("el-dialog",{attrs:{title:"选择用户",visible:e.visible,width:"40%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[o("el-table",{ref:"singleTable",staticStyle:{width:"100%",height:"40vh"},attrs:{data:e.selections},on:{"current-change":e.handleCurrentChange,"selection-change":e.handleSelectionChange}},[o("el-table-column",{attrs:{type:"selection",width:"50"}}),o("el-table-column",{attrs:{type:"index",width:"50"}}),o("el-table-column",{attrs:{property:"name",label:"名称",width:"220"}}),o("el-table-column",{attrs:{property:"id",label:"ID"}})],1),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)}),n=[],a={props:{},watch:{visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{name:""},rules:{name:[{required:!0,message:"请输入",trigger:"change"}]},currentRow:null,selections:[],value:{},multipleSelection:[]}},methods:{confirm:function(){this.commit()},show:function(e){this.visible=!0,this.loadData(e)},hide:function(){this.visible=!1,this.form={name:""}},loadData:function(e){var t=this;this.loading=!0,this.value=e,this.getUserSelectionsOfUserSelector(e.selectorId).then((function(){t.loading=!1}))},getUserSelectionsOfUserSelector:function(e){var t=this;return this.$store.dispatch("workflow/getUserSelectionsOfUserSelector",{userSelectorId:e}).then((function(e){console.log(e),t.selections=e}))},commit:function(){0!=this.multipleSelection.length?(this.$emit("ok-click",{index:this.value.index,value:this.multipleSelection}),this.hide()):this.$message({message:"警告,请选择!",type:"warning"})},handleCurrentChange:function(e){this.currentRow=e},handleSelectionChange:function(e){this.multipleSelection=e}}},l=a,c=o("2877"),d=Object(c["a"])(l,i,n,!1,null,null,null),u=d.exports,h={components:{userSelections:u},props:{userSelectors:{type:Array,default:function(){return[]}}},filters:{getSelectionsName:function(e){if(!e)return"";var t=[];return e.forEach((function(e){t.push(e.name)})),t.join(",")}},data:function(){return{allUserSelectors:[]}},mounted:function(){this.loadUserSelectors()},methods:{loadUserSelectors:function(){var e=this;this.$store.dispatch("workflow/getAllUserSelectors").then((function(t){console.log(t),e.allUserSelectors=t}))},delUserSelector:function(e,t){e.splice(t,1)},userSelectionsOkHandler:function(e){var t=this.userSelectors[e.index];this.$set(t,"selections",[]),e.value.forEach((function(e){t.selections.push({id:e.id,name:e.name})}))}}},f=h,p=(o("09e3"),Object(c["a"])(f,r,s,!1,null,null,null));t["a"]=p.exports},"86e2":function(e,t,o){"use strict";o("4410")},"877e":function(e,t,o){},"9a0c":function(e,t,o){var r=o("342f");e.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(r)},ed08:function(e,t,o){"use strict";o("a4d3"),o("e01a"),o("d3b7"),o("d28b"),o("3ca3"),o("ddb0");o("ac1f"),o("00b4"),o("5319"),o("4d63"),o("2c3e"),o("25f0"),o("4d90"),o("1276"),o("159b"),o("a15b")}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-43d5dd32.128f80e4.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-43d5dd32.128f80e4.js new file mode 100644 index 0000000000000000000000000000000000000000..45980a78b6282de617937ca67b9507d9d5ab7990 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-43d5dd32.128f80e4.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-43d5dd32"],{"0ccb":function(t,e,a){var n=a("50c4"),i=a("1148"),o=a("1d80"),r=Math.ceil,s=function(t){return function(e,a,s){var l,d,c=String(o(e)),u=c.length,f=void 0===s?" ":String(s),h=n(a);return h<=u||""==f?c:(l=h-u,d=i.call(f,r(l/f.length)),d.length>l&&(d=d.slice(0,l)),t?c+d:d+c)}};t.exports={start:s(!1),end:s(!0)}},1148:function(t,e,a){"use strict";var n=a("a691"),i=a("1d80");t.exports="".repeat||function(t){var e=String(i(this)),a="",o=n(t);if(o<0||o==1/0)throw RangeError("Wrong number of repetitions");for(;o>0;(o>>>=1)&&(e+=e))1&o&&(a+=e);return a}},"37c0":function(t,e,a){"use strict";var n,i=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[a("el-dialog",{attrs:{title:"流程查看",visible:t.visible,width:"60%","close-on-click-modal":!1},on:{close:function(e){t.visible=!1}}},[a("workflowEditPanel",{ref:"workflowEditPanel",attrs:{nodeData:t.nodeData}}),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{attrs:{size:"small"},on:{click:function(e){t.visible=!1}}},[t._v("取 消")]),a("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirm}},[t._v("确 定")])],1)],1)],1)},o=[],r=a("ade3"),s=a("0aef"),l={components:{workflowEditPanel:s["a"]},props:{},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",nodeData:{},data:{}}},methods:(n={confirm:function(){this.commit()},show:function(t){this.visible=!0,this.loadData(t.version,t.id)},hide:function(){this.visible=!1,this.value={},this.control={}},loadData:function(t){},commit:function(){this.hide()}},Object(r["a"])(n,"loadData",(function(t,e){var a=this,n=this;this.$store.dispatch("workflow/getWorkflowVersion",{versionid:t,id:e}).then((function(t){n.nodeData=0==t.drawingInfo.length?a.defaultNode():JSON.parse(t.drawingInfo),n.data=t,n.$refs.workflowEditPanel.loadNodeData()}))})),Object(r["a"])(n,"defaultNode",(function(){return{name:"",nodeList:[],lineList:[]}})),n)},d=l,c=a("2877"),u=Object(c["a"])(d,i,o,!1,null,null,null);e["a"]=u.exports},"4d90":function(t,e,a){"use strict";var n=a("23e7"),i=a("0ccb").start,o=a("9a0c");n({target:"String",proto:!0,forced:o},{padStart:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},6129:function(t,e,a){},"64d3":function(t,e,a){"use strict";var n=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[a("el-dialog",{attrs:{title:t.workTaskForm.name,visible:t.visible,width:"60%","close-on-click-modal":!1},on:{close:function(e){t.visible=!1}}},[0!=t.form.workflowStatus?a("el-card",{attrs:{shadow:"never"}},[a("div",{attrs:{slot:"header"},slot:"header"},[t._v("表单数据")]),a("el-form",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],ref:"form",staticClass:"demo-form",attrs:{model:t.form,rules:t.rules,"label-width":"0px","label-position":"top",size:"mini"}},[a("el-form-item",{attrs:{label:"",prop:"title"}},[a("controlPanel",{ref:"controlPanel",attrs:{isEdit:t.isEdit}})],1)],1)],1):t._e(),a("el-card",{staticClass:"card-provehistory",staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[a("div",{attrs:{slot:"header"},slot:"header"},[t._v("审批记录")]),t._l(t.workHistories,(function(e){return a("el-card",{key:e.id,staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[a("div",{attrs:{slot:"header"},slot:"header"},[a("span",[a("span",{staticClass:"historylabel"},[t._v("节点:")]),t._v(t._s(e.nodeName))]),a("div",{staticStyle:{float:"right",padding:"3px 0"}},[0==e.workStepType?a("span",[e.isHandled?a("span",{attrs:{underline:!1,type:"success"}},[a("span",[0==e.handleType?a("el-link",{attrs:{underline:!1,type:"success"}},[t._v("通过")]):t._e(),1==e.handleType?a("el-link",{attrs:{underline:!1,type:"danger"}},[t._v("拒绝")]):t._e(),2==e.handleType?a("el-link",{attrs:{underline:!1,type:"info"}},[t._v("撤回")]):t._e(),3==e.handleType?a("el-link",{attrs:{underline:!1,type:"warning"}},[t._v("转发")]):t._e(),4==e.handleType?a("el-link",{attrs:{underline:!1}},[t._v("未处理")]):t._e()],1)]):a("el-link",{attrs:{underline:!1,type:"info"}},[t._v("待处理")])],1):a("span",[a("el-link",{attrs:{underline:!1,type:"info"}},[t._v("只读")])],1)])]),a("div",[a("span",{staticClass:"historylabel"},[t._v("处理人:")]),t._v(" "+t._s(e.handleUser.name)+" ")]),a("div",[a("p",{staticClass:"historylabel"},[t._v("意见:")]),t._v(" "+t._s(e.comment)+" ")]),a("div",[a("p",{staticClass:"historylabel"},[t._v("附件:")]),t._v(" "+t._s(e.resourceIds)+" ")]),a("br"),a("div",{staticClass:"bottom clearfix"},[e.isHandled?a("time",{staticClass:"time"},[a("span",{staticClass:"historylabel"},[t._v("处理时间:")]),t._v(t._s(e.handlerTime))]):t._e()])])}))],2),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{attrs:{size:"small"},on:{click:function(e){t.visible=!1}}},[t._v("取 消")]),a("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirm}},[t._v("确 定")])],1)],1)],1)},i=[],o=a("5530"),r=(a("4de4"),a("d3b7"),a("afbe")),s=(a("ed08"),{components:{controlPanel:r["a"]},props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()}},model:{prop:"value",event:"change"},computed:{currentUserId:function(){return this.$store.state.user.user.id},canHandle:function(){var t=this;return this.workHistories.filter((function(e){return e.handleUser.id==t.currentUserId&&0==e.isHandled&&0==e.workStepType})).length>0}},data:function(){return{loading:!1,visible:!1,form:{name:"",formDesignId:{}},controls:[],selections:[],rules:{},isEdit:!1,workTaskForm:{id:"",createdUserId:"",entityFullName:"",entityKeyValue:"",formData:"{}",workTaskStatus:"",name:"模拟流程",workflowId:{}},workStep:{handleUser:{id:""},userSelectors:[{selectorId:"",selectorName:"",selections:[],parameter:"",description:"",handleType:0}],comment:"",stepId:""},workHistories:[],isForward:!1}},methods:{confirm:function(){this.commit()},show:function(t){this.visible=!0,t&&this.loadData(t)},hide:function(){this.visible=!1,this.form={name:"",formDesignId:{},formData:{}},this.isForward=!1},loadData:function(t){var e=this;this.loading=!0,this.getWorkTask(t).then((function(t){e.getAllTaskStepsOfWorkTask(),e.$refs.controlPanel.setValue([],JSON.parse(t.formData||"{}")),e.loading=!1}))},commit:function(){this.$emit("ok-click",{}),this.hide()},getWorkTask:function(t){var e=this;return this.$store.dispatch("workflow/getWorkTask",{id:t}).then((function(t){return e.workTaskForm=t,e.getAndRendWithFormDesign(t),t})).catch((function(t){e.loading=!1}))},getAllTaskStepsOfWorkTask:function(){var t=this;this.$store.dispatch("workflow/getAllTaskStepsOfWorkTask",{worktaskId:this.workTaskForm.id}).then((function(e){t.workHistories=e;var a=t.workHistories.filter((function(e){return e.handleUser.id==t.$store.state.user.user.id&&0==e.isHandled&&0==e.workStepType}))[0];t.workStep.handleUser=a.handleUser,t.workStep.id=a.id})).catch((function(e){t.loading=!1}))},callback:function(){this.loadData(this.workTaskForm.id)},getAndRendWithFormDesign:function(t){var e=this;this.loading=!0;var a={};try{a=JSON.parse(t.entityKeyValue)}catch(r){a={}}var n={};try{n=JSON.parse(t.formData)}catch(r){n={}}this.$refs.controlPanel.setValue([],n);var i=Object(o["a"])(Object(o["a"])({},a),{},{version:a.versionId});this.$store.dispatch("dynamicFormDesign/getFormDesignVersion",i).then((function(t){return e.loading=!1,e.formDesign=t,t&&t.designContent?JSON.parse(t&&t.designContent):[]})).then((function(t){e.loading=!1,e.$refs.controlPanel.setValue(t,n)}))}}}),l=s,d=(a("f84a"),a("2877")),c=Object(d["a"])(l,n,i,!1,null,null,null);e["a"]=c.exports},"9a0c":function(t,e,a){var n=a("342f");t.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(n)},ed08:function(t,e,a){"use strict";a("a4d3"),a("e01a"),a("d3b7"),a("d28b"),a("3ca3"),a("ddb0");a("ac1f"),a("00b4"),a("5319"),a("4d63"),a("2c3e"),a("25f0"),a("4d90"),a("1276"),a("159b"),a("a15b")},f7af:function(t,e,a){"use strict";a.r(e);var n=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{directives:[{name:"loading",rawName:"v-loading",value:t.loading.getPageList,expression:"loading.getPageList"}],staticClass:"app-container"},[a("div",[a("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.getPageList}},[t._v("刷新")])],1),a("br"),a("el-table",{staticStyle:{width:"100%"},attrs:{data:t.tableData,border:""}},[a("el-table-column",{attrs:{type:"index",label:"序号",width:"60"}}),a("el-table-column",{attrs:{prop:"name",label:"标题"}}),a("el-table-column",{attrs:{prop:"workflowName",label:"流程名称",width:"250"},scopedSlots:t._u([{key:"default",fn:function(e){return[a("span",[t._v(t._s(e.row.workflowId.workflowName))])]}}])}),a("el-table-column",{attrs:{label:"审批状态",width:"80"},scopedSlots:t._u([{key:"default",fn:function(e){return[0==e.row.workTaskStatus?a("span",[t._v("待发起")]):t._e(),1==e.row.workTaskStatus?a("span",[t._v("审批中")]):t._e(),2==e.row.workTaskStatus?a("span",[t._v("已审批")]):t._e()]}}])}),a("el-table-column",{attrs:{prop:"creationTime",formatter:t.dateFormat,label:"创建时间",width:"160"}}),a("el-table-column",{attrs:{prop:"modifiedTime",formatter:t.dateFormat,label:"更新时间",width:"160"}}),a("el-table-column",{attrs:{fixed:"right",label:"操作",width:"200"},scopedSlots:t._u([{key:"default",fn:function(e){return[a("el-button",{attrs:{type:"text",size:"small"},on:{click:function(a){return t.$refs.viewForm.show(e.row.id)}}},[t._v("查看")]),a("el-button",{attrs:{type:"text",size:"small"},on:{click:function(a){return t.$refs.workflowDesignForm.show({id:e.row.workflowId.id,version:e.row.workflowId.versionId})}}},[t._v("流程图")])]}}])})],1),a("br"),a("el-pagination",{attrs:{background:"",layout:"sizes,prev, pager, next",total:t.page.total,"page-size":t.page.maxResultCount,"current-page":t.page.currentPage},on:{"current-change":function(e){return t.paginationChange(null,e)},"size-change":function(e){return t.paginationChange(e)}}}),a("viewForm",{ref:"viewForm"}),a("workflowDesignForm",{ref:"workflowDesignForm"})],1)},i=[],o=(a("4de4"),a("d3b7"),a("eb3e")),r=a("64d3"),s=a("37c0"),l={components:{viewForm:r["a"],workflowDesignForm:s["a"]},mixins:[o["a"]],data:function(){return{moduleName:"dynamicFormInstance",selections:[]}},mounted:function(){},methods:{getPageList:function(){var t=this;this.loading.getPageList=!0,this.page.skipCount=(this.page.currentPage-1)*this.page.maxResultCount,this.$store.dispatch("workflow/getAllWorkTasks",this.page).then((function(e){t.tableData=e.items,t.page.total=e.total,t.loading.getPageList=!1}))},getDesignName:function(t){var e=this.selections.filter((function(e){return e.id==t}));return e&&e.length>0?e[0].title:""},startwork:function(t){var e=this,a={entityFullName:"DynamicForm.Core.Forms.FormInstance",entityKeyValue:t.id,formData:t.formData||"{}",name:this.getDesignName(t.formDesignId.id)+"-"+t.title,workflowId:{id:t.workflowId.id,versionId:t.workflowId.version}};return this.$store.dispatch("workflow/createAndStartWorkTask",a).then((function(t){setTimeout(e.getPageList,500),e.$message({message:"发起成功,稍后刷新更新状态!",type:"success"})}))}}},d=l,c=a("2877"),u=Object(c["a"])(d,n,i,!1,null,null,null);e["default"]=u.exports},f84a:function(t,e,a){"use strict";a("6129")}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-4576eaa7.22942eee.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-4576eaa7.22942eee.js deleted file mode 100644 index 531c30dfe899a2583b52e3812c1843b02248023c..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-4576eaa7.22942eee.js +++ /dev/null @@ -1 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-4576eaa7"],{"37c0":function(t,e,n){"use strict";var i,o=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("el-dialog",{attrs:{title:"流程查看",visible:t.visible,width:"60%","close-on-click-modal":!1},on:{close:function(e){t.visible=!1}}},[n("workflowEditPanel",{ref:"workflowEditPanel",attrs:{nodeData:t.nodeData}}),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(e){t.visible=!1}}},[t._v("取 消")]),n("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirm}},[t._v("确 定")])],1)],1)],1)},a=[],s=n("ade3"),l=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.easyFlowVisible?n("div",{staticStyle:{height:"calc(100vh)"}},[n("div",{staticStyle:{display:"flex",height:"calc(100% - 0px)"}},[n("div",{directives:[{name:"flowDrag",rawName:"v-flowDrag"}],ref:"efContainer",staticClass:"container",attrs:{id:"efContainer"}},[t._l(t.data.nodeList,(function(e){return[n("flow-node",{key:e.id,attrs:{id:e.id,node:e,activeElement:t.activeElement},on:{changeNodeSite:t.changeNodeSite,nodeRightMenu:t.nodeRightMenu,clickNode:t.clickNode}})]})),n("div",{staticStyle:{position:"absolute",top:"2000px",left:"2000px"}})],2)]),t.flowInfoVisible?n("flow-info",{ref:"flowInfo",attrs:{data:t.data}}):t._e(),t.flowHelpVisible?n("flow-help",{ref:"flowHelp"}):t._e()],1):t._e()},c=[],r=(n("b0c0"),n("d3b7"),n("25f0"),n("159b"),n("4de4"),n("e9c4"),n("b76a")),d=n.n(r),u=(n("7aa8"),n("3301")),f=n("540a"),h=n("c069"),m=n("c5dc"),g=n("4af4"),p=n("b545"),b=n("2ef0"),v=n.n(b),w=n("f598"),L=n("6951"),y=n("92f6"),j=n("b214"),P=n("30f2"),I=n("018b"),k={props:{nodeData:{type:Object}},computed:{workflowName:function(){return this.$route.query.name}},data:function(){return{jsPlumb:null,easyFlowVisible:!0,flowInfoVisible:!1,loadEasyFlowFinish:!1,flowHelpVisible:!1,data:{},activeElement:{type:void 0,nodeId:void 0,sourceId:void 0,targetId:void 0},zoom:.5,activeLine:{from:"",to:""},nodeTypeMap:{Begin:0,End:1,Normal:2,Judge:3,Sign:4},workflowId:{}}},mixins:[u["a"]],components:{draggable:d.a,flowNode:f["a"],nodeMenu:h["a"],FlowInfo:m["a"],FlowNodeForm:p["a"],FlowHelp:g["a"]},directives:{flowDrag:{bind:function(t,e,n,i){e&&(t.onmousedown=function(e){if(2!=e.button){var n=e.clientX,i=e.clientY;t.style.cursor="move",document.onmousemove=function(e){e.preventDefault();var o=e.clientX-n;n=e.clientX,t.scrollLeft+=-o;var a=e.clientY-i;i=e.clientY,t.scrollTop+=-a},document.onmouseup=function(e){t.style.cursor="auto",document.onmousemove=null,document.onmouseup=null}}})}}},mounted:function(){this.jsPlumb=jsPlumb.getInstance(),this.keyCodeForEvent()},methods:{loadNodeData:function(){var t=this;this.$nextTick((function(){t.dataReload(t.nodeData)}))},getUUID:function(){return Math.random().toString(36).substr(3,10)},newGuid:function(){for(var t="",e=1;e<=32;e++){var n=Math.floor(16*Math.random()).toString(16);t+=n,8!=e&&12!=e&&16!=e&&20!=e||(t+="-")}return t},jsPlumbInit:function(){var t=this,e=this;this.jsPlumb.ready((function(){t.jsPlumb.importDefaults(t.jsplumbSetting),t.jsPlumb.setSuspendDrawing(!1,!0),t.loadEasyFlow(),t.jsPlumb.bind("click",(function(n,i){t.activeElement.type="line",t.activeElement.sourceId=n.sourceId,t.activeElement.targetId=n.targetId,t.$refs.nodeForm.lineInit({from:n.sourceId,to:n.targetId,label:n.getLabel(),conditions:t.getConditionsOfLine(n.sourceId,n.targetId)});var o={from:n.sourceId,to:n.targetId};e.activeLine.from==o.from&&e.activeLine.to==o.to||(e.resetOldLineStyle(),e.activeLine=o,n.setPaintStyle({stroke:"lightgray",strokeWidth:3}),console.log(t.jsplumbConnectOptions))})),t.jsPlumb.bind("connection",(function(e){var n=e.source.id,i=e.target.id;t.loadEasyFlowFinish&&t.data.lineList.push({from:n,to:i,label:"",conditions:[]})})),t.jsPlumb.bind("connectionDetached",(function(e){t.deleteLine(e.sourceId,e.targetId)})),t.jsPlumb.bind("connectionMoved",(function(e){t.changeLine(e.originalSourceId,e.originalTargetId)})),t.jsPlumb.bind("contextmenu",(function(t){console.log("contextmenu",t)})),t.jsPlumb.bind("beforeDrop",(function(e){var n=e.sourceId,i=e.targetId;return t.hasLine(n,i)?(t.$message.error("该关系已存在,不允许重复创建"),!1):(t.$message.success("连接成功"),!0)})),t.jsPlumb.bind("beforeDetach",(function(t){console.log("beforeDetach",t)})),t.jsPlumb.setContainer(t.$refs.efContainer)}))},loadEasyFlow:function(){for(var t=0;ts.width+s.x||cs.y+s.height)this.$message.error("请把节点拖入到画布中");else{l=l-s.x+a.scrollLeft,c=c-s.y+a.scrollTop,l-=85,c-=16;var r=this.newGuid(),d=e.name,u=d,f=1;while(f<1e4){for(var h=!1,m=0;m=1||(this.zoom=this.zoom+.1,this.$refs.efContainer.style.transform="scale(".concat(this.zoom,")"),this.jsPlumb.setZoom(this.zoom))},zoomSub:function(){this.zoom<=0||(this.zoom=this.zoom-.1,this.$refs.efContainer.style.transform="scale(".concat(this.zoom,")"),this.jsPlumb.setZoom(this.zoom))},downloadData:function(){var t=this;this.$confirm("确定要下载该流程数据吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning",closeOnClickModal:!1}).then((function(){var e="data:text/json;charset=utf-8,"+encodeURIComponent(JSON.stringify(t.data,null,"\t")),n=document.createElement("a");n.setAttribute("href",e),n.setAttribute("download","data.json"),n.click(),n.remove(),t.$message.success("正在下载中,请稍后...")})).catch((function(){}))},openHelp:function(){this.flowHelpVisible=!0,this.$nextTick((function(){this.$refs.flowHelp.init()}))},keyCodeForEvent:function(){var t=this;document.getElementById("efContainer").onkeydown=function(e){console.log(e);var n=e||event,i=n.keyCode||n.which||n.charCode;8!==i&&46!==i||(t.deleteElement(),n.preventDefault())}},getConditionsOfLine:function(t,e){return this.data.lineList.filter((function(n){return n.from==t&&n.to==e}))[0].conditions},resetOldLineStyle:function(){var t=this.jsPlumb.getConnections({source:this.activeLine.from,target:this.activeLine.to});if(this.activeLine={from:"",to:""},1==t.length){var e=t[0];e.setPaintStyle(this.jsplumbSetting.PaintStyle)}},update:function(){var t=this,e={drawingInfo:JSON.stringify(this.data),workflowId:this.workflowId,workflowLines:[],workflowNodes:[]};this.data.nodeList.forEach((function(n){n.nodeType=t.nodeTypeMap[n.type],e.workflowNodes.push(n)})),this.data.lineList.forEach((function(t){t.name=t.label,t.fromNodeId=t.from,t.toNodeId=t.to,e.workflowLines.push(t)})),console.log(e),this.$emit("update",e)}}},x=k,E=n("2877"),$=Object(E["a"])(x,l,c,!1,null,null,null),C=$.exports,S={components:{workflowEditPanel:C},props:{},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",nodeData:{},data:{}}},methods:(i={confirm:function(){this.commit()},show:function(t){this.visible=!0,this.loadData(t.version,t.id)},hide:function(){this.visible=!1,this.value={},this.control={}},loadData:function(t){},commit:function(){this.hide()}},Object(s["a"])(i,"loadData",(function(t,e){var n=this,i=this;this.$store.dispatch("workflow/getWorkflowVersion",{versionid:t,id:e}).then((function(t){i.nodeData=0==t.drawingInfo.length?n.defaultNode():JSON.parse(t.drawingInfo),i.data=t,i.$refs.workflowEditPanel.loadNodeData()}))})),Object(s["a"])(i,"defaultNode",(function(){return{name:"",nodeList:[],lineList:[]}})),i)},D=S,N=Object(E["a"])(D,o,a,!1,null,null,null);e["a"]=N.exports},eb3e:function(t,e,n){"use strict";e["a"]={computed:{currentUserId:function(){return this.$store.state.user.user.id}},data:function(){return{moduleName:"",tableData:[],page:{total:100,maxResultCount:50,currentPage:1,conditions:[],sorting:"creationtime desc"},loading:{getPageList:!1}}},watch:{currentUserId:function(){this.getPageList&&this.getPageList()}},mounted:function(){this.getPageList()},methods:{dateFormat:function(t,e){var n=t[e.property];if(null===n)return"";var i=new Date(n);return i.getFullYear()+"-"+(i.getMonth()+1)+"-"+i.getDate()+" "+i.getHours()+":"+i.getMinutes()+":"+i.getSeconds()},paginationChange:function(t,e){t&&(this.page.maxResultCount=t),e&&(this.page.currentPage=e),this.getPageList()},create:function(){this.$refs.createForm.show()},edit:function(t){this.$refs.editForm.show(t)},getPageList:function(){var t=this;this.loading.getPageList=!0,this.page.skipCount=(this.page.currentPage-1)*this.page.maxResultCount,this.$store.dispatch(this.moduleName+"/getPageList",this.page).then((function(e){t.tableData=e.items,t.page.total=e.total,t.loading.getPageList=!1}))},remove:function(t){var e=this;this.$confirm("确认删除该记录?, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){e.$store.dispatch(e.moduleName+"/delete",{id:t}).then((function(t){e.$message({type:"success",message:"删除成功!"}),e.getPageList()}))})).catch((function(){e.$message({type:"info",message:"已取消删除"})}))}}}}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-4efd20a2.7881c25d.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-4efd20a2.7881c25d.js new file mode 100644 index 0000000000000000000000000000000000000000..798ed057ce762d2a14caabe34ee6c0a83ef5054b --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-4efd20a2.7881c25d.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-4efd20a2"],{"0254":function(e,t,o){},"09e3":function(e,t,o){"use strict";o("0254")},"0ccb":function(e,t,o){var s=o("50c4"),i=o("1148"),r=o("1d80"),n=Math.ceil,a=function(e){return function(t,o,a){var l,c,d=String(r(t)),u=d.length,h=void 0===a?" ":String(a),f=s(o);return f<=u||""==h?d:(l=f-u,c=i.call(h,n(l/h.length)),c.length>l&&(c=c.slice(0,l)),e?d+c:c+d)}};e.exports={start:a(!1),end:a(!0)}},1148:function(e,t,o){"use strict";var s=o("a691"),i=o("1d80");e.exports="".repeat||function(e){var t=String(i(this)),o="",r=s(e);if(r<0||r==1/0)throw RangeError("Wrong number of repetitions");for(;r>0;(r>>>=1)&&(t+=t))1&r&&(o+=t);return o}},"37c0":function(e,t,o){"use strict";var s,i=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("el-dialog",{attrs:{title:"流程查看",visible:e.visible,width:"60%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[o("workflowEditPanel",{ref:"workflowEditPanel",attrs:{nodeData:e.nodeData}}),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)},r=[],n=o("ade3"),a=(o("d3b7"),o("159b"),o("0aef")),l={components:{workflowEditPanel:a["a"]},props:{},watch:{value:{handler:function(){},deep:!0},visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",nodeData:{},data:{}}},methods:(s={confirm:function(){this.commit()},show:function(e){this.visible=!0,this.loadData(e.version,e.id)},hide:function(){this.visible=!1,this.value={},this.control={}},loadData:function(e){},commit:function(){this.hide()}},Object(n["a"])(s,"loadData",(function(e,t){var o=this,s=this;this.$store.dispatch("workflow/getWorkflowVersion",{versionid:e,id:t}).then((function(e){s.nodeData=0==e.drawingInfo.length?o.defaultNode():JSON.parse(e.drawingInfo),s.data=e,s.nodeData.nodeList&&s.nodeData.nodeList.forEach((function(e){return e.viewOnly=!0})),s.$refs.workflowEditPanel.loadNodeData()}))})),Object(n["a"])(s,"defaultNode",(function(){return{name:"",nodeList:[],lineList:[]}})),s)},c=l,d=o("2877"),u=Object(d["a"])(c,i,r,!1,null,null,null);t["a"]=u.exports},4410:function(e,t,o){},"4aab":function(e,t,o){"use strict";o("877e")},"4d90":function(e,t,o){"use strict";var s=o("23e7"),i=o("0ccb").start,r=o("9a0c");s({target:"String",proto:!0,forced:r},{padStart:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}})},"677e":function(e,t,o){"use strict";var s=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("el-dialog",{attrs:{title:e.workTaskForm.name,visible:e.visible,width:"60%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1},opened:function(t){return e.opened()}}},[o("el-card",{attrs:{shadow:"never"}},[o("div",{attrs:{slot:"header"},slot:"header"},[e._v("表单数据")]),o("el-form",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],ref:"form",staticClass:"demo-form",attrs:{model:e.form,rules:e.rules,"label-width":"0px","label-position":"top",size:"mini"}},[o("el-form-item",{attrs:{label:"",prop:"title"}},[o("controlPanel",{ref:"controlPanel",attrs:{isEdit:e.isEdit}})],1)],1)],1),o("processForm",{ref:"processForm",attrs:{workTaskForm:e.workTaskForm}}),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)},i=[],r=o("5530"),n=(o("4de4"),o("d3b7"),o("afbe")),a=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",e._l(e.userSelectors,(function(t,s){return o("div",{key:s,staticClass:"user-card",staticStyle:{"margin-top":"10px"},attrs:{shadow:"naver"}},[o("el-form",{staticClass:"demo-form",attrs:{"label-width":"0px","label-position":"right",size:"mini"}},[o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-select",{staticStyle:{width:"100%"},attrs:{size:"mini",placeholder:"选择人员类型"},on:{change:function(o){return e.selectorChange(t)}},model:{value:t.selectorId,callback:function(o){e.$set(t,"selectorId",o)},expression:"item.selectorId"}},e._l(e.allUserSelectors,(function(e){return o("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("userSelections",{ref:"userSelections",refInFor:!0,attrs:{index:s,selectorId:t.selectorId,selections:t.selections},on:{"ok-click":e.userSelectionsOkHandler}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-input",{attrs:{size:"mini",placeholder:"参数"},model:{value:t.parameter,callback:function(o){e.$set(t,"parameter",o)},expression:"item.parameter"}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-input",{attrs:{size:"mini",placeholder:"描述"},model:{value:t.description,callback:function(o){e.$set(t,"description",o)},expression:"item.description"}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}})],1)],1)})),0)},l=[],c=(o("159b"),o("b0c0"),o("a15b"),o("a434"),function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("el-select",{staticStyle:{width:"100%"},attrs:{value:e.selectedValues,multiple:"",filterable:"","allow-create":"","default-first-option":"",size:"mini",placeholder:"请选择文章标签"},on:{focus:e.onfocus,change:e.onchange}},e._l(e.allOptions,(function(e){return o("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)}),d=[],u=(o("a9e3"),{props:{selections:{type:Array},index:{type:Number},selectorId:{type:String}},watch:{selectorId:function(){this.onfocus()}},computed:{allOptions:function(){var e=[];return e=0==this.options.length?this.selections.filter((function(e){return!0})):this.options,e},selectedValues:function(){var e=[];return this.selections.forEach((function(t){e.push(t.id)})),e}},data:function(){return{options:[]}},methods:{onfocus:function(){var e=this;this.$store.dispatch("workflow/getUserSelectionsOfUserSelector",{userSelectorId:this.selectorId}).then((function(t){console.log(t),e.options=t}))},onchange:function(e){this.$emit("ok-click",{index:this.index,value:this.options.filter((function(t){return e.indexOf(t.id)>-1}))})}}}),h=u,f=o("2877"),p=Object(f["a"])(h,c,d,!1,null,null,null),m=p.exports,k={components:{userSelections:m},props:{userSelectors:{type:Array,default:function(){return[]}}},filters:{getSelectionsName:function(e){if(!e)return"";var t=[];return e.forEach((function(e){t.push(e.name)})),t.join(",")}},data:function(){return{allUserSelectors:[]}},mounted:function(){this.loadUserSelectors()},methods:{loadUserSelectors:function(){var e=this;this.$store.dispatch("workflow/getAllUserSelectors").then((function(t){console.log(t),e.allUserSelectors=t}))},delUserSelector:function(e,t){e.splice(t,1)},userSelectionsOkHandler:function(e){var t=this.userSelectors[e.index];this.$set(t,"selections",[]),e.value.forEach((function(e){t.selections.push({id:e.id,name:e.name})}))},selectorChange:function(e){this.$set(e,"selections",[])}}},w=k,g=(o("86e2"),Object(f["a"])(w,a,l,!1,null,null,null)),v=g.exports,b=(o("ed08"),o("69a1")),S={components:{controlPanel:n["a"],nodeUser:v,processForm:b["a"]},props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},computed:{currentUserId:function(){return this.$store.state.user.user.id},canHandle:function(){var e=this;return this.workHistories.filter((function(t){return t.handleUser.id===e.currentUserId&&0==t.isHandled&&0==t.workStepType})).length>0}},data:function(){return{loading:!1,visible:!1,form:{name:"",formDesignId:{}},controls:[],selections:[],rules:{},isEdit:!1,workTaskForm:{id:"",createdUserId:"",entityFullName:"",entityKeyValue:"",formData:"{}",workTaskStatus:"",name:"模拟流程",workflowId:{}},workStep:{handleUser:{id:""},userSelectors:[{selectorId:"",selectorName:"",selections:[],parameter:"",description:"",handleType:0}],comment:"",stepId:""},workHistories:[],isForward:!1}},methods:{opened:function(){this.value&&this.loadData(this.value)},confirm:function(){this.commit()},show:function(e){this.visible=!0,this.value=e},hide:function(){this.visible=!1,this.form={name:"",formDesignId:{},formData:{}},this.isForward=!1},loadData:function(e){var t=this;this.loading=!0,this.getWorkTask(e).then((function(e){t.getAllTaskStepsOfWorkTask(),t.getAndRendWithFormDesign(e),t.loading=!1}))},commit:function(){this.$emit("ok-click",{}),this.hide()},getWorkTask:function(e){var t=this;return this.$store.dispatch("workflow/getWorkTask",{id:e}).then((function(e){return t.workTaskForm=e,t.$refs.processForm.loadHistories(t.workTaskForm),e})).catch((function(e){t.loading=!1}))},loadFormInstance:function(e){var t=this;this.loading=!0,this.$store.dispatch("dynamicFormInstance/get",{id:e}).then((function(e){t.form=e,t.getDesign(t.form.formDesignId).then((function(o){t.loading=!1,t.$refs.controlPanel.setValue(o,JSON.parse(e.formData||"{}"))}))}))},getAllTaskStepsOfWorkTask:function(){var e=this;this.$store.dispatch("workflow/getAllTaskStepsOfWorkTask",{worktaskId:this.workTaskForm.id}).then((function(t){e.workHistories=t;var o=e.workHistories.filter((function(t){return t.handleUser.id==e.currentUserId&&0==t.isHandled&&0==t.workStepType}))[0];e.workStep.handleUser=o.handleUser,e.workStep.id=o.id})).catch((function(t){e.loading=!1}))},callback:function(){this.loadData(this.workTaskForm.id)},passApprove:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:""},o=this;this.$store.dispatch("workflow/passProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},rejectApprove:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:""},o=this;this.$store.dispatch("workflow/rejectProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},forwardProve:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:"",userSelectors:this.workStep.userSelectors},o=this;this.$store.dispatch("workflow/forwardProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},withdrawProve:function(e){var t=this;this.loading=!0;var o={stepId:e,comment:this.workStep.comment},s=this;this.$store.dispatch("workflow/withdrawProve",o).then((function(e){s.loading=!1,t.callback()})).catch((function(e){t.loading=!1}))},getAndRendWithFormDesign:function(e){var t=this;this.loading=!0;var o={};try{o=JSON.parse(e.entityKeyValue)}catch(n){o={}}var s={};try{s=JSON.parse(e.formData)}catch(n){s={}}this.$refs.controlPanel.setValue([],s);var i=Object(r["a"])(Object(r["a"])({},o),{},{version:o.versionId});this.$store.dispatch("dynamicFormDesign/getFormDesignVersion",i).then((function(e){return t.loading=!1,t.formDesign=e,e&&e.designContent?JSON.parse(e&&e.designContent):[]})).then((function(e){t.loading=!1,t.$refs.controlPanel.setValue(e,s)}))}}},y=S,_=(o("4aab"),Object(f["a"])(y,s,i,!1,null,null,null));t["a"]=_.exports},"69a1":function(e,t,o){"use strict";var s=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[e.workStep&&e.canHandle?o("el-card",{staticClass:"box-card",staticStyle:{"margin-top":"10px"}},[o("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[o("span",[e._v("审批")])]),o("el-card",{staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[o("div",[o("el-radio",{attrs:{label:!1},model:{value:e.isForward,callback:function(t){e.isForward=t},expression:"isForward"}},[e._v("处理")]),o("el-radio",{attrs:{label:!0},model:{value:e.isForward,callback:function(t){e.isForward=t},expression:"isForward"}},[e._v("转发")])],1),o("br"),e.isForward?o("div",[o("nodeUser",{attrs:{userSelectors:e.workStep.userSelectors}}),o("br"),o("el-button",{attrs:{type:"danger",size:"mini"},on:{click:e.forwardProve}},[e._v("转发/代办")])],1):o("div",[o("el-form",[o("el-form-item",{attrs:{label:"表单数据"}},[o("el-input",{attrs:{type:"textarea",rows:4,placeholder:"表单数据(与主流程不同,每一步都可能有当前的处理表单数据)"},model:{value:e.workStep.formData,callback:function(t){e.$set(e.workStep,"formData",t)},expression:"workStep.formData"}})],1),o("el-form-item",{attrs:{label:"批语"}},[o("el-input",{attrs:{type:"textarea",rows:2,placeholder:"批语 "},model:{value:e.workStep.comment,callback:function(t){e.$set(e.workStep,"comment",t)},expression:"workStep.comment"}})],1),e.isPass?e._e():o("el-form-item",{attrs:{label:"驳回节点"}},[o("el-select",{attrs:{placeholder:"驳回节点",size:"mini"},model:{value:e.workStep.rejectToNodeId,callback:function(t){e.$set(e.workStep,"rejectToNodeId",t)},expression:"workStep.rejectToNodeId"}},e._l(e.workStep.rejectNodes,(function(e){return o("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1),o("el-form-item",[o("div",[o("el-radio",{attrs:{label:!0},model:{value:e.isPass,callback:function(t){e.isPass=t},expression:"isPass"}},[e._v("通过")]),o("el-radio",{attrs:{label:!1},model:{value:e.isPass,callback:function(t){e.isPass=t},expression:"isPass"}},[e._v("驳回")])],1),o("el-button",{attrs:{type:"primary",size:"mini"},on:{click:function(){return e.isPass?e.passApprove():e.rejectApprove()}}},[e._v("确定")])],1)],1)],1)])],1):e._e(),o("el-card",{staticClass:"card-provehistory",staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[o("div",{attrs:{slot:"header"},slot:"header"},[e._v(" 审批记录 "),o("el-button",{attrs:{type:"text",size:"mini"},on:{click:e.getAllTaskStepsOfWorkTask}},[e._v("刷新")])],1),e._l(e.workHistories,(function(t){return o("el-card",{key:t.id,staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[o("div",{attrs:{slot:"header"},slot:"header"},[o("span",[o("span",{staticClass:"historylabel"},[e._v("节点:")]),e._v(e._s(t.nodeName))]),o("div",{staticStyle:{float:"right",padding:"3px 0"}},[0==t.workStepType?o("span",[t.isHandled?o("span",[0==t.handleType?o("el-link",{attrs:{underline:!1,type:"success"}},[e._v("通过")]):e._e(),1==t.handleType?o("el-link",{attrs:{underline:!1,type:"danger"}},[e._v("拒绝")]):e._e(),2==t.handleType?o("el-link",{attrs:{underline:!1,type:"info"}},[e._v("撤回")]):e._e(),3==t.handleType?o("el-link",{attrs:{underline:!1,type:"warning"}},[e._v("转发")]):e._e(),4==t.handleType?o("el-link",{attrs:{underline:!1}},[e._v("未处理")]):e._e()],1):o("el-link",{attrs:{underline:!1,type:"info"}},[e._v("待处理")])],1):o("span",[e._v("只读/抄送")])])]),o("div",[o("span",{staticClass:"historylabel"},[e._v("处理人:")]),e._v(" "+e._s(t.handleUser.name)+" ")]),o("div",[o("p",{staticClass:"historylabel"},[e._v("意见:")]),e._v(" "+e._s(t.comment)+" ")]),o("div",[o("p",{staticClass:"historylabel"},[e._v("附件:")]),e._v(" "+e._s(t.resourceIds)+" ")]),o("br"),o("div",{staticClass:"bottom clearfix"},[t.isHandled?o("time",{staticClass:"time"},[o("span",{staticClass:"historylabel"},[e._v("处理时间:")]),e._v(e._s(t.handlerTime))]):e._e(),1==t.isHandled&&t.handleUser.id==e.currentUserId?o("el-button",{staticStyle:{float:"right",padding:"3px 0"},attrs:{type:"text"},on:{click:function(o){return e.withdrawProve(t.id)}}},[e._v("撤回")]):e._e()],1)])}))],2)],1)},i=[],r=(o("b0c0"),o("4de4"),o("d3b7"),o("77ff")),n={components:{nodeUser:r["a"]},name:"workflow-simulation",props:{workflowName:{default:"测试流程"},workflowId:{default:"1"},workflowVersionId:{default:"1"}},computed:{id:function(){return this.$route.query.id||this.workflowId},name:function(){return this.$route.query.name||this.workflowName},versionId:function(){return this.$route.query.versionId||this.workflowVersionId},canHandle:function(){var e=this;return this.workHistories.filter((function(t){return t.handleUser.id==e.$store.state.user.user.id&&0==t.isHandled&&0==t.workStepType})).length>0},currentUserId:function(){return this.$store.state.user.user.id}},watch:{currentUserId:{handler:function(){this.getAllTaskStepsOfWorkTask()}},isPass:{handler:function(){this.isPass?this.workStep.rejectToNodeId=null:this.getRejectNodes()}}},data:function(){return{formData:"",loading:!1,allUsers:[],workTaskForm:{},workStep:{handleUser:{id:""},userSelectors:[{selectorId:"",selectorName:"",selections:[],parameter:"",description:"",handleType:0}],rejectNodes:[{id:"",name:""}],comment:"",stepId:"",formData:"",rejectToNodeId:null},workHistories:[],isForward:!1,isPass:!0,isSimulation:!0}},mounted:function(){this.getAllUserForSimulation()},methods:{loadHistories:function(e){this.workTaskForm=e,this.callback()},getAllUserForSimulation:function(){var e=this;this.$store.dispatch("workflow/GetAllUserForSimulation").then((function(t){e.allUsers=t}))},getAllTaskStepsOfWorkTask:function(){var e=this;this.workTaskForm.id&&0!=this.workTaskForm.id.length&&this.$store.dispatch("workflow/getAllTaskStepsOfWorkTask",{worktaskId:this.workTaskForm.id}).then((function(t){e.workHistories=t;var o=e.workHistories.filter((function(t){return t.handleUser.id==e.$store.state.user.user.id&&0==t.isHandled&&0==t.workStepType}))[0];e.workStep.handleUser=o.handleUser,e.workStep.id=o.id})).catch((function(t){e.loading=!1}))},getUserName:function(e){var t=this.allUsers.filter((function(t){return t.id==e}));return t.length>0?t[0].name:""},callback:function(){this.getAllTaskStepsOfWorkTask(),this.workStep.comment="",this.isPass=!0},passApprove:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:"",formData:this.workStep.formData},o=this;this.$store.dispatch("workflow/passProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},rejectApprove:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:""},o=this;this.$store.dispatch("workflow/rejectProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},forwardProve:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:"",userSelectors:this.workStep.userSelectors},o=this;this.$store.dispatch("workflow/forwardProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},withdrawProve:function(e){var t=this;this.loading=!0;var o={stepId:e,comment:this.workStep.comment},s=this;this.$store.dispatch("workflow/withdrawProve",o).then((function(e){s.loading=!1,t.callback()})).catch((function(e){t.loading=!1}))},getRejectNodes:function(){var e=this;console.log(this.workStep),this.$store.dispatch("workflow/GetRejectNodes",{workStepId:this.workStep.id}).then((function(t){e.workStep.rejectNodes=t})).catch((function(t){e.loading=!1}))}}},a=n,l=o("2877"),c=Object(l["a"])(a,s,i,!1,null,null,null);t["a"]=c.exports},"77ff":function(e,t,o){"use strict";var s=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",e._l(e.userSelectors,(function(t,s){return o("div",{key:s,staticClass:"user-card",staticStyle:{"margin-top":"10px"},attrs:{shadow:"naver"}},[o("el-form",{staticClass:"demo-form",attrs:{"label-width":"0px","label-position":"right",size:"mini"}},[o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-select",{staticStyle:{width:"100%"},attrs:{size:"mini",placeholder:"选择人员类型"},model:{value:t.selectorId,callback:function(o){e.$set(t,"selectorId",o)},expression:"item.selectorId"}},e._l(e.allUserSelectors,(function(e){return o("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("userSelections",{ref:"userSelections",refInFor:!0,attrs:{index:s,selectorId:t.selectorId,selections:t.selections},on:{"ok-click":e.userSelectionsOkHandler}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-input",{attrs:{size:"mini",placeholder:"参数"},model:{value:t.parameter,callback:function(o){e.$set(t,"parameter",o)},expression:"item.parameter"}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-input",{attrs:{size:"mini",placeholder:"描述"},model:{value:t.description,callback:function(o){e.$set(t,"description",o)},expression:"item.description"}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}})],1)],1)})),0)},i=[],r=(o("d3b7"),o("159b"),o("b0c0"),o("a15b"),o("a434"),function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("el-dialog",{attrs:{title:"选择用户",visible:e.visible,width:"40%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[o("el-table",{ref:"singleTable",staticStyle:{width:"100%",height:"40vh"},attrs:{data:e.selections},on:{"current-change":e.handleCurrentChange,"selection-change":e.handleSelectionChange}},[o("el-table-column",{attrs:{type:"selection",width:"50"}}),o("el-table-column",{attrs:{type:"index",width:"50"}}),o("el-table-column",{attrs:{property:"name",label:"名称",width:"220"}}),o("el-table-column",{attrs:{property:"id",label:"ID"}})],1),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)}),n=[],a={props:{},watch:{visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{name:""},rules:{name:[{required:!0,message:"请输入",trigger:"change"}]},currentRow:null,selections:[],value:{},multipleSelection:[]}},methods:{confirm:function(){this.commit()},show:function(e){this.visible=!0,this.loadData(e)},hide:function(){this.visible=!1,this.form={name:""}},loadData:function(e){var t=this;this.loading=!0,this.value=e,this.getUserSelectionsOfUserSelector(e.selectorId).then((function(){t.loading=!1}))},getUserSelectionsOfUserSelector:function(e){var t=this;return this.$store.dispatch("workflow/getUserSelectionsOfUserSelector",{userSelectorId:e}).then((function(e){console.log(e),t.selections=e}))},commit:function(){0!=this.multipleSelection.length?(this.$emit("ok-click",{index:this.value.index,value:this.multipleSelection}),this.hide()):this.$message({message:"警告,请选择!",type:"warning"})},handleCurrentChange:function(e){this.currentRow=e},handleSelectionChange:function(e){this.multipleSelection=e}}},l=a,c=o("2877"),d=Object(c["a"])(l,r,n,!1,null,null,null),u=d.exports,h={components:{userSelections:u},props:{userSelectors:{type:Array,default:function(){return[]}}},filters:{getSelectionsName:function(e){if(!e)return"";var t=[];return e.forEach((function(e){t.push(e.name)})),t.join(",")}},data:function(){return{allUserSelectors:[]}},mounted:function(){this.loadUserSelectors()},methods:{loadUserSelectors:function(){var e=this;this.$store.dispatch("workflow/getAllUserSelectors").then((function(t){console.log(t),e.allUserSelectors=t}))},delUserSelector:function(e,t){e.splice(t,1)},userSelectionsOkHandler:function(e){var t=this.userSelectors[e.index];this.$set(t,"selections",[]),e.value.forEach((function(e){t.selections.push({id:e.id,name:e.name})}))}}},f=h,p=(o("09e3"),Object(c["a"])(f,s,i,!1,null,null,null));t["a"]=p.exports},"86e2":function(e,t,o){"use strict";o("4410")},"877e":function(e,t,o){},"9a0c":function(e,t,o){var s=o("342f");e.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(s)},a75d:function(e,t,o){"use strict";o.r(t);var s=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{directives:[{name:"loading",rawName:"v-loading",value:e.loading.getPageList,expression:"loading.getPageList"}],staticClass:"app-container"},[o("div",[o("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.getPageList}},[e._v("刷新")])],1),o("br"),o("el-table",{staticStyle:{width:"100%"},attrs:{data:e.tableData,border:""}},[o("el-table-column",{attrs:{type:"index",label:"序号",width:"60"}}),o("el-table-column",{attrs:{prop:"name",label:"标题"}}),o("el-table-column",{attrs:{prop:"workflowName",label:"流程名称",width:"250"},scopedSlots:e._u([{key:"default",fn:function(t){return[o("span",[e._v(e._s(t.row.workflowId.workflowName))])]}}])}),o("el-table-column",{attrs:{label:"审批状态",width:"80"},scopedSlots:e._u([{key:"default",fn:function(t){return[0==t.row.workTaskStatus?o("span",[e._v("待发起")]):e._e(),1==t.row.workTaskStatus?o("span",[e._v("审批中")]):e._e(),2==t.row.workTaskStatus?o("span",[e._v("已审批")]):e._e()]}}])}),o("el-table-column",{attrs:{prop:"creationTime",formatter:e.dateFormat,label:"创建时间",width:"160"}}),o("el-table-column",{attrs:{prop:"modifiedTime",formatter:e.dateFormat,label:"更新时间",width:"160"}}),o("el-table-column",{attrs:{fixed:"right",label:"操作",width:"150"},scopedSlots:e._u([{key:"default",fn:function(t){return[0!=t.row.workflowStatus?o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return e.$refs.processForm.show(t.row.id)}}},[e._v("查看")]):e._e(),o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return e.$refs.workflowDesignForm.show({id:t.row.workflowId.id,version:t.row.workflowId.versionId})}}},[e._v("流程图")])]}}])})],1),o("br"),o("el-pagination",{attrs:{background:"",layout:"sizes,prev, pager, next",total:e.page.total,"page-size":e.page.maxResultCount,"current-page":e.page.currentPage},on:{"current-change":function(t){return e.paginationChange(null,t)},"size-change":function(t){return e.paginationChange(t)}}}),o("processForm",{ref:"processForm",on:{"ok-click":e.getPageList}}),o("workflowDesignForm",{ref:"workflowDesignForm"})],1)},i=[],r=o("eb3e"),n=o("677e"),a=o("37c0"),l={components:{processForm:n["a"],workflowDesignForm:a["a"]},mixins:[r["a"]],data:function(){return{moduleName:"workflow"}},mounted:function(){},methods:{getPageList:function(){var e=this;this.loading.getPageList=!0,this.page.skipCount=(this.page.currentPage-1)*this.page.maxResultCount,this.$store.dispatch("workflow/getHandledWorkTasksOfUser",this.page).then((function(t){e.tableData=t.items,e.page.total=t.total,e.loading.getPageList=!1}))}}},c=l,d=o("2877"),u=Object(d["a"])(c,s,i,!1,null,null,null);t["default"]=u.exports},eb3e:function(e,t,o){"use strict";t["a"]={computed:{currentUserId:function(){return this.$store.state.user.user.id}},data:function(){return{moduleName:"",tableData:[],page:{total:100,maxResultCount:50,currentPage:1,conditions:[],sorting:"creationtime desc"},loading:{getPageList:!1}}},watch:{currentUserId:function(){this.getPageList&&this.getPageList()}},mounted:function(){this.getPageList()},methods:{dateFormat:function(e,t){var o=e[t.property];if(null===o)return"";var s=new Date(o);return s.getFullYear()+"-"+(s.getMonth()+1)+"-"+s.getDate()+" "+s.getHours()+":"+s.getMinutes()+":"+s.getSeconds()},paginationChange:function(e,t){e&&(this.page.maxResultCount=e),t&&(this.page.currentPage=t),this.getPageList()},create:function(){this.$refs.createForm.show()},edit:function(e){this.$refs.editForm.show(e)},getPageList:function(){var e=this;this.loading.getPageList=!0,this.page.skipCount=(this.page.currentPage-1)*this.page.maxResultCount,this.$store.dispatch(this.moduleName+"/getPageList",this.page).then((function(t){e.tableData=t.items,e.page.total=t.total,e.loading.getPageList=!1}))},remove:function(e){var t=this;this.$confirm("确认删除该记录?, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){t.$store.dispatch(t.moduleName+"/delete",{id:e}).then((function(e){t.$message({type:"success",message:"删除成功!"}),t.getPageList()}))})).catch((function(){t.$message({type:"info",message:"已取消删除"})}))}}}},ed08:function(e,t,o){"use strict";o("a4d3"),o("e01a"),o("d3b7"),o("d28b"),o("3ca3"),o("ddb0");o("ac1f"),o("00b4"),o("5319"),o("4d63"),o("2c3e"),o("25f0"),o("4d90"),o("1276"),o("159b"),o("a15b")}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-4fbe6529.be767a17.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-4fbe6529.be767a17.js new file mode 100644 index 0000000000000000000000000000000000000000..43af10ceed515d5edd389c39d87ed9d30cf2e8ee --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-4fbe6529.be767a17.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-4fbe6529"],{7948:function(t,e,l){"use strict";l.r(e);var o=function(){var t=this,e=t.$createElement,l=t._self._c||e;return l("div",{directives:[{name:"loading",rawName:"v-loading",value:t.loading.getPageList,expression:"loading.getPageList"}],staticClass:"app-container"},[l("div",[l("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.save}},[t._v("保存")]),l("el-button",{attrs:{type:"primary",size:"small"},on:{click:function(e){return t.preview()}}},[t._v(" 预览 ")]),l("el-button",{staticStyle:{float:"right",padding:"3px 0","margin-right":"10px"},attrs:{type:"text"},on:{click:function(e){return t.$router.push({path:"/workflowDesign/formList"})}}},[t._v("返回")])],1),l("br"),l("editPanel",{ref:"editPanel"}),l("previewForm",{ref:"previewForm"}),l("editForm",{ref:"editForm"})],1)},i=[],n=(l("a9e3"),l("e9c4"),l("eb3e")),a=function(){var t=this,e=t.$createElement,l=t._self._c||e;return l("div",{staticStyle:{height:"calc(100vh - 141px)"}},[l("el-row",{staticClass:"editbox"},[l("el-col",{staticClass:"editbox",staticStyle:{"padding-right":"10px"},attrs:{span:2}},[l("div",{staticClass:"editbox-content",staticStyle:{padding:"10px"}},[l("draggable",t._b({attrs:{animation:500,clone:t.clone},model:{value:t.basecontrols,callback:function(e){t.basecontrols=e},expression:"basecontrols"}},"draggable",{group:{name:"controlpanel",pull:"clone"},sort:!1},!1),[l("transition-group",t._l(t.basecontrols,(function(e){return l("p",{key:e.type},[l("el-tooltip",{staticClass:"item",attrs:{effect:"dark",content:"拖动到右边编辑框",placement:"right"}},[l("el-tag",{staticStyle:{width:"100%","text-align":"left",cursor:"move"}},[t._v(" "+t._s(e.label))])],1)],1)})),0)],1)],1)]),l("el-col",{staticClass:"editbox",attrs:{span:16}},[l("div",{staticClass:"editbox-content"},[l("el-form",{ref:"form",staticClass:"dynamic-form",attrs:{"label-width":"auto","label-position":"top",size:"normal"}},[l("el-row",{attrs:{gutter:10}},[l("draggable",t._b({attrs:{animation:500,dragClass:"dragClass",ghostClass:"ghostClass",chosenClass:"chosenClass"},on:{end:t.controlpanelEnd,add:t.controlpanelEnd},model:{value:t.orderedcontrols,callback:function(e){t.orderedcontrols=e},expression:"orderedcontrols"}},"draggable",{group:{name:"controlpanel"},sort:!0},!1),[l("transition-group",[t._l(t.orderedcontrols,(function(e,o){return["container"==e.type?l("dynamicContainer",{key:o+"container",attrs:{control:e||{},isEdit:t.isEdit,isEditForm:t.isEditForm},on:{edit:function(e){return t.editCtrl(e)},remove:function(e){return t.removeCtrl(o)},copy:function(e){return t.copyCtrl(o)}},model:{value:t.bindModel(o)[e.field],callback:function(l){t.$set(t.bindModel(o),e.field,l)},expression:"bindModel(index)[control.field]"}}):l("dynamicCol",{key:o,attrs:{control:e||{},isEdit:t.isEdit,isEditForm:t.isEditForm},on:{edit:function(e){return t.editCtrl(o)},remove:function(e){return t.removeCtrl(o)},copy:function(e){return t.copyCtrl(o)}},model:{value:t.bindModel(o)[e.field],callback:function(l){t.$set(t.bindModel(o),e.field,l)},expression:"bindModel(index)[control.field]"}})]}))],2)],1)],1)],1)],1)]),l("el-col",{staticClass:"editbox",staticStyle:{"padding-left":"10px"},attrs:{span:6}},[l("div",{staticClass:"editbox-content",staticStyle:{padding:"5px"},attrs:{shadow:"never"}},[l("crleditor",{staticClass:"options-content",attrs:{control:t.orderedcontrols[t.currentControlIndex]||{}},on:{"default-change":t.editorChange}})],1)])],1)],1)},r=[],s=(l("4de4"),l("d3b7"),l("a434"),l("4080")),c=l("d27b"),d=function(){var t=this,e=t.$createElement,l=t._self._c||e;return l("el-form",{ref:"form",attrs:{size:"mini","label-width":"80px"}},[l("el-card",{staticClass:"box-card editor-card",attrs:{shadow:"never"}},[l("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[l("span",[t._v(t._s(t.control.label))])]),l("el-form-item",{attrs:{label:"宽度"}},[l("el-select",{staticStyle:{width:"100%"},attrs:{placeholder:"请选择","default-first-option":""},model:{value:t.control.span,callback:function(e){t.$set(t.control,"span",e)},expression:"control.span"}},t._l([6,8,12,16,18,24],(function(t){return l("el-option",{key:t,attrs:{label:t,value:t}})})),1)],1),l("el-form-item",{attrs:{label:"字段"}},[l("el-input",{model:{value:t.control.field,callback:function(e){t.$set(t.control,"field",e)},expression:"control.field"}})],1),l("el-form-item",{attrs:{label:"字段名称"}},[l("el-input",{model:{value:t.control.label,callback:function(e){t.$set(t.control,"label",e)},expression:"control.label"}})],1),l("el-form-item",{attrs:{label:"字段类型"}},[l("el-select",{staticStyle:{width:"100%"},attrs:{placeholder:"请选择","default-first-option":""},on:{change:function(e){return t.fieldTypeChange(t.control,e)}},model:{value:t.control.type,callback:function(e){t.$set(t.control,"type",e)},expression:"control.type"}},t._l(t.fieldTypes,(function(t){return l("el-option",{key:t,attrs:{label:t,value:t}})})),1)],1),t.hasOptions(t.control.type)?l("el-form-item",{attrs:{label:"选项"}},[t._l(t.control.options,(function(e,o){return l("div",{key:o},[l("el-col",{attrs:{span:2}},[l("el-button",{attrs:{size:"mini",type:"text"},on:{click:function(e){return t.removeNormalOptions(t.control.options,o)}}},[l("i",{staticClass:"el-icon-minus"})])],1),l("el-col",{attrs:{span:11}},[l("el-form-item",{attrs:{label:"","label-width":"10px"}},[l("el-input",{attrs:{placeholder:"label"},model:{value:e.label,callback:function(l){t.$set(e,"label",l)},expression:"option.label"}})],1)],1),l("el-col",{attrs:{span:11}},[l("el-form-item",{attrs:{label:"","label-width":"10px"}},[l("el-input",{attrs:{placeholder:"value"},model:{value:e.value,callback:function(l){t.$set(e,"value",l)},expression:"option.value"}})],1)],1)],1)})),l("el-button",{attrs:{size:"mini",type:"text"},on:{click:function(e){return t.addNormalOptions(t.control)}}},[l("i",{staticClass:"el-icon-plus"})])],2):t._e(),"table"!=t.control.type?l("el-form-item",{attrs:{label:"默认值"}},[l("formItem",{attrs:{control:t.control,isEdit:!0},on:{change:t.defaultChange},model:{value:t.control.default,callback:function(e){t.$set(t.control,"default",e)},expression:"control.default"}})],1):t._e(),"table"==t.control.type?l("el-form-item",{attrs:{label:"属性"}},[t._l(t.control.options,(function(e,o){return l("el-card",{key:o,staticClass:"property-card",attrs:{shadow:"never"}},[l("el-button",{attrs:{size:"mini",type:"text"},on:{click:function(e){return t.removeTableProperty(t.control.options,o)}}},[t._v("移除属性")]),l("el-form-item",{attrs:{label:"字段"}},[l("el-input",{model:{value:e.field,callback:function(l){t.$set(e,"field",l)},expression:"tbcontrol.field"}})],1),l("el-form-item",{attrs:{label:"字段名称"}},[l("el-input",{model:{value:e.label,callback:function(l){t.$set(e,"label",l)},expression:"tbcontrol.label"}})],1),l("el-form-item",{attrs:{label:"字段类型"}},[l("el-select",{staticStyle:{width:"100%"},attrs:{placeholder:"请选择","default-first-option":""},on:{change:function(l){return t.fieldTypeChange(e,l)}},model:{value:e.type,callback:function(l){t.$set(e,"type",l)},expression:"tbcontrol.type"}},t._l(t.fieldTypesWithoutTable,(function(t){return l("el-option",{key:t,attrs:{label:t,value:t}})})),1)],1),t.hasOptions(e.type)?l("el-form-item",{attrs:{label:"选项"}},[t._l(e.options,(function(o,i){return l("div",{key:i},[l("el-col",{attrs:{span:2}},[l("el-button",{attrs:{size:"mini",type:"text"},on:{click:function(l){return t.removeNormalOptions(e.options,i)}}},[l("i",{staticClass:"el-icon-minus"})])],1),l("el-col",{attrs:{span:11}},[l("el-form-item",{attrs:{label:"","label-width":"10px"}},[l("el-input",{attrs:{placeholder:"label"},model:{value:o.label,callback:function(e){t.$set(o,"label",e)},expression:"option.label"}})],1)],1),l("el-col",{attrs:{span:11}},[l("el-form-item",{attrs:{label:"","label-width":"10px"}},[l("el-input",{attrs:{placeholder:"value"},model:{value:o.value,callback:function(e){t.$set(o,"value",e)},expression:"option.value"}})],1)],1)],1)})),l("el-button",{attrs:{size:"mini",type:"text"},on:{click:function(l){return t.addNormalOptions(e)}}},[l("i",{staticClass:"el-icon-plus"})])],2):t._e(),l("el-form-item",{attrs:{label:"默认值"}},[l("formItem",{attrs:{control:e,isEdit:!0},model:{value:e.default,callback:function(l){t.$set(e,"default",l)},expression:"tbcontrol.default"}})],1),l("el-form-item",{attrs:{label:"宽度"}},[l("el-input",{model:{value:e.width,callback:function(l){t.$set(e,"width",l)},expression:"tbcontrol.width"}})],1)],1)})),l("el-button",{attrs:{size:"mini",type:"text"},on:{click:function(e){return t.addTableProperty(t.control)}}},[t._v("添加属性")])],2):t._e()],1)],1)},u=[],f=l("b3cd"),p={components:{formItem:f["a"]},name:"crleditor",props:{control:{type:Object}},watch:{control:{deep:!0,handler:function(){this.$emit("change",this.control)}}},computed:{fieldTypesWithoutTable:function(){return this.fieldTypes.filter((function(t){return"table"!=t}))}},data:function(){return{fieldTypes:["string","textarea","number","checkbox","radio","select","multipleselect","table","date","time","datetime"]}},mounted:function(){},methods:{hasOptions:function(t){return["checkbox","radio","select","multipleselect"].indexOf(t)>-1},checkOptions:function(t){(!t.options||!t.options instanceof Array)&&this.$set(t,"options",[])},addNormalOptions:function(t){this.checkOptions(t),t.options.push({label:"label",value:"value"})},removeNormalOptions:function(t,e){t.splice(e,1)},addTableProperty:function(t){this.checkOptions(t),t.options.push({type:"string",field:"field"+(new Date).getTime(),label:"label"+(new Date).getTime(),width:"180",default:""})},removeTableProperty:function(t,e){t.splice(e,1)},fieldTypeChange:function(t,e){["checkbox","multipleselect"].indexOf(e)>-1?(this.checkOptions(t),this.$set(t,"default",[])):"container"==e?this.$set(t,"default",{}):this.$set(t,"default","")},defaultChange:function(t){this.$emit("default-change",t)}}},m=p,b=(l("8ffb"),l("2877")),h=Object(b["a"])(m,d,u,!1,null,null,null),v=h.exports,g=l("b76a"),y=l.n(g),x=l("61a5"),w={components:{control:s["a"],dynamicCol:c["a"],crleditor:v,draggable:y.a,dynamicContainer:x["a"]},mixins:[n["a"]],data:function(){return{moduleName:"dynamicFormDesign",form:{},isEdit:!0,isEditForm:!0,basecontrols:[{span:12,type:"string",field:"string",label:"文本",default:"",options:[]},{span:24,type:"textarea",field:"textarea",label:"富文本",default:"",options:[]},{span:12,type:"number",field:"number",label:"数字",default:0,options:[]},{span:12,type:"radio",field:"radio",label:"单选",default:"value",options:[{label:"label",value:"value"}]},{span:12,type:"checkbox",field:"checkbox",label:"勾选",default:["value"],options:[{label:"label",value:"value"}]},{span:12,type:"select",field:"select",label:"单选列表",default:"value",options:[{label:"label",value:"value"}]},{span:12,type:"multipleselect",field:"multipleselect",label:"多选列表",default:["value"],options:[{label:"label",value:"value"}]},{span:24,type:"table",field:"table",label:"表格",default:[],options:[{type:"string",field:"field1",label:"label1",width:"180",default:"1"},{type:"string",field:"field2",label:"label2",width:"180",default:"2"},{type:"string",field:"field3",label:"label3",width:"180",default:"3"},{type:"string",field:"field4",label:"label4",width:"180",default:"4"}]},{span:12,type:"date",field:"date",label:"日期",default:new Date,options:[]},{span:12,type:"time",field:"time",label:"时间",default:"00:00:00",options:[]},{span:12,type:"datetime",field:"datetime",label:"日期时间",default:new Date,options:[]}],controls:[{span:24,type:"empty",field:"empty",label:"empty",default:"",options:[]}],emptyControl:{span:24,type:"empty",field:"empty",label:"empty",default:"",options:[]},currentControlIndex:-1,value:{}}},watch:{value:{deep:!0,handler:function(){}}},computed:{orderedcontrols:{get:function(){var t=this.controls.filter((function(t){return"empty"!=t.type}));return 0==t.length&&t.push(this.emptyControl),t},set:function(t){this.currentControlIndex=-1,this.controls=t}}},mounted:function(){},methods:{bindModel:function(t){var e=this.orderedcontrols[t];return e||(e={},this.orderedcontrols[t]=e),this.$set(this.value,e.field,e.default),this.value},editCtrl:function(t){this.currentControlIndex=t},copyCtrl:function(t){var e=JSON.parse(JSON.stringify(this.controls[t]));this.controls.splice(t,0,e)},removeCtrl:function(t){this.controls.splice(t,1)},controlpanelEnd:function(t){this.currentControlIndex=-1,this.reloadPreview()},clone:function(t){var e=JSON.parse(JSON.stringify(t));return e.field=e.field+(new Date).getTime(),e},editorChange:function(t){this.reloadPreview()},reloadPreview:function(){var t=this,e=JSON.stringify(this.controls);this.controls=[],this.$nextTick((function(){t.controls=JSON.parse(e)}))},getControls:function(){return this.controls},setControls:function(t){this.value={},this.controls=t},getValue:function(){return this.value},setValue:function(t){this.$set(this,"value",t);var e=this.controls;this.controls=[];var l=this;this.$nextTick((function(){l.controls=e}))}}},k=w,C=(l("7b2a"),Object(b["a"])(k,a,r,!1,null,null,null)),$=C.exports,_=function(){var t=this,e=t.$createElement,l=t._self._c||e;return l("div",[l("el-dialog",{attrs:{title:"编辑",visible:t.visible,width:"60%","close-on-click-modal":!1},on:{close:function(e){t.visible=!1}}},[l("controlPanel",{ref:"controlPanel",attrs:{isEdit:t.isEdit}}),l("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[l("el-button",{attrs:{size:"small"},on:{click:function(e){t.visible=!1}}},[t._v("取 消")]),l("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirm}},[t._v("确 定")])],1)],1)],1)},O=[],N=l("afbe"),E={components:{dynamicCol:c["a"],dynamicContainer:x["a"],controlPanel:N["a"]},props:{},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",isEdit:!0,isEditForm:!1,controls:[],value:{}}},methods:{confirm:function(){this.commit()},show:function(t){this.visible=!0;var e=this;this.$nextTick((function(){e.$refs.controlPanel.setValue(t.controls,{})}))},hide:function(){this.visible=!1,this.value={},this.control={}},loadData:function(t){},commit:function(){this.hide()},bindModel:function(t){return t||(t={}),this.value[t.field]||this.$set(this.value,t.field,t.default),this.value}}},T=E,D=Object(b["a"])(T,_,O,!1,null,null,null),S=D.exports,F=l("fad4"),I={components:{editPanel:$,editForm:F["a"],previewForm:S},mixins:[n["a"]],data:function(){return{moduleName:"dynamicFormDesign",form:{}}},computed:{id:function(){return{id:this.$route.query.id,version:Number(this.$route.query.version||1)}}},mounted:function(){this.getDesign(this.id)},methods:{preview:function(){this.$refs.previewForm.show({controls:JSON.parse(JSON.stringify(this.$refs.editPanel.getControls())),value:this.$refs.editPanel.getValue()})},save:function(){this.form.designContent=JSON.stringify(this.$refs.editPanel.getControls()),this.$refs.editForm.show(this.form)},getDesign:function(t){var e=this;this.form.formDesignId=JSON.parse(JSON.stringify(t)),this.$store.dispatch("dynamicFormDesign/getFormDesignVersion",t).then((function(t){t&&t.designContent&&e.$refs.editPanel.setControls(JSON.parse(t&&t.designContent))}))}}},P=I,z=Object(b["a"])(P,o,i,!1,null,null,null);e["default"]=z.exports},"799d":function(t,e,l){},"7b2a":function(t,e,l){"use strict";l("e76f")},"8ffb":function(t,e,l){"use strict";l("799d")},e76f:function(t,e,l){},fad4:function(t,e,l){"use strict";var o=function(){var t=this,e=t.$createElement,l=t._self._c||e;return l("div",[l("el-dialog",{attrs:{title:"编辑",visible:t.visible,width:"40%","close-on-click-modal":!1},on:{close:function(e){t.visible=!1}}},[l("el-form",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],ref:"form",staticClass:"demo-form",staticStyle:{width:"80%"},attrs:{model:t.form,rules:t.rules,"label-width":"100px","label-position":"right",size:"mini"}},[l("el-form-item",{attrs:{label:"表单名称",prop:"title","label-width":t.defaultLabelWidth}},[l("el-input",{attrs:{disabled:"",size:"mini",type:"text"},model:{value:t.form.title,callback:function(e){t.$set(t.form,"title",e)},expression:"form.title"}})],1),l("el-form-item",{attrs:{label:"表单类型",prop:"formType","label-width":t.defaultLabelWidth}},[l("el-input",{attrs:{size:"mini",type:"text"},model:{value:t.form.formType,callback:function(e){t.$set(t.form,"formType",e)},expression:"form.formType"}})],1),l("el-form-item",{attrs:{label:"版本","label-width":t.defaultLabelWidth}},[l("el-input",{attrs:{size:"mini",type:"number"},model:{value:t.form.activeVersion,callback:function(e){t.$set(t.form,"activeVersion",e)},expression:"form.activeVersion"}})],1),l("el-form-item",{attrs:{label:"描述",prop:"description","label-width":t.defaultLabelWidth}},[l("el-input",{attrs:{size:"mini",type:"text"},model:{value:t.form.description,callback:function(e){t.$set(t.form,"description",e)},expression:"form.description"}})],1)],1),l("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[l("el-button",{attrs:{size:"small"},on:{click:function(e){t.visible=!1}}},[t._v("取 消")]),l("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirm}},[t._v("确 定")])],1)],1)],1)},i=[],n=(l("a9e3"),l("ac1f"),l("1276"),{props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{workflowId:{},formDesignId:{}},rules:{name:[{required:!0,message:"请输入",trigger:"change"}]},allWorkflows:[]}},methods:{confirm:function(){this.commit()},show:function(t){this.visible=!0,t&&this.loadData(t)},hide:function(){this.visible=!1,this.form={workflowId:{},formDesignId:{}}},loadData:function(t){var e=this;this.loading=!0,this.$store.dispatch("dynamicFormDesign/get",{id:t.formDesignId.id}).then((function(l){e.form=l,e.form.designContent=t.designContent,e.form.activeVersion=t.formDesignId.version,e.loading=!1}))},commit:function(){var t=this;this.$refs["form"].validate((function(e){if(!e)return console.log("error submit!!"),!1;t.form.formDesignId={id:t.form.id,version:Number(t.form.activeVersion)},t.form.workflowId.version=Number(t.form.workflowId.version),t.$store.dispatch("dynamicFormDesign/update",t.form).then((function(e){t.$emit("ok-click",e),t.hide()}))}))},getAllWorkflowsWithVersion:function(){var t=this;this.loading=!0,this.$store.dispatch("workflow/getAllWorkflowsWithVersion",this.form).then((function(e){t.allWorkflows=e,t.loading=!1}))},workflowIdChange:function(t){var e=t.split(":");this.form.workflowId={id:e[0],version:e[1]}}}}),a=n,r=l("2877"),s=Object(r["a"])(a,o,i,!1,null,null,null);e["a"]=s.exports}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-50b1c14a.a5c845e6.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-50b1c14a.a5c845e6.js new file mode 100644 index 0000000000000000000000000000000000000000..32cd197e95adfb8f1722196a951ac74041c0a24f --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-50b1c14a.a5c845e6.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-50b1c14a"],{"0254":function(e,t,o){},"09e3":function(e,t,o){"use strict";o("0254")},"13d9":function(e,t,o){"use strict";o.r(t);var i=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"app-container"},[o("el-card",{staticClass:"box-card"},[this.$route.query.id?o("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[o("span",[e._v("模拟流程:"+e._s(e.$route.query.name))]),o("el-button",{staticStyle:{float:"right",padding:"3px 0","margin-right":"10px"},attrs:{type:"text"},on:{click:function(t){return e.$router.push({path:"/workflow/list"})}}},[e._v("返回")])],1):e._e(),o("div",[o("div",[o("controlPanel",{ref:"controlPanel",attrs:{isEdit:!0}})],1),o("br"),o("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0}},[o("el-form-item",{attrs:{label:""}},[o("el-select",{attrs:{placeholder:"发起人",size:"mini"},model:{value:e.workTaskForm.createdUserId,callback:function(t){e.$set(e.workTaskForm,"createdUserId",t)},expression:"workTaskForm.createdUserId"}},e._l(e.allUsers,(function(e){return o("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1),o("el-form-item",[o("el-checkbox",{model:{value:e.isSimulation,callback:function(t){e.isSimulation=t},expression:"isSimulation"}},[e._v("是否模拟")])],1),o("el-form-item",[o("el-button",{attrs:{type:"primary",size:"mini"},on:{click:e.startWork}},[e._v("发起流程")])],1)],1)],1)]),o("el-card",{staticClass:"box-card",staticStyle:{"margin-top":"10px"}},[o("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[o("span",[e._v("流程实例")])]),o("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],ref:"singleTable",attrs:{data:[e.workTaskForm]}},[o("el-table-column",{attrs:{type:"index",width:"50"}}),o("el-table-column",{attrs:{property:"name",label:"流程名称",width:"200"}}),o("el-table-column",{attrs:{property:"formData",label:"表单"}}),o("el-table-column",{attrs:{property:"workTaskStatus",label:"状态",width:"100"},scopedSlots:e._u([{key:"default",fn:function(t){return[0==t.row.workTaskStatus?o("span",[e._v("待发起")]):e._e(),1==t.row.workTaskStatus?o("span",[e._v("审批中")]):e._e(),2==t.row.workTaskStatus?o("span",[e._v("已审批")]):e._e()]}}])}),o("el-table-column",{attrs:{property:"createdUserId",label:"创建用户id",width:"200"},scopedSlots:e._u([{key:"default",fn:function(t){return[o("span",[e._v(e._s(e.getUserName(t.row.createdUserId)))])]}}])}),o("el-table-column",{attrs:{property:"creationTime",label:"创建时间",width:"320"}})],1)],1),o("processForm",{ref:"processForm",attrs:{workTaskForm:e.workTaskForm}})],1)},r=[],s=(o("b0c0"),o("4de4"),o("d3b7"),o("a9e3"),o("25f0"),o("e9c4"),o("77ff")),a=o("69a1"),n=o("afbe"),l={components:{nodeUser:s["a"],processForm:a["a"],controlPanel:n["a"]},name:"workflow-simulation",props:{workflowName:{default:"测试流程"},workflowId:{default:"1"},workflowVersionId:{default:"1"}},computed:{id:function(){return this.$route.query.id||this.workflowId},name:function(){return this.$route.query.name||this.workflowName},versionId:function(){return this.$route.query.versionId||this.workflowVersionId},canHandle:function(){var e=this;return this.workHistories.filter((function(t){return t.handleUser.id==e.$store.state.user.user.id&&0==t.isHandled&&0==t.workStepType})).length>0},currentUserId:function(){return this.$store.state.user.user.id}},watch:{"workTaskForm.createdUserId":{handler:function(){var e=this,t=this.allUsers.filter((function(t){return t.id==e.workTaskForm.createdUserId}))[0];this.$store.dispatch("user/setCurrentUser",t)}},isPass:{handler:function(){this.isPass?this.workStep.rejectToNodeId=null:this.getRejectNodes()}}},data:function(){return{formData:"",loading:!1,allUsers:[],workTaskForm:{id:"",createdUserId:"",entityFullName:"",entityKeyValue:"",formData:"{}",workTaskStatus:"",name:"模拟流程",workflowId:{}},workStep:{handleUser:{id:""},userSelectors:[{selectorId:"",selectorName:"",selections:[],parameter:"",description:"",handleType:0}],rejectNodes:[{id:"",name:""}],comment:"",stepId:"",formData:"",rejectToNodeId:null},workHistories:[],isForward:!1,isPass:!0,isSimulation:!0}},mounted:function(){this.getAllUserForSimulation(),this.getFormDesignVersionByWorkflowId({id:this.id,version:this.versionId})},methods:{goback:function(){this.$navtab.close(this.$route.fullPath)},getAllUserForSimulation:function(){var e=this;this.$store.dispatch("workflow/GetAllUserForSimulation").then((function(t){e.allUsers=t,e.workTaskForm.createdUserId=e.allUsers[0].id}))},getUserName:function(e){var t=this.allUsers.filter((function(t){return t.id==e}));return t.length>0?t[0].name:""},startWork:function(){var e=this;this.loading=!0,this.workTaskForm.workflowId={versionId:Number(this.versionId),id:this.id},this.workTaskForm.entityFullName="Simulation",this.workTaskForm.entityKeyValue=(new Date).getTime().toString(),this.workTaskForm.formData=JSON.stringify(this.$refs.controlPanel.getValue());var t=this;console.log("this.isSimulation",this.isSimulation);var o=this.isSimulation?"workflow/createSimulationWorkTask":"workflow/createWorkTask";this.$store.dispatch(o,this.workTaskForm).then((function(t){return e.workTaskForm=t,t})).then((function(o){var i={workTaskId:o.id};e.$store.dispatch("workflow/startWorkTask",i).then((function(o){t.loading=!1,e.$refs.processForm.loadHistories(e.workTaskForm)})).catch((function(t){e.loading=!1}))})).catch((function(t){e.loading=!1}))},getFormDesignVersionByWorkflowId:function(e){var t=this;this.loading=!0,this.$store.dispatch("dynamicFormDesign/getFormDesignVersionByWorkflowId",e).then((function(e){return t.loading=!1,t.formDesign=e,e&&e.designContent?JSON.parse(e&&e.designContent):[]})).then((function(e){t.loading=!1,t.$refs.controlPanel.setValue(e,{})}))}}},c=l,d=o("2877"),u=Object(d["a"])(c,i,r,!1,null,null,null);t["default"]=u.exports},"37c0":function(e,t,o){"use strict";var i,r=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("el-dialog",{attrs:{title:"流程查看",visible:e.visible,width:"60%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[o("workflowEditPanel",{ref:"workflowEditPanel",attrs:{nodeData:e.nodeData}}),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)},s=[],a=o("ade3"),n=(o("d3b7"),o("159b"),o("0aef")),l={components:{workflowEditPanel:n["a"]},props:{},watch:{value:{handler:function(){},deep:!0},visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",nodeData:{},data:{}}},methods:(i={confirm:function(){this.commit()},show:function(e){this.visible=!0,this.loadData(e.version,e.id)},hide:function(){this.visible=!1,this.value={},this.control={}},loadData:function(e){},commit:function(){this.hide()}},Object(a["a"])(i,"loadData",(function(e,t){var o=this,i=this;this.$store.dispatch("workflow/getWorkflowVersion",{versionid:e,id:t}).then((function(e){i.nodeData=0==e.drawingInfo.length?o.defaultNode():JSON.parse(e.drawingInfo),i.data=e,i.nodeData.nodeList&&i.nodeData.nodeList.forEach((function(e){return e.viewOnly=!0})),i.$refs.workflowEditPanel.loadNodeData()}))})),Object(a["a"])(i,"defaultNode",(function(){return{name:"",nodeList:[],lineList:[]}})),i)},c=l,d=o("2877"),u=Object(d["a"])(c,r,s,!1,null,null,null);t["a"]=u.exports},"416f":function(e,t,o){"use strict";o.r(t);var i=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{directives:[{name:"loading",rawName:"v-loading",value:e.loading.getPageList,expression:"loading.getPageList"}],staticClass:"app-container"},[o("div",[o("el-button",{attrs:{type:"primary",size:"small"},on:{click:function(t){return e.$refs.createForm.show()}}},[e._v("新增")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.getPageList}},[e._v("刷新")])],1),o("br"),o("el-table",{staticStyle:{width:"100%"},attrs:{data:e.tableData,border:""}},[o("el-table-column",{attrs:{type:"index",label:"序号",width:"60"}}),o("el-table-column",{attrs:{prop:"name",label:"名称",width:"220"}}),o("el-table-column",{attrs:{prop:"activeVersion",label:"版本",width:"60"}}),o("el-table-column",{attrs:{prop:"description",label:"描述"}}),o("el-table-column",{attrs:{prop:"modifiedTime",label:"更新日期",formatter:e.dateFormat,width:"150"}}),o("el-table-column",{attrs:{prop:"creationTime",label:"创建日期",formatter:e.dateFormat,width:"150"}}),o("el-table-column"),o("el-table-column",{attrs:{fixed:"right",label:"操作",width:"240"},scopedSlots:e._u([{key:"default",fn:function(t){return[o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return e.$refs.updateVersionForm.show(t.row)}}},[e._v("版本切换")]),o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return e.$router.push({path:"/workflowDesign/simulation",query:{id:t.row.id,versionId:t.row.activeVersion,name:t.row.name}})}}},[e._v("模拟")]),o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return e.$router.push({path:"/editworkflow/edit",query:{id:t.row.id,versionId:t.row.activeVersion,name:t.row.name,des:t.row.description}})}}},[e._v("编辑")]),o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return e.$refs.viewWorkflowForm.show({id:t.row.id,version:t.row.activeVersion,name:t.row.name})}}},[e._v("查看")]),o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return e.remove(t.row.id)}}},[e._v("删除")])]}}])})],1),o("br"),o("el-pagination",{attrs:{background:"",layout:"sizes,prev, pager, next",total:e.page.total,"page-size":e.page.maxResultCount,"current-page":e.page.currentPage},on:{"current-change":function(t){return e.paginationChange(null,t)},"size-change":function(t){return e.paginationChange(t)}}}),o("createForm",{ref:"createForm",on:{"ok-click":function(t){return e.$router.push({path:"/editworkflow/edit",query:{id:t.id,versionId:t.activeVersion,name:t.name,des:t.description}})}}}),o("updateVersionForm",{ref:"updateVersionForm",on:{"ok-click":function(t){return e.getPageList()}}}),o("viewWorkflowForm",{ref:"viewWorkflowForm"})],1)},r=[],s=o("ade3"),a=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("el-dialog",{attrs:{title:"新增流程",visible:e.visible,width:"40%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[o("el-form",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],ref:"form",staticClass:"demo-form",staticStyle:{width:"80%"},attrs:{model:e.form,rules:e.rules,"label-width":"100px","label-position":"right",size:"mini"}},[o("el-form-item",{attrs:{label:"名称",prop:"name","label-width":e.defaultLabelWidth}},[o("el-input",{attrs:{size:"mini",type:"text"},model:{value:e.form.name,callback:function(t){e.$set(e.form,"name",t)},expression:"form.name"}})],1),o("el-form-item",{attrs:{label:"描述",prop:"name","label-width":e.defaultLabelWidth}},[o("el-input",{attrs:{size:"mini",type:"textarea"},model:{value:e.form.des,callback:function(t){e.$set(e.form,"des",t)},expression:"form.des"}})],1)],1),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)},n=[],l=(o("d3b7"),o("159b"),o("b64b"),{props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{name:""},rules:{name:[{required:!0,message:"请输入",trigger:"change"}]}}},methods:{confirm:function(){this.commit()},show:function(e){this.visible=!0,e&&this.loadData(e)},hide:function(){this.visible=!1,this.form={name:""}},loadData:function(e){var t=this;this.loading=!0,Object.keys(e).forEach((function(o){t.form[o]=e[o]})),this.loading=!1},commit:function(){var e=this;this.$refs["form"].validate((function(t){if(!t)return console.log("error submit!!"),!1;e.$store.dispatch("workflow/createWorkFlow",e.form).then((function(t){e.$emit("ok-click",t),e.hide()}))}))}}}),c=l,d=o("2877"),u=Object(d["a"])(c,a,n,!1,null,null,null),h=u.exports,m=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("el-dialog",{attrs:{title:"切换版本",visible:e.visible,width:"40%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[o("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],ref:"singleTable",staticStyle:{width:"100%",height:"40vh"},attrs:{data:e.selections},on:{"current-change":e.handleCurrentChange,"selection-change":e.handleSelectionChange}},[o("el-table-column",{attrs:{type:"index",width:"50"}}),o("el-table-column",{attrs:{property:"versionNo",label:"版本编号",width:"120"}}),o("el-table-column",{attrs:{property:"description",label:"描述"}}),o("el-table-column",{attrs:{property:"name",label:"状态"},scopedSlots:e._u([{key:"default",fn:function(t){return[t.row.versionNo==e.value.activeVersion?o("span",[e._v("激活")]):e._e()]}}])}),o("el-table-column",{attrs:{property:"name",label:"操作"},scopedSlots:e._u([{key:"default",fn:function(t){return[t.row.versionNo!=e.value.activeVersion?o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return e.updateActiveVersion(t.row)}}},[e._v("切换")]):e._e()]}}])})],1),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)},f=[],p=o("5530"),w={props:{},watch:{visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{},rules:{},currentRow:null,selections:[],value:{},multipleSelection:[]}},methods:{confirm:function(){this.commit()},show:function(e){this.visible=!0,this.value=Object(p["a"])({},e),this.loadData(this.value)},hide:function(){this.visible=!1,this.form={name:""}},loadData:function(e){var t=this;this.loading=!0,this.value=e,this.getAllWorkflowVersions(e.id).then((function(){t.loading=!1}))},getAllWorkflowVersions:function(e){var t=this;return this.$store.dispatch("workflow/getAllWorkflowVersions",{workflowId:e}).then((function(e){console.log(e),t.selections=e}))},updateActiveVersion:function(e){var t=this;this.loading=!0,this.$store.dispatch("workflow/updateWorkflowActiveVersion",{workflowId:e.workflowId,activeVersion:e.versionNo}).then((function(o){t.loading=!1,t.value.activeVersion=e.versionNo}))},commit:function(){this.$emit("ok-click",{}),this.hide()},handleCurrentChange:function(e){this.currentRow=e},handleSelectionChange:function(e){this.multipleSelection=e}}},k=w,v=Object(d["a"])(k,m,f,!1,null,null,null),g=v.exports,b=o("eb3e"),S=o("37c0"),y=o("13d9"),_=Object(s["a"])({components:{createForm:h,updateVersionForm:g,viewWorkflowForm:S["a"],simulation:y["default"]},mixins:[b["a"]],methods:{handleClick:function(e){console.log(e)}},data:function(){return{moduleName:"workflow",drawerSimulation:{show:!1,id:"",versionId:0,name:""}}},mounted:function(){this.getPageList()}},"methods",{getPageList:function(){var e=this;this.loading.getPageList=!0,this.$store.dispatch("workflow/getAllWorkflows",this.page).then((function(t){e.tableData=t.items,e.page.total=t.total,e.loading.getPageList=!1}))}}),x=_,I=Object(d["a"])(x,i,r,!1,null,null,null);t["default"]=I.exports},"69a1":function(e,t,o){"use strict";var i=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[e.workStep&&e.canHandle?o("el-card",{staticClass:"box-card",staticStyle:{"margin-top":"10px"}},[o("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[o("span",[e._v("审批")])]),o("el-card",{staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[o("div",[o("el-radio",{attrs:{label:!1},model:{value:e.isForward,callback:function(t){e.isForward=t},expression:"isForward"}},[e._v("处理")]),o("el-radio",{attrs:{label:!0},model:{value:e.isForward,callback:function(t){e.isForward=t},expression:"isForward"}},[e._v("转发")])],1),o("br"),e.isForward?o("div",[o("nodeUser",{attrs:{userSelectors:e.workStep.userSelectors}}),o("br"),o("el-button",{attrs:{type:"danger",size:"mini"},on:{click:e.forwardProve}},[e._v("转发/代办")])],1):o("div",[o("el-form",[o("el-form-item",{attrs:{label:"表单数据"}},[o("el-input",{attrs:{type:"textarea",rows:4,placeholder:"表单数据(与主流程不同,每一步都可能有当前的处理表单数据)"},model:{value:e.workStep.formData,callback:function(t){e.$set(e.workStep,"formData",t)},expression:"workStep.formData"}})],1),o("el-form-item",{attrs:{label:"批语"}},[o("el-input",{attrs:{type:"textarea",rows:2,placeholder:"批语 "},model:{value:e.workStep.comment,callback:function(t){e.$set(e.workStep,"comment",t)},expression:"workStep.comment"}})],1),e.isPass?e._e():o("el-form-item",{attrs:{label:"驳回节点"}},[o("el-select",{attrs:{placeholder:"驳回节点",size:"mini"},model:{value:e.workStep.rejectToNodeId,callback:function(t){e.$set(e.workStep,"rejectToNodeId",t)},expression:"workStep.rejectToNodeId"}},e._l(e.workStep.rejectNodes,(function(e){return o("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1),o("el-form-item",[o("div",[o("el-radio",{attrs:{label:!0},model:{value:e.isPass,callback:function(t){e.isPass=t},expression:"isPass"}},[e._v("通过")]),o("el-radio",{attrs:{label:!1},model:{value:e.isPass,callback:function(t){e.isPass=t},expression:"isPass"}},[e._v("驳回")])],1),o("el-button",{attrs:{type:"primary",size:"mini"},on:{click:function(){return e.isPass?e.passApprove():e.rejectApprove()}}},[e._v("确定")])],1)],1)],1)])],1):e._e(),o("el-card",{staticClass:"card-provehistory",staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[o("div",{attrs:{slot:"header"},slot:"header"},[e._v(" 审批记录 "),o("el-button",{attrs:{type:"text",size:"mini"},on:{click:e.getAllTaskStepsOfWorkTask}},[e._v("刷新")])],1),e._l(e.workHistories,(function(t){return o("el-card",{key:t.id,staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[o("div",{attrs:{slot:"header"},slot:"header"},[o("span",[o("span",{staticClass:"historylabel"},[e._v("节点:")]),e._v(e._s(t.nodeName))]),o("div",{staticStyle:{float:"right",padding:"3px 0"}},[0==t.workStepType?o("span",[t.isHandled?o("span",[0==t.handleType?o("el-link",{attrs:{underline:!1,type:"success"}},[e._v("通过")]):e._e(),1==t.handleType?o("el-link",{attrs:{underline:!1,type:"danger"}},[e._v("拒绝")]):e._e(),2==t.handleType?o("el-link",{attrs:{underline:!1,type:"info"}},[e._v("撤回")]):e._e(),3==t.handleType?o("el-link",{attrs:{underline:!1,type:"warning"}},[e._v("转发")]):e._e(),4==t.handleType?o("el-link",{attrs:{underline:!1}},[e._v("未处理")]):e._e()],1):o("el-link",{attrs:{underline:!1,type:"info"}},[e._v("待处理")])],1):o("span",[e._v("只读/抄送")])])]),o("div",[o("span",{staticClass:"historylabel"},[e._v("处理人:")]),e._v(" "+e._s(t.handleUser.name)+" ")]),o("div",[o("p",{staticClass:"historylabel"},[e._v("意见:")]),e._v(" "+e._s(t.comment)+" ")]),o("div",[o("p",{staticClass:"historylabel"},[e._v("附件:")]),e._v(" "+e._s(t.resourceIds)+" ")]),o("br"),o("div",{staticClass:"bottom clearfix"},[t.isHandled?o("time",{staticClass:"time"},[o("span",{staticClass:"historylabel"},[e._v("处理时间:")]),e._v(e._s(t.handlerTime))]):e._e(),1==t.isHandled&&t.handleUser.id==e.currentUserId?o("el-button",{staticStyle:{float:"right",padding:"3px 0"},attrs:{type:"text"},on:{click:function(o){return e.withdrawProve(t.id)}}},[e._v("撤回")]):e._e()],1)])}))],2)],1)},r=[],s=(o("b0c0"),o("4de4"),o("d3b7"),o("77ff")),a={components:{nodeUser:s["a"]},name:"workflow-simulation",props:{workflowName:{default:"测试流程"},workflowId:{default:"1"},workflowVersionId:{default:"1"}},computed:{id:function(){return this.$route.query.id||this.workflowId},name:function(){return this.$route.query.name||this.workflowName},versionId:function(){return this.$route.query.versionId||this.workflowVersionId},canHandle:function(){var e=this;return this.workHistories.filter((function(t){return t.handleUser.id==e.$store.state.user.user.id&&0==t.isHandled&&0==t.workStepType})).length>0},currentUserId:function(){return this.$store.state.user.user.id}},watch:{currentUserId:{handler:function(){this.getAllTaskStepsOfWorkTask()}},isPass:{handler:function(){this.isPass?this.workStep.rejectToNodeId=null:this.getRejectNodes()}}},data:function(){return{formData:"",loading:!1,allUsers:[],workTaskForm:{},workStep:{handleUser:{id:""},userSelectors:[{selectorId:"",selectorName:"",selections:[],parameter:"",description:"",handleType:0}],rejectNodes:[{id:"",name:""}],comment:"",stepId:"",formData:"",rejectToNodeId:null},workHistories:[],isForward:!1,isPass:!0,isSimulation:!0}},mounted:function(){this.getAllUserForSimulation()},methods:{loadHistories:function(e){this.workTaskForm=e,this.callback()},getAllUserForSimulation:function(){var e=this;this.$store.dispatch("workflow/GetAllUserForSimulation").then((function(t){e.allUsers=t}))},getAllTaskStepsOfWorkTask:function(){var e=this;this.workTaskForm.id&&0!=this.workTaskForm.id.length&&this.$store.dispatch("workflow/getAllTaskStepsOfWorkTask",{worktaskId:this.workTaskForm.id}).then((function(t){e.workHistories=t;var o=e.workHistories.filter((function(t){return t.handleUser.id==e.$store.state.user.user.id&&0==t.isHandled&&0==t.workStepType}))[0];e.workStep.handleUser=o.handleUser,e.workStep.id=o.id})).catch((function(t){e.loading=!1}))},getUserName:function(e){var t=this.allUsers.filter((function(t){return t.id==e}));return t.length>0?t[0].name:""},callback:function(){this.getAllTaskStepsOfWorkTask(),this.workStep.comment="",this.isPass=!0},passApprove:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:"",formData:this.workStep.formData},o=this;this.$store.dispatch("workflow/passProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},rejectApprove:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:""},o=this;this.$store.dispatch("workflow/rejectProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},forwardProve:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:"",userSelectors:this.workStep.userSelectors},o=this;this.$store.dispatch("workflow/forwardProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},withdrawProve:function(e){var t=this;this.loading=!0;var o={stepId:e,comment:this.workStep.comment},i=this;this.$store.dispatch("workflow/withdrawProve",o).then((function(e){i.loading=!1,t.callback()})).catch((function(e){t.loading=!1}))},getRejectNodes:function(){var e=this;console.log(this.workStep),this.$store.dispatch("workflow/GetRejectNodes",{workStepId:this.workStep.id}).then((function(t){e.workStep.rejectNodes=t})).catch((function(t){e.loading=!1}))}}},n=a,l=o("2877"),c=Object(l["a"])(n,i,r,!1,null,null,null);t["a"]=c.exports},"77ff":function(e,t,o){"use strict";var i=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",e._l(e.userSelectors,(function(t,i){return o("div",{key:i,staticClass:"user-card",staticStyle:{"margin-top":"10px"},attrs:{shadow:"naver"}},[o("el-form",{staticClass:"demo-form",attrs:{"label-width":"0px","label-position":"right",size:"mini"}},[o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-select",{staticStyle:{width:"100%"},attrs:{size:"mini",placeholder:"选择人员类型"},model:{value:t.selectorId,callback:function(o){e.$set(t,"selectorId",o)},expression:"item.selectorId"}},e._l(e.allUserSelectors,(function(e){return o("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("userSelections",{ref:"userSelections",refInFor:!0,attrs:{index:i,selectorId:t.selectorId,selections:t.selections},on:{"ok-click":e.userSelectionsOkHandler}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-input",{attrs:{size:"mini",placeholder:"参数"},model:{value:t.parameter,callback:function(o){e.$set(t,"parameter",o)},expression:"item.parameter"}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-input",{attrs:{size:"mini",placeholder:"描述"},model:{value:t.description,callback:function(o){e.$set(t,"description",o)},expression:"item.description"}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}})],1)],1)})),0)},r=[],s=(o("d3b7"),o("159b"),o("b0c0"),o("a15b"),o("a434"),function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("el-dialog",{attrs:{title:"选择用户",visible:e.visible,width:"40%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[o("el-table",{ref:"singleTable",staticStyle:{width:"100%",height:"40vh"},attrs:{data:e.selections},on:{"current-change":e.handleCurrentChange,"selection-change":e.handleSelectionChange}},[o("el-table-column",{attrs:{type:"selection",width:"50"}}),o("el-table-column",{attrs:{type:"index",width:"50"}}),o("el-table-column",{attrs:{property:"name",label:"名称",width:"220"}}),o("el-table-column",{attrs:{property:"id",label:"ID"}})],1),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)}),a=[],n={props:{},watch:{visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{name:""},rules:{name:[{required:!0,message:"请输入",trigger:"change"}]},currentRow:null,selections:[],value:{},multipleSelection:[]}},methods:{confirm:function(){this.commit()},show:function(e){this.visible=!0,this.loadData(e)},hide:function(){this.visible=!1,this.form={name:""}},loadData:function(e){var t=this;this.loading=!0,this.value=e,this.getUserSelectionsOfUserSelector(e.selectorId).then((function(){t.loading=!1}))},getUserSelectionsOfUserSelector:function(e){var t=this;return this.$store.dispatch("workflow/getUserSelectionsOfUserSelector",{userSelectorId:e}).then((function(e){console.log(e),t.selections=e}))},commit:function(){0!=this.multipleSelection.length?(this.$emit("ok-click",{index:this.value.index,value:this.multipleSelection}),this.hide()):this.$message({message:"警告,请选择!",type:"warning"})},handleCurrentChange:function(e){this.currentRow=e},handleSelectionChange:function(e){this.multipleSelection=e}}},l=n,c=o("2877"),d=Object(c["a"])(l,s,a,!1,null,null,null),u=d.exports,h={components:{userSelections:u},props:{userSelectors:{type:Array,default:function(){return[]}}},filters:{getSelectionsName:function(e){if(!e)return"";var t=[];return e.forEach((function(e){t.push(e.name)})),t.join(",")}},data:function(){return{allUserSelectors:[]}},mounted:function(){this.loadUserSelectors()},methods:{loadUserSelectors:function(){var e=this;this.$store.dispatch("workflow/getAllUserSelectors").then((function(t){console.log(t),e.allUserSelectors=t}))},delUserSelector:function(e,t){e.splice(t,1)},userSelectionsOkHandler:function(e){var t=this.userSelectors[e.index];this.$set(t,"selections",[]),e.value.forEach((function(e){t.selections.push({id:e.id,name:e.name})}))}}},m=h,f=(o("09e3"),Object(c["a"])(m,i,r,!1,null,null,null));t["a"]=f.exports},eb3e:function(e,t,o){"use strict";t["a"]={computed:{currentUserId:function(){return this.$store.state.user.user.id}},data:function(){return{moduleName:"",tableData:[],page:{total:100,maxResultCount:50,currentPage:1,conditions:[],sorting:"creationtime desc"},loading:{getPageList:!1}}},watch:{currentUserId:function(){this.getPageList&&this.getPageList()}},mounted:function(){this.getPageList()},methods:{dateFormat:function(e,t){var o=e[t.property];if(null===o)return"";var i=new Date(o);return i.getFullYear()+"-"+(i.getMonth()+1)+"-"+i.getDate()+" "+i.getHours()+":"+i.getMinutes()+":"+i.getSeconds()},paginationChange:function(e,t){e&&(this.page.maxResultCount=e),t&&(this.page.currentPage=t),this.getPageList()},create:function(){this.$refs.createForm.show()},edit:function(e){this.$refs.editForm.show(e)},getPageList:function(){var e=this;this.loading.getPageList=!0,this.page.skipCount=(this.page.currentPage-1)*this.page.maxResultCount,this.$store.dispatch(this.moduleName+"/getPageList",this.page).then((function(t){e.tableData=t.items,e.page.total=t.total,e.loading.getPageList=!1}))},remove:function(e){var t=this;this.$confirm("确认删除该记录?, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){t.$store.dispatch(t.moduleName+"/delete",{id:e}).then((function(e){t.$message({type:"success",message:"删除成功!"}),t.getPageList()}))})).catch((function(){t.$message({type:"info",message:"已取消删除"})}))}}}}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-511b2661.abe89e1a.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-511b2661.abe89e1a.js new file mode 100644 index 0000000000000000000000000000000000000000..5923e7a9ce16f5769dd82f04d0db8f57547bbff8 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-511b2661.abe89e1a.js @@ -0,0 +1,8 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-511b2661"],{1276:function(t,e,n){"use strict";var o=n("d784"),r=n("44e7"),i=n("825a"),a=n("1d80"),l=n("4840"),c=n("8aa5"),s=n("50c4"),u=n("14c3"),f=n("9263"),d=n("d039"),h=[].push,p=Math.min,g=4294967295,v=!d((function(){return!RegExp(g,"y")}));o("split",2,(function(t,e,n){var o;return o="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,n){var o=String(a(this)),i=void 0===n?g:n>>>0;if(0===i)return[];if(void 0===t)return[o];if(!r(t))return e.call(o,t,i);var l,c,s,u=[],d=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),p=0,v=new RegExp(t.source,d+"g");while(l=f.call(v,o)){if(c=v.lastIndex,c>p&&(u.push(o.slice(p,l.index)),l.length>1&&l.index=i))break;v.lastIndex===l.index&&v.lastIndex++}return p===o.length?!s&&v.test("")||u.push(""):u.push(o.slice(p)),u.length>i?u.slice(0,i):u}:"0".split(void 0,0).length?function(t,n){return void 0===t&&0===n?[]:e.call(this,t,n)}:e,[function(e,n){var r=a(this),i=void 0==e?void 0:e[t];return void 0!==i?i.call(e,r,n):o.call(String(r),e,n)},function(t,r){var a=n(o,t,this,r,o!==e);if(a.done)return a.value;var f=i(t),d=String(this),h=l(f,RegExp),m=f.unicode,b=(f.ignoreCase?"i":"")+(f.multiline?"m":"")+(f.unicode?"u":"")+(v?"y":"g"),y=new h(v?f:"^(?:"+f.source+")",b),w=void 0===r?g:r>>>0;if(0===w)return[];if(0===d.length)return null===u(y,d)?[d]:[];var x=0,E=0,S=[];while(Ev)throw TypeError(m);for(u=c(b,o),f=0;fy-o+n;f--)delete b[f-1]}else if(n>o)for(f=y-o;f>w;f--)d=f+o-1,h=f+n-1,d in b?b[h]=b[d]:delete b[h];for(f=0;f2)if(s=v(s),e=s.charCodeAt(0),43===e||45===e){if(n=s.charCodeAt(2),88===n||120===n)return NaN}else if(48===e){switch(s.charCodeAt(1)){case 66:case 98:o=2,r=49;break;case 79:case 111:o=8,r=55;break;default:return+s}for(i=s.slice(2),a=i.length,l=0;lr)return NaN;return parseInt(i,o)}return+s};if(i(m,!b(" 0o1")||!b("0b1")||b("+0x1"))){for(var E,S=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof S&&(w?f((function(){y.valueOf.call(n)})):c(n)!=m)?s(new b(x(e)),n,S):x(e)},_=o?h(b):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),D=0;_.length>D;D++)l(b,E=_[D])&&!l(S,E)&&g(S,E,p(b,E));S.prototype=y,y.constructor=S,a(r,m,S)}},aa47:function(t,e,n){"use strict"; +/**! + * Sortable 1.10.2 + * @author RubaXa + * @author owenm + * @license MIT + */ +function o(t){return o="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function i(){return i=Object.assign||function(t){for(var e=1;e=0||(r[n]=t[n]);return r}function c(t,e){if(null==t)return{};var n,o,r=l(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}function s(t){return u(t)||f(t)||d()}function u(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e"===e[0]&&(e=e.substring(1)),t)try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch(n){return!1}return!1}}function D(t){return t.host&&t!==document&&t.host.nodeType?t.host:t.parentNode}function C(t,e,n,o){if(t){n=n||document;do{if(null!=e&&(">"===e[0]?t.parentNode===n&&_(t,e):_(t,e))||o&&t===n)return t;if(t===n)break}while(t=D(t))}return null}var O,T=/\s+/g;function I(t,e,n){if(t&&e)if(t.classList)t.classList[n?"add":"remove"](e);else{var o=(" "+t.className+" ").replace(T," ").replace(" "+e+" "," ");t.className=(o+(n?" "+e:"")).replace(T," ")}}function M(t,e,n){var o=t&&t.style;if(o){if(void 0===n)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(t,""):t.currentStyle&&(n=t.currentStyle),void 0===e?n:n[e];e in o||-1!==e.indexOf("webkit")||(e="-webkit-"+e),o[e]=n+("string"===typeof n?"":"px")}}function A(t,e){var n="";if("string"===typeof t)n=t;else do{var o=M(t,"transform");o&&"none"!==o&&(n=o+" "+n)}while(!e&&(t=t.parentNode));var r=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return r&&new r(n)}function N(t,e,n){if(t){var o=t.getElementsByTagName(e),r=0,i=o.length;if(n)for(;r=i:r<=i,!a)return o;if(o===P())break;o=B(o,!1)}return!1}function R(t,e,n){var o=0,r=0,i=t.children;while(r2&&void 0!==arguments[2]?arguments[2]:{},o=n.evt,r=c(n,["evt"]);nt.pluginEvent.bind(Zt)(t,e,a({dragEl:at,parentEl:lt,ghostEl:ct,rootEl:st,nextEl:ut,lastDownEl:ft,cloneEl:dt,cloneHidden:ht,dragStarted:Ct,putSortable:yt,activeSortable:Zt.active,originalEvent:o,oldIndex:pt,oldDraggableIndex:vt,newIndex:gt,newDraggableIndex:mt,hideGhostForTarget:Kt,unhideGhostForTarget:zt,cloneNowHidden:function(){ht=!0},cloneNowShown:function(){ht=!1},dispatchSortableEvent:function(t){it({sortable:e,name:t,originalEvent:o})}},r))};function it(t){ot(a({putSortable:yt,cloneEl:dt,targetEl:at,rootEl:st,oldIndex:pt,oldDraggableIndex:vt,newIndex:gt,newDraggableIndex:mt},t))}var at,lt,ct,st,ut,ft,dt,ht,pt,gt,vt,mt,bt,yt,wt,xt,Et,St,_t,Dt,Ct,Ot,Tt,It,Mt,At=!1,Nt=!1,Pt=[],kt=!1,jt=!1,Rt=[],Lt=!1,Ft=[],$t="undefined"!==typeof document,Xt=y,Bt=v||g?"cssFloat":"float",Yt=$t&&!w&&!y&&"draggable"in document.createElement("div"),Vt=function(){if($t){if(g)return!1;var t=document.createElement("x");return t.style.cssText="pointer-events:auto","auto"===t.style.pointerEvents}}(),Ht=function(t,e){var n=M(t),o=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),r=R(t,0,e),i=R(t,1,e),a=r&&M(r),l=i&&M(i),c=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+k(r).width,s=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+k(i).width;if("flex"===n.display)return"column"===n.flexDirection||"column-reverse"===n.flexDirection?"vertical":"horizontal";if("grid"===n.display)return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(r&&a["float"]&&"none"!==a["float"]){var u="left"===a["float"]?"left":"right";return!i||"both"!==l.clear&&l.clear!==u?"horizontal":"vertical"}return r&&("block"===a.display||"flex"===a.display||"table"===a.display||"grid"===a.display||c>=o&&"none"===n[Bt]||i&&"none"===n[Bt]&&c+s>o)?"vertical":"horizontal"},Ut=function(t,e,n){var o=n?t.left:t.top,r=n?t.right:t.bottom,i=n?t.width:t.height,a=n?e.left:e.top,l=n?e.right:e.bottom,c=n?e.width:e.height;return o===a||r===l||o+i/2===a+c/2},Gt=function(t,e){var n;return Pt.some((function(o){if(!L(o)){var r=k(o),i=o[q].options.emptyInsertThreshold,a=t>=r.left-i&&t<=r.right+i,l=e>=r.top-i&&e<=r.bottom+i;return i&&a&&l?n=o:void 0}})),n},Wt=function(t){function e(t,n){return function(o,r,i,a){var l=o.options.group.name&&r.options.group.name&&o.options.group.name===r.options.group.name;if(null==t&&(n||l))return!0;if(null==t||!1===t)return!1;if(n&&"clone"===t)return t;if("function"===typeof t)return e(t(o,r,i,a),n)(o,r,i,a);var c=(n?o:r).options.group.name;return!0===t||"string"===typeof t&&t===c||t.join&&t.indexOf(c)>-1}}var n={},r=t.group;r&&"object"==o(r)||(r={name:r}),n.name=r.name,n.checkPull=e(r.pull,!0),n.checkPut=e(r.put),n.revertClone=r.revertClone,t.group=n},Kt=function(){!Vt&&ct&&M(ct,"display","none")},zt=function(){!Vt&&ct&&M(ct,"display","")};$t&&document.addEventListener("click",(function(t){if(Nt)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),Nt=!1,!1}),!0);var qt=function(t){if(at){t=t.touches?t.touches[0]:t;var e=Gt(t.clientX,t.clientY);if(e){var n={};for(var o in t)t.hasOwnProperty(o)&&(n[o]=t[o]);n.target=n.rootEl=e,n.preventDefault=void 0,n.stopPropagation=void 0,e[q]._onDragOver(n)}}},Jt=function(t){at&&at.parentNode[q]._isOutsideThisEl(t.target)};function Zt(t,e){if(!t||!t.nodeType||1!==t.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t));this.el=t,this.options=e=i({},e),t[q]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Ht(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,e){t.setData("Text",e.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Zt.supportPointer&&"PointerEvent"in window,emptyInsertThreshold:5};for(var o in nt.initializePlugins(this,t,n),n)!(o in e)&&(e[o]=n[o]);for(var r in Wt(e),this)"_"===r.charAt(0)&&"function"===typeof this[r]&&(this[r]=this[r].bind(this));this.nativeDraggable=!e.forceFallback&&Yt,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?E(t,"pointerdown",this._onTapStart):(E(t,"mousedown",this._onTapStart),E(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(E(t,"dragover",this),E(t,"dragenter",this)),Pt.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),i(this,J())}function Qt(t){t.dataTransfer&&(t.dataTransfer.dropEffect="move"),t.cancelable&&t.preventDefault()}function te(t,e,n,o,r,i,a,l){var c,s,u=t[q],f=u.options.onMove;return!window.CustomEvent||g||v?(c=document.createEvent("Event"),c.initEvent("move",!0,!0)):c=new CustomEvent("move",{bubbles:!0,cancelable:!0}),c.to=e,c.from=t,c.dragged=n,c.draggedRect=o,c.related=r||e,c.relatedRect=i||k(e),c.willInsertAfter=l,c.originalEvent=a,t.dispatchEvent(c),f&&(s=f.call(u,c,a)),s}function ee(t){t.draggable=!1}function ne(){Lt=!1}function oe(t,e,n){var o=k(L(n.el,n.options.draggable)),r=10;return e?t.clientX>o.right+r||t.clientX<=o.right&&t.clientY>o.bottom&&t.clientX>=o.left:t.clientX>o.right&&t.clientY>o.top||t.clientX<=o.right&&t.clientY>o.bottom+r}function re(t,e,n,o,r,i,a,l){var c=o?t.clientY:t.clientX,s=o?n.height:n.width,u=o?n.top:n.left,f=o?n.bottom:n.right,d=!1;if(!a)if(l&&Itu+s*i/2:cf-It)return-Tt}else if(c>u+s*(1-r)/2&&cf-s*i/2)?c>u+s/2?1:-1:0}function ie(t){return F(at)=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){at&&ee(at),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;S(t,"mouseup",this._disableDelayedDrag),S(t,"touchend",this._disableDelayedDrag),S(t,"touchcancel",this._disableDelayedDrag),S(t,"mousemove",this._delayedDragTouchMoveHandler),S(t,"touchmove",this._delayedDragTouchMoveHandler),S(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||"touch"==t.pointerType&&t,!this.nativeDraggable||e?this.options.supportPointer?E(document,"pointermove",this._onTouchMove):E(document,e?"touchmove":"mousemove",this._onTouchMove):(E(at,"dragend",this),E(st,"dragstart",this._onDragStart));try{document.selection?ce((function(){document.selection.empty()})):window.getSelection().removeAllRanges()}catch(n){}},_dragStarted:function(t,e){if(At=!1,st&&at){rt("dragStarted",this,{evt:e}),this.nativeDraggable&&E(document,"dragover",Jt);var n=this.options;!t&&I(at,n.dragClass,!1),I(at,n.ghostClass,!0),Zt.active=this,t&&this._appendGhost(),it({sortable:this,name:"start",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if(xt){this._lastX=xt.clientX,this._lastY=xt.clientY,Kt();var t=document.elementFromPoint(xt.clientX,xt.clientY),e=t;while(t&&t.shadowRoot){if(t=t.shadowRoot.elementFromPoint(xt.clientX,xt.clientY),t===e)break;e=t}if(at.parentNode[q]._isOutsideThisEl(t),e)do{if(e[q]){var n=void 0;if(n=e[q]._onDragOver({clientX:xt.clientX,clientY:xt.clientY,target:t,rootEl:e}),n&&!this.options.dragoverBubble)break}t=e}while(e=e.parentNode);zt()}},_onTouchMove:function(t){if(wt){var e=this.options,n=e.fallbackTolerance,o=e.fallbackOffset,r=t.touches?t.touches[0]:t,i=ct&&A(ct,!0),a=ct&&i&&i.a,l=ct&&i&&i.d,c=Xt&&Mt&&$(Mt),s=(r.clientX-wt.clientX+o.x)/(a||1)+(c?c[0]-Rt[0]:0)/(a||1),u=(r.clientY-wt.clientY+o.y)/(l||1)+(c?c[1]-Rt[1]:0)/(l||1);if(!Zt.active&&!At){if(n&&Math.max(Math.abs(r.clientX-this._lastX),Math.abs(r.clientY-this._lastY))=0&&(it({rootEl:lt,name:"add",toEl:lt,fromEl:st,originalEvent:t}),it({sortable:this,name:"remove",toEl:lt,originalEvent:t}),it({rootEl:lt,name:"sort",toEl:lt,fromEl:st,originalEvent:t}),it({sortable:this,name:"sort",toEl:lt,originalEvent:t})),yt&&yt.save()):gt!==pt&>>=0&&(it({sortable:this,name:"update",toEl:lt,originalEvent:t}),it({sortable:this,name:"sort",toEl:lt,originalEvent:t})),Zt.active&&(null!=gt&&-1!==gt||(gt=pt,mt=vt),it({sortable:this,name:"end",toEl:lt,originalEvent:t}),this.save())))),this._nulling()},_nulling:function(){rt("nulling",this),st=at=lt=ct=ut=dt=ft=ht=wt=xt=Ct=gt=mt=pt=vt=Ot=Tt=yt=bt=Zt.dragged=Zt.ghost=Zt.clone=Zt.active=null,Ft.forEach((function(t){t.checked=!0})),Ft.length=Et=St=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":at&&(this._onDragOver(t),Qt(t));break;case"selectstart":t.preventDefault();break}},toArray:function(){for(var t,e=[],n=this.el.children,o=0,r=n.length,i=this.options;o1&&(Pe.forEach((function(t){o.addAnimationState({target:t,rect:Re?k(t):r}),z(t),t.fromRect=r,e.removeAnimationState(t)})),Re=!1,$e(!this.options.removeCloneOnHide,n))},dragOverCompleted:function(t){var e=t.sortable,n=t.isOwner,o=t.insertion,r=t.activeSortable,i=t.parentEl,a=t.putSortable,l=this.options;if(o){if(n&&r._hideClone(),je=!1,l.animation&&Pe.length>1&&(Re||!n&&!r.options.sort&&!a)){var c=k(Me,!1,!0,!0);Pe.forEach((function(t){t!==Me&&(K(t,c),i.appendChild(t))})),Re=!0}if(!n)if(Re||Be(),Pe.length>1){var s=Ne;r._showClone(e),r.options.animation&&!Ne&&s&&ke.forEach((function(t){r.addAnimationState({target:t,rect:Ae}),t.fromRect=Ae,t.thisAnimationDuration=null}))}else r._showClone(e)}},dragOverAnimationCapture:function(t){var e=t.dragRect,n=t.isOwner,o=t.activeSortable;if(Pe.forEach((function(t){t.thisAnimationDuration=null})),o.options.animation&&!n&&o.multiDrag.isMultiDrag){Ae=i({},e);var r=A(Me,!0);Ae.top-=r.f,Ae.left-=r.e}},dragOverAnimationComplete:function(){Re&&(Re=!1,Be())},drop:function(t){var e=t.originalEvent,n=t.rootEl,o=t.parentEl,r=t.sortable,i=t.dispatchSortableEvent,a=t.oldIndex,l=t.putSortable,c=l||this.sortable;if(e){var s=this.options,u=o.children;if(!Le)if(s.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),I(Me,s.selectedClass,!~Pe.indexOf(Me)),~Pe.indexOf(Me))Pe.splice(Pe.indexOf(Me),1),Te=null,ot({sortable:r,rootEl:n,name:"deselect",targetEl:Me,originalEvt:e});else{if(Pe.push(Me),ot({sortable:r,rootEl:n,name:"select",targetEl:Me,originalEvt:e}),e.shiftKey&&Te&&r.el.contains(Te)){var f,d,h=F(Te),p=F(Me);if(~h&&~p&&h!==p)for(p>h?(d=h,f=p):(d=p,f=h+1);d1){var g=k(Me),v=F(Me,":not(."+this.options.selectedClass+")");if(!je&&s.animation&&(Me.thisAnimationDuration=null),c.captureAnimationState(),!je&&(s.animation&&(Me.fromRect=g,Pe.forEach((function(t){if(t.thisAnimationDuration=null,t!==Me){var e=Re?k(t):g;t.fromRect=e,c.addAnimationState({target:t,rect:e})}}))),Be(),Pe.forEach((function(t){u[v]?o.insertBefore(t,u[v]):o.appendChild(t),v++})),a===F(Me))){var m=!1;Pe.forEach((function(t){t.sortableIndex===F(t)||(m=!0)})),m&&i("update")}Pe.forEach((function(t){z(t)})),c.animateAll()}Ie=c}(n===o||l&&"clone"!==l.lastPutMode)&&ke.forEach((function(t){t.parentNode&&t.parentNode.removeChild(t)}))}},nullingGlobal:function(){this.isMultiDrag=Le=!1,ke.length=0},destroyGlobal:function(){this._deselectMultiDrag(),S(document,"pointerup",this._deselectMultiDrag),S(document,"mouseup",this._deselectMultiDrag),S(document,"touchend",this._deselectMultiDrag),S(document,"keydown",this._checkKeyDown),S(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(t){if(("undefined"===typeof Le||!Le)&&Ie===this.sortable&&(!t||!C(t.target,this.options.draggable,this.sortable.el,!1))&&(!t||0===t.button))while(Pe.length){var e=Pe[0];I(e,this.options.selectedClass,!1),Pe.shift(),ot({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:e,originalEvt:t})}},_checkKeyDown:function(t){t.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(t){t.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},i(t,{pluginName:"multiDrag",utils:{select:function(t){var e=t.parentNode[q];e&&e.options.multiDrag&&!~Pe.indexOf(t)&&(Ie&&Ie!==e&&(Ie.multiDrag._deselectMultiDrag(),Ie=e),I(t,e.options.selectedClass,!0),Pe.push(t))},deselect:function(t){var e=t.parentNode[q],n=Pe.indexOf(t);e&&e.options.multiDrag&&~n&&(I(t,e.options.selectedClass,!1),Pe.splice(n,1))}},eventProperties:function(){var t=this,e=[],n=[];return Pe.forEach((function(o){var r;e.push({multiDragElement:o,index:o.sortableIndex}),r=Re&&o!==Me?-1:Re?F(o,":not(."+t.options.selectedClass+")"):F(o),n.push({multiDragElement:o,index:r})})),{items:s(Pe),clones:[].concat(ke),oldIndicies:e,newIndicies:n}},optionListeners:{multiDragKey:function(t){return t=t.toLowerCase(),"ctrl"===t?t="Control":t.length>1&&(t=t.charAt(0).toUpperCase()+t.substr(1)),t}}})}function $e(t,e){Pe.forEach((function(n,o){var r=e.children[n.sortableIndex+(t?Number(o):0)];r?e.insertBefore(n,r):e.appendChild(n)}))}function Xe(t,e){ke.forEach((function(n,o){var r=e.children[n.sortableIndex+(t?Number(o):0)];r?e.insertBefore(n,r):e.appendChild(n)}))}function Be(){Pe.forEach((function(t){t!==Me&&t.parentNode&&t.parentNode.removeChild(t)}))}Zt.mount(new be),Zt.mount(De,_e),e["default"]=Zt},b76a:function(t,e,n){(function(e,o){t.exports=o(n("aa47"))})("undefined"!==typeof self&&self,(function(t){return function(t){var e={};function n(o){if(e[o])return e[o].exports;var r=e[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(o,r,function(e){return t[e]}.bind(null,r));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s="fb15")}({"01f9":function(t,e,n){"use strict";var o=n("2d00"),r=n("5ca1"),i=n("2aba"),a=n("32e9"),l=n("84f2"),c=n("41a0"),s=n("7f20"),u=n("38fd"),f=n("2b4c")("iterator"),d=!([].keys&&"next"in[].keys()),h="@@iterator",p="keys",g="values",v=function(){return this};t.exports=function(t,e,n,m,b,y,w){c(n,e,m);var x,E,S,_=function(t){if(!d&&t in T)return T[t];switch(t){case p:return function(){return new n(this,t)};case g:return function(){return new n(this,t)}}return function(){return new n(this,t)}},D=e+" Iterator",C=b==g,O=!1,T=t.prototype,I=T[f]||T[h]||b&&T[b],M=I||_(b),A=b?C?_("entries"):M:void 0,N="Array"==e&&T.entries||I;if(N&&(S=u(N.call(new t)),S!==Object.prototype&&S.next&&(s(S,D,!0),o||"function"==typeof S[f]||a(S,f,v))),C&&I&&I.name!==g&&(O=!0,M=function(){return I.call(this)}),o&&!w||!d&&!O&&T[f]||a(T,f,M),l[e]=M,l[D]=v,b)if(x={values:C?M:_(g),keys:y?M:_(p),entries:A},w)for(E in x)E in T||i(T,E,x[E]);else r(r.P+r.F*(d||O),e,x);return x}},"02f4":function(t,e,n){var o=n("4588"),r=n("be13");t.exports=function(t){return function(e,n){var i,a,l=String(r(e)),c=o(n),s=l.length;return c<0||c>=s?t?"":void 0:(i=l.charCodeAt(c),i<55296||i>56319||c+1===s||(a=l.charCodeAt(c+1))<56320||a>57343?t?l.charAt(c):i:t?l.slice(c,c+2):a-56320+(i-55296<<10)+65536)}}},"0390":function(t,e,n){"use strict";var o=n("02f4")(!0);t.exports=function(t,e,n){return e+(n?o(t,e).length:1)}},"0bfb":function(t,e,n){"use strict";var o=n("cb7c");t.exports=function(){var t=o(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},"0d58":function(t,e,n){var o=n("ce10"),r=n("e11e");t.exports=Object.keys||function(t){return o(t,r)}},1495:function(t,e,n){var o=n("86cc"),r=n("cb7c"),i=n("0d58");t.exports=n("9e1e")?Object.defineProperties:function(t,e){r(t);var n,a=i(e),l=a.length,c=0;while(l>c)o.f(t,n=a[c++],e[n]);return t}},"214f":function(t,e,n){"use strict";n("b0c5");var o=n("2aba"),r=n("32e9"),i=n("79e5"),a=n("be13"),l=n("2b4c"),c=n("520a"),s=l("species"),u=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),f=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var d=l(t),h=!i((function(){var e={};return e[d]=function(){return 7},7!=""[t](e)})),p=h?!i((function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[s]=function(){return n}),n[d](""),!e})):void 0;if(!h||!p||"replace"===t&&!u||"split"===t&&!f){var g=/./[d],v=n(a,d,""[t],(function(t,e,n,o,r){return e.exec===c?h&&!r?{done:!0,value:g.call(e,n,o)}:{done:!0,value:t.call(n,e,o)}:{done:!1}})),m=v[0],b=v[1];o(String.prototype,t,m),r(RegExp.prototype,d,2==e?function(t,e){return b.call(t,this,e)}:function(t){return b.call(t,this)})}}},"230e":function(t,e,n){var o=n("d3f4"),r=n("7726").document,i=o(r)&&o(r.createElement);t.exports=function(t){return i?r.createElement(t):{}}},"23c6":function(t,e,n){var o=n("2d95"),r=n("2b4c")("toStringTag"),i="Arguments"==o(function(){return arguments}()),a=function(t,e){try{return t[e]}catch(n){}};t.exports=function(t){var e,n,l;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=a(e=Object(t),r))?n:i?o(e):"Object"==(l=o(e))&&"function"==typeof e.callee?"Arguments":l}},2621:function(t,e){e.f=Object.getOwnPropertySymbols},"2aba":function(t,e,n){var o=n("7726"),r=n("32e9"),i=n("69a8"),a=n("ca5a")("src"),l=n("fa5b"),c="toString",s=(""+l).split(c);n("8378").inspectSource=function(t){return l.call(t)},(t.exports=function(t,e,n,l){var c="function"==typeof n;c&&(i(n,"name")||r(n,"name",e)),t[e]!==n&&(c&&(i(n,a)||r(n,a,t[e]?""+t[e]:s.join(String(e)))),t===o?t[e]=n:l?t[e]?t[e]=n:r(t,e,n):(delete t[e],r(t,e,n)))})(Function.prototype,c,(function(){return"function"==typeof this&&this[a]||l.call(this)}))},"2aeb":function(t,e,n){var o=n("cb7c"),r=n("1495"),i=n("e11e"),a=n("613b")("IE_PROTO"),l=function(){},c="prototype",s=function(){var t,e=n("230e")("iframe"),o=i.length,r="<",a=">";e.style.display="none",n("fab2").appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(r+"script"+a+"document.F=Object"+r+"/script"+a),t.close(),s=t.F;while(o--)delete s[c][i[o]];return s()};t.exports=Object.create||function(t,e){var n;return null!==t?(l[c]=o(t),n=new l,l[c]=null,n[a]=t):n=s(),void 0===e?n:r(n,e)}},"2b4c":function(t,e,n){var o=n("5537")("wks"),r=n("ca5a"),i=n("7726").Symbol,a="function"==typeof i,l=t.exports=function(t){return o[t]||(o[t]=a&&i[t]||(a?i:r)("Symbol."+t))};l.store=o},"2d00":function(t,e){t.exports=!1},"2d95":function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},"2fdb":function(t,e,n){"use strict";var o=n("5ca1"),r=n("d2c8"),i="includes";o(o.P+o.F*n("5147")(i),"String",{includes:function(t){return!!~r(this,t,i).indexOf(t,arguments.length>1?arguments[1]:void 0)}})},"32e9":function(t,e,n){var o=n("86cc"),r=n("4630");t.exports=n("9e1e")?function(t,e,n){return o.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},"38fd":function(t,e,n){var o=n("69a8"),r=n("4bf8"),i=n("613b")("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),o(t,i)?t[i]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},"41a0":function(t,e,n){"use strict";var o=n("2aeb"),r=n("4630"),i=n("7f20"),a={};n("32e9")(a,n("2b4c")("iterator"),(function(){return this})),t.exports=function(t,e,n){t.prototype=o(a,{next:r(1,n)}),i(t,e+" Iterator")}},"456d":function(t,e,n){var o=n("4bf8"),r=n("0d58");n("5eda")("keys",(function(){return function(t){return r(o(t))}}))},4588:function(t,e){var n=Math.ceil,o=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?o:n)(t)}},4630:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},"4bf8":function(t,e,n){var o=n("be13");t.exports=function(t){return Object(o(t))}},5147:function(t,e,n){var o=n("2b4c")("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[o]=!1,!"/./"[t](e)}catch(r){}}return!0}},"520a":function(t,e,n){"use strict";var o=n("0bfb"),r=RegExp.prototype.exec,i=String.prototype.replace,a=r,l="lastIndex",c=function(){var t=/a/,e=/b*/g;return r.call(t,"a"),r.call(e,"a"),0!==t[l]||0!==e[l]}(),s=void 0!==/()??/.exec("")[1],u=c||s;u&&(a=function(t){var e,n,a,u,f=this;return s&&(n=new RegExp("^"+f.source+"$(?!\\s)",o.call(f))),c&&(e=f[l]),a=r.call(f,t),c&&a&&(f[l]=f.global?a.index+a[0].length:e),s&&a&&a.length>1&&i.call(a[0],n,(function(){for(u=1;u1?arguments[1]:void 0)}}),n("9c6c")("includes")},6821:function(t,e,n){var o=n("626a"),r=n("be13");t.exports=function(t){return o(r(t))}},"69a8":function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},"6a99":function(t,e,n){var o=n("d3f4");t.exports=function(t,e){if(!o(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!o(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!o(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!o(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")}},7333:function(t,e,n){"use strict";var o=n("0d58"),r=n("2621"),i=n("52a7"),a=n("4bf8"),l=n("626a"),c=Object.assign;t.exports=!c||n("79e5")((function(){var t={},e={},n=Symbol(),o="abcdefghijklmnopqrst";return t[n]=7,o.split("").forEach((function(t){e[t]=t})),7!=c({},t)[n]||Object.keys(c({},e)).join("")!=o}))?function(t,e){var n=a(t),c=arguments.length,s=1,u=r.f,f=i.f;while(c>s){var d,h=l(arguments[s++]),p=u?o(h).concat(u(h)):o(h),g=p.length,v=0;while(g>v)f.call(h,d=p[v++])&&(n[d]=h[d])}return n}:c},7726:function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},"77f1":function(t,e,n){var o=n("4588"),r=Math.max,i=Math.min;t.exports=function(t,e){return t=o(t),t<0?r(t+e,0):i(t,e)}},"79e5":function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},"7f20":function(t,e,n){var o=n("86cc").f,r=n("69a8"),i=n("2b4c")("toStringTag");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,i)&&o(t,i,{configurable:!0,value:e})}},8378:function(t,e){var n=t.exports={version:"2.6.5"};"number"==typeof __e&&(__e=n)},"84f2":function(t,e){t.exports={}},"86cc":function(t,e,n){var o=n("cb7c"),r=n("c69a"),i=n("6a99"),a=Object.defineProperty;e.f=n("9e1e")?Object.defineProperty:function(t,e,n){if(o(t),e=i(e,!0),o(n),r)try{return a(t,e,n)}catch(l){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},"9b43":function(t,e,n){var o=n("d8e8");t.exports=function(t,e,n){if(o(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,o){return t.call(e,n,o)};case 3:return function(n,o,r){return t.call(e,n,o,r)}}return function(){return t.apply(e,arguments)}}},"9c6c":function(t,e,n){var o=n("2b4c")("unscopables"),r=Array.prototype;void 0==r[o]&&n("32e9")(r,o,{}),t.exports=function(t){r[o][t]=!0}},"9def":function(t,e,n){var o=n("4588"),r=Math.min;t.exports=function(t){return t>0?r(o(t),9007199254740991):0}},"9e1e":function(t,e,n){t.exports=!n("79e5")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},a352:function(e,n){e.exports=t},a481:function(t,e,n){"use strict";var o=n("cb7c"),r=n("4bf8"),i=n("9def"),a=n("4588"),l=n("0390"),c=n("5f1b"),s=Math.max,u=Math.min,f=Math.floor,d=/\$([$&`']|\d\d?|<[^>]*>)/g,h=/\$([$&`']|\d\d?)/g,p=function(t){return void 0===t?t:String(t)};n("214f")("replace",2,(function(t,e,n,g){return[function(o,r){var i=t(this),a=void 0==o?void 0:o[e];return void 0!==a?a.call(o,i,r):n.call(String(i),o,r)},function(t,e){var r=g(n,t,this,e);if(r.done)return r.value;var f=o(t),d=String(this),h="function"===typeof e;h||(e=String(e));var m=f.global;if(m){var b=f.unicode;f.lastIndex=0}var y=[];while(1){var w=c(f,d);if(null===w)break;if(y.push(w),!m)break;var x=String(w[0]);""===x&&(f.lastIndex=l(d,i(f.lastIndex),b))}for(var E="",S=0,_=0;_=S&&(E+=d.slice(S,C)+A,S=C+D.length)}return E+d.slice(S)}];function v(t,e,o,i,a,l){var c=o+t.length,s=i.length,u=h;return void 0!==a&&(a=r(a),u=d),n.call(l,u,(function(n,r){var l;switch(r.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,o);case"'":return e.slice(c);case"<":l=a[r.slice(1,-1)];break;default:var u=+r;if(0===u)return n;if(u>s){var d=f(u/10);return 0===d?n:d<=s?void 0===i[d-1]?r.charAt(1):i[d-1]+r.charAt(1):n}l=i[u-1]}return void 0===l?"":l}))}}))},aae3:function(t,e,n){var o=n("d3f4"),r=n("2d95"),i=n("2b4c")("match");t.exports=function(t){var e;return o(t)&&(void 0!==(e=t[i])?!!e:"RegExp"==r(t))}},ac6a:function(t,e,n){for(var o=n("cadf"),r=n("0d58"),i=n("2aba"),a=n("7726"),l=n("32e9"),c=n("84f2"),s=n("2b4c"),u=s("iterator"),f=s("toStringTag"),d=c.Array,h={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},p=r(h),g=0;gu)if(l=c[u++],l!=l)return!0}else for(;s>u;u++)if((t||u in c)&&c[u]===n)return t||u||0;return!t&&-1}}},c649:function(t,e,n){"use strict";(function(t){n.d(e,"c",(function(){return s})),n.d(e,"a",(function(){return l})),n.d(e,"b",(function(){return r})),n.d(e,"d",(function(){return c}));n("a481");function o(){return"undefined"!==typeof window?window.console:t.console}var r=o();function i(t){var e=Object.create(null);return function(n){var o=e[n];return o||(e[n]=t(n))}}var a=/-(\w)/g,l=i((function(t){return t.replace(a,(function(t,e){return e?e.toUpperCase():""}))}));function c(t){null!==t.parentElement&&t.parentElement.removeChild(t)}function s(t,e,n){var o=0===n?t.children[0]:t.children[n-1].nextSibling;t.insertBefore(e,o)}}).call(this,n("c8ba"))},c69a:function(t,e,n){t.exports=!n("9e1e")&&!n("79e5")((function(){return 7!=Object.defineProperty(n("230e")("div"),"a",{get:function(){return 7}}).a}))},c8ba:function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(o){"object"===typeof window&&(n=window)}t.exports=n},ca5a:function(t,e){var n=0,o=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+o).toString(36))}},cadf:function(t,e,n){"use strict";var o=n("9c6c"),r=n("d53b"),i=n("84f2"),a=n("6821");t.exports=n("01f9")(Array,"Array",(function(t,e){this._t=a(t),this._i=0,this._k=e}),(function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,r(1)):r(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},cb7c:function(t,e,n){var o=n("d3f4");t.exports=function(t){if(!o(t))throw TypeError(t+" is not an object!");return t}},ce10:function(t,e,n){var o=n("69a8"),r=n("6821"),i=n("c366")(!1),a=n("613b")("IE_PROTO");t.exports=function(t,e){var n,l=r(t),c=0,s=[];for(n in l)n!=a&&o(l,n)&&s.push(n);while(e.length>c)o(l,n=e[c++])&&(~i(s,n)||s.push(n));return s}},d2c8:function(t,e,n){var o=n("aae3"),r=n("be13");t.exports=function(t,e,n){if(o(e))throw TypeError("String#"+n+" doesn't accept regex!");return String(r(t))}},d3f4:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},d53b:function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},d8e8:function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},e11e:function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},f559:function(t,e,n){"use strict";var o=n("5ca1"),r=n("9def"),i=n("d2c8"),a="startsWith",l=""[a];o(o.P+o.F*n("5147")(a),"String",{startsWith:function(t){var e=i(this,t,a),n=r(Math.min(arguments.length>1?arguments[1]:void 0,e.length)),o=String(t);return l?l.call(e,o,n):e.slice(n,n+o.length)===o}})},f6fd:function(t,e){(function(t){var e="currentScript",n=t.getElementsByTagName("script");e in t||Object.defineProperty(t,e,{get:function(){try{throw new Error}catch(o){var t,e=(/.*at [^\(]*\((.*):.+:.+\)$/gi.exec(o.stack)||[!1])[1];for(t in n)if(n[t].src==e||"interactive"==n[t].readyState)return n[t];return null}}})})(document)},f751:function(t,e,n){var o=n("5ca1");o(o.S+o.F,"Object",{assign:n("7333")})},fa5b:function(t,e,n){t.exports=n("5537")("native-function-to-string",Function.toString)},fab2:function(t,e,n){var o=n("7726").document;t.exports=o&&o.documentElement},fb15:function(t,e,n){"use strict";var o;(n.r(e),"undefined"!==typeof window)&&(n("f6fd"),(o=window.document.currentScript)&&(o=o.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))&&(n.p=o[1]));n("f751"),n("f559"),n("ac6a"),n("cadf"),n("456d");function r(t){if(Array.isArray(t))return t}function i(t,e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(t)){var n=[],o=!0,r=!1,i=void 0;try{for(var a,l=t[Symbol.iterator]();!(o=(a=l.next()).done);o=!0)if(n.push(a.value),e&&n.length===e)break}catch(c){r=!0,i=c}finally{try{o||null==l["return"]||l["return"]()}finally{if(r)throw i}}return n}}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=i?r.length:r.indexOf(t)}));return n?a.filter((function(t){return-1!==t})):a}function w(t,e){var n=this;this.$nextTick((function(){return n.$emit(t.toLowerCase(),e)}))}function x(t){var e=this;return function(n){null!==e.realList&&e["onDrag"+t](n),w.call(e,t,n)}}function E(t){return["transition-group","TransitionGroup"].includes(t)}function S(t){if(!t||1!==t.length)return!1;var e=s(t,1),n=e[0].componentOptions;return!!n&&E(n.tag)}function _(t,e,n){return t[n]||(e[n]?e[n]():void 0)}function D(t,e,n){var o=0,r=0,i=_(e,n,"header");i&&(o=i.length,t=t?[].concat(h(i),h(t)):h(i));var a=_(e,n,"footer");return a&&(r=a.length,t=t?[].concat(h(t),h(a)):h(a)),{children:t,headerOffset:o,footerOffset:r}}function C(t,e){var n=null,o=function(t,e){n=m(n,t,e)},r=Object.keys(t).filter((function(t){return"id"===t||t.startsWith("data-")})).reduce((function(e,n){return e[n]=t[n],e}),{});if(o("attrs",r),!e)return n;var i=e.on,a=e.props,l=e.attrs;return o("on",i),o("props",a),Object.assign(n.attrs,l),n}var O=["Start","Add","Remove","Update","End"],T=["Choose","Unchoose","Sort","Filter","Clone"],I=["Move"].concat(O,T).map((function(t){return"on"+t})),M=null,A={options:Object,list:{type:Array,required:!1,default:null},value:{type:Array,required:!1,default:null},noTransitionOnDrag:{type:Boolean,default:!1},clone:{type:Function,default:function(t){return t}},element:{type:String,default:"div"},tag:{type:String,default:null},move:{type:Function,default:null},componentData:{type:Object,required:!1,default:null}},N={name:"draggable",inheritAttrs:!1,props:A,data:function(){return{transitionMode:!1,noneFunctionalComponentMode:!1}},render:function(t){var e=this.$slots.default;this.transitionMode=S(e);var n=D(e,this.$slots,this.$scopedSlots),o=n.children,r=n.headerOffset,i=n.footerOffset;this.headerOffset=r,this.footerOffset=i;var a=C(this.$attrs,this.componentData);return t(this.getTag(),a,o)},created:function(){null!==this.list&&null!==this.value&&v["b"].error("Value and list props are mutually exclusive! Please set one or another."),"div"!==this.element&&v["b"].warn("Element props is deprecated please use tag props instead. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#element-props"),void 0!==this.options&&v["b"].warn("Options props is deprecated, add sortable options directly as vue.draggable item, or use v-bind. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#options-props")},mounted:function(){var t=this;if(this.noneFunctionalComponentMode=this.getTag().toLowerCase()!==this.$el.nodeName.toLowerCase()&&!this.getIsFunctional(),this.noneFunctionalComponentMode&&this.transitionMode)throw new Error("Transition-group inside component is not supported. Please alter tag value or remove transition-group. Current tag value: ".concat(this.getTag()));var e={};O.forEach((function(n){e["on"+n]=x.call(t,n)})),T.forEach((function(n){e["on"+n]=w.bind(t,n)}));var n=Object.keys(this.$attrs).reduce((function(e,n){return e[Object(v["a"])(n)]=t.$attrs[n],e}),{}),o=Object.assign({},this.options,n,e,{onMove:function(e,n){return t.onDragMove(e,n)}});!("draggable"in o)&&(o.draggable=">*"),this._sortable=new g.a(this.rootContainer,o),this.computeIndexes()},beforeDestroy:function(){void 0!==this._sortable&&this._sortable.destroy()},computed:{rootContainer:function(){return this.transitionMode?this.$el.children[0]:this.$el},realList:function(){return this.list?this.list:this.value}},watch:{options:{handler:function(t){this.updateOptions(t)},deep:!0},$attrs:{handler:function(t){this.updateOptions(t)},deep:!0},realList:function(){this.computeIndexes()}},methods:{getIsFunctional:function(){var t=this._vnode.fnOptions;return t&&t.functional},getTag:function(){return this.tag||this.element},updateOptions:function(t){for(var e in t){var n=Object(v["a"])(e);-1===I.indexOf(n)&&this._sortable.option(n,t[e])}},getChildrenNodes:function(){if(this.noneFunctionalComponentMode)return this.$children[0].$slots.default;var t=this.$slots.default;return this.transitionMode?t[0].child.$slots.default:t},computeIndexes:function(){var t=this;this.$nextTick((function(){t.visibleIndexes=y(t.getChildrenNodes(),t.rootContainer.children,t.transitionMode,t.footerOffset)}))},getUnderlyingVm:function(t){var e=b(this.getChildrenNodes()||[],t);if(-1===e)return null;var n=this.realList[e];return{index:e,element:n}},getUnderlyingPotencialDraggableComponent:function(t){var e=t.__vue__;return e&&e.$options&&E(e.$options._componentTag)?e.$parent:!("realList"in e)&&1===e.$children.length&&"realList"in e.$children[0]?e.$children[0]:e},emitChanges:function(t){var e=this;this.$nextTick((function(){e.$emit("change",t)}))},alterList:function(t){if(this.list)t(this.list);else{var e=h(this.value);t(e),this.$emit("input",e)}},spliceList:function(){var t=arguments,e=function(e){return e.splice.apply(e,h(t))};this.alterList(e)},updatePosition:function(t,e){var n=function(n){return n.splice(e,0,n.splice(t,1)[0])};this.alterList(n)},getRelatedContextFromMoveEvent:function(t){var e=t.to,n=t.related,o=this.getUnderlyingPotencialDraggableComponent(e);if(!o)return{component:o};var r=o.realList,i={list:r,component:o};if(e!==n&&r&&o.getUnderlyingVm){var a=o.getUnderlyingVm(n);if(a)return Object.assign(a,i)}return i},getVmIndex:function(t){var e=this.visibleIndexes,n=e.length;return t>n-1?n:e[t]},getComponent:function(){return this.$slots.default[0].componentInstance},resetTransitionData:function(t){if(this.noTransitionOnDrag&&this.transitionMode){var e=this.getChildrenNodes();e[t].data=null;var n=this.getComponent();n.children=[],n.kept=void 0}},onDragStart:function(t){this.context=this.getUnderlyingVm(t.item),t.item._underlying_vm_=this.clone(this.context.element),M=t.item},onDragAdd:function(t){var e=t.item._underlying_vm_;if(void 0!==e){Object(v["d"])(t.item);var n=this.getVmIndex(t.newIndex);this.spliceList(n,0,e),this.computeIndexes();var o={element:e,newIndex:n};this.emitChanges({added:o})}},onDragRemove:function(t){if(Object(v["c"])(this.rootContainer,t.item,t.oldIndex),"clone"!==t.pullMode){var e=this.context.index;this.spliceList(e,1);var n={element:this.context.element,oldIndex:e};this.resetTransitionData(e),this.emitChanges({removed:n})}else Object(v["d"])(t.clone)},onDragUpdate:function(t){Object(v["d"])(t.item),Object(v["c"])(t.from,t.item,t.oldIndex);var e=this.context.index,n=this.getVmIndex(t.newIndex);this.updatePosition(e,n);var o={element:this.context.element,oldIndex:e,newIndex:n};this.emitChanges({moved:o})},updateProperty:function(t,e){t.hasOwnProperty(e)&&(t[e]+=this.headerOffset)},computeFutureIndex:function(t,e){if(!t.element)return 0;var n=h(e.to.children).filter((function(t){return"none"!==t.style["display"]})),o=n.indexOf(e.related),r=t.component.getVmIndex(o),i=-1!==n.indexOf(M);return i||!e.willInsertAfter?r:r+1},onDragMove:function(t,e){var n=this.move;if(!n||!this.realList)return!0;var o=this.getRelatedContextFromMoveEvent(t),r=this.context,i=this.computeFutureIndex(o,t);Object.assign(r,{futureIndex:i});var a=Object.assign({},t,{relatedContext:o,draggedContext:r});return n(a,e)},onDragEnd:function(){this.computeIndexes(),M=null}}};"undefined"!==typeof window&&"Vue"in window&&window.Vue.component("draggable",N);var P=N;e["default"]=P}})["default"]}))},d784:function(t,e,n){"use strict";n("ac1f");var o=n("6eeb"),r=n("d039"),i=n("b622"),a=n("9263"),l=n("9112"),c=i("species"),s=!r((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),u=function(){return"$0"==="a".replace(/./,"$0")}(),f=i("replace"),d=function(){return!!/./[f]&&""===/./[f]("a","$0")}(),h=!r((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));t.exports=function(t,e,n,f){var p=i(t),g=!r((function(){var e={};return e[p]=function(){return 7},7!=""[t](e)})),v=g&&!r((function(){var e=!1,n=/a/;return"split"===t&&(n={},n.constructor={},n.constructor[c]=function(){return n},n.flags="",n[p]=/./[p]),n.exec=function(){return e=!0,null},n[p](""),!e}));if(!g||!v||"replace"===t&&(!s||!u||d)||"split"===t&&!h){var m=/./[p],b=n(p,""[t],(function(t,e,n,o,r){return e.exec===a?g&&!r?{done:!0,value:m.call(e,n,o)}:{done:!0,value:t.call(n,e,o)}:{done:!1}}),{REPLACE_KEEPS_$0:u,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:d}),y=b[0],w=b[1];o(String.prototype,t,y),o(RegExp.prototype,p,2==e?function(t,e){return w.call(t,this,e)}:function(t){return w.call(t,this)})}f&&l(RegExp.prototype[p],"sham",!0)}}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-590b2ef2.5bce451a.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-590b2ef2.5bce451a.js new file mode 100644 index 0000000000000000000000000000000000000000..d30bf43896062ce325f425e3f6992bb5e9ffe66d --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-590b2ef2.5bce451a.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-590b2ef2"],{1276:function(t,e,n){"use strict";var i=n("d784"),l=n("44e7"),o=n("825a"),r=n("1d80"),a=n("4840"),s=n("8aa5"),c=n("50c4"),u=n("14c3"),d=n("9263"),f=n("d039"),p=[].push,m=Math.min,h=4294967295,b=!f((function(){return!RegExp(h,"y")}));i("split",2,(function(t,e,n){var i;return i="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,n){var i=String(r(this)),o=void 0===n?h:n>>>0;if(0===o)return[];if(void 0===t)return[i];if(!l(t))return e.call(i,t,o);var a,s,c,u=[],f=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),m=0,b=new RegExp(t.source,f+"g");while(a=d.call(b,i)){if(s=b.lastIndex,s>m&&(u.push(i.slice(m,a.index)),a.length>1&&a.index=o))break;b.lastIndex===a.index&&b.lastIndex++}return m===i.length?!c&&b.test("")||u.push(""):u.push(i.slice(m)),u.length>o?u.slice(0,o):u}:"0".split(void 0,0).length?function(t,n){return void 0===t&&0===n?[]:e.call(this,t,n)}:e,[function(e,n){var l=r(this),o=void 0==e?void 0:e[t];return void 0!==o?o.call(e,l,n):i.call(String(l),e,n)},function(t,l){var r=n(i,t,this,l,i!==e);if(r.done)return r.value;var d=o(t),f=String(this),p=a(d,RegExp),g=d.unicode,v=(d.ignoreCase?"i":"")+(d.multiline?"m":"")+(d.unicode?"u":"")+(b?"y":"g"),y=new p(b?d:"^(?:"+d.source+")",v),x=void 0===l?h:l>>>0;if(0===x)return[];if(0===f.length)return null===u(y,f)?[f]:[];var w=0,k=0,C=[];while(k-1},checkOptions:function(t){(!t.options||!t.options instanceof Array)&&this.$set(t,"options",[])},addNormalOptions:function(t){this.checkOptions(t),t.options.push({label:"label",value:"value"})},removeNormalOptions:function(t,e){t.splice(e,1)},addTableProperty:function(t){this.checkOptions(t),t.options.push({type:"string",field:"field"+(new Date).getTime(),label:"label"+(new Date).getTime(),width:"180",default:""})},removeTableProperty:function(t,e){t.splice(e,1)},fieldTypeChange:function(t,e){["checkbox","multipleselect"].indexOf(e)>-1?(this.checkOptions(t),this.$set(t,"default",[])):"container"==e?this.$set(t,"default",{}):this.$set(t,"default","")},defaultChange:function(t){this.$emit("default-change",t)}}},m=p,h=(n("8ffb"),n("2877")),b=Object(h["a"])(m,u,d,!1,null,null,null),g=b.exports,v=n("b76a"),y=n.n(v),x=n("61a5"),w={components:{control:s["a"],dynamicCol:c["a"],crleditor:g,draggable:y.a,dynamicContainer:x["a"]},mixins:[o["a"]],data:function(){return{moduleName:"dynamicFormDesign",form:{},isEdit:!0,isEditForm:!0,basecontrols:[{span:12,type:"string",field:"string",label:"文本",default:"",options:[]},{span:24,type:"textarea",field:"textarea",label:"富文本",default:"",options:[]},{span:12,type:"number",field:"number",label:"数字",default:0,options:[]},{span:12,type:"radio",field:"radio",label:"单选",default:"value",options:[{label:"label",value:"value"}]},{span:12,type:"checkbox",field:"checkbox",label:"勾选",default:["value"],options:[{label:"label",value:"value"}]},{span:12,type:"select",field:"select",label:"单选列表",default:"value",options:[{label:"label",value:"value"}]},{span:12,type:"multipleselect",field:"multipleselect",label:"多选列表",default:["value"],options:[{label:"label",value:"value"}]},{span:24,type:"table",field:"table",label:"表格",default:[],options:[{type:"string",field:"field1",label:"label1",width:"180",default:"1"},{type:"string",field:"field2",label:"label2",width:"180",default:"2"},{type:"string",field:"field3",label:"label3",width:"180",default:"3"},{type:"string",field:"field4",label:"label4",width:"180",default:"4"}]},{span:12,type:"date",field:"date",label:"日期",default:new Date,options:[]},{span:12,type:"time",field:"time",label:"时间",default:"00:00:00",options:[]},{span:12,type:"datetime",field:"datetime",label:"日期时间",default:new Date,options:[]}],controls:[{span:24,type:"empty",field:"empty",label:"empty",default:"",options:[]}],emptyControl:{span:24,type:"empty",field:"empty",label:"empty",default:"",options:[]},currentControlIndex:-1,value:{}}},watch:{value:{deep:!0,handler:function(){}}},computed:{orderedcontrols:{get:function(){var t=this.controls.filter((function(t){return"empty"!=t.type}));return 0==t.length&&t.push(this.emptyControl),t},set:function(t){this.currentControlIndex=-1,this.controls=t}}},mounted:function(){},methods:{bindModel:function(t){var e=this.orderedcontrols[t];return e||(e={},this.orderedcontrols[t]=e),this.$set(this.value,e.field,e.default),this.value},editCtrl:function(t){this.currentControlIndex=t},copyCtrl:function(t){var e=JSON.parse(JSON.stringify(this.controls[t]));this.controls.splice(t,0,e)},removeCtrl:function(t){this.controls.splice(t,1)},controlpanelEnd:function(t){this.currentControlIndex=-1,this.reloadPreview()},clone:function(t){var e=JSON.parse(JSON.stringify(t));return e.field=e.field+(new Date).getTime(),e},editorChange:function(t){this.reloadPreview()},reloadPreview:function(){var t=this,e=JSON.stringify(this.controls);this.controls=[],this.$nextTick((function(){t.controls=JSON.parse(e)}))},getControls:function(){return this.controls},setControls:function(t){this.value={},this.controls=t},getValue:function(){return this.value},setValue:function(t){this.$set(this,"value",t);var e=this.controls;this.controls=[];var n=this;this.$nextTick((function(){n.controls=e}))}}},k=w,C=(n("7b2a"),Object(h["a"])(k,r,a,!1,null,null,null)),$=C.exports,E=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("el-dialog",{attrs:{title:"编辑",visible:t.visible,width:"60%","close-on-click-modal":!1},on:{close:function(e){t.visible=!1}}},[n("controlPanel",{ref:"controlPanel",attrs:{isEdit:t.isEdit}}),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(e){t.visible=!1}}},[t._v("取 消")]),n("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirm}},[t._v("确 定")])],1)],1)],1)},_=[],P=n("afbe"),O={components:{dynamicCol:c["a"],dynamicContainer:x["a"],controlPanel:P["a"]},props:{},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",isEdit:!0,isEditForm:!1,controls:[],value:{}}},methods:{confirm:function(){this.commit()},show:function(t){this.visible=!0;var e=this;this.$nextTick((function(){e.$refs.controlPanel.setValue(t.controls,{})}))},hide:function(){this.visible=!1,this.value={},this.control={}},loadData:function(t){},commit:function(){this.hide()},bindModel:function(t){return t||(t={}),this.value[t.field]||this.$set(this.value,t.field,t.default),this.value}}},S=O,T=Object(h["a"])(S,E,_,!1,null,null,null),N=T.exports,D=n("fad4"),I={components:{editPanel:$,editForm:D["a"],previewForm:N},mixins:[o["a"]],data:function(){return{moduleName:"dynamicFormDesign",form:{}}},computed:{id:function(){return{id:this.$route.query.id,version:Number(this.$route.query.version||1)}}},mounted:function(){this.getDesign(this.id)},methods:{preview:function(){this.$refs.previewForm.show({controls:JSON.parse(JSON.stringify(this.$refs.editPanel.getControls())),value:this.$refs.editPanel.getValue()})},save:function(){this.form.designContent=JSON.stringify(this.$refs.editPanel.getControls()),this.$refs.editForm.show(this.form)},getDesign:function(t){var e=this;this.form.formDesignId=JSON.parse(JSON.stringify(t)),this.$store.dispatch("dynamicFormDesign/getFormDesignVersion",t).then((function(t){t&&t.designContent&&e.$refs.editPanel.setControls(JSON.parse(t&&t.designContent))}))}}},F=I,L=Object(h["a"])(F,i,l,!1,null,null,null);e["default"]=L.exports},"799d":function(t,e,n){},"7b2a":function(t,e,n){"use strict";n("e76f")},"8aa5":function(t,e,n){"use strict";var i=n("6547").charAt;t.exports=function(t,e,n){return e+(n?i(t,e).length:1)}},"8ffb":function(t,e,n){"use strict";n("799d")},d784:function(t,e,n){"use strict";n("ac1f");var i=n("6eeb"),l=n("d039"),o=n("b622"),r=n("9263"),a=n("9112"),s=o("species"),c=!l((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),u=function(){return"$0"==="a".replace(/./,"$0")}(),d=o("replace"),f=function(){return!!/./[d]&&""===/./[d]("a","$0")}(),p=!l((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));t.exports=function(t,e,n,d){var m=o(t),h=!l((function(){var e={};return e[m]=function(){return 7},7!=""[t](e)})),b=h&&!l((function(){var e=!1,n=/a/;return"split"===t&&(n={},n.constructor={},n.constructor[s]=function(){return n},n.flags="",n[m]=/./[m]),n.exec=function(){return e=!0,null},n[m](""),!e}));if(!h||!b||"replace"===t&&(!c||!u||f)||"split"===t&&!p){var g=/./[m],v=n(m,""[t],(function(t,e,n,i,l){return e.exec===r?h&&!l?{done:!0,value:g.call(e,n,i)}:{done:!0,value:t.call(n,e,i)}:{done:!1}}),{REPLACE_KEEPS_$0:u,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:f}),y=v[0],x=v[1];i(String.prototype,t,y),i(RegExp.prototype,m,2==e?function(t,e){return x.call(t,this,e)}:function(t){return x.call(t,this)})}d&&a(RegExp.prototype[m],"sham",!0)}},e76f:function(t,e,n){},eb3e:function(t,e,n){"use strict";e["a"]={computed:{currentUserId:function(){return this.$store.state.user.user.id}},data:function(){return{moduleName:"",tableData:[],page:{total:100,maxResultCount:50,currentPage:1,conditions:[],sorting:"creationtime desc"},loading:{getPageList:!1}}},watch:{currentUserId:function(){this.getPageList&&this.getPageList()}},mounted:function(){this.getPageList()},methods:{dateFormat:function(t,e){var n=t[e.property];if(null===n)return"";var i=new Date(n);return i.getFullYear()+"-"+(i.getMonth()+1)+"-"+i.getDate()+" "+i.getHours()+":"+i.getMinutes()+":"+i.getSeconds()},paginationChange:function(t,e){t&&(this.page.maxResultCount=t),e&&(this.page.currentPage=e),this.getPageList()},create:function(){this.$refs.createForm.show()},edit:function(t){this.$refs.editForm.show(t)},getPageList:function(){var t=this;this.loading.getPageList=!0,this.page.skipCount=(this.page.currentPage-1)*this.page.maxResultCount,this.$store.dispatch(this.moduleName+"/getPageList",this.page).then((function(e){t.tableData=e.items,t.page.total=e.total,t.loading.getPageList=!1}))},remove:function(t){var e=this;this.$confirm("确认删除该记录?, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){e.$store.dispatch(e.moduleName+"/delete",{id:t}).then((function(t){e.$message({type:"success",message:"删除成功!"}),e.getPageList()}))})).catch((function(){e.$message({type:"info",message:"已取消删除"})}))}}}},fad4:function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("el-dialog",{attrs:{title:"编辑",visible:t.visible,width:"40%","close-on-click-modal":!1},on:{close:function(e){t.visible=!1}}},[n("el-form",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],ref:"form",staticClass:"demo-form",staticStyle:{width:"80%"},attrs:{model:t.form,rules:t.rules,"label-width":"100px","label-position":"right",size:"mini"}},[n("el-form-item",{attrs:{label:"表单名称",prop:"title","label-width":t.defaultLabelWidth}},[n("el-input",{attrs:{disabled:"",size:"mini",type:"text"},model:{value:t.form.title,callback:function(e){t.$set(t.form,"title",e)},expression:"form.title"}})],1),n("el-form-item",{attrs:{label:"表单类型",prop:"formType","label-width":t.defaultLabelWidth}},[n("el-input",{attrs:{size:"mini",type:"text"},model:{value:t.form.formType,callback:function(e){t.$set(t.form,"formType",e)},expression:"form.formType"}})],1),n("el-form-item",{attrs:{label:"版本","label-width":t.defaultLabelWidth}},[n("el-input",{attrs:{size:"mini",type:"number"},model:{value:t.form.activeVersion,callback:function(e){t.$set(t.form,"activeVersion",e)},expression:"form.activeVersion"}})],1),n("el-form-item",{attrs:{label:"描述",prop:"description","label-width":t.defaultLabelWidth}},[n("el-input",{attrs:{size:"mini",type:"text"},model:{value:t.form.description,callback:function(e){t.$set(t.form,"description",e)},expression:"form.description"}})],1)],1),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(e){t.visible=!1}}},[t._v("取 消")]),n("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirm}},[t._v("确 定")])],1)],1)],1)},l=[],o=(n("a9e3"),n("ac1f"),n("1276"),{props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{workflowId:{},formDesignId:{}},rules:{name:[{required:!0,message:"请输入",trigger:"change"}]},allWorkflows:[]}},methods:{confirm:function(){this.commit()},show:function(t){this.visible=!0,t&&this.loadData(t)},hide:function(){this.visible=!1,this.form={workflowId:{},formDesignId:{}}},loadData:function(t){var e=this;this.loading=!0,this.$store.dispatch("dynamicFormDesign/get",{id:t.formDesignId.id}).then((function(n){e.form=n,e.form.designContent=t.designContent,e.form.activeVersion=t.formDesignId.version,e.loading=!1}))},commit:function(){var t=this;this.$refs["form"].validate((function(e){if(!e)return console.log("error submit!!"),!1;t.form.formDesignId={id:t.form.id,version:Number(t.form.activeVersion)},t.form.workflowId.version=Number(t.form.workflowId.version),t.$store.dispatch("dynamicFormDesign/update",t.form).then((function(e){t.$emit("ok-click",e),t.hide()}))}))},getAllWorkflowsWithVersion:function(){var t=this;this.loading=!0,this.$store.dispatch("workflow/getAllWorkflowsWithVersion",this.form).then((function(e){t.allWorkflows=e,t.loading=!1}))},workflowIdChange:function(t){var e=t.split(":");this.form.workflowId={id:e[0],version:e[1]}}}}),r=o,a=n("2877"),s=Object(a["a"])(r,i,l,!1,null,null,null);e["a"]=s.exports}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-5cb135c0.656b2018.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-5cb135c0.656b2018.js new file mode 100644 index 0000000000000000000000000000000000000000..a71f8ee835744be3a0b58602ce42c4f52e7048e2 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-5cb135c0.656b2018.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-5cb135c0"],{"0ccb":function(t,e,a){var n=a("50c4"),i=a("1148"),o=a("1d80"),s=Math.ceil,r=function(t){return function(e,a,r){var l,c,d=String(o(e)),u=d.length,f=void 0===r?" ":String(r),h=n(a);return h<=u||""==f?d:(l=h-u,c=i.call(f,s(l/f.length)),c.length>l&&(c=c.slice(0,l)),t?d+c:c+d)}};t.exports={start:r(!1),end:r(!0)}},1148:function(t,e,a){"use strict";var n=a("a691"),i=a("1d80");t.exports="".repeat||function(t){var e=String(i(this)),a="",o=n(t);if(o<0||o==1/0)throw RangeError("Wrong number of repetitions");for(;o>0;(o>>>=1)&&(e+=e))1&o&&(a+=e);return a}},"37c0":function(t,e,a){"use strict";var n,i=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[a("el-dialog",{attrs:{title:"流程查看",visible:t.visible,width:"60%","close-on-click-modal":!1},on:{close:function(e){t.visible=!1}}},[a("workflowEditPanel",{ref:"workflowEditPanel",attrs:{nodeData:t.nodeData}}),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{attrs:{size:"small"},on:{click:function(e){t.visible=!1}}},[t._v("取 消")]),a("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirm}},[t._v("确 定")])],1)],1)],1)},o=[],s=a("ade3"),r=(a("d3b7"),a("159b"),a("0aef")),l={components:{workflowEditPanel:r["a"]},props:{},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",nodeData:{},data:{}}},methods:(n={confirm:function(){this.commit()},show:function(t){this.visible=!0,this.loadData(t.version,t.id)},hide:function(){this.visible=!1,this.value={},this.control={}},loadData:function(t){},commit:function(){this.hide()}},Object(s["a"])(n,"loadData",(function(t,e){var a=this,n=this;this.$store.dispatch("workflow/getWorkflowVersion",{versionid:t,id:e}).then((function(t){n.nodeData=0==t.drawingInfo.length?a.defaultNode():JSON.parse(t.drawingInfo),n.data=t,n.nodeData.nodeList&&n.nodeData.nodeList.forEach((function(t){return t.viewOnly=!0})),n.$refs.workflowEditPanel.loadNodeData()}))})),Object(s["a"])(n,"defaultNode",(function(){return{name:"",nodeList:[],lineList:[]}})),n)},c=l,d=a("2877"),u=Object(d["a"])(c,i,o,!1,null,null,null);e["a"]=u.exports},"4d90":function(t,e,a){"use strict";var n=a("23e7"),i=a("0ccb").start,o=a("9a0c");n({target:"String",proto:!0,forced:o},{padStart:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},6129:function(t,e,a){},"64d3":function(t,e,a){"use strict";var n=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[a("el-dialog",{attrs:{title:t.workTaskForm.name,visible:t.visible,width:"60%","close-on-click-modal":!1},on:{close:function(e){t.visible=!1}}},[0!=t.form.workflowStatus?a("el-card",{attrs:{shadow:"never"}},[a("div",{attrs:{slot:"header"},slot:"header"},[t._v("表单数据")]),a("el-form",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],ref:"form",staticClass:"demo-form",attrs:{model:t.form,rules:t.rules,"label-width":"0px","label-position":"top",size:"mini"}},[a("el-form-item",{attrs:{label:"",prop:"title"}},[a("controlPanel",{ref:"controlPanel",attrs:{isEdit:t.isEdit}})],1)],1)],1):t._e(),a("el-card",{staticClass:"card-provehistory",staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[a("div",{attrs:{slot:"header"},slot:"header"},[t._v("审批记录")]),t._l(t.workHistories,(function(e){return a("el-card",{key:e.id,staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[a("div",{attrs:{slot:"header"},slot:"header"},[a("span",[a("span",{staticClass:"historylabel"},[t._v("节点:")]),t._v(t._s(e.nodeName))]),a("div",{staticStyle:{float:"right",padding:"3px 0"}},[0==e.workStepType?a("span",[e.isHandled?a("span",{attrs:{underline:!1,type:"success"}},[a("span",[0==e.handleType?a("el-link",{attrs:{underline:!1,type:"success"}},[t._v("通过")]):t._e(),1==e.handleType?a("el-link",{attrs:{underline:!1,type:"danger"}},[t._v("拒绝")]):t._e(),2==e.handleType?a("el-link",{attrs:{underline:!1,type:"info"}},[t._v("撤回")]):t._e(),3==e.handleType?a("el-link",{attrs:{underline:!1,type:"warning"}},[t._v("转发")]):t._e(),4==e.handleType?a("el-link",{attrs:{underline:!1}},[t._v("未处理")]):t._e()],1)]):a("el-link",{attrs:{underline:!1,type:"info"}},[t._v("待处理")])],1):a("span",[a("el-link",{attrs:{underline:!1,type:"info"}},[t._v("只读")])],1)])]),a("div",[a("span",{staticClass:"historylabel"},[t._v("处理人:")]),t._v(" "+t._s(e.handleUser.name)+" ")]),a("div",[a("p",{staticClass:"historylabel"},[t._v("意见:")]),t._v(" "+t._s(e.comment)+" ")]),a("div",[a("p",{staticClass:"historylabel"},[t._v("附件:")]),t._v(" "+t._s(e.resourceIds)+" ")]),a("br"),a("div",{staticClass:"bottom clearfix"},[e.isHandled?a("time",{staticClass:"time"},[a("span",{staticClass:"historylabel"},[t._v("处理时间:")]),t._v(t._s(e.handlerTime))]):t._e()])])}))],2),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{attrs:{size:"small"},on:{click:function(e){t.visible=!1}}},[t._v("取 消")]),a("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirm}},[t._v("确 定")])],1)],1)],1)},i=[],o=a("5530"),s=(a("4de4"),a("d3b7"),a("afbe")),r=(a("ed08"),{components:{controlPanel:s["a"]},props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()}},model:{prop:"value",event:"change"},computed:{currentUserId:function(){return this.$store.state.user.user.id},canHandle:function(){var t=this;return this.workHistories.filter((function(e){return e.handleUser.id==t.currentUserId&&0==e.isHandled&&0==e.workStepType})).length>0}},data:function(){return{loading:!1,visible:!1,form:{name:"",formDesignId:{}},controls:[],selections:[],rules:{},isEdit:!1,workTaskForm:{id:"",createdUserId:"",entityFullName:"",entityKeyValue:"",formData:"{}",workTaskStatus:"",name:"模拟流程",workflowId:{}},workStep:{handleUser:{id:""},userSelectors:[{selectorId:"",selectorName:"",selections:[],parameter:"",description:"",handleType:0}],comment:"",stepId:""},workHistories:[],isForward:!1}},methods:{confirm:function(){this.commit()},show:function(t){this.visible=!0,t&&this.loadData(t)},hide:function(){this.visible=!1,this.form={name:"",formDesignId:{},formData:{}},this.isForward=!1},loadData:function(t){var e=this;this.loading=!0,this.getWorkTask(t).then((function(t){e.getAllTaskStepsOfWorkTask(),e.$refs.controlPanel.setValue([],JSON.parse(t.formData||"{}")),e.loading=!1}))},commit:function(){this.$emit("ok-click",{}),this.hide()},getWorkTask:function(t){var e=this;return this.$store.dispatch("workflow/getWorkTask",{id:t}).then((function(t){return e.workTaskForm=t,e.getAndRendWithFormDesign(t),t})).catch((function(t){e.loading=!1}))},getAllTaskStepsOfWorkTask:function(){var t=this;this.$store.dispatch("workflow/getAllTaskStepsOfWorkTask",{worktaskId:this.workTaskForm.id}).then((function(e){t.workHistories=e;var a=t.workHistories.filter((function(e){return e.handleUser.id==t.$store.state.user.user.id&&0==e.isHandled&&0==e.workStepType}))[0];t.workStep.handleUser=a.handleUser,t.workStep.id=a.id})).catch((function(e){t.loading=!1}))},callback:function(){this.loadData(this.workTaskForm.id)},getAndRendWithFormDesign:function(t){var e=this;this.loading=!0;var a={};try{a=JSON.parse(t.entityKeyValue)}catch(s){a={}}var n={};try{n=JSON.parse(t.formData)}catch(s){n={}}this.$refs.controlPanel.setValue([],n);var i=Object(o["a"])(Object(o["a"])({},a),{},{version:a.versionId});this.$store.dispatch("dynamicFormDesign/getFormDesignVersion",i).then((function(t){return e.loading=!1,e.formDesign=t,t&&t.designContent?JSON.parse(t&&t.designContent):[]})).then((function(t){e.loading=!1,e.$refs.controlPanel.setValue(t,n)}))}}}),l=r,c=(a("f84a"),a("2877")),d=Object(c["a"])(l,n,i,!1,null,null,null);e["a"]=d.exports},"9a0c":function(t,e,a){var n=a("342f");t.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(n)},eb3e:function(t,e,a){"use strict";e["a"]={computed:{currentUserId:function(){return this.$store.state.user.user.id}},data:function(){return{moduleName:"",tableData:[],page:{total:100,maxResultCount:50,currentPage:1,conditions:[],sorting:"creationtime desc"},loading:{getPageList:!1}}},watch:{currentUserId:function(){this.getPageList&&this.getPageList()}},mounted:function(){this.getPageList()},methods:{dateFormat:function(t,e){var a=t[e.property];if(null===a)return"";var n=new Date(a);return n.getFullYear()+"-"+(n.getMonth()+1)+"-"+n.getDate()+" "+n.getHours()+":"+n.getMinutes()+":"+n.getSeconds()},paginationChange:function(t,e){t&&(this.page.maxResultCount=t),e&&(this.page.currentPage=e),this.getPageList()},create:function(){this.$refs.createForm.show()},edit:function(t){this.$refs.editForm.show(t)},getPageList:function(){var t=this;this.loading.getPageList=!0,this.page.skipCount=(this.page.currentPage-1)*this.page.maxResultCount,this.$store.dispatch(this.moduleName+"/getPageList",this.page).then((function(e){t.tableData=e.items,t.page.total=e.total,t.loading.getPageList=!1}))},remove:function(t){var e=this;this.$confirm("确认删除该记录?, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){e.$store.dispatch(e.moduleName+"/delete",{id:t}).then((function(t){e.$message({type:"success",message:"删除成功!"}),e.getPageList()}))})).catch((function(){e.$message({type:"info",message:"已取消删除"})}))}}}},ed08:function(t,e,a){"use strict";a("a4d3"),a("e01a"),a("d3b7"),a("d28b"),a("3ca3"),a("ddb0");a("ac1f"),a("00b4"),a("5319"),a("4d63"),a("2c3e"),a("25f0"),a("4d90"),a("1276"),a("159b"),a("a15b")},f7af:function(t,e,a){"use strict";a.r(e);var n=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{directives:[{name:"loading",rawName:"v-loading",value:t.loading.getPageList,expression:"loading.getPageList"}],staticClass:"app-container"},[a("div",[a("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.getPageList}},[t._v("刷新")])],1),a("br"),a("el-table",{staticStyle:{width:"100%"},attrs:{data:t.tableData,border:""}},[a("el-table-column",{attrs:{type:"index",label:"序号",width:"60"}}),a("el-table-column",{attrs:{prop:"name",label:"标题"}}),a("el-table-column",{attrs:{prop:"workflowName",label:"流程名称",width:"250"},scopedSlots:t._u([{key:"default",fn:function(e){return[a("span",[t._v(t._s(e.row.workflowId.workflowName))])]}}])}),a("el-table-column",{attrs:{label:"审批状态",width:"80"},scopedSlots:t._u([{key:"default",fn:function(e){return[0==e.row.workTaskStatus?a("span",[t._v("待发起")]):t._e(),1==e.row.workTaskStatus?a("span",[t._v("审批中")]):t._e(),2==e.row.workTaskStatus?a("span",[t._v("已审批")]):t._e()]}}])}),a("el-table-column",{attrs:{prop:"creationTime",formatter:t.dateFormat,label:"创建时间",width:"160"}}),a("el-table-column",{attrs:{prop:"modifiedTime",formatter:t.dateFormat,label:"更新时间",width:"160"}}),a("el-table-column",{attrs:{fixed:"right",label:"操作",width:"200"},scopedSlots:t._u([{key:"default",fn:function(e){return[a("el-button",{attrs:{type:"text",size:"small"},on:{click:function(a){return t.$refs.viewForm.show(e.row.id)}}},[t._v("查看")]),a("el-button",{attrs:{type:"text",size:"small"},on:{click:function(a){return t.$refs.workflowDesignForm.show({id:e.row.workflowId.id,version:e.row.workflowId.versionId})}}},[t._v("流程图")])]}}])})],1),a("br"),a("el-pagination",{attrs:{background:"",layout:"sizes,prev, pager, next",total:t.page.total,"page-size":t.page.maxResultCount,"current-page":t.page.currentPage},on:{"current-change":function(e){return t.paginationChange(null,e)},"size-change":function(e){return t.paginationChange(e)}}}),a("viewForm",{ref:"viewForm"}),a("workflowDesignForm",{ref:"workflowDesignForm"})],1)},i=[],o=(a("4de4"),a("d3b7"),a("eb3e")),s=a("64d3"),r=a("37c0"),l={components:{viewForm:s["a"],workflowDesignForm:r["a"]},mixins:[o["a"]],data:function(){return{moduleName:"dynamicFormInstance",selections:[]}},mounted:function(){},methods:{getPageList:function(){var t=this;this.loading.getPageList=!0,this.page.skipCount=(this.page.currentPage-1)*this.page.maxResultCount,this.$store.dispatch("workflow/getAllWorkTasks",this.page).then((function(e){t.tableData=e.items,t.page.total=e.total,t.loading.getPageList=!1}))},getDesignName:function(t){var e=this.selections.filter((function(e){return e.id==t}));return e&&e.length>0?e[0].title:""},startwork:function(t){var e=this,a={entityFullName:"DynamicForm.Core.Forms.FormInstance",entityKeyValue:t.id,formData:t.formData||"{}",name:this.getDesignName(t.formDesignId.id)+"-"+t.title,workflowId:{id:t.workflowId.id,versionId:t.workflowId.version}};return this.$store.dispatch("workflow/createAndStartWorkTask",a).then((function(t){setTimeout(e.getPageList,500),e.$message({message:"发起成功,稍后刷新更新状态!",type:"success"})}))}}},c=l,d=a("2877"),u=Object(d["a"])(c,n,i,!1,null,null,null);e["default"]=u.exports},f84a:function(t,e,a){"use strict";a("6129")}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-62ec26ef.2bf3bc07.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-62ec26ef.2bf3bc07.js new file mode 100644 index 0000000000000000000000000000000000000000..2c1b964a3859447cf9ded013c7e9ee5b2f264bf0 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-62ec26ef.2bf3bc07.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-62ec26ef"],{2017:function(e,s,t){"use strict";t("cafe")},"40ba":function(e,s,t){"use strict";t("ff78")},"9ed6":function(e,s,t){"use strict";t.r(s);var n=function(){var e=this,s=e.$createElement,t=e._self._c||s;return t("div",{staticClass:"login-container"},[t("el-form",{ref:"loginForm",staticClass:"login-form",attrs:{model:e.loginForm,rules:e.loginRules,"auto-complete":"on","label-position":"left"}},[t("div",{staticClass:"title-container"},[t("h3",{staticClass:"title"},[e._v("Login Form")])]),t("el-form-item",{attrs:{prop:"username"}},[t("span",{staticClass:"svg-container"},[t("svg-icon",{attrs:{"icon-class":"user"}})],1),t("el-input",{ref:"username",attrs:{placeholder:"Username",name:"username",type:"text",tabindex:"1","auto-complete":"on"},model:{value:e.loginForm.username,callback:function(s){e.$set(e.loginForm,"username",s)},expression:"loginForm.username"}})],1),t("el-form-item",{attrs:{prop:"password"}},[t("span",{staticClass:"svg-container"},[t("svg-icon",{attrs:{"icon-class":"password"}})],1),t("el-input",{key:e.passwordType,ref:"password",attrs:{type:e.passwordType,placeholder:"Password",name:"password",tabindex:"2","auto-complete":"on"},nativeOn:{keyup:function(s){return!s.type.indexOf("key")&&e._k(s.keyCode,"enter",13,s.key,"Enter")?null:e.handleLogin(s)}},model:{value:e.loginForm.password,callback:function(s){e.$set(e.loginForm,"password",s)},expression:"loginForm.password"}}),t("span",{staticClass:"show-pwd",on:{click:e.showPwd}},[t("svg-icon",{attrs:{"icon-class":"password"===e.passwordType?"eye":"eye-open"}})],1)],1),t("el-button",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],staticStyle:{width:"100%","margin-bottom":"30px"},attrs:{type:"primary"},nativeOn:{click:function(s){return s.preventDefault(),e.handleLogin(s)}}},[e._v("Login")]),t("div",{staticClass:"tips"},[t("span",{staticStyle:{"margin-right":"20px"}},[e._v("username: admin")]),t("span",[e._v(" password: any")])])],1)],1)},o=[],r=t("61f7"),a={name:"Login",data:function(){var e=function(e,s,t){Object(r["b"])(s)?t():t(new Error("Please enter the correct user name"))},s=function(e,s,t){s.length<6?t(new Error("The password can not be less than 6 digits")):t()};return{loginForm:{username:"admin",password:"111111"},loginRules:{username:[{required:!0,trigger:"blur",validator:e}],password:[{required:!0,trigger:"blur",validator:s}]},loading:!1,passwordType:"password",redirect:void 0}},watch:{$route:{handler:function(e){this.redirect=e.query&&e.query.redirect},immediate:!0}},methods:{showPwd:function(){var e=this;"password"===this.passwordType?this.passwordType="":this.passwordType="password",this.$nextTick((function(){e.$refs.password.focus()}))},handleLogin:function(){var e=this;this.$refs.loginForm.validate((function(s){if(!s)return console.log("error submit!!"),!1;e.loading=!0,e.$store.dispatch("user/login",e.loginForm).then((function(){e.$store.dispatch("workflow/GetAllUserForSimulation",{}).then((function(){e.$router.push({path:e.redirect||"/"}),e.loading=!1}))})).catch((function(){e.loading=!1}))}))}}},i=a,l=(t("2017"),t("40ba"),t("2877")),c=Object(l["a"])(i,n,o,!1,null,"3f4cf53b",null);s["default"]=c.exports},cafe:function(e,s,t){},ff78:function(e,s,t){}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-76cea4de.b814754a.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-76cea4de.b814754a.js new file mode 100644 index 0000000000000000000000000000000000000000..69575affb5c6169a45fa73c683de2e83e4a0527d --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-76cea4de.b814754a.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-76cea4de"],{"26fc":function(t,s,e){t.exports=e.p+"static/img/404_cloud.0f4bc32b.png"},"8cdb":function(t,s,e){"use strict";e.r(s);var a=function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"wscn-http404-container"},[e("div",{staticClass:"wscn-http404"},[t._m(0),e("div",{staticClass:"bullshit"},[e("div",{staticClass:"bullshit__oops"},[t._v("OOPS!")]),t._m(1),e("div",{staticClass:"bullshit__headline"},[t._v(t._s(t.message))]),e("div",{staticClass:"bullshit__info"},[t._v("Please check that the URL you entered is correct, or click the button below to return to the homepage.")]),e("a",{staticClass:"bullshit__return-home",attrs:{href:""}},[t._v("Back to home")])])])])},c=[function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"pic-404"},[a("img",{staticClass:"pic-404__parent",attrs:{src:e("a36b"),alt:"404"}}),a("img",{staticClass:"pic-404__child left",attrs:{src:e("26fc"),alt:"404"}}),a("img",{staticClass:"pic-404__child mid",attrs:{src:e("26fc"),alt:"404"}}),a("img",{staticClass:"pic-404__child right",attrs:{src:e("26fc"),alt:"404"}})])},function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"bullshit__info"},[t._v("All rights reserved "),e("a",{staticStyle:{color:"#20a0ff"},attrs:{href:"https://wallstreetcn.com",target:"_blank"}},[t._v("wallstreetcn")])])}],i={name:"Page404",computed:{message:function(){return"The webmaster said that you can not enter this page..."}}},l=i,n=(e("97ef"),e("2877")),r=Object(n["a"])(l,a,c,!1,null,"c095f994",null);s["default"]=r.exports},"97ef":function(t,s,e){"use strict";e("ed94")},a36b:function(t,s,e){t.exports=e.p+"static/img/404.a57b6f31.png"},ed94:function(t,s,e){}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-788d8f30.03b7c136.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-788d8f30.03b7c136.js new file mode 100644 index 0000000000000000000000000000000000000000..5462933e9828df57fc55971fc4ffce676a957556 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-788d8f30.03b7c136.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-788d8f30"],{"0254":function(e,t,o){},"09e3":function(e,t,o){"use strict";o("0254")},"0ccb":function(e,t,o){var r=o("50c4"),s=o("1148"),i=o("1d80"),n=Math.ceil,a=function(e){return function(t,o,a){var l,c,d=String(i(t)),u=d.length,h=void 0===a?" ":String(a),f=r(o);return f<=u||""==h?d:(l=f-u,c=s.call(h,n(l/h.length)),c.length>l&&(c=c.slice(0,l)),e?d+c:c+d)}};e.exports={start:a(!1),end:a(!0)}},1148:function(e,t,o){"use strict";var r=o("a691"),s=o("1d80");e.exports="".repeat||function(e){var t=String(s(this)),o="",i=r(e);if(i<0||i==1/0)throw RangeError("Wrong number of repetitions");for(;i>0;(i>>>=1)&&(t+=t))1&i&&(o+=t);return o}},"37c0":function(e,t,o){"use strict";var r,s=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("el-dialog",{attrs:{title:"流程查看",visible:e.visible,width:"60%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[o("workflowEditPanel",{ref:"workflowEditPanel",attrs:{nodeData:e.nodeData}}),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)},i=[],n=o("ade3"),a=o("0aef"),l={components:{workflowEditPanel:a["a"]},props:{},watch:{value:{handler:function(){},deep:!0},visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",nodeData:{},data:{}}},methods:(r={confirm:function(){this.commit()},show:function(e){this.visible=!0,this.loadData(e.version,e.id)},hide:function(){this.visible=!1,this.value={},this.control={}},loadData:function(e){},commit:function(){this.hide()}},Object(n["a"])(r,"loadData",(function(e,t){var o=this,r=this;this.$store.dispatch("workflow/getWorkflowVersion",{versionid:e,id:t}).then((function(e){r.nodeData=0==e.drawingInfo.length?o.defaultNode():JSON.parse(e.drawingInfo),r.data=e,r.$refs.workflowEditPanel.loadNodeData()}))})),Object(n["a"])(r,"defaultNode",(function(){return{name:"",nodeList:[],lineList:[]}})),r)},c=l,d=o("2877"),u=Object(d["a"])(c,s,i,!1,null,null,null);t["a"]=u.exports},4410:function(e,t,o){},"4aab":function(e,t,o){"use strict";o("877e")},"4d90":function(e,t,o){"use strict";var r=o("23e7"),s=o("0ccb").start,i=o("9a0c");r({target:"String",proto:!0,forced:i},{padStart:function(e){return s(this,e,arguments.length>1?arguments[1]:void 0)}})},"677e":function(e,t,o){"use strict";var r=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("el-dialog",{attrs:{title:e.workTaskForm.name,visible:e.visible,width:"60%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1},opened:function(t){return e.opened()}}},[o("el-card",{attrs:{shadow:"never"}},[o("div",{attrs:{slot:"header"},slot:"header"},[e._v("表单数据")]),o("el-form",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],ref:"form",staticClass:"demo-form",attrs:{model:e.form,rules:e.rules,"label-width":"0px","label-position":"top",size:"mini"}},[o("el-form-item",{attrs:{label:"",prop:"title"}},[o("controlPanel",{ref:"controlPanel",attrs:{isEdit:e.isEdit}})],1)],1)],1),o("processForm",{ref:"processForm",attrs:{workTaskForm:e.workTaskForm}}),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)},s=[],i=o("5530"),n=(o("4de4"),o("d3b7"),o("afbe")),a=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",e._l(e.userSelectors,(function(t,r){return o("div",{key:r,staticClass:"user-card",staticStyle:{"margin-top":"10px"},attrs:{shadow:"naver"}},[o("el-form",{staticClass:"demo-form",attrs:{"label-width":"0px","label-position":"right",size:"mini"}},[o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-select",{staticStyle:{width:"100%"},attrs:{size:"mini",placeholder:"选择人员类型"},on:{change:function(o){return e.selectorChange(t)}},model:{value:t.selectorId,callback:function(o){e.$set(t,"selectorId",o)},expression:"item.selectorId"}},e._l(e.allUserSelectors,(function(e){return o("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("userSelections",{ref:"userSelections",refInFor:!0,attrs:{index:r,selectorId:t.selectorId,selections:t.selections},on:{"ok-click":e.userSelectionsOkHandler}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-input",{attrs:{size:"mini",placeholder:"参数"},model:{value:t.parameter,callback:function(o){e.$set(t,"parameter",o)},expression:"item.parameter"}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-input",{attrs:{size:"mini",placeholder:"描述"},model:{value:t.description,callback:function(o){e.$set(t,"description",o)},expression:"item.description"}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}})],1)],1)})),0)},l=[],c=(o("159b"),o("b0c0"),o("a15b"),o("a434"),function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("el-select",{staticStyle:{width:"100%"},attrs:{value:e.selectedValues,multiple:"",filterable:"","allow-create":"","default-first-option":"",size:"mini",placeholder:"请选择文章标签"},on:{focus:e.onfocus,change:e.onchange}},e._l(e.allOptions,(function(e){return o("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)}),d=[],u=(o("a9e3"),{props:{selections:{type:Array},index:{type:Number},selectorId:{type:String}},watch:{selectorId:function(){this.onfocus()}},computed:{allOptions:function(){var e=[];return e=0==this.options.length?this.selections.filter((function(e){return!0})):this.options,e},selectedValues:function(){var e=[];return this.selections.forEach((function(t){e.push(t.id)})),e}},data:function(){return{options:[]}},methods:{onfocus:function(){var e=this;this.$store.dispatch("workflow/getUserSelectionsOfUserSelector",{userSelectorId:this.selectorId}).then((function(t){console.log(t),e.options=t}))},onchange:function(e){this.$emit("ok-click",{index:this.index,value:this.options.filter((function(t){return e.indexOf(t.id)>-1}))})}}}),h=u,f=o("2877"),p=Object(f["a"])(h,c,d,!1,null,null,null),m=p.exports,k={components:{userSelections:m},props:{userSelectors:{type:Array,default:function(){return[]}}},filters:{getSelectionsName:function(e){if(!e)return"";var t=[];return e.forEach((function(e){t.push(e.name)})),t.join(",")}},data:function(){return{allUserSelectors:[]}},mounted:function(){this.loadUserSelectors()},methods:{loadUserSelectors:function(){var e=this;this.$store.dispatch("workflow/getAllUserSelectors").then((function(t){console.log(t),e.allUserSelectors=t}))},delUserSelector:function(e,t){e.splice(t,1)},userSelectionsOkHandler:function(e){var t=this.userSelectors[e.index];this.$set(t,"selections",[]),e.value.forEach((function(e){t.selections.push({id:e.id,name:e.name})}))},selectorChange:function(e){this.$set(e,"selections",[])}}},w=k,v=(o("86e2"),Object(f["a"])(w,a,l,!1,null,null,null)),g=v.exports,b=(o("ed08"),o("69a1")),S={components:{controlPanel:n["a"],nodeUser:g,processForm:b["a"]},props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},computed:{currentUserId:function(){return this.$store.state.user.user.id},canHandle:function(){var e=this;return this.workHistories.filter((function(t){return t.handleUser.id===e.currentUserId&&0==t.isHandled&&0==t.workStepType})).length>0}},data:function(){return{loading:!1,visible:!1,form:{name:"",formDesignId:{}},controls:[],selections:[],rules:{},isEdit:!1,workTaskForm:{id:"",createdUserId:"",entityFullName:"",entityKeyValue:"",formData:"{}",workTaskStatus:"",name:"模拟流程",workflowId:{}},workStep:{handleUser:{id:""},userSelectors:[{selectorId:"",selectorName:"",selections:[],parameter:"",description:"",handleType:0}],comment:"",stepId:""},workHistories:[],isForward:!1}},methods:{opened:function(){this.value&&this.loadData(this.value)},confirm:function(){this.commit()},show:function(e){this.visible=!0,this.value=e},hide:function(){this.visible=!1,this.form={name:"",formDesignId:{},formData:{}},this.isForward=!1},loadData:function(e){var t=this;this.loading=!0,this.getWorkTask(e).then((function(e){t.getAllTaskStepsOfWorkTask(),t.getAndRendWithFormDesign(e),t.loading=!1}))},commit:function(){this.$emit("ok-click",{}),this.hide()},getWorkTask:function(e){var t=this;return this.$store.dispatch("workflow/getWorkTask",{id:e}).then((function(e){return t.workTaskForm=e,t.$refs.processForm.loadHistories(t.workTaskForm),e})).catch((function(e){t.loading=!1}))},loadFormInstance:function(e){var t=this;this.loading=!0,this.$store.dispatch("dynamicFormInstance/get",{id:e}).then((function(e){t.form=e,t.getDesign(t.form.formDesignId).then((function(o){t.loading=!1,t.$refs.controlPanel.setValue(o,JSON.parse(e.formData||"{}"))}))}))},getAllTaskStepsOfWorkTask:function(){var e=this;this.$store.dispatch("workflow/getAllTaskStepsOfWorkTask",{worktaskId:this.workTaskForm.id}).then((function(t){e.workHistories=t;var o=e.workHistories.filter((function(t){return t.handleUser.id==e.currentUserId&&0==t.isHandled&&0==t.workStepType}))[0];e.workStep.handleUser=o.handleUser,e.workStep.id=o.id})).catch((function(t){e.loading=!1}))},callback:function(){this.loadData(this.workTaskForm.id)},passApprove:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:""},o=this;this.$store.dispatch("workflow/passProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},rejectApprove:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:""},o=this;this.$store.dispatch("workflow/rejectProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},forwardProve:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:"",userSelectors:this.workStep.userSelectors},o=this;this.$store.dispatch("workflow/forwardProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},withdrawProve:function(e){var t=this;this.loading=!0;var o={stepId:e,comment:this.workStep.comment},r=this;this.$store.dispatch("workflow/withdrawProve",o).then((function(e){r.loading=!1,t.callback()})).catch((function(e){t.loading=!1}))},getAndRendWithFormDesign:function(e){var t=this;this.loading=!0;var o={};try{o=JSON.parse(e.entityKeyValue)}catch(n){o={}}var r={};try{r=JSON.parse(e.formData)}catch(n){r={}}this.$refs.controlPanel.setValue([],r);var s=Object(i["a"])(Object(i["a"])({},o),{},{version:o.versionId});this.$store.dispatch("dynamicFormDesign/getFormDesignVersion",s).then((function(e){return t.loading=!1,t.formDesign=e,e&&e.designContent?JSON.parse(e&&e.designContent):[]})).then((function(e){t.loading=!1,t.$refs.controlPanel.setValue(e,r)}))}}},y=S,_=(o("4aab"),Object(f["a"])(y,r,s,!1,null,null,null));t["a"]=_.exports},"69a1":function(e,t,o){"use strict";var r=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[e.workStep&&e.canHandle?o("el-card",{staticClass:"box-card",staticStyle:{"margin-top":"10px"}},[o("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[o("span",[e._v("审批")])]),o("el-card",{staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[o("div",[o("el-radio",{attrs:{label:!1},model:{value:e.isForward,callback:function(t){e.isForward=t},expression:"isForward"}},[e._v("处理")]),o("el-radio",{attrs:{label:!0},model:{value:e.isForward,callback:function(t){e.isForward=t},expression:"isForward"}},[e._v("转发")])],1),o("br"),e.isForward?o("div",[o("nodeUser",{attrs:{userSelectors:e.workStep.userSelectors}}),o("br"),o("el-button",{attrs:{type:"danger",size:"mini"},on:{click:e.forwardProve}},[e._v("转发/代办")])],1):o("div",[o("el-form",[o("el-form-item",{attrs:{label:"表单数据"}},[o("el-input",{attrs:{type:"textarea",rows:4,placeholder:"表单数据(与主流程不同,每一步都可能有当前的处理表单数据)"},model:{value:e.workStep.formData,callback:function(t){e.$set(e.workStep,"formData",t)},expression:"workStep.formData"}})],1),o("el-form-item",{attrs:{label:"批语"}},[o("el-input",{attrs:{type:"textarea",rows:2,placeholder:"批语 "},model:{value:e.workStep.comment,callback:function(t){e.$set(e.workStep,"comment",t)},expression:"workStep.comment"}})],1),e.isPass?e._e():o("el-form-item",{attrs:{label:"驳回节点"}},[o("el-select",{attrs:{placeholder:"驳回节点",size:"mini"},model:{value:e.workStep.rejectToNodeId,callback:function(t){e.$set(e.workStep,"rejectToNodeId",t)},expression:"workStep.rejectToNodeId"}},e._l(e.workStep.rejectNodes,(function(e){return o("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1),o("el-form-item",[o("div",[o("el-radio",{attrs:{label:!0},model:{value:e.isPass,callback:function(t){e.isPass=t},expression:"isPass"}},[e._v("通过")]),o("el-radio",{attrs:{label:!1},model:{value:e.isPass,callback:function(t){e.isPass=t},expression:"isPass"}},[e._v("驳回")])],1),o("el-button",{attrs:{type:"primary",size:"mini"},on:{click:function(){return e.isPass?e.passApprove():e.rejectApprove()}}},[e._v("确定")])],1)],1)],1)])],1):e._e(),o("el-card",{staticClass:"card-provehistory",staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[o("div",{attrs:{slot:"header"},slot:"header"},[e._v(" 审批记录 "),o("el-button",{attrs:{type:"text",size:"mini"},on:{click:e.getAllTaskStepsOfWorkTask}},[e._v("刷新")])],1),e._l(e.workHistories,(function(t){return o("el-card",{key:t.id,staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[o("div",{attrs:{slot:"header"},slot:"header"},[o("span",[o("span",{staticClass:"historylabel"},[e._v("节点:")]),e._v(e._s(t.nodeName))]),o("div",{staticStyle:{float:"right",padding:"3px 0"}},[0==t.workStepType?o("span",[t.isHandled?o("span",[0==t.handleType?o("el-link",{attrs:{underline:!1,type:"success"}},[e._v("通过")]):e._e(),1==t.handleType?o("el-link",{attrs:{underline:!1,type:"danger"}},[e._v("拒绝")]):e._e(),2==t.handleType?o("el-link",{attrs:{underline:!1,type:"info"}},[e._v("撤回")]):e._e(),3==t.handleType?o("el-link",{attrs:{underline:!1,type:"warning"}},[e._v("转发")]):e._e(),4==t.handleType?o("el-link",{attrs:{underline:!1}},[e._v("未处理")]):e._e()],1):o("el-link",{attrs:{underline:!1,type:"info"}},[e._v("待处理")])],1):o("span",[e._v("只读/抄送")])])]),o("div",[o("span",{staticClass:"historylabel"},[e._v("处理人:")]),e._v(" "+e._s(t.handleUser.name)+" ")]),o("div",[o("p",{staticClass:"historylabel"},[e._v("意见:")]),e._v(" "+e._s(t.comment)+" ")]),o("div",[o("p",{staticClass:"historylabel"},[e._v("附件:")]),e._v(" "+e._s(t.resourceIds)+" ")]),o("br"),o("div",{staticClass:"bottom clearfix"},[t.isHandled?o("time",{staticClass:"time"},[o("span",{staticClass:"historylabel"},[e._v("处理时间:")]),e._v(e._s(t.handlerTime))]):e._e(),1==t.isHandled&&t.handleUser.id==e.currentUserId?o("el-button",{staticStyle:{float:"right",padding:"3px 0"},attrs:{type:"text"},on:{click:function(o){return e.withdrawProve(t.id)}}},[e._v("撤回")]):e._e()],1)])}))],2)],1)},s=[],i=(o("b0c0"),o("4de4"),o("d3b7"),o("77ff")),n={components:{nodeUser:i["a"]},name:"workflow-simulation",props:{workflowName:{default:"测试流程"},workflowId:{default:"1"},workflowVersionId:{default:"1"}},computed:{id:function(){return this.$route.query.id||this.workflowId},name:function(){return this.$route.query.name||this.workflowName},versionId:function(){return this.$route.query.versionId||this.workflowVersionId},canHandle:function(){var e=this;return this.workHistories.filter((function(t){return t.handleUser.id==e.$store.state.user.user.id&&0==t.isHandled&&0==t.workStepType})).length>0},currentUserId:function(){return this.$store.state.user.user.id}},watch:{currentUserId:{handler:function(){this.getAllTaskStepsOfWorkTask()}},isPass:{handler:function(){this.isPass?this.workStep.rejectToNodeId=null:this.getRejectNodes()}}},data:function(){return{formData:"",loading:!1,allUsers:[],workTaskForm:{},workStep:{handleUser:{id:""},userSelectors:[{selectorId:"",selectorName:"",selections:[],parameter:"",description:"",handleType:0}],rejectNodes:[{id:"",name:""}],comment:"",stepId:"",formData:"",rejectToNodeId:null},workHistories:[],isForward:!1,isPass:!0,isSimulation:!0}},mounted:function(){this.getAllUserForSimulation()},methods:{loadHistories:function(e){this.workTaskForm=e,this.callback()},getAllUserForSimulation:function(){var e=this;this.$store.dispatch("workflow/GetAllUserForSimulation").then((function(t){e.allUsers=t}))},getAllTaskStepsOfWorkTask:function(){var e=this;this.workTaskForm.id&&0!=this.workTaskForm.id.length&&this.$store.dispatch("workflow/getAllTaskStepsOfWorkTask",{worktaskId:this.workTaskForm.id}).then((function(t){e.workHistories=t;var o=e.workHistories.filter((function(t){return t.handleUser.id==e.$store.state.user.user.id&&0==t.isHandled&&0==t.workStepType}))[0];e.workStep.handleUser=o.handleUser,e.workStep.id=o.id})).catch((function(t){e.loading=!1}))},getUserName:function(e){var t=this.allUsers.filter((function(t){return t.id==e}));return t.length>0?t[0].name:""},callback:function(){this.getAllTaskStepsOfWorkTask(),this.workStep.comment="",this.isPass=!0},passApprove:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:"",formData:this.workStep.formData},o=this;this.$store.dispatch("workflow/passProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},rejectApprove:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:""},o=this;this.$store.dispatch("workflow/rejectProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},forwardProve:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:"",userSelectors:this.workStep.userSelectors},o=this;this.$store.dispatch("workflow/forwardProve",t).then((function(t){o.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},withdrawProve:function(e){var t=this;this.loading=!0;var o={stepId:e,comment:this.workStep.comment},r=this;this.$store.dispatch("workflow/withdrawProve",o).then((function(e){r.loading=!1,t.callback()})).catch((function(e){t.loading=!1}))},getRejectNodes:function(){var e=this;console.log(this.workStep),this.$store.dispatch("workflow/GetRejectNodes",{workStepId:this.workStep.id}).then((function(t){e.workStep.rejectNodes=t})).catch((function(t){e.loading=!1}))}}},a=n,l=o("2877"),c=Object(l["a"])(a,r,s,!1,null,null,null);t["a"]=c.exports},"77ff":function(e,t,o){"use strict";var r=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",e._l(e.userSelectors,(function(t,r){return o("div",{key:r,staticClass:"user-card",staticStyle:{"margin-top":"10px"},attrs:{shadow:"naver"}},[o("el-form",{staticClass:"demo-form",attrs:{"label-width":"0px","label-position":"right",size:"mini"}},[o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-select",{staticStyle:{width:"100%"},attrs:{size:"mini",placeholder:"选择人员类型"},model:{value:t.selectorId,callback:function(o){e.$set(t,"selectorId",o)},expression:"item.selectorId"}},e._l(e.allUserSelectors,(function(e){return o("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("userSelections",{ref:"userSelections",refInFor:!0,attrs:{index:r,selectorId:t.selectorId,selections:t.selections},on:{"ok-click":e.userSelectionsOkHandler}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-input",{attrs:{size:"mini",placeholder:"参数"},model:{value:t.parameter,callback:function(o){e.$set(t,"parameter",o)},expression:"item.parameter"}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}},[o("el-input",{attrs:{size:"mini",placeholder:"描述"},model:{value:t.description,callback:function(o){e.$set(t,"description",o)},expression:"item.description"}})],1),o("el-form-item",{attrs:{label:"",prop:"ame"}})],1)],1)})),0)},s=[],i=(o("d3b7"),o("159b"),o("b0c0"),o("a15b"),o("a434"),function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("el-dialog",{attrs:{title:"选择用户",visible:e.visible,width:"40%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[o("el-table",{ref:"singleTable",staticStyle:{width:"100%",height:"40vh"},attrs:{data:e.selections},on:{"current-change":e.handleCurrentChange,"selection-change":e.handleSelectionChange}},[o("el-table-column",{attrs:{type:"selection",width:"50"}}),o("el-table-column",{attrs:{type:"index",width:"50"}}),o("el-table-column",{attrs:{property:"name",label:"名称",width:"220"}}),o("el-table-column",{attrs:{property:"id",label:"ID"}})],1),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),o("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)}),n=[],a={props:{},watch:{visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{name:""},rules:{name:[{required:!0,message:"请输入",trigger:"change"}]},currentRow:null,selections:[],value:{},multipleSelection:[]}},methods:{confirm:function(){this.commit()},show:function(e){this.visible=!0,this.loadData(e)},hide:function(){this.visible=!1,this.form={name:""}},loadData:function(e){var t=this;this.loading=!0,this.value=e,this.getUserSelectionsOfUserSelector(e.selectorId).then((function(){t.loading=!1}))},getUserSelectionsOfUserSelector:function(e){var t=this;return this.$store.dispatch("workflow/getUserSelectionsOfUserSelector",{userSelectorId:e}).then((function(e){console.log(e),t.selections=e}))},commit:function(){0!=this.multipleSelection.length?(this.$emit("ok-click",{index:this.value.index,value:this.multipleSelection}),this.hide()):this.$message({message:"警告,请选择!",type:"warning"})},handleCurrentChange:function(e){this.currentRow=e},handleSelectionChange:function(e){this.multipleSelection=e}}},l=a,c=o("2877"),d=Object(c["a"])(l,i,n,!1,null,null,null),u=d.exports,h={components:{userSelections:u},props:{userSelectors:{type:Array,default:function(){return[]}}},filters:{getSelectionsName:function(e){if(!e)return"";var t=[];return e.forEach((function(e){t.push(e.name)})),t.join(",")}},data:function(){return{allUserSelectors:[]}},mounted:function(){this.loadUserSelectors()},methods:{loadUserSelectors:function(){var e=this;this.$store.dispatch("workflow/getAllUserSelectors").then((function(t){console.log(t),e.allUserSelectors=t}))},delUserSelector:function(e,t){e.splice(t,1)},userSelectionsOkHandler:function(e){var t=this.userSelectors[e.index];this.$set(t,"selections",[]),e.value.forEach((function(e){t.selections.push({id:e.id,name:e.name})}))}}},f=h,p=(o("09e3"),Object(c["a"])(f,r,s,!1,null,null,null));t["a"]=p.exports},"86e2":function(e,t,o){"use strict";o("4410")},"877e":function(e,t,o){},"9a0c":function(e,t,o){var r=o("342f");e.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(r)},a75d:function(e,t,o){"use strict";o.r(t);var r=function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{directives:[{name:"loading",rawName:"v-loading",value:e.loading.getPageList,expression:"loading.getPageList"}],staticClass:"app-container"},[o("div",[o("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.getPageList}},[e._v("刷新")])],1),o("br"),o("el-table",{staticStyle:{width:"100%"},attrs:{data:e.tableData,border:""}},[o("el-table-column",{attrs:{type:"index",label:"序号",width:"60"}}),o("el-table-column",{attrs:{prop:"name",label:"标题"}}),o("el-table-column",{attrs:{prop:"workflowName",label:"流程名称",width:"250"},scopedSlots:e._u([{key:"default",fn:function(t){return[o("span",[e._v(e._s(t.row.workflowId.workflowName))])]}}])}),o("el-table-column",{attrs:{label:"审批状态",width:"80"},scopedSlots:e._u([{key:"default",fn:function(t){return[0==t.row.workTaskStatus?o("span",[e._v("待发起")]):e._e(),1==t.row.workTaskStatus?o("span",[e._v("审批中")]):e._e(),2==t.row.workTaskStatus?o("span",[e._v("已审批")]):e._e()]}}])}),o("el-table-column",{attrs:{prop:"creationTime",formatter:e.dateFormat,label:"创建时间",width:"160"}}),o("el-table-column",{attrs:{prop:"modifiedTime",formatter:e.dateFormat,label:"更新时间",width:"160"}}),o("el-table-column",{attrs:{fixed:"right",label:"操作",width:"150"},scopedSlots:e._u([{key:"default",fn:function(t){return[0!=t.row.workflowStatus?o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return e.$refs.processForm.show(t.row.id)}}},[e._v("查看")]):e._e(),o("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){return e.$refs.workflowDesignForm.show({id:t.row.workflowId.id,version:t.row.workflowId.versionId})}}},[e._v("流程图")])]}}])})],1),o("br"),o("el-pagination",{attrs:{background:"",layout:"sizes,prev, pager, next",total:e.page.total,"page-size":e.page.maxResultCount,"current-page":e.page.currentPage},on:{"current-change":function(t){return e.paginationChange(null,t)},"size-change":function(t){return e.paginationChange(t)}}}),o("processForm",{ref:"processForm",on:{"ok-click":e.getPageList}}),o("workflowDesignForm",{ref:"workflowDesignForm"})],1)},s=[],i=o("eb3e"),n=o("677e"),a=o("37c0"),l={components:{processForm:n["a"],workflowDesignForm:a["a"]},mixins:[i["a"]],data:function(){return{moduleName:"workflow"}},mounted:function(){},methods:{getPageList:function(){var e=this;this.loading.getPageList=!0,this.page.skipCount=(this.page.currentPage-1)*this.page.maxResultCount,this.$store.dispatch("workflow/getHandledWorkTasksOfUser",this.page).then((function(t){e.tableData=t.items,e.page.total=t.total,e.loading.getPageList=!1}))}}},c=l,d=o("2877"),u=Object(d["a"])(c,r,s,!1,null,null,null);t["default"]=u.exports},ed08:function(e,t,o){"use strict";o("a4d3"),o("e01a"),o("d3b7"),o("d28b"),o("3ca3"),o("ddb0");o("ac1f"),o("00b4"),o("5319"),o("4d63"),o("2c3e"),o("25f0"),o("4d90"),o("1276"),o("159b"),o("a15b")}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-79c41021.90a52b23.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-79c41021.eef57b57.js similarity index 100% rename from WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-79c41021.90a52b23.js rename to WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-79c41021.eef57b57.js diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-954cb204.fe849d84.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-954cb204.fe849d84.js deleted file mode 100644 index f11c4d09bf0e80226a7afd54291bd3a418d70aca..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-954cb204.fe849d84.js +++ /dev/null @@ -1 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-954cb204"],{"0254":function(e,t,r){},"09e3":function(e,t,r){"use strict";r("0254")},"13d9":function(e,t,r){"use strict";r.r(t);var s=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"app-container"},[r("el-card",{staticClass:"box-card"},[r("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[r("span",[e._v("模拟流程:"+e._s(e.$route.query.name))]),r("el-button",{staticStyle:{float:"right",padding:"3px 0","margin-right":"10px"},attrs:{type:"text"},on:{click:function(t){return e.$router.push({path:"/workflow/list"})}}},[e._v("返回")])],1),r("div",[r("div",[r("el-input",{attrs:{type:"textarea",rows:5,placeholder:"表单json数据 "},model:{value:e.workTaskForm.formData,callback:function(t){e.$set(e.workTaskForm,"formData",t)},expression:"workTaskForm.formData"}})],1),r("br"),r("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0}},[r("el-form-item",{attrs:{label:""}},[r("el-select",{attrs:{placeholder:"发起人",size:"mini"},model:{value:e.workTaskForm.createdUserId,callback:function(t){e.$set(e.workTaskForm,"createdUserId",t)},expression:"workTaskForm.createdUserId"}},e._l(e.allUsers,(function(e){return r("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1),r("el-form-item",[r("el-button",{attrs:{type:"primary",size:"mini"},on:{click:e.startWork}},[e._v("发起流程")])],1)],1)],1)]),r("el-card",{staticClass:"box-card",staticStyle:{"margin-top":"10px"}},[r("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[r("span",[e._v("流程实例")])]),r("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],ref:"singleTable",attrs:{data:[e.workTaskForm]}},[r("el-table-column",{attrs:{type:"index",width:"50"}}),r("el-table-column",{attrs:{property:"name",label:"流程名称",width:"200"}}),r("el-table-column",{attrs:{property:"formData",label:"表单"}}),r("el-table-column",{attrs:{property:"workTaskStatus",label:"状态",width:"100"},scopedSlots:e._u([{key:"default",fn:function(t){return[0==t.row.workTaskStatus?r("span",[e._v("待发起")]):e._e(),1==t.row.workTaskStatus?r("span",[e._v("审批中")]):e._e(),2==t.row.workTaskStatus?r("span",[e._v("已审批")]):e._e()]}}])}),r("el-table-column",{attrs:{property:"createdUserId",label:"创建用户id",width:"200"},scopedSlots:e._u([{key:"default",fn:function(t){return[r("span",[e._v(e._s(e.getUserName(t.row.createdUserId)))])]}}])}),r("el-table-column",{attrs:{property:"creationTime",label:"创建时间",width:"320"}})],1)],1),r("el-card",{staticClass:"box-card",staticStyle:{"margin-top":"10px"}},[r("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[r("span",[e._v("审批")])]),e.workStep&&e.canHandle?r("el-card",{staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[r("div",[r("el-radio",{attrs:{label:!1},model:{value:e.isForward,callback:function(t){e.isForward=t},expression:"isForward"}},[e._v("处理")]),r("el-radio",{attrs:{label:!0},model:{value:e.isForward,callback:function(t){e.isForward=t},expression:"isForward"}},[e._v("转发")])],1),r("br"),e.isForward?r("div",[r("nodeUser",{attrs:{userSelectors:e.workStep.userSelectors}}),r("br"),r("el-button",{attrs:{type:"danger",size:"mini"},on:{click:e.forwardProve}},[e._v("转发/代办")])],1):r("div",[r("div",[r("el-input",{attrs:{type:"textarea",rows:4,placeholder:"表单数据(与主流程不同,每一步都可能有当前的处理表单数据)"},model:{value:e.workStep.formData,callback:function(t){e.$set(e.workStep,"formData",t)},expression:"workStep.formData"}}),r("br"),r("br"),r("el-input",{attrs:{type:"textarea",rows:2,placeholder:"批语 "},model:{value:e.workStep.comment,callback:function(t){e.$set(e.workStep,"comment",t)},expression:"workStep.comment"}})],1),r("br"),r("el-form",{staticClass:"demo-form-inline",attrs:{inline:!0}},[r("el-form-item",[r("el-button",{attrs:{type:"primary",size:"mini"},on:{click:e.passApprove}},[e._v("通过")]),r("el-button",{attrs:{type:"danger",size:"mini"},on:{click:e.rejectApprove}},[e._v("驳回")])],1)],1)],1)]):e._e()],1),r("el-card",{staticClass:"card-provehistory",staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[r("div",{attrs:{slot:"header"},slot:"header"},[e._v(" 审批记录 "),r("el-button",{attrs:{type:"primary",size:"mini"},on:{click:e.getAllTaskStepsOfWorkTask}},[e._v("刷新记录")])],1),e._l(e.workHistories,(function(t){return r("el-card",{key:t.id,staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[r("div",{attrs:{slot:"header"},slot:"header"},[r("span",[r("span",{staticClass:"historylabel"},[e._v("节点:")]),e._v(e._s(t.nodeName))]),r("div",{staticStyle:{float:"right",padding:"3px 0"}},[0==t.workStepType?r("span",[t.isHandled?r("span",[0==t.handleType?r("el-link",{attrs:{underline:!1,type:"success"}},[e._v("通过")]):e._e(),1==t.handleType?r("el-link",{attrs:{underline:!1,type:"danger"}},[e._v("拒绝")]):e._e(),2==t.handleType?r("el-link",{attrs:{underline:!1,type:"info"}},[e._v("撤回")]):e._e(),3==t.handleType?r("el-link",{attrs:{underline:!1,type:"warning"}},[e._v("转发")]):e._e(),4==t.handleType?r("el-link",{attrs:{underline:!1}},[e._v("未处理")]):e._e()],1):r("el-link",{attrs:{underline:!1,type:"info"}},[e._v("待处理")])],1):r("span",[e._v("只读/抄送")])])]),r("div",[r("span",{staticClass:"historylabel"},[e._v("处理人:")]),e._v(" "+e._s(t.handleUser.name)+" ")]),r("div",[r("p",{staticClass:"historylabel"},[e._v("意见:")]),e._v(" "+e._s(t.comment)+" ")]),r("div",[r("p",{staticClass:"historylabel"},[e._v("附件:")]),e._v(" "+e._s(t.resourceIds)+" ")]),r("br"),r("div",{staticClass:"bottom clearfix"},[t.isHandled?r("time",{staticClass:"time"},[r("span",{staticClass:"historylabel"},[e._v("处理时间:")]),e._v(e._s(t.handlerTime))]):e._e(),1==t.isHandled&&t.handleUser.id==e.currentUserId?r("el-button",{staticStyle:{float:"right",padding:"3px 0"},attrs:{type:"text"},on:{click:function(r){return e.withdrawProve(t.id)}}},[e._v("撤回")]):e._e()],1)])}))],2)],1)},a=[],o=(r("b0c0"),r("4de4"),r("d3b7"),r("a9e3"),function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",e._l(e.userSelectors,(function(t,s){return r("div",{key:s,staticClass:"user-card",staticStyle:{"margin-top":"10px"},attrs:{shadow:"naver"}},[r("el-form",{staticClass:"demo-form",attrs:{"label-width":"0px","label-position":"right",size:"mini"}},[r("el-form-item",{attrs:{label:"",prop:"ame"}},[r("el-select",{staticStyle:{width:"100%"},attrs:{size:"mini",placeholder:"选择人员类型"},model:{value:t.selectorId,callback:function(r){e.$set(t,"selectorId",r)},expression:"item.selectorId"}},e._l(e.allUserSelectors,(function(e){return r("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1),r("el-form-item",{attrs:{label:"",prop:"ame"}},[r("userSelections",{ref:"userSelections",refInFor:!0,attrs:{index:s,selectorId:t.selectorId,selections:t.selections},on:{"ok-click":e.userSelectionsOkHandler}})],1),r("el-form-item",{attrs:{label:"",prop:"ame"}},[r("el-input",{attrs:{size:"mini",placeholder:"参数"},model:{value:t.parameter,callback:function(r){e.$set(t,"parameter",r)},expression:"item.parameter"}})],1),r("el-form-item",{attrs:{label:"",prop:"ame"}},[r("el-input",{attrs:{size:"mini",placeholder:"描述"},model:{value:t.description,callback:function(r){e.$set(t,"description",r)},expression:"item.description"}})],1),r("el-form-item",{attrs:{label:"",prop:"ame"}})],1)],1)})),0)}),i=[],n=(r("159b"),r("a15b"),r("a434"),function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("el-dialog",{attrs:{title:"选择用户",visible:e.visible,width:"40%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[r("el-table",{ref:"singleTable",staticStyle:{width:"100%",height:"40vh"},attrs:{data:e.selections},on:{"current-change":e.handleCurrentChange,"selection-change":e.handleSelectionChange}},[r("el-table-column",{attrs:{type:"selection",width:"50"}}),r("el-table-column",{attrs:{type:"index",width:"50"}}),r("el-table-column",{attrs:{property:"name",label:"名称",width:"220"}}),r("el-table-column",{attrs:{property:"id",label:"ID"}})],1),r("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[r("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),r("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)}),l=[],c={props:{},watch:{visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{name:""},rules:{name:[{required:!0,message:"请输入",trigger:"change"}]},currentRow:null,selections:[],value:{},multipleSelection:[]}},methods:{confirm:function(){this.commit()},show:function(e){this.visible=!0,this.loadData(e)},hide:function(){this.visible=!1,this.form={name:""}},loadData:function(e){var t=this;this.loading=!0,this.value=e,this.getUserSelectionsOfUserSelector(e.selectorId).then((function(){t.loading=!1}))},getUserSelectionsOfUserSelector:function(e){var t=this;return this.$store.dispatch("workflow/getUserSelectionsOfUserSelector",{userSelectorId:e}).then((function(e){console.log(e),t.selections=e}))},commit:function(){0!=this.multipleSelection.length?(this.$emit("ok-click",{index:this.value.index,value:this.multipleSelection}),this.hide()):this.$message({message:"警告,请选择!",type:"warning"})},handleCurrentChange:function(e){this.currentRow=e},handleSelectionChange:function(e){this.multipleSelection=e}}},d=c,u=r("2877"),h=Object(u["a"])(d,n,l,!1,null,null,null),p=h.exports,f={components:{userSelections:p},props:{userSelectors:{type:Array,default:function(){return[]}}},filters:{getSelectionsName:function(e){if(!e)return"";var t=[];return e.forEach((function(e){t.push(e.name)})),t.join(",")}},data:function(){return{allUserSelectors:[]}},mounted:function(){this.loadUserSelectors()},methods:{loadUserSelectors:function(){var e=this;this.$store.dispatch("workflow/getAllUserSelectors").then((function(t){console.log(t),e.allUserSelectors=t}))},delUserSelector:function(e,t){e.splice(t,1)},userSelectionsOkHandler:function(e){var t=this.userSelectors[e.index];this.$set(t,"selections",[]),e.value.forEach((function(e){t.selections.push({id:e.id,name:e.name})}))}}},m=f,k=(r("09e3"),Object(u["a"])(m,o,i,!1,null,null,null)),w=k.exports,v={components:{nodeUser:w},name:"workflow-simulation",props:{workflowName:{default:"测试流程"},workflowId:{default:"1"}},computed:{id:function(){return this.$route.query.id||this.workflowId},name:function(){return this.$route.query.name||this.workflowName},canHandle:function(){var e=this;return this.workHistories.filter((function(t){return t.handleUser.id==e.$store.state.user.user.id&&0==t.isHandled&&0==t.workStepType})).length>0},currentUserId:function(){return this.$store.state.user.user.id}},watch:{currentUserId:{handler:function(){this.getAllTaskStepsOfWorkTask()}},"workTaskForm.createdUserId":{handler:function(){var e=this,t=this.allUsers.filter((function(t){return t.id==e.workTaskForm.createdUserId}))[0];this.$store.dispatch("user/setCurrentUser",t)}}},data:function(){return{formData:"",loading:!1,allUsers:[],workTaskForm:{id:"",createdUserId:"",entityFullName:"",entityKeyValue:"",formData:"{}",workTaskStatus:"",name:"模拟流程",workflowId:{}},workStep:{handleUser:{id:""},userSelectors:[{selectorId:"",selectorName:"",selections:[],parameter:"",description:"",handleType:0}],comment:"",stepId:"",formData:""},workHistories:[],isForward:!1}},mounted:function(){this.getAllUserForSimulation()},methods:{goback:function(){this.$navtab.close(this.$route.fullPath)},getAllUserForSimulation:function(){var e=this;this.$store.dispatch("workflow/GetAllUserForSimulation").then((function(t){e.allUsers=t,e.workTaskForm.createdUserId=e.allUsers[0].id}))},getAllTaskStepsOfWorkTask:function(){var e=this;this.workTaskForm.id&&0!=this.workTaskForm.id.length&&this.$store.dispatch("workflow/getAllTaskStepsOfWorkTask",{worktaskId:this.workTaskForm.id}).then((function(t){e.workHistories=t;var r=e.workHistories.filter((function(t){return t.handleUser.id==e.$store.state.user.user.id&&0==t.isHandled&&0==t.workStepType}))[0];e.workStep.handleUser=r.handleUser,e.workStep.id=r.id})).catch((function(t){e.loading=!1}))},getUserName:function(e){var t=this.allUsers.filter((function(t){return t.id==e}));return t.length>0?t[0].name:""},getWorkTask:function(){var e=this;this.$store.dispatch("workflow/getWorkTask",{id:this.workTaskForm.id}).then((function(t){e.workTaskForm=t})).catch((function(t){e.loading=!1}))},callback:function(){this.getAllTaskStepsOfWorkTask(),this.getWorkTask(),this.workStep.comment=""},startWork:function(){var e=this;this.loading=!0,this.workTaskForm.workflowId={versionId:Number(this.$route.query.versionId),id:this.$route.query.id};var t=this;this.$store.dispatch("workflow/createSimulationWorkTask",this.workTaskForm).then((function(t){return e.workTaskForm=t,t})).then((function(r){var s={workTaskId:r.id};e.$store.dispatch("workflow/startWorkTask",s).then((function(r){e.callback(),t.loading=!1})).catch((function(t){e.loading=!1}))})).catch((function(t){e.loading=!1}))},passApprove:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:"",formData:this.workStep.formData},r=this;this.$store.dispatch("workflow/passProve",t).then((function(t){r.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},rejectApprove:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:""},r=this;this.$store.dispatch("workflow/rejectProve",t).then((function(t){r.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},forwardProve:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:"",userSelectors:this.workStep.userSelectors},r=this;this.$store.dispatch("workflow/forwardProve",t).then((function(t){r.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},withdrawProve:function(e){var t=this;this.loading=!0;var r={stepId:e,comment:this.workStep.comment},s=this;this.$store.dispatch("workflow/withdrawProve",r).then((function(e){s.loading=!1,t.callback()})).catch((function(e){t.loading=!1}))}}},b=v,g=Object(u["a"])(b,s,a,!1,null,null,null);t["default"]=g.exports},7156:function(e,t,r){var s=r("861d"),a=r("d2bb");e.exports=function(e,t,r){var o,i;return a&&"function"==typeof(o=t.constructor)&&o!==r&&s(i=o.prototype)&&i!==r.prototype&&a(e,i),e}},a15b:function(e,t,r){"use strict";var s=r("23e7"),a=r("44ad"),o=r("fc6a"),i=r("a640"),n=[].join,l=a!=Object,c=i("join",",");s({target:"Array",proto:!0,forced:l||!c},{join:function(e){return n.call(o(this),void 0===e?",":e)}})},a434:function(e,t,r){"use strict";var s=r("23e7"),a=r("23cb"),o=r("a691"),i=r("50c4"),n=r("7b0b"),l=r("65f0"),c=r("8418"),d=r("1dde"),u=r("ae40"),h=d("splice"),p=u("splice",{ACCESSORS:!0,0:0,1:2}),f=Math.max,m=Math.min,k=9007199254740991,w="Maximum allowed length exceeded";s({target:"Array",proto:!0,forced:!h||!p},{splice:function(e,t){var r,s,d,u,h,p,v=n(this),b=i(v.length),g=a(e,b),S=arguments.length;if(0===S?r=s=0:1===S?(r=0,s=b-g):(r=S-2,s=m(f(o(t),0),b-g)),b+r-s>k)throw TypeError(w);for(d=l(v,s),u=0;ub-s+r;u--)delete v[u-1]}else if(r>s)for(u=b-s;u>g;u--)h=u+s-1,p=u+r-1,h in v?v[p]=v[h]:delete v[p];for(u=0;u2)if(c=k(c),t=c.charCodeAt(0),43===t||45===t){if(r=c.charCodeAt(2),88===r||120===r)return NaN}else if(48===t){switch(c.charCodeAt(1)){case 66:case 98:s=2,a=49;break;case 79:case 111:s=8,a=55;break;default:return+c}for(o=c.slice(2),i=o.length,n=0;na)return NaN;return parseInt(o,s)}return+c};if(o(w,!v(" 0o1")||!v("0b1")||v("+0x1"))){for(var y,_=function(e){var t=arguments.length<1?0:e,r=this;return r instanceof _&&(g?u((function(){b.valueOf.call(r)})):l(r)!=w)?c(new v(S(t)),r,_):S(t)},T=s?p(v):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),I=0;T.length>I;I++)n(v,y=T[I])&&!n(_,y)&&m(_,y,f(v,y));_.prototype=b,b.constructor=_,i(a,w,_)}}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-a70c5b14.701e16b1.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-a70c5b14.701e16b1.js deleted file mode 100644 index 8fe5cbb40365e123efc8397a7196e6d372bee49f..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-a70c5b14.701e16b1.js +++ /dev/null @@ -1 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-a70c5b14"],{"0ccb":function(t,e,n){var i=n("50c4"),l=n("1148"),o=n("1d80"),a=Math.ceil,r=function(t){return function(e,n,r){var s,c,u=String(o(e)),d=u.length,f=void 0===r?" ":String(r),h=i(n);return h<=d||""==f?u:(s=h-d,c=l.call(f,a(s/f.length)),c.length>s&&(c=c.slice(0,s)),t?u+c:c+u)}};t.exports={start:r(!1),end:r(!0)}},1148:function(t,e,n){"use strict";var i=n("a691"),l=n("1d80");t.exports="".repeat||function(t){var e=String(l(this)),n="",o=i(t);if(o<0||o==1/0)throw RangeError("Wrong number of repetitions");for(;o>0;(o>>>=1)&&(e+=e))1&o&&(n+=e);return n}},1245:function(t,e,n){"use strict";n("6216")},"1c3a":function(t,e,n){"use strict";n("cd17")},"4d90":function(t,e,n){"use strict";var i=n("23e7"),l=n("0ccb").start,o=n("9a0c");i({target:"String",proto:!0,forced:o},{padStart:function(t){return l(this,t,arguments.length>1?arguments[1]:void 0)}})},6129:function(t,e,n){},6216:function(t,e,n){},"98c2":function(t,e,n){},"9a0c":function(t,e,n){var i=n("342f");t.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(i)},cd17:function(t,e,n){},f7af:function(t,e,n){"use strict";n.r(e);var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{directives:[{name:"loading",rawName:"v-loading",value:t.loading.getPageList,expression:"loading.getPageList"}],staticClass:"app-container"},[n("div",[n("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.getPageList}},[t._v("刷新")])],1),n("br"),n("el-table",{staticStyle:{width:"100%"},attrs:{data:t.tableData,border:""}},[n("el-table-column",{attrs:{type:"index",label:"序号",width:"60"}}),n("el-table-column",{attrs:{prop:"name",label:"标题"}}),n("el-table-column",{attrs:{prop:"workflowName",label:"流程名称",width:"250"},scopedSlots:t._u([{key:"default",fn:function(e){return[n("span",[t._v(t._s(e.row.workflowId.workflowName))])]}}])}),n("el-table-column",{attrs:{label:"审批状态",width:"80"},scopedSlots:t._u([{key:"default",fn:function(e){return[0==e.row.workTaskStatus?n("span",[t._v("待发起")]):t._e(),1==e.row.workTaskStatus?n("span",[t._v("审批中")]):t._e(),2==e.row.workTaskStatus?n("span",[t._v("已审批")]):t._e()]}}])}),n("el-table-column",{attrs:{prop:"creationTime",formatter:t.dateFormat,label:"创建时间",width:"160"}}),n("el-table-column",{attrs:{prop:"modifiedTime",formatter:t.dateFormat,label:"更新时间",width:"160"}}),n("el-table-column",{attrs:{fixed:"right",label:"操作",width:"200"},scopedSlots:t._u([{key:"default",fn:function(e){return[n("el-button",{attrs:{type:"text",size:"small"},on:{click:function(n){return t.$refs.viewForm.show(e.row.id)}}},[t._v("查看")]),n("el-button",{attrs:{type:"text",size:"small"},on:{click:function(n){return t.$refs.workflowDesignForm.show({id:e.row.workflowId.id,version:e.row.workflowId.versionId})}}},[t._v("查看流程")])]}}])})],1),n("br"),n("el-pagination",{attrs:{background:"",layout:"sizes,prev, pager, next",total:t.page.total,"page-size":t.page.maxResultCount,"current-page":t.page.currentPage},on:{"current-change":function(e){return t.paginationChange(null,e)},"size-change":function(e){return t.paginationChange(e)}}}),n("viewForm",{ref:"viewForm"}),n("workflowDesignForm",{ref:"workflowDesignForm"})],1)},l=[],o=(n("4de4"),n("d3b7"),n("eb3e")),a=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("el-dialog",{attrs:{title:t.workTaskForm.name,visible:t.visible,width:"60%","close-on-click-modal":!1},on:{close:function(e){t.visible=!1}}},[0!=t.form.workflowStatus?n("el-card",{attrs:{shadow:"never"}},[n("el-form",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],ref:"form",staticClass:"demo-form",attrs:{model:t.form,rules:t.rules,"label-width":"0px","label-position":"top",size:"mini"}},[n("el-form-item",{attrs:{label:"",prop:"title"}},[n("controlPanel",{ref:"controlPanel",attrs:{isEdit:t.isEdit}})],1)],1)],1):t._e(),n("el-card",{staticClass:"card-provehistory",staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[n("div",{attrs:{slot:"header"},slot:"header"},[t._v("审批记录")]),t._l(t.workHistories,(function(e){return n("el-card",{key:e.id,staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[n("div",{attrs:{slot:"header"},slot:"header"},[n("span",[n("span",{staticClass:"historylabel"},[t._v("节点:")]),t._v(t._s(e.nodeName))]),n("div",{staticStyle:{float:"right",padding:"3px 0"}},[0==e.workStepType?n("span",[e.isHandled?n("span",{attrs:{underline:!1,type:"success"}},[n("span",[0==e.handleType?n("el-link",{attrs:{underline:!1,type:"success"}},[t._v("通过")]):t._e(),1==e.handleType?n("el-link",{attrs:{underline:!1,type:"danger"}},[t._v("拒绝")]):t._e(),2==e.handleType?n("el-link",{attrs:{underline:!1,type:"info"}},[t._v("撤回")]):t._e(),3==e.handleType?n("el-link",{attrs:{underline:!1,type:"warning"}},[t._v("转发")]):t._e(),4==e.handleType?n("el-link",{attrs:{underline:!1}},[t._v("未处理")]):t._e()],1)]):n("el-link",{attrs:{underline:!1,type:"info"}},[t._v("待处理")])],1):n("span",[n("el-link",{attrs:{underline:!1,type:"info"}},[t._v("只读")])],1)])]),n("div",[n("span",{staticClass:"historylabel"},[t._v("处理人:")]),t._v(" "+t._s(e.handleUser.name)+" ")]),n("div",[n("p",{staticClass:"historylabel"},[t._v("意见:")]),t._v(" "+t._s(e.comment)+" ")]),n("div",[n("p",{staticClass:"historylabel"},[t._v("附件:")]),t._v(" "+t._s(e.resourceIds)+" ")]),n("br"),n("div",{staticClass:"bottom clearfix"},[e.isHandled?n("time",{staticClass:"time"},[n("span",{staticClass:"historylabel"},[t._v("处理时间:")]),t._v(t._s(e.handlerTime))]):t._e()])])}))],2),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{size:"small"},on:{click:function(e){t.visible=!1}}},[t._v("取 消")]),n("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirm}},[t._v("确 定")])],1)],1)],1)},r=[],s=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-form",{ref:"form",staticClass:"dynamic-form",attrs:{"label-width":"auto","label-position":"top",size:"mini"}},[n("el-row",{attrs:{gutter:10}},[n("el-input",{attrs:{readonly:!0,type:"textarea",size:"normal",rows:5},model:{value:t.valueString,callback:function(e){t.valueString=e},expression:"valueString"}})],1)],1)},c=[],u=(n("e9c4"),function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-col",{attrs:{xs:24,sm:"table"==t.control.type?24:12,md:t._f("spanFileter")(t.control.span),lg:t._f("spanFileter")(t.control.span),xl:t._f("spanFileter")(t.control.span)}},["empty"==t.control.type&&t.isEditForm?n("div",{staticStyle:{height:"500px","text-align":"center",color:"#999999"}},[t._v(" 拖拽左边的组件到这里 ")]):t._e(),"empty"!=t.control.type?n("control",{class:{"dynamic-col":t.isEditForm,"dynamic-col-default":!t.isEditForm},attrs:{isEditForm:t.isEditForm}},["table"==t.control.type?[n("el-form-item",{attrs:{label:t.control.label}}),n("formItemTable",{attrs:{control:t.control,isEdit:t.isEdit},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}})]:"textarea"==t.control.type?[n("el-form-item",{attrs:{label:t.control.label}}),n("formItem",{attrs:{control:t.control,isEdit:t.isEdit},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}})]:n("el-form-item",{attrs:{label:t.control.label,prop:t.control.field}},[n("formItem",{attrs:{control:t.control,isEdit:t.isEdit},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}})],1),t.isEditForm?n("div",[n("el-tooltip",{staticClass:"item",attrs:{effect:"dark",content:"编辑组件信息,点击编辑在右侧配置组件属性",placement:"top"}},[n("el-button",{attrs:{type:"text"},on:{click:function(e){return t.$emit("edit")}}},[t._v(" 编辑 ")])],1),n("el-tooltip",{staticClass:"item",attrs:{effect:"dark",content:"复制一个组件插入到编辑面板",placement:"top"}},[n("el-button",{attrs:{type:"text"},on:{click:function(e){return t.$emit("copy")}}},[t._v(" 复制 ")])],1),n("el-tooltip",{staticClass:"item",attrs:{effect:"dark",content:"删除组件",placement:"top"}},[n("el-button",{attrs:{type:"text"},on:{click:function(e){return t.$emit("remove")}}},[t._v(" 删除 ")])],1)],1):t._e()],2):t._e()],1)}),d=[],f=(n("a9e3"),function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{class:{"control-container":t.isEditForm}},[t._t("default")],2)}),h=[],p={props:{isEditForm:{type:Boolean,default:!1}}},m=p,v=(n("fa1c"),n("2877")),g=Object(v["a"])(m,f,h,!1,null,"50490820",null),b=g.exports,y=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",["string"==t.control.type?n("el-input",{attrs:{readonly:!t.isEdit,size:"normal"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}}):t._e(),"number"==t.control.type?n("el-input",{attrs:{readonly:!t.isEdit,type:"number",size:"normal"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}}):t._e(),"textarea"==t.control.type?n("el-input",{attrs:{readonly:!t.isEdit,type:"textarea",size:"normal"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}}):t._e(),"checkbox"==t.control.type?n("el-checkbox-group",{attrs:{"aria-readonly":!t.isEdit,size:"normal"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}},t._l(t.control.options,(function(e,i){return n("el-checkbox",{key:e.value+i,attrs:{label:e.value,value:e.value}},[t._v(t._s(e.label))])})),1):t._e(),"radio"==t.control.type?n("el-radio-group",{attrs:{size:"normal"},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}},t._l(t.control.options,(function(e,i){return n("el-radio",{key:e.value+i,attrs:{"aria-readonly":!t.isEdit,label:e.value},on:{change:t.change}},[t._v(t._s(e.label))])})),1):t._e(),"select"==t.control.type?n("el-select",{staticStyle:{width:"100%"},attrs:{"aria-readonly":!t.isEdit,placeholder:"请选择",size:"normal"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}},t._l(t.control.options,(function(t,e){return n("el-option",{key:t.value+e,attrs:{label:t.label,value:t.value}})})),1):t._e(),"multipleselect"==t.control.type?n("el-select",{staticStyle:{width:"100%"},attrs:{"aria-readonly":!t.isEdit,placeholder:"请选择",multiple:"",size:"normal"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}},t._l(t.control.options,(function(t,e){return n("el-option",{key:t.value+e,attrs:{label:t.label,value:t.value}})})),1):t._e(),"date"==t.control.type?n("el-date-picker",{staticStyle:{width:"100%"},attrs:{readonly:!t.isEdit,size:"normal",type:"date",placeholder:"选择日期"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}}):t._e(),"time"==t.control.type?n("el-time-select",{staticStyle:{width:"100%"},attrs:{readonly:!t.isEdit,size:"normal",placeholder:"选择时间"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}}):t._e(),"datetime"==t.control.type?n("el-date-picker",{staticStyle:{width:"100%"},attrs:{readonly:!t.isEdit,size:"normal",type:"datetime",placeholder:"选择日期时间"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}}):t._e()],1)},k=[],w={props:{control:{type:Object,default:function(){return{}}},value:"",isEdit:{type:Boolean,default:!1}},model:{event:"change",prop:"value"},data:function(){return{thisValue:""}},watch:{value:function(){this.updateValue()}},mounted:function(){this.updateValue()},methods:{change:function(t){this.$emit("change",t)},updateValue:function(){this.value&&(this.thisValue=this.value)}}},_=w,V=Object(v["a"])(_,y,k,!1,null,null,null),x=V.exports,E=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("el-table",{staticStyle:{width:"100%"},attrs:{border:"",data:t.thisValue,stripe:"",size:"mini"}},[n("el-table-column",{attrs:{type:"index",label:"序号",width:"60"}}),t._l(t.control.options,(function(e){return n("el-table-column",{key:e.field,attrs:{prop:e.field,label:e.label,width:e.width||180},scopedSlots:t._u([{key:"default",fn:function(i){return[t.isEdit?n("formItem",{attrs:{control:e,isEdit:t.isEdit},model:{value:i.row[e.field],callback:function(n){t.$set(i.row,e.field,n)},expression:"scope.row[item.field]"}}):n("span",[t._v(t._s(i.row[e.field]))])]}}],null,!0)})})),n("el-table-column"),t.isEdit?n("el-table-column",{attrs:{fixed:"right",label:"操作",width:"50"},scopedSlots:t._u([{key:"default",fn:function(e){return[n("el-button",{attrs:{type:"text",size:"small"},on:{click:function(n){return t.removeItem(e.$index)}}},[t._v("删除")])]}}],null,!1,3436078618)}):t._e()],2),t.isEdit?n("el-button",{attrs:{type:"text",size:"small"},on:{click:t.addItem}},[t._v("添加")]):t._e()],1)},S=[],F=(n("159b"),n("a434"),{components:{formItem:x},props:{control:{type:Object,default:function(){return{span:12,type:"table",field:"field",label:"label",default:"",options:[{type:"string",field:"field",label:"label",width:"180",default:""}]}}},value:null,isEdit:{type:Boolean,default:!1}},model:{event:"change",prop:"value"},data:function(){return{thisValue:[]}},watch:{value:function(){this.value instanceof Array&&(this.thisValue=this.value)},thisValue:function(){this.$emit("change",this.thisValue)}},methods:{addItem:function(){var t={};this.control.options.forEach((function(e){t[e.field]=e.default})),this.thisValue.push(t)},removeItem:function(t){this.thisValue.splice(t,1)}}}),C=F,$=Object(v["a"])(C,E,S,!1,null,null,null),I=$.exports,T={name:"dynamicCol",components:{control:b,formItem:x,formItemTable:I},props:{control:{type:Object,default:function(){return{}}},value:{},isEdit:{type:Boolean,default:!1},isEditForm:{type:Boolean,default:!1}},model:{event:"change",prop:"value"},filters:{spanFileter:function(t){return isNaN(t)?8:Number(t)}},watch:{value:function(){this.thisValue=this.value}},data:function(){return{thisValue:""}},mounted:function(){this.thisValue=this.value},methods:{change:function(t){this.$emit("change",t)}}},D=T,z=(n("1c3a"),Object(v["a"])(D,u,d,!1,null,null,null)),N=z.exports,O=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-col",{attrs:{xs:24,sm:"table"==t.control.type?24:12,md:t._f("spanFileter")(t.control.span),lg:t._f("spanFileter")(t.control.span),xl:t._f("spanFileter")(t.control.span)}},[n("control",{staticClass:"dynamic-col"},[n("el-form-item",{attrs:{label:t.control.label}},[n("el-row",{staticClass:"dynamic-col",staticStyle:{"min-height":"200px"},attrs:{gutter:10}},[n("draggable",t._b({attrs:{animation:500,dragClass:"dragClass",ghostClass:"ghostClass",chosenClass:"chosenClass"},model:{value:t.orderedcontrols,callback:function(e){t.orderedcontrols=e},expression:"orderedcontrols"}},"draggable",{group:{name:"controlpanel"},sort:!0},!1),[n("transition-group",t._l(t.orderedcontrols,(function(e,i){return n("dynamicCol",{key:i,attrs:{control:e||{},isEdit:!0,isEditForm:t.isEditForm},on:{edit:function(n){return t.editCtrl(e)},remove:function(e){return t.removeCtrl(i)},copy:function(e){return t.copyCtrl(i)}},model:{value:t.bindModel(e)[e.field],callback:function(n){t.$set(t.bindModel(e),e.field,n)},expression:"bindModel(control)[control.field]"}})})),1)],1)],1),n("div",[n("el-button",{attrs:{type:"text"},on:{click:function(e){return t.$emit("edit")}}},[t._v("edit")]),n("el-button",{attrs:{type:"text"},on:{click:function(e){return t.$emit("remove")}}},[t._v("remove")]),n("el-button",{attrs:{type:"text"},on:{click:function(e){return t.$emit("copy")}}},[t._v("copy")])],1)],1)],1)],1)},P=[],j=n("b76a"),H=n.n(j),W={name:"dynamicContainer",components:{draggable:H.a,dynamicCol:N,control:b},props:{control:{type:Object,default:function(){return{}}},value:null,isEdit:{type:Boolean,default:!1},isEditForm:{type:Boolean,default:!1}},filters:{spanFileter:function(t){return isNaN(t)?8:Number(t)}},model:{event:"change",prop:"value"},data:function(){return{thisValue:{}}},computed:{orderedcontrols:{get:function(){return this.control.options.filter((function(t){return t}))},set:function(t){this.control.options=t}}},watch:{value:function(){this.thisValue=this.value},thisValue:{deep:!0,handler:function(){this.change(this.thisValue)}}},mounted:function(){console.log(this.control),this.thisValue=this.value},methods:{change:function(t){this.$emit("change",t)},bindModel:function(t){return t||(t={}),"empty"==t.type?{}:(this.thisValue[t.field]||this.$set(this.thisValue,t.field,t.default),this.thisValue)},editCtrl:function(t){this.currentControl=t,this.$emit("edit",this.currentControl)},copyCtrl:function(t){var e=JSON.parse(JSON.stringify(this.control.options[t]));this.control.options.splice(t,0,e)},removeCtrl:function(t){this.control.options.splice(t,1)}}},U=W,B=(n("1245"),Object(v["a"])(U,O,P,!1,null,null,null)),J=B.exports,L={components:{dynamicCol:N,dynamicContainer:J},props:{isEdit:{type:Boolean,default:!1}},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",isEditForm:!1,value:{},valueString:"",controls:[{span:12,type:"empty",field:"field",label:"label",default:"",options:[]}]}},methods:{bindModel:function(t){return t||(t={}),this.value[t.field]||this.$set(this.value,t.field,t.default),this.value},setValue:function(t,e){var n=this;this.valueString=JSON.stringify(e),this.$set(this,"value",e),this.controls=[];this.$nextTick((function(){n.controls=t}))},getValue:function(){return this.value}}},M=L,A=Object(v["a"])(M,s,c,!1,null,null,null),R=A.exports;n("a4d3"),n("e01a"),n("d28b"),n("3ca3"),n("ddb0");n("ac1f"),n("00b4"),n("5319"),n("4d63"),n("2c3e"),n("25f0"),n("4d90"),n("1276"),n("a15b");var K={components:{controlPanel:R},props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()},"form.formDesignId.id":{handler:function(t,e){var n=this;if(t!=e){var i=this.selections.filter((function(t){return t.id==n.form.formDesignId.id}))[0];if(i){var l={id:i.id,version:i.activeVersion};this.getDesign(l)}}}}},model:{prop:"value",event:"change"},computed:{currentUserId:function(){return this.$store.state.user.user.id},canHandle:function(){var t=this;return this.workHistories.filter((function(e){return e.handleUser.id==t.currentUserId&&0==e.isHandled&&0==e.workStepType})).length>0}},data:function(){return{loading:!1,visible:!1,form:{name:"",formDesignId:{}},controls:[],selections:[],rules:{},isEdit:!1,workTaskForm:{id:"",createdUserId:"",entityFullName:"",entityKeyValue:"",formData:"{}",workTaskStatus:"",name:"模拟流程",workflowId:{}},workStep:{handleUser:{id:""},userSelectors:[{selectorId:"",selectorName:"",selections:[],parameter:"",description:"",handleType:0}],comment:"",stepId:""},workHistories:[],isForward:!1}},methods:{confirm:function(){this.commit()},show:function(t){this.visible=!0,t&&this.loadData(t)},hide:function(){this.visible=!1,this.form={name:"",formDesignId:{},formData:{}},this.isForward=!1},loadData:function(t){var e=this;this.loading=!0,this.getWorkTask(t).then((function(t){e.getAllTaskStepsOfWorkTask(),e.$refs.controlPanel.setValue([],JSON.parse(t.formData||"{}")),e.loading=!1}))},commit:function(){this.$emit("ok-click",{}),this.hide()},getDesign:function(t){return this.$store.dispatch("dynamicFormDesign/getFormDesignVersion",t).then((function(t){return t&&t.designContent?JSON.parse(t&&t.designContent):[]}))},getDesignName:function(t){var e=this.selections.filter((function(e){return e.id==t}));return e&&e.length>0?e[0].title:""},getWorkTask:function(t){var e=this;return this.$store.dispatch("workflow/getWorkTask",{id:t}).then((function(t){return e.workTaskForm=t,t})).catch((function(t){e.loading=!1}))},loadFormInstance:function(t){var e=this;this.loading=!0,this.$store.dispatch("dynamicFormInstance/get",{id:t}).then((function(t){e.form=t,e.getDesign(e.form.formDesignId).then((function(n){e.loading=!1,e.$refs.controlPanel.setValue(n,JSON.parse(t.formData||"{}"))}))}))},getAllTaskStepsOfWorkTask:function(){var t=this;this.$store.dispatch("workflow/getAllTaskStepsOfWorkTask",{worktaskId:this.workTaskForm.id}).then((function(e){t.workHistories=e;var n=t.workHistories.filter((function(e){return e.handleUser.id==t.$store.state.user.user.id&&0==e.isHandled&&0==e.workStepType}))[0];t.workStep.handleUser=n.handleUser,t.workStep.id=n.id})).catch((function(e){t.loading=!1}))},callback:function(){this.loadData(this.workTaskForm.id)}}},q=K,G=(n("f84a"),Object(v["a"])(q,a,r,!1,null,null,null)),Q=G.exports,X=n("37c0"),Y={components:{viewForm:Q,workflowDesignForm:X["a"]},mixins:[o["a"]],data:function(){return{moduleName:"dynamicFormInstance",selections:[]}},mounted:function(){},methods:{getPageList:function(){var t=this;this.loading.getPageList=!0,this.page.skipCount=(this.page.currentPage-1)*this.page.maxResultCount,this.$store.dispatch("workflow/getAllWorkTasks",this.page).then((function(e){t.tableData=e.items,t.page.total=e.total,t.loading.getPageList=!1}))},getDesignName:function(t){var e=this.selections.filter((function(e){return e.id==t}));return e&&e.length>0?e[0].title:""},startwork:function(t){var e=this,n={entityFullName:"DynamicForm.Core.Forms.FormInstance",entityKeyValue:t.id,formData:t.formData||"{}",name:this.getDesignName(t.formDesignId.id)+"-"+t.title,workflowId:{id:t.workflowId.id,versionId:t.workflowId.version}};return this.$store.dispatch("workflow/createAndStartWorkTask",n).then((function(t){setTimeout(e.getPageList,500),e.$message({message:"发起成功,稍后刷新更新状态!",type:"success"})}))}}},Z=Y,tt=Object(v["a"])(Z,i,l,!1,null,null,null);e["default"]=tt.exports},f84a:function(t,e,n){"use strict";n("6129")},fa1c:function(t,e,n){"use strict";n("98c2")}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-31c818f5.53b36018.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-b6a04838.bba60e08.js similarity index 43% rename from WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-31c818f5.53b36018.js rename to WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-b6a04838.bba60e08.js index e897fe84649c382117a2cb3e87477b6a3a8a724e..abe5ab2634951442dbe2ac901dfb6f6d1d1c1be9 100644 --- a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-31c818f5.53b36018.js +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-b6a04838.bba60e08.js @@ -1,4 +1,4 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-31c818f5"],{1276:function(t,e,n){"use strict";var r=n("d784"),i=n("44e7"),o=n("825a"),a=n("1d80"),l=n("4840"),u=n("8aa5"),s=n("50c4"),c=n("14c3"),f=n("9263"),h=n("d039"),d=[].push,p=Math.min,v=4294967295,g=!h((function(){return!RegExp(v,"y")}));r("split",2,(function(t,e,n){var r;return r="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,n){var r=String(a(this)),o=void 0===n?v:n>>>0;if(0===o)return[];if(void 0===t)return[r];if(!i(t))return e.call(r,t,o);var l,u,s,c=[],h=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),p=0,g=new RegExp(t.source,h+"g");while(l=f.call(g,r)){if(u=g.lastIndex,u>p&&(c.push(r.slice(p,l.index)),l.length>1&&l.index=o))break;g.lastIndex===l.index&&g.lastIndex++}return p===r.length?!s&&g.test("")||c.push(""):c.push(r.slice(p)),c.length>o?c.slice(0,o):c}:"0".split(void 0,0).length?function(t,n){return void 0===t&&0===n?[]:e.call(this,t,n)}:e,[function(e,n){var i=a(this),o=void 0==e?void 0:e[t];return void 0!==o?o.call(e,i,n):r.call(String(i),e,n)},function(t,i){var a=n(r,t,this,i,r!==e);if(a.done)return a.value;var f=o(t),h=String(this),d=l(f,RegExp),m=f.unicode,y=(f.ignoreCase?"i":"")+(f.multiline?"m":"")+(f.unicode?"u":"")+(g?"y":"g"),b=new d(g?f:"^(?:"+f.source+")",y),w=void 0===i?v:i>>>0;if(0===w)return[];if(0===h.length)return null===c(b,h)?[h]:[];var x=0,C=0,S=[];while(C1||"".split(/.?/).length?function(t,n){var r=String(a(this)),o=void 0===n?v:n>>>0;if(0===o)return[];if(void 0===t)return[r];if(!i(t))return e.call(r,t,o);var l,u,s,c=[],h=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),p=0,g=new RegExp(t.source,h+"g");while(l=f.call(g,r)){if(u=g.lastIndex,u>p&&(c.push(r.slice(p,l.index)),l.length>1&&l.index=o))break;g.lastIndex===l.index&&g.lastIndex++}return p===r.length?!s&&g.test("")||c.push(""):c.push(r.slice(p)),c.length>o?c.slice(0,o):c}:"0".split(void 0,0).length?function(t,n){return void 0===t&&0===n?[]:e.call(this,t,n)}:e,[function(e,n){var i=a(this),o=void 0==e?void 0:e[t];return void 0!==o?o.call(e,i,n):r.call(String(i),e,n)},function(t,i){var a=n(r,t,this,i,r!==e);if(a.done)return a.value;var f=o(t),h=String(this),d=l(f,RegExp),m=f.unicode,y=(f.ignoreCase?"i":"")+(f.multiline?"m":"")+(f.unicode?"u":"")+(g?"y":"g"),w=new d(g?f:"^(?:"+f.source+")",y),b=void 0===i?v:i>>>0;if(0===b)return[];if(0===h.length)return null===c(w,h)?[h]:[];var x=0,C=0,k=[];while(C @@ -6,11 +6,4 @@ * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */(function(){var o,a="4.17.21",l=200,u="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",s="Expected a function",c="Invalid `variable` option passed into `_.template`",f="__lodash_hash_undefined__",h=500,d="__lodash_placeholder__",p=1,v=2,g=4,m=1,y=2,b=1,w=2,x=4,C=8,S=16,_=32,k=64,T=128,M=256,L=512,E=30,O="...",A=800,D=16,N=1,I=2,P=3,R=1/0,W=9007199254740991,j=17976931348623157e292,F=NaN,z=4294967295,H=z-1,B=z>>>1,$=[["ary",T],["bind",b],["bindKey",w],["curry",C],["curryRight",S],["flip",L],["partial",_],["partialRight",k],["rearg",M]],U="[object Arguments]",V="[object Array]",G="[object AsyncFunction]",X="[object Boolean]",K="[object Date]",Y="[object DOMException]",q="[object Error]",Z="[object Function]",J="[object GeneratorFunction]",Q="[object Map]",tt="[object Number]",et="[object Null]",nt="[object Object]",rt="[object Promise]",it="[object Proxy]",ot="[object RegExp]",at="[object Set]",lt="[object String]",ut="[object Symbol]",st="[object Undefined]",ct="[object WeakMap]",ft="[object WeakSet]",ht="[object ArrayBuffer]",dt="[object DataView]",pt="[object Float32Array]",vt="[object Float64Array]",gt="[object Int8Array]",mt="[object Int16Array]",yt="[object Int32Array]",bt="[object Uint8Array]",wt="[object Uint8ClampedArray]",xt="[object Uint16Array]",Ct="[object Uint32Array]",St=/\b__p \+= '';/g,_t=/\b(__p \+=) '' \+/g,kt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Tt=/&(?:amp|lt|gt|quot|#39);/g,Mt=/[&<>"']/g,Lt=RegExp(Tt.source),Et=RegExp(Mt.source),Ot=/<%-([\s\S]+?)%>/g,At=/<%([\s\S]+?)%>/g,Dt=/<%=([\s\S]+?)%>/g,Nt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,It=/^\w*$/,Pt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Rt=/[\\^$.*+?()[\]{}|]/g,Wt=RegExp(Rt.source),jt=/^\s+/,Ft=/\s/,zt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ht=/\{\n\/\* \[wrapped with (.+)\] \*/,Bt=/,? & /,$t=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ut=/[()=,{}\[\]\/\s]/,Vt=/\\(\\)?/g,Gt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Xt=/\w*$/,Kt=/^[-+]0x[0-9a-f]+$/i,Yt=/^0b[01]+$/i,qt=/^\[object .+?Constructor\]$/,Zt=/^0o[0-7]+$/i,Jt=/^(?:0|[1-9]\d*)$/,Qt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,te=/($^)/,ee=/['\n\r\u2028\u2029\\]/g,ne="\\ud800-\\udfff",re="\\u0300-\\u036f",ie="\\ufe20-\\ufe2f",oe="\\u20d0-\\u20ff",ae=re+ie+oe,le="\\u2700-\\u27bf",ue="a-z\\xdf-\\xf6\\xf8-\\xff",se="\\xac\\xb1\\xd7\\xf7",ce="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",fe="\\u2000-\\u206f",he=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",de="A-Z\\xc0-\\xd6\\xd8-\\xde",pe="\\ufe0e\\ufe0f",ve=se+ce+fe+he,ge="['’]",me="["+ne+"]",ye="["+ve+"]",be="["+ae+"]",we="\\d+",xe="["+le+"]",Ce="["+ue+"]",Se="[^"+ne+ve+we+le+ue+de+"]",_e="\\ud83c[\\udffb-\\udfff]",ke="(?:"+be+"|"+_e+")",Te="[^"+ne+"]",Me="(?:\\ud83c[\\udde6-\\uddff]){2}",Le="[\\ud800-\\udbff][\\udc00-\\udfff]",Ee="["+de+"]",Oe="\\u200d",Ae="(?:"+Ce+"|"+Se+")",De="(?:"+Ee+"|"+Se+")",Ne="(?:"+ge+"(?:d|ll|m|re|s|t|ve))?",Ie="(?:"+ge+"(?:D|LL|M|RE|S|T|VE))?",Pe=ke+"?",Re="["+pe+"]?",We="(?:"+Oe+"(?:"+[Te,Me,Le].join("|")+")"+Re+Pe+")*",je="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Fe="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",ze=Re+Pe+We,He="(?:"+[xe,Me,Le].join("|")+")"+ze,Be="(?:"+[Te+be+"?",be,Me,Le,me].join("|")+")",$e=RegExp(ge,"g"),Ue=RegExp(be,"g"),Ve=RegExp(_e+"(?="+_e+")|"+Be+ze,"g"),Ge=RegExp([Ee+"?"+Ce+"+"+Ne+"(?="+[ye,Ee,"$"].join("|")+")",De+"+"+Ie+"(?="+[ye,Ee+Ae,"$"].join("|")+")",Ee+"?"+Ae+"+"+Ne,Ee+"+"+Ie,Fe,je,we,He].join("|"),"g"),Xe=RegExp("["+Oe+ne+ae+pe+"]"),Ke=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ye=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],qe=-1,Ze={};Ze[pt]=Ze[vt]=Ze[gt]=Ze[mt]=Ze[yt]=Ze[bt]=Ze[wt]=Ze[xt]=Ze[Ct]=!0,Ze[U]=Ze[V]=Ze[ht]=Ze[X]=Ze[dt]=Ze[K]=Ze[q]=Ze[Z]=Ze[Q]=Ze[tt]=Ze[nt]=Ze[ot]=Ze[at]=Ze[lt]=Ze[ct]=!1;var Je={};Je[U]=Je[V]=Je[ht]=Je[dt]=Je[X]=Je[K]=Je[pt]=Je[vt]=Je[gt]=Je[mt]=Je[yt]=Je[Q]=Je[tt]=Je[nt]=Je[ot]=Je[at]=Je[lt]=Je[ut]=Je[bt]=Je[wt]=Je[xt]=Je[Ct]=!0,Je[q]=Je[Z]=Je[ct]=!1;var Qe={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"},tn={"&":"&","<":"<",">":">",'"':""","'":"'"},en={"&":"&","<":"<",">":">",""":'"',"'":"'"},nn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},rn=parseFloat,on=parseInt,an="object"==typeof t&&t&&t.Object===Object&&t,ln="object"==typeof self&&self&&self.Object===Object&&self,un=an||ln||Function("return this")(),sn=e&&!e.nodeType&&e,cn=sn&&"object"==typeof r&&r&&!r.nodeType&&r,fn=cn&&cn.exports===sn,hn=fn&&an.process,dn=function(){try{var t=cn&&cn.require&&cn.require("util").types;return t||hn&&hn.binding&&hn.binding("util")}catch(e){}}(),pn=dn&&dn.isArrayBuffer,vn=dn&&dn.isDate,gn=dn&&dn.isMap,mn=dn&&dn.isRegExp,yn=dn&&dn.isSet,bn=dn&&dn.isTypedArray;function wn(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function xn(t,e,n,r){var i=-1,o=null==t?0:t.length;while(++i-1}function Mn(t,e,n){var r=-1,i=null==t?0:t.length;while(++r-1);return n}function tr(t,e){var n=t.length;while(n--&&jn(e,t[n],0)>-1);return n}function er(t,e){var n=t.length,r=0;while(n--)t[n]===e&&++r;return r}var nr=$n(Qe),rr=$n(tn);function ir(t){return"\\"+nn[t]}function or(t,e){return null==t?o:t[e]}function ar(t){return Xe.test(t)}function lr(t){return Ke.test(t)}function ur(t){var e,n=[];while(!(e=t.next()).done)n.push(e.value);return n}function sr(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}function cr(t,e){return function(n){return t(e(n))}}function fr(t,e){var n=-1,r=t.length,i=0,o=[];while(++n-1}function Br(t,e){var n=this.__data__,r=ci(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}function $r(t){var e=-1,n=null==t?0:t.length;this.clear();while(++e=e?t:e)),t}function mi(t,e,n,r,i,a){var l,u=e&p,s=e&v,c=e&g;if(n&&(l=i?n(t,r,i,a):n(t)),l!==o)return l;if(!_c(t))return t;var f=uc(t);if(f){if(l=el(t),!u)return ia(t,l)}else{var h=Za(t),d=h==Z||h==J;if(dc(t))return Ko(t,u);if(h==nt||h==U||d&&!i){if(l=s||d?{}:nl(t),!u)return s?la(t,di(l,t)):aa(t,hi(l,t))}else{if(!Je[h])return i?t:{};l=rl(t,h,u)}}a||(a=new Jr);var m=a.get(t);if(m)return m;a.set(t,l),Wc(t)?t.forEach((function(r){l.add(mi(r,e,n,r,t,a))})):Tc(t)&&t.forEach((function(r,i){l.set(i,mi(r,e,n,i,t,a))}));var y=c?s?za:Fa:s?_f:Sf,b=f?o:y(t);return Cn(b||t,(function(r,i){b&&(i=r,r=t[i]),si(l,i,mi(r,e,n,i,t,a))})),l}function yi(t){var e=Sf(t);return function(n){return bi(n,t,e)}}function bi(t,e,n){var r=n.length;if(null==t)return!r;t=ne(t);while(r--){var i=n[r],a=e[i],l=t[i];if(l===o&&!(i in t)||!a(l))return!1}return!0}function wi(t,e,n){if("function"!=typeof t)throw new oe(s);return kl((function(){t.apply(o,n)}),e)}function xi(t,e,n,r){var i=-1,o=Tn,a=!0,u=t.length,s=[],c=e.length;if(!u)return s;n&&(e=Ln(e,qn(n))),r?(o=Mn,a=!1):e.length>=l&&(o=Jn,a=!1,e=new Yr(e));t:while(++ii?0:i+n),r=r===o||r>i?i:Kc(r),r<0&&(r+=i),r=n>r?0:Yc(r);while(n0&&n(l)?e>1?Li(l,e-1,n,r,i):En(i,l):r||(i[i.length]=l)}return i}var Ei=fa(),Oi=fa(!0);function Ai(t,e){return t&&Ei(t,e,Sf)}function Di(t,e){return t&&Oi(t,e,Sf)}function Ni(t,e){return kn(e,(function(e){return xc(t[e])}))}function Ii(t,e){e=Uo(e,t);var n=0,r=e.length;while(null!=t&&ne}function ji(t,e){return null!=t&&fe.call(t,e)}function Fi(t,e){return null!=t&&e in ne(t)}function zi(t,e,n){return t>=He(e,n)&&t=120&&h.length>=120)?new Yr(u&&h):o}h=t[0];var d=-1,p=s[0];t:while(++d-1)l!==t&&ke.call(l,u,1),ke.call(t,u,1)}return t}function mo(t,e){var n=t?e.length:0,r=n-1;while(n--){var i=e[n];if(n==r||i!==o){var o=i;al(i)?ke.call(t,i,1):Ro(t,i)}}return t}function yo(t,e){return t+Ie(Ge()*(e-t+1))}function bo(t,e,r,i){var o=-1,a=ze(Ne((e-t)/(r||1)),0),l=n(a);while(a--)l[i?a:++o]=t,t+=r;return l}function wo(t,e){var n="";if(!t||e<1||e>W)return n;do{e%2&&(n+=t),e=Ie(e/2),e&&(t+=t)}while(e);return n}function xo(t,e){return Tl(wl(t,e,Ah),t+"")}function Co(t){return oi(Bf(t))}function So(t,e){var n=Bf(t);return El(n,gi(e,0,n.length))}function _o(t,e,n,r){if(!_c(t))return t;e=Uo(e,t);var i=-1,a=e.length,l=a-1,u=t;while(null!=u&&++io?0:o+e),r=r>o?o:r,r<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;var a=n(o);while(++i>>1,a=t[o];null!==a&&!Fc(a)&&(n?a<=e:a=l){var c=e?null:Ea(t);if(c)return hr(c);a=!1,i=Jn,s=new Yr}else s=e?[]:u;t:while(++r=r?t:Lo(t,e,n)}var Xo=Oe||function(t){return un.clearTimeout(t)};function Ko(t,e){if(e)return t.slice();var n=t.length,r=xe?xe(n):new t.constructor(n);return t.copy(r),r}function Yo(t){var e=new t.constructor(t.byteLength);return new we(e).set(new we(t)),e}function qo(t,e){var n=e?Yo(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}function Zo(t){var e=new t.constructor(t.source,Xt.exec(t));return e.lastIndex=t.lastIndex,e}function Jo(t){return pr?ne(pr.call(t)):{}}function Qo(t,e){var n=e?Yo(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function ta(t,e){if(t!==e){var n=t!==o,r=null===t,i=t===t,a=Fc(t),l=e!==o,u=null===e,s=e===e,c=Fc(e);if(!u&&!c&&!a&&t>e||a&&l&&s&&!u&&!c||r&&l&&s||!n&&s||!i)return 1;if(!r&&!a&&!c&&t=l)return u;var s=n[r];return u*("desc"==s?-1:1)}}return t.index-e.index}function na(t,e,r,i){var o=-1,a=t.length,l=r.length,u=-1,s=e.length,c=ze(a-l,0),f=n(s+c),h=!i;while(++u1?n[i-1]:o,l=i>2?n[2]:o;a=t.length>3&&"function"==typeof a?(i--,a):o,l&&ll(n[0],n[1],l)&&(a=i<3?o:a,i=1),e=ne(e);while(++r-1?i[a?e[l]:l]:o}}function ya(t){return ja((function(e){var n=e.length,r=n,i=Tr.prototype.thru;t&&e.reverse();while(r--){var a=e[r];if("function"!=typeof a)throw new oe(s);if(i&&!l&&"wrapper"==Ba(a))var l=new Tr([],!0)}r=l?r:n;while(++r1&&b.reverse(),h&&cu))return!1;var c=a.get(t),f=a.get(e);if(c&&f)return c==e&&f==t;var h=-1,d=!0,p=n&y?new Yr:o;a.set(t,e),a.set(e,t);while(++h1?"& ":"")+e[r],e=e.join(n>2?", ":" "),t.replace(zt,"{\n/* [wrapped with "+e+"] */\n")}function ol(t){return uc(t)||lc(t)||!!(Te&&t&&t[Te])}function al(t,e){var n=typeof t;return e=null==e?W:e,!!e&&("number"==n||"symbol"!=n&&Jt.test(t))&&t>-1&&t%1==0&&t0){if(++e>=A)return arguments[0]}else e=0;return t.apply(o,arguments)}}function El(t,e){var n=-1,r=t.length,i=r-1;e=e===o?r:e;while(++n1?t[e-1]:o;return n="function"==typeof n?(t.pop(),n):o,Ru(t,n)}));function Vu(t){var e=xr(t);return e.__chain__=!0,e}function Gu(t,e){return e(t),t}function Xu(t,e){return e(t)}var Ku=ja((function(t){var e=t.length,n=e?t[0]:0,r=this.__wrapped__,i=function(e){return vi(e,t)};return!(e>1||this.__actions__.length)&&r instanceof Mr&&al(n)?(r=r.slice(n,+n+(e?1:0)),r.__actions__.push({func:Xu,args:[i],thisArg:o}),new Tr(r,this.__chain__).thru((function(t){return e&&!t.length&&t.push(o),t}))):this.thru(i)}));function Yu(){return Vu(this)}function qu(){return new Tr(this.value(),this.__chain__)}function Zu(){this.__values__===o&&(this.__values__=Gc(this.value()));var t=this.__index__>=this.__values__.length,e=t?o:this.__values__[this.__index__++];return{done:t,value:e}}function Ju(){return this}function Qu(t){var e,n=this;while(n instanceof kr){var r=Il(n);r.__index__=0,r.__values__=o,e?i.__wrapped__=r:e=r;var i=r;n=n.__wrapped__}return i.__wrapped__=t,e}function ts(){var t=this.__wrapped__;if(t instanceof Mr){var e=t;return this.__actions__.length&&(e=new Mr(this)),e=e.reverse(),e.__actions__.push({func:Xu,args:[pu],thisArg:o}),new Tr(e,this.__chain__)}return this.thru(pu)}function es(){return Fo(this.__wrapped__,this.__actions__)}var ns=ua((function(t,e,n){fe.call(t,n)?++t[n]:pi(t,n,1)}));function rs(t,e,n){var r=uc(t)?_n:_i;return n&&ll(t,e,n)&&(e=o),r(t,Ua(e,3))}function is(t,e){var n=uc(t)?kn:Mi;return n(t,Ua(e,3))}var os=ma(Gl),as=ma(Xl);function ls(t,e){return Li(gs(t,e),1)}function us(t,e){return Li(gs(t,e),R)}function ss(t,e,n){return n=n===o?1:Kc(n),Li(gs(t,e),n)}function cs(t,e){var n=uc(t)?Cn:Ci;return n(t,Ua(e,3))}function fs(t,e){var n=uc(t)?Sn:Si;return n(t,Ua(e,3))}var hs=ua((function(t,e,n){fe.call(t,n)?t[n].push(e):pi(t,n,[e])}));function ds(t,e,n,r){t=cc(t)?t:Bf(t),n=n&&!r?Kc(n):0;var i=t.length;return n<0&&(n=ze(i+n,0)),jc(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&jn(t,e,n)>-1}var ps=xo((function(t,e,r){var i=-1,o="function"==typeof e,a=cc(t)?n(t.length):[];return Ci(t,(function(t){a[++i]=o?wn(e,t,r):$i(t,e,r)})),a})),vs=ua((function(t,e,n){pi(t,n,e)}));function gs(t,e){var n=uc(t)?Ln:oo;return n(t,Ua(e,3))}function ms(t,e,n,r){return null==t?[]:(uc(e)||(e=null==e?[]:[e]),n=r?o:n,uc(n)||(n=null==n?[]:[n]),fo(t,e,n))}var ys=ua((function(t,e,n){t[n?0:1].push(e)}),(function(){return[[],[]]}));function bs(t,e,n){var r=uc(t)?On:Un,i=arguments.length<3;return r(t,Ua(e,4),n,i,Ci)}function ws(t,e,n){var r=uc(t)?An:Un,i=arguments.length<3;return r(t,Ua(e,4),n,i,Si)}function xs(t,e){var n=uc(t)?kn:Mi;return n(t,Hs(Ua(e,3)))}function Cs(t){var e=uc(t)?oi:Co;return e(t)}function Ss(t,e,n){e=(n?ll(t,e,n):e===o)?1:Kc(e);var r=uc(t)?ai:So;return r(t,e)}function _s(t){var e=uc(t)?li:Mo;return e(t)}function ks(t){if(null==t)return 0;if(cc(t))return jc(t)?gr(t):t.length;var e=Za(t);return e==Q||e==at?t.size:no(t).length}function Ts(t,e,n){var r=uc(t)?Dn:Eo;return n&&ll(t,e,n)&&(e=o),r(t,Ua(e,3))}var Ms=xo((function(t,e){if(null==t)return[];var n=e.length;return n>1&&ll(t,e[0],e[1])?e=[]:n>2&&ll(e[0],e[1],e[2])&&(e=[e[0]]),fo(t,Li(e,1),[])})),Ls=Ae||function(){return un.Date.now()};function Es(t,e){if("function"!=typeof e)throw new oe(s);return t=Kc(t),function(){if(--t<1)return e.apply(this,arguments)}}function Os(t,e,n){return e=n?o:e,e=t&&null==e?t.length:e,Aa(t,T,o,o,o,o,e)}function As(t,e){var n;if("function"!=typeof e)throw new oe(s);return t=Kc(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=o),n}}var Ds=xo((function(t,e,n){var r=b;if(n.length){var i=fr(n,$a(Ds));r|=_}return Aa(t,r,e,n,i)})),Ns=xo((function(t,e,n){var r=b|w;if(n.length){var i=fr(n,$a(Ns));r|=_}return Aa(e,r,t,n,i)}));function Is(t,e,n){e=n?o:e;var r=Aa(t,C,o,o,o,o,o,e);return r.placeholder=Is.placeholder,r}function Ps(t,e,n){e=n?o:e;var r=Aa(t,S,o,o,o,o,o,e);return r.placeholder=Ps.placeholder,r}function Rs(t,e,n){var r,i,a,l,u,c,f=0,h=!1,d=!1,p=!0;if("function"!=typeof t)throw new oe(s);function v(e){var n=r,a=i;return r=i=o,f=e,l=t.apply(a,n),l}function g(t){return f=t,u=kl(b,e),h?v(t):l}function m(t){var n=t-c,r=t-f,i=e-n;return d?He(i,a-r):i}function y(t){var n=t-c,r=t-f;return c===o||n>=e||n<0||d&&r>=a}function b(){var t=Ls();if(y(t))return w(t);u=kl(b,m(t))}function w(t){return u=o,p&&r?v(t):(r=i=o,l)}function x(){u!==o&&Xo(u),f=0,r=c=i=u=o}function C(){return u===o?l:w(Ls())}function S(){var t=Ls(),n=y(t);if(r=arguments,i=this,c=t,n){if(u===o)return g(c);if(d)return Xo(u),u=kl(b,e),v(c)}return u===o&&(u=kl(b,e)),l}return e=qc(e)||0,_c(n)&&(h=!!n.leading,d="maxWait"in n,a=d?ze(qc(n.maxWait)||0,e):a,p="trailing"in n?!!n.trailing:p),S.cancel=x,S.flush=C,S}var Ws=xo((function(t,e){return wi(t,1,e)})),js=xo((function(t,e,n){return wi(t,qc(e)||0,n)}));function Fs(t){return Aa(t,L)}function zs(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new oe(s);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(zs.Cache||$r),n}function Hs(t){if("function"!=typeof t)throw new oe(s);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function Bs(t){return As(2,t)}zs.Cache=$r;var $s=Vo((function(t,e){e=1==e.length&&uc(e[0])?Ln(e[0],qn(Ua())):Ln(Li(e,1),qn(Ua()));var n=e.length;return xo((function(r){var i=-1,o=He(r.length,n);while(++i=e})),lc=Ui(function(){return arguments}())?Ui:function(t){return kc(t)&&fe.call(t,"callee")&&!_e.call(t,"callee")},uc=n.isArray,sc=pn?qn(pn):Vi;function cc(t){return null!=t&&Sc(t.length)&&!xc(t)}function fc(t){return kc(t)&&cc(t)}function hc(t){return!0===t||!1===t||kc(t)&&Ri(t)==X}var dc=Re||Yh,pc=vn?qn(vn):Gi;function vc(t){return kc(t)&&1===t.nodeType&&!Ic(t)}function gc(t){if(null==t)return!0;if(cc(t)&&(uc(t)||"string"==typeof t||"function"==typeof t.splice||dc(t)||zc(t)||lc(t)))return!t.length;var e=Za(t);if(e==Q||e==at)return!t.size;if(dl(t))return!no(t).length;for(var n in t)if(fe.call(t,n))return!1;return!0}function mc(t,e){return Xi(t,e)}function yc(t,e,n){n="function"==typeof n?n:o;var r=n?n(t,e):o;return r===o?Xi(t,e,o,n):!!r}function bc(t){if(!kc(t))return!1;var e=Ri(t);return e==q||e==Y||"string"==typeof t.message&&"string"==typeof t.name&&!Ic(t)}function wc(t){return"number"==typeof t&&We(t)}function xc(t){if(!_c(t))return!1;var e=Ri(t);return e==Z||e==J||e==G||e==it}function Cc(t){return"number"==typeof t&&t==Kc(t)}function Sc(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=W}function _c(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function kc(t){return null!=t&&"object"==typeof t}var Tc=gn?qn(gn):Yi;function Mc(t,e){return t===e||qi(t,e,Ga(e))}function Lc(t,e,n){return n="function"==typeof n?n:o,qi(t,e,Ga(e),n)}function Ec(t){return Nc(t)&&t!=+t}function Oc(t){if(hl(t))throw new i(u);return Zi(t)}function Ac(t){return null===t}function Dc(t){return null==t}function Nc(t){return"number"==typeof t||kc(t)&&Ri(t)==tt}function Ic(t){if(!kc(t)||Ri(t)!=nt)return!1;var e=Ce(t);if(null===e)return!0;var n=fe.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&ce.call(n)==ve}var Pc=mn?qn(mn):Ji;function Rc(t){return Cc(t)&&t>=-W&&t<=W}var Wc=yn?qn(yn):Qi;function jc(t){return"string"==typeof t||!uc(t)&&kc(t)&&Ri(t)==lt}function Fc(t){return"symbol"==typeof t||kc(t)&&Ri(t)==ut}var zc=bn?qn(bn):to;function Hc(t){return t===o}function Bc(t){return kc(t)&&Za(t)==ct}function $c(t){return kc(t)&&Ri(t)==ft}var Uc=Ta(io),Vc=Ta((function(t,e){return t<=e}));function Gc(t){if(!t)return[];if(cc(t))return jc(t)?mr(t):ia(t);if(Me&&t[Me])return ur(t[Me]());var e=Za(t),n=e==Q?sr:e==at?hr:Bf;return n(t)}function Xc(t){if(!t)return 0===t?t:0;if(t=qc(t),t===R||t===-R){var e=t<0?-1:1;return e*j}return t===t?t:0}function Kc(t){var e=Xc(t),n=e%1;return e===e?n?e-n:e:0}function Yc(t){return t?gi(Kc(t),0,z):0}function qc(t){if("number"==typeof t)return t;if(Fc(t))return F;if(_c(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=_c(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Yn(t);var n=Yt.test(t);return n||Zt.test(t)?on(t.slice(2),n?2:8):Kt.test(t)?F:+t}function Zc(t){return oa(t,_f(t))}function Jc(t){return t?gi(Kc(t),-W,W):0===t?t:0}function Qc(t){return null==t?"":Io(t)}var tf=sa((function(t,e){if(dl(e)||cc(e))oa(e,Sf(e),t);else for(var n in e)fe.call(e,n)&&si(t,n,e[n])})),ef=sa((function(t,e){oa(e,_f(e),t)})),nf=sa((function(t,e,n,r){oa(e,_f(e),t,r)})),rf=sa((function(t,e,n,r){oa(e,Sf(e),t,r)})),of=ja(vi);function af(t,e){var n=Sr(t);return null==e?n:hi(n,e)}var lf=xo((function(t,e){t=ne(t);var n=-1,r=e.length,i=r>2?e[2]:o;i&&ll(e[0],e[1],i)&&(r=1);while(++n1),e})),oa(t,za(t),n),r&&(n=mi(n,p|v|g,Ia));var i=e.length;while(i--)Ro(n,e[i]);return n}));function Of(t,e){return Df(t,Hs(Ua(e)))}var Af=ja((function(t,e){return null==t?{}:ho(t,e)}));function Df(t,e){if(null==t)return{};var n=Ln(za(t),(function(t){return[t]}));return e=Ua(e),po(t,n,(function(t,n){return e(t,n[0])}))}function Nf(t,e,n){e=Uo(e,t);var r=-1,i=e.length;i||(i=1,t=o);while(++re){var r=t;t=e,e=r}if(n||t%1||e%1){var i=Ge();return He(t+i*(e-t+rn("1e-"+((i+"").length-1))),e)}return yo(t,e)}var Xf=pa((function(t,e,n){return e=e.toLowerCase(),t+(n?Kf(e):e)}));function Kf(t){return xh(Qc(t).toLowerCase())}function Yf(t){return t=Qc(t),t&&t.replace(Qt,nr).replace(Ue,"")}function qf(t,e,n){t=Qc(t),e=Io(e);var r=t.length;n=n===o?r:gi(Kc(n),0,r);var i=n;return n-=e.length,n>=0&&t.slice(n,i)==e}function Zf(t){return t=Qc(t),t&&Et.test(t)?t.replace(Mt,rr):t}function Jf(t){return t=Qc(t),t&&Wt.test(t)?t.replace(Rt,"\\$&"):t}var Qf=pa((function(t,e,n){return t+(n?"-":"")+e.toLowerCase()})),th=pa((function(t,e,n){return t+(n?" ":"")+e.toLowerCase()})),eh=da("toLowerCase");function nh(t,e,n){t=Qc(t),e=Kc(e);var r=e?gr(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return Sa(Ie(i),n)+t+Sa(Ne(i),n)}function rh(t,e,n){t=Qc(t),e=Kc(e);var r=e?gr(t):0;return e&&r>>0,n?(t=Qc(t),t&&("string"==typeof e||null!=e&&!Pc(e))&&(e=Io(e),!e&&ar(t))?Go(mr(t),0,n):t.split(e,n)):[]}var ch=pa((function(t,e,n){return t+(n?" ":"")+xh(e)}));function fh(t,e,n){return t=Qc(t),n=null==n?0:gi(Kc(n),0,t.length),e=Io(e),t.slice(n,n+e.length)==e}function hh(t,e,n){var r=xr.templateSettings;n&&ll(t,e,n)&&(e=o),t=Qc(t),e=nf({},e,r,Da);var a,l,u=nf({},e.imports,r.imports,Da),s=Sf(u),f=Zn(u,s),h=0,d=e.interpolate||te,p="__p += '",v=re((e.escape||te).source+"|"+d.source+"|"+(d===Dt?Gt:te).source+"|"+(e.evaluate||te).source+"|$","g"),g="//# sourceURL="+(fe.call(e,"sourceURL")?(e.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++qe+"]")+"\n";t.replace(v,(function(e,n,r,i,o,u){return r||(r=i),p+=t.slice(h,u).replace(ee,ir),n&&(a=!0,p+="' +\n__e("+n+") +\n'"),o&&(l=!0,p+="';\n"+o+";\n__p += '"),r&&(p+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),h=u+e.length,e})),p+="';\n";var m=fe.call(e,"variable")&&e.variable;if(m){if(Ut.test(m))throw new i(c)}else p="with (obj) {\n"+p+"\n}\n";p=(l?p.replace(St,""):p).replace(_t,"$1").replace(kt,"$1;"),p="function("+(m||"obj")+") {\n"+(m?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(a?", __e = _.escape":"")+(l?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+p+"return __p\n}";var y=Sh((function(){return Ft(s,g+"return "+p).apply(o,f)}));if(y.source=p,bc(y))throw y;return y}function dh(t){return Qc(t).toLowerCase()}function ph(t){return Qc(t).toUpperCase()}function vh(t,e,n){if(t=Qc(t),t&&(n||e===o))return Yn(t);if(!t||!(e=Io(e)))return t;var r=mr(t),i=mr(e),a=Qn(r,i),l=tr(r,i)+1;return Go(r,a,l).join("")}function gh(t,e,n){if(t=Qc(t),t&&(n||e===o))return t.slice(0,yr(t)+1);if(!t||!(e=Io(e)))return t;var r=mr(t),i=tr(r,mr(e))+1;return Go(r,0,i).join("")}function mh(t,e,n){if(t=Qc(t),t&&(n||e===o))return t.replace(jt,"");if(!t||!(e=Io(e)))return t;var r=mr(t),i=Qn(r,mr(e));return Go(r,i).join("")}function yh(t,e){var n=E,r=O;if(_c(e)){var i="separator"in e?e.separator:i;n="length"in e?Kc(e.length):n,r="omission"in e?Io(e.omission):r}t=Qc(t);var a=t.length;if(ar(t)){var l=mr(t);a=l.length}if(n>=a)return t;var u=n-gr(r);if(u<1)return r;var s=l?Go(l,0,u).join(""):t.slice(0,u);if(i===o)return s+r;if(l&&(u+=s.length-u),Pc(i)){if(t.slice(u).search(i)){var c,f=s;i.global||(i=re(i.source,Qc(Xt.exec(i))+"g")),i.lastIndex=0;while(c=i.exec(f))var h=c.index;s=s.slice(0,h===o?u:h)}}else if(t.indexOf(Io(i),u)!=u){var d=s.lastIndexOf(i);d>-1&&(s=s.slice(0,d))}return s+r}function bh(t){return t=Qc(t),t&&Lt.test(t)?t.replace(Tt,br):t}var wh=pa((function(t,e,n){return t+(n?" ":"")+e.toUpperCase()})),xh=da("toUpperCase");function Ch(t,e,n){return t=Qc(t),e=n?o:e,e===o?lr(t)?Cr(t):Pn(t):t.match(e)||[]}var Sh=xo((function(t,e){try{return wn(t,o,e)}catch(n){return bc(n)?n:new i(n)}})),_h=ja((function(t,e){return Cn(e,(function(e){e=Al(e),pi(t,e,Ds(t[e],t))})),t}));function kh(t){var e=null==t?0:t.length,n=Ua();return t=e?Ln(t,(function(t){if("function"!=typeof t[1])throw new oe(s);return[n(t[0]),t[1]]})):[],xo((function(n){var r=-1;while(++rW)return[];var n=z,r=He(t,z);e=Ua(e),t-=z;var i=Xn(r,e);while(++n0||e<0)?new Mr(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==o&&(e=Kc(e),n=e<0?n.dropRight(-e):n.take(e-t)),n)},Mr.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Mr.prototype.toArray=function(){return this.take(z)},Ai(Mr.prototype,(function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),i=xr[r?"take"+("last"==e?"Right":""):e],a=r||/^find/.test(e);i&&(xr.prototype[e]=function(){var e=this.__wrapped__,l=r?[1]:arguments,u=e instanceof Mr,s=l[0],c=u||uc(e),f=function(t){var e=i.apply(xr,En([t],l));return r&&h?e[0]:e};c&&n&&"function"==typeof s&&1!=s.length&&(u=c=!1);var h=this.__chain__,d=!!this.__actions__.length,p=a&&!h,v=u&&!d;if(!a&&c){e=v?e:new Mr(this);var g=t.apply(e,l);return g.__actions__.push({func:Xu,args:[f],thisArg:o}),new Tr(g,h)}return p&&v?t.apply(this,l):(g=this.thru(f),p?r?g.value()[0]:g.value():g)})})),Cn(["pop","push","shift","sort","splice","unshift"],(function(t){var e=ae[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);xr.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var i=this.value();return e.apply(uc(i)?i:[],t)}return this[n]((function(n){return e.apply(uc(n)?n:[],t)}))}})),Ai(Mr.prototype,(function(t,e){var n=xr[e];if(n){var r=n.name+"";fe.call(sn,r)||(sn[r]=[]),sn[r].push({name:e,func:n})}})),sn[ba(o,w).name]=[{name:"wrapper",func:o}],Mr.prototype.clone=Lr,Mr.prototype.reverse=Er,Mr.prototype.value=Or,xr.prototype.at=Ku,xr.prototype.chain=Yu,xr.prototype.commit=qu,xr.prototype.next=Zu,xr.prototype.plant=Qu,xr.prototype.reverse=ts,xr.prototype.toJSON=xr.prototype.valueOf=xr.prototype.value=es,xr.prototype.first=xr.prototype.head,Me&&(xr.prototype[Me]=Ju),xr},_r=Sr();un._=_r,i=function(){return _r}.call(e,n,e,r),i===o||(r.exports=i)}).call(this)}).call(this,n("c8ba"),n("62e4")(t))},"466d":function(t,e,n){"use strict";var r=n("d784"),i=n("825a"),o=n("50c4"),a=n("1d80"),l=n("8aa5"),u=n("14c3");r("match",1,(function(t,e,n){return[function(e){var n=a(this),r=void 0==e?void 0:e[t];return void 0!==r?r.call(e,n):new RegExp(e)[t](String(n))},function(t){var r=n(e,t,this);if(r.done)return r.value;var a=i(t),s=String(this);if(!a.global)return u(a,s);var c=a.unicode;a.lastIndex=0;var f,h=[],d=0;while(null!==(f=u(a,s))){var p=String(f[0]);h[d]=p,""===p&&(a.lastIndex=l(s,o(a.lastIndex),c)),d++}return 0===d?null:h}]}))},"4d63":function(t,e,n){var r=n("83ab"),i=n("da84"),o=n("94ca"),a=n("7156"),l=n("9bf2").f,u=n("241c").f,s=n("44e7"),c=n("ad6d"),f=n("9f7f"),h=n("6eeb"),d=n("d039"),p=n("69f3").set,v=n("2626"),g=n("b622"),m=g("match"),y=i.RegExp,b=y.prototype,w=/a/g,x=/a/g,C=new y(w)!==w,S=f.UNSUPPORTED_Y,_=r&&o("RegExp",!C||S||d((function(){return x[m]=!1,y(w)!=w||y(x)==x||"/a/i"!=y(w,"i")})));if(_){var k=function(t,e){var n,r=this instanceof k,i=s(t),o=void 0===e;if(!r&&i&&t.constructor===k&&o)return t;C?i&&!o&&(t=t.source):t instanceof k&&(o&&(e=c.call(t)),t=t.source),S&&(n=!!e&&e.indexOf("y")>-1,n&&(e=e.replace(/y/g,"")));var l=a(C?new y(t,e):y(t,e),r?this:b,k);return S&&n&&p(l,{sticky:n}),l},T=function(t){t in k||l(k,t,{configurable:!0,get:function(){return y[t]},set:function(e){y[t]=e}})},M=u(y),L=0;while(M.length>L)T(M[L++]);b.constructor=k,k.prototype=b,h(i,"RegExp",k)}v("RegExp")},"4e82":function(t,e,n){"use strict";var r=n("23e7"),i=n("1c0b"),o=n("7b0b"),a=n("d039"),l=n("a640"),u=[],s=u.sort,c=a((function(){u.sort(void 0)})),f=a((function(){u.sort(null)})),h=l("sort"),d=c||!f||!h;r({target:"Array",proto:!0,forced:d},{sort:function(t){return void 0===t?s.call(o(this)):s.call(o(this),i(t))}})},5319:function(t,e,n){"use strict";var r=n("d784"),i=n("825a"),o=n("7b0b"),a=n("50c4"),l=n("a691"),u=n("1d80"),s=n("8aa5"),c=n("14c3"),f=Math.max,h=Math.min,d=Math.floor,p=/\$([$&'`]|\d\d?|<[^>]*>)/g,v=/\$([$&'`]|\d\d?)/g,g=function(t){return void 0===t?t:String(t)};r("replace",2,(function(t,e,n,r){var m=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,y=r.REPLACE_KEEPS_$0,b=m?"$":"$0";return[function(n,r){var i=u(this),o=void 0==n?void 0:n[t];return void 0!==o?o.call(n,i,r):e.call(String(i),n,r)},function(t,r){if(!m&&y||"string"===typeof r&&-1===r.indexOf(b)){var o=n(e,t,this,r);if(o.done)return o.value}var u=i(t),d=String(this),p="function"===typeof r;p||(r=String(r));var v=u.global;if(v){var x=u.unicode;u.lastIndex=0}var C=[];while(1){var S=c(u,d);if(null===S)break;if(C.push(S),!v)break;var _=String(S[0]);""===_&&(u.lastIndex=s(d,a(u.lastIndex),x))}for(var k="",T=0,M=0;M=T&&(k+=d.slice(T,E)+I,T=E+L.length)}return k+d.slice(T)}];function w(t,n,r,i,a,l){var u=r+t.length,s=i.length,c=v;return void 0!==a&&(a=o(a),c=p),e.call(l,c,(function(e,o){var l;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return n.slice(0,r);case"'":return n.slice(u);case"<":l=a[o.slice(1,-1)];break;default:var c=+o;if(0===c)return e;if(c>s){var f=d(c/10);return 0===f?e:f<=s?void 0===i[f-1]?o.charAt(1):i[f-1]+o.charAt(1):e}l=i[c-1]}return void 0===l?"":l}))}}))},"56b3":function(t,e,n){(function(e,n){t.exports=n()})(0,(function(){"use strict";var t=navigator.userAgent,e=navigator.platform,n=/gecko\/\d/i.test(t),r=/MSIE \d/.test(t),i=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(t),o=/Edge\/(\d+)/.exec(t),a=r||i||o,l=a&&(r?document.documentMode||6:+(o||i)[1]),u=!o&&/WebKit\//.test(t),s=u&&/Qt\/\d+\.\d+/.test(t),c=!o&&/Chrome\//.test(t),f=/Opera\//.test(t),h=/Apple Computer/.test(navigator.vendor),d=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(t),p=/PhantomJS/.test(t),v=h&&(/Mobile\/\w+/.test(t)||navigator.maxTouchPoints>2),g=/Android/.test(t),m=v||g||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(t),y=v||/Mac/.test(e),b=/\bCrOS\b/.test(t),w=/win/i.test(e),x=f&&t.match(/Version\/(\d*\.\d*)/);x&&(x=Number(x[1])),x&&x>=15&&(f=!1,u=!0);var C=y&&(s||f&&(null==x||x<12.11)),S=n||a&&l>=9;function _(t){return new RegExp("(^|\\s)"+t+"(?:$|\\s)\\s*")}var k,T=function(t,e){var n=t.className,r=_(e).exec(n);if(r){var i=n.slice(r.index+r[0].length);t.className=n.slice(0,r.index)+(i?r[1]+i:"")}};function M(t){for(var e=t.childNodes.length;e>0;--e)t.removeChild(t.firstChild);return t}function L(t,e){return M(t).appendChild(e)}function E(t,e,n,r){var i=document.createElement(t);if(n&&(i.className=n),r&&(i.style.cssText=r),"string"==typeof e)i.appendChild(document.createTextNode(e));else if(e)for(var o=0;o=e)return a+(e-o);a+=l-o,a+=n-a%n,o=l+1}}v?P=function(t){t.selectionStart=0,t.selectionEnd=t.value.length}:a&&(P=function(t){try{t.select()}catch(e){}});var F=function(){this.id=null,this.f=null,this.time=0,this.handler=R(this.onTimeout,this)};function z(t,e){for(var n=0;n=e)return r+Math.min(a,e-i);if(i+=o-r,i+=n-i%n,r=o+1,i>=e)return r}}var X=[""];function K(t){while(X.length<=t)X.push(Y(X)+" ");return X[t]}function Y(t){return t[t.length-1]}function q(t,e){for(var n=[],r=0;r"€"&&(t.toUpperCase()!=t.toLowerCase()||tt.test(t))}function nt(t,e){return e?!!(e.source.indexOf("\\w")>-1&&et(t))||e.test(t):et(t)}function rt(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e])return!1;return!0}var it=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function ot(t){return t.charCodeAt(0)>=768&&it.test(t)}function at(t,e,n){while((n<0?e>0:en?-1:1;;){if(e==n)return e;var i=(e+n)/2,o=r<0?Math.ceil(i):Math.floor(i);if(o==e)return t(o)?e:n;t(o)?n=o:e=o+r}}function ut(t,e,n,r){if(!t)return r(e,n,"ltr",0);for(var i=!1,o=0;oe||e==n&&a.to==e)&&(r(Math.max(a.from,e),Math.min(a.to,n),1==a.level?"rtl":"ltr",o),i=!0)}i||r(e,n,"ltr")}var st=null;function ct(t,e,n){var r;st=null;for(var i=0;ie)return i;o.to==e&&(o.from!=o.to&&"before"==n?r=i:st=i),o.from==e&&(o.from!=o.to&&"before"!=n?r=i:st=i)}return null!=r?r:st}var ft=function(){var t="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",e="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111";function n(n){return n<=247?t.charAt(n):1424<=n&&n<=1524?"R":1536<=n&&n<=1785?e.charAt(n-1536):1774<=n&&n<=2220?"r":8192<=n&&n<=8203?"w":8204==n?"b":"L"}var r=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,i=/[stwN]/,o=/[LRr]/,a=/[Lb1n]/,l=/[1n]/;function u(t,e,n){this.level=t,this.from=e,this.to=n}return function(t,e){var s="ltr"==e?"L":"R";if(0==t.length||"ltr"==e&&!r.test(t))return!1;for(var c=t.length,f=[],h=0;h-1&&(r[e]=i.slice(0,o).concat(i.slice(o+1)))}}}function mt(t,e){var n=vt(t,e);if(n.length)for(var r=Array.prototype.slice.call(arguments,2),i=0;i0}function xt(t){t.prototype.on=function(t,e){pt(this,t,e)},t.prototype.off=function(t,e){gt(this,t,e)}}function Ct(t){t.preventDefault?t.preventDefault():t.returnValue=!1}function St(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0}function _t(t){return null!=t.defaultPrevented?t.defaultPrevented:0==t.returnValue}function kt(t){Ct(t),St(t)}function Tt(t){return t.target||t.srcElement}function Mt(t){var e=t.which;return null==e&&(1&t.button?e=1:2&t.button?e=3:4&t.button&&(e=2)),y&&t.ctrlKey&&1==e&&(e=3),e}var Lt,Et,Ot=function(){if(a&&l<9)return!1;var t=E("div");return"draggable"in t||"dragDrop"in t}();function At(t){if(null==Lt){var e=E("span","​");L(t,E("span",[e,document.createTextNode("x")])),0!=t.firstChild.offsetHeight&&(Lt=e.offsetWidth<=1&&e.offsetHeight>2&&!(a&&l<8))}var n=Lt?E("span","​"):E("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return n.setAttribute("cm-text",""),n}function Dt(t){if(null!=Et)return Et;var e=L(t,document.createTextNode("AخA")),n=k(e,0,1).getBoundingClientRect(),r=k(e,1,2).getBoundingClientRect();return M(t),!(!n||n.left==n.right)&&(Et=r.right-n.right<3)}var Nt=3!="\n\nb".split(/\n/).length?function(t){var e=0,n=[],r=t.length;while(e<=r){var i=t.indexOf("\n",e);-1==i&&(i=t.length);var o=t.slice(e,"\r"==t.charAt(i-1)?i-1:i),a=o.indexOf("\r");-1!=a?(n.push(o.slice(0,a)),e+=a+1):(n.push(o),e=i+1)}return n}:function(t){return t.split(/\r\n?|\n/)},It=window.getSelection?function(t){try{return t.selectionStart!=t.selectionEnd}catch(e){return!1}}:function(t){var e;try{e=t.ownerDocument.selection.createRange()}catch(n){}return!(!e||e.parentElement()!=t)&&0!=e.compareEndPoints("StartToEnd",e)},Pt=function(){var t=E("div");return"oncopy"in t||(t.setAttribute("oncopy","return;"),"function"==typeof t.oncopy)}(),Rt=null;function Wt(t){if(null!=Rt)return Rt;var e=L(t,E("span","x")),n=e.getBoundingClientRect(),r=k(e,0,1).getBoundingClientRect();return Rt=Math.abs(n.left-r.left)>1}var jt={},Ft={};function zt(t,e){arguments.length>2&&(e.dependencies=Array.prototype.slice.call(arguments,2)),jt[t]=e}function Ht(t,e){Ft[t]=e}function Bt(t){if("string"==typeof t&&Ft.hasOwnProperty(t))t=Ft[t];else if(t&&"string"==typeof t.name&&Ft.hasOwnProperty(t.name)){var e=Ft[t.name];"string"==typeof e&&(e={name:e}),t=Q(e,t),t.name=e.name}else{if("string"==typeof t&&/^[\w\-]+\/[\w\-]+\+xml$/.test(t))return Bt("application/xml");if("string"==typeof t&&/^[\w\-]+\/[\w\-]+\+json$/.test(t))return Bt("application/json")}return"string"==typeof t?{name:t}:t||{name:"null"}}function $t(t,e){e=Bt(e);var n=jt[e.name];if(!n)return $t(t,"text/plain");var r=n(t,e);if(Ut.hasOwnProperty(e.name)){var i=Ut[e.name];for(var o in i)i.hasOwnProperty(o)&&(r.hasOwnProperty(o)&&(r["_"+o]=r[o]),r[o]=i[o])}if(r.name=e.name,e.helperType&&(r.helperType=e.helperType),e.modeProps)for(var a in e.modeProps)r[a]=e.modeProps[a];return r}var Ut={};function Vt(t,e){var n=Ut.hasOwnProperty(t)?Ut[t]:Ut[t]={};W(e,n)}function Gt(t,e){if(!0===e)return e;if(t.copyState)return t.copyState(e);var n={};for(var r in e){var i=e[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n}function Xt(t,e){var n;while(t.innerMode){if(n=t.innerMode(e),!n||n.mode==t)break;e=n.state,t=n.mode}return n||{mode:t,state:e}}function Kt(t,e,n){return!t.startState||t.startState(e,n)}var Yt=function(t,e,n){this.pos=this.start=0,this.string=t,this.tabSize=e||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};function qt(t,e){if(e-=t.first,e<0||e>=t.size)throw new Error("There is no line "+(e+t.first)+" in the document.");var n=t;while(!n.lines)for(var r=0;;++r){var i=n.children[r],o=i.chunkSize();if(e=t.first&&en?ie(n,qt(t,n).text.length):he(e,qt(t,e.line).text.length)}function he(t,e){var n=t.ch;return null==n||n>e?ie(t.line,e):n<0?ie(t.line,0):t}function de(t,e){for(var n=[],r=0;r=this.string.length},Yt.prototype.sol=function(){return this.pos==this.lineStart},Yt.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},Yt.prototype.next=function(){if(this.pose},Yt.prototype.eatSpace=function(){var t=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos)))++this.pos;return this.pos>t},Yt.prototype.skipToEnd=function(){this.pos=this.string.length},Yt.prototype.skipTo=function(t){var e=this.string.indexOf(t,this.pos);if(e>-1)return this.pos=e,!0},Yt.prototype.backUp=function(t){this.pos-=t},Yt.prototype.column=function(){return this.lastColumnPos0?null:(r&&!1!==e&&(this.pos+=r[0].length),r)}var i=function(t){return n?t.toLowerCase():t},o=this.string.substr(this.pos,t.length);if(i(o)==i(t))return!1!==e&&(this.pos+=t.length),!0},Yt.prototype.current=function(){return this.string.slice(this.start,this.pos)},Yt.prototype.hideFirstChars=function(t,e){this.lineStart+=t;try{return e()}finally{this.lineStart-=t}},Yt.prototype.lookAhead=function(t){var e=this.lineOracle;return e&&e.lookAhead(t)},Yt.prototype.baseToken=function(){var t=this.lineOracle;return t&&t.baseToken(this.pos)};var pe=function(t,e){this.state=t,this.lookAhead=e},ve=function(t,e,n,r){this.state=e,this.doc=t,this.line=n,this.maxLookAhead=r||0,this.baseTokens=null,this.baseTokenPos=1};function ge(t,e,n,r){var i=[t.state.modeGen],o={};ke(t,e.text,t.doc.mode,n,(function(t,e){return i.push(t,e)}),o,r);for(var a=n.state,l=function(r){n.baseTokens=i;var l=t.state.overlays[r],u=1,s=0;n.state=!0,ke(t,e.text,l.mode,n,(function(t,e){var n=u;while(st&&i.splice(u,1,t,i[u+1],r),u+=2,s=Math.min(t,r)}if(e)if(l.opaque)i.splice(n,u-n,t,"overlay "+e),u=n+2;else for(;nt.options.maxHighlightLength&&Gt(t.doc.mode,r.state),o=ge(t,e,r);i&&(r.state=i),e.stateAfter=r.save(!i),e.styles=o.styles,o.classes?e.styleClasses=o.classes:e.styleClasses&&(e.styleClasses=null),n===t.doc.highlightFrontier&&(t.doc.modeFrontier=Math.max(t.doc.modeFrontier,++t.doc.highlightFrontier))}return e.styles}function ye(t,e,n){var r=t.doc,i=t.display;if(!r.mode.startState)return new ve(r,!0,e);var o=Te(t,e,n),a=o>r.first&&qt(r,o-1).stateAfter,l=a?ve.fromSaved(r,a,o):new ve(r,Kt(r.mode),o);return r.iter(o,e,(function(n){be(t,n.text,l);var r=l.line;n.stateAfter=r==e-1||r%5==0||r>=i.viewFrom&&re.start)return o}throw new Error("Mode "+t.name+" failed to advance stream.")}ve.prototype.lookAhead=function(t){var e=this.doc.getLine(this.line+t);return null!=e&&t>this.maxLookAhead&&(this.maxLookAhead=t),e},ve.prototype.baseToken=function(t){if(!this.baseTokens)return null;while(this.baseTokens[this.baseTokenPos]<=t)this.baseTokenPos+=2;var e=this.baseTokens[this.baseTokenPos+1];return{type:e&&e.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-t}},ve.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},ve.fromSaved=function(t,e,n){return e instanceof pe?new ve(t,Gt(t.mode,e.state),n,e.lookAhead):new ve(t,Gt(t.mode,e),n)},ve.prototype.save=function(t){var e=!1!==t?Gt(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new pe(e,this.maxLookAhead):e};var Ce=function(t,e,n){this.start=t.start,this.end=t.pos,this.string=t.current(),this.type=e||null,this.state=n};function Se(t,e,n,r){var i,o=t.doc,a=o.mode;e=fe(o,e);var l,u=qt(o,e.line),s=ye(t,e.line,n),c=new Yt(u.text,t.options.tabSize,s);r&&(l=[]);while((r||c.post.options.maxHighlightLength?(l=!1,a&&be(t,e,r,f.pos),f.pos=e.length,u=null):u=_e(xe(n,f,r.state,h),o),h){var d=h[0].name;d&&(u="m-"+(u?d+" "+u:d))}if(!l||c!=u){while(sa;--l){if(l<=o.first)return o.first;var u=qt(o,l-1),s=u.stateAfter;if(s&&(!n||l+(s instanceof pe?s.lookAhead:0)<=o.modeFrontier))return l;var c=j(u.text,null,t.options.tabSize);(null==i||r>c)&&(i=l-1,r=c)}return i}function Me(t,e){if(t.modeFrontier=Math.min(t.modeFrontier,e),!(t.highlightFrontiern;r--){var i=qt(t,r).stateAfter;if(i&&(!(i instanceof pe)||r+i.lookAhead=e:o.to>e);(r||(r=[])).push(new De(a,o.from,u?null:o.to))}}return r}function We(t,e,n){var r;if(t)for(var i=0;i=e:o.to>e);if(l||o.from==e&&"bookmark"==a.type&&(!n||o.marker.insertLeft)){var u=null==o.from||(a.inclusiveLeft?o.from<=e:o.from0&&l)for(var w=0;w0)){var c=[u,1],f=oe(s.from,l.from),h=oe(s.to,l.to);(f<0||!a.inclusiveLeft&&!f)&&c.push({from:s.from,to:l.from}),(h>0||!a.inclusiveRight&&!h)&&c.push({from:l.to,to:s.to}),i.splice.apply(i,c),u+=c.length-3}}return i}function He(t){var e=t.markedSpans;if(e){for(var n=0;ne)&&(!n||Ve(n,o.marker)<0)&&(n=o.marker)}return n}function qe(t,e,n,r,i){var o=qt(t,e),a=Ee&&o.markedSpans;if(a)for(var l=0;l=0&&f<=0||c<=0&&f>=0)&&(c<=0&&(u.marker.inclusiveRight&&i.inclusiveLeft?oe(s.to,n)>=0:oe(s.to,n)>0)||c>=0&&(u.marker.inclusiveRight&&i.inclusiveLeft?oe(s.from,r)<=0:oe(s.from,r)<0)))return!0}}}function Ze(t){var e;while(e=Xe(t))t=e.find(-1,!0).line;return t}function Je(t){var e;while(e=Ke(t))t=e.find(1,!0).line;return t}function Qe(t){var e,n;while(e=Ke(t))t=e.find(1,!0).line,(n||(n=[])).push(t);return n}function tn(t,e){var n=qt(t,e),r=Ze(n);return n==r?e:te(r)}function en(t,e){if(e>t.lastLine())return e;var n,r=qt(t,e);if(!nn(t,r))return e;while(n=Ke(r))r=n.find(1,!0).line;return te(r)+1}function nn(t,e){var n=Ee&&e.markedSpans;if(n)for(var r=void 0,i=0;ie.maxLineLength&&(e.maxLineLength=n,e.maxLine=t)}))}var un=function(t,e,n){this.text=t,Be(this,e),this.height=n?n(this):1};function sn(t,e,n,r){t.text=e,t.stateAfter&&(t.stateAfter=null),t.styles&&(t.styles=null),null!=t.order&&(t.order=null),He(t),Be(t,n);var i=r?r(t):1;i!=t.height&&Qt(t,i)}function cn(t){t.parent=null,He(t)}un.prototype.lineNo=function(){return te(this)},xt(un);var fn={},hn={};function dn(t,e){if(!t||/^\s*$/.test(t))return null;var n=e.addModeClass?hn:fn;return n[t]||(n[t]=t.replace(/\S+/g,"cm-$&"))}function pn(t,e){var n=O("span",null,null,u?"padding-right: .1px":null),r={pre:O("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:t,trailingSpace:!1,splitSpaces:t.getOption("lineWrapping")};e.measure={};for(var i=0;i<=(e.rest?e.rest.length:0);i++){var o=i?e.rest[i-1]:e.line,a=void 0;r.pos=0,r.addToken=gn,Dt(t.display.measure)&&(a=ht(o,t.doc.direction))&&(r.addToken=yn(r.addToken,a)),r.map=[];var l=e!=t.display.externalMeasured&&te(o);wn(o,r,me(t,o,l)),o.styleClasses&&(o.styleClasses.bgClass&&(r.bgClass=I(o.styleClasses.bgClass,r.bgClass||"")),o.styleClasses.textClass&&(r.textClass=I(o.styleClasses.textClass,r.textClass||""))),0==r.map.length&&r.map.push(0,0,r.content.appendChild(At(t.display.measure))),0==i?(e.measure.map=r.map,e.measure.cache={}):((e.measure.maps||(e.measure.maps=[])).push(r.map),(e.measure.caches||(e.measure.caches=[])).push({}))}if(u){var s=r.content.lastChild;(/\bcm-tab\b/.test(s.className)||s.querySelector&&s.querySelector(".cm-tab"))&&(r.content.className="cm-tab-wrap-hack")}return mt(t,"renderLine",t,e.line,r.pre),r.pre.className&&(r.textClass=I(r.pre.className,r.textClass||"")),r}function vn(t){var e=E("span","•","cm-invalidchar");return e.title="\\u"+t.charCodeAt(0).toString(16),e.setAttribute("aria-label",e.title),e}function gn(t,e,n,r,i,o,u){if(e){var s,c=t.splitSpaces?mn(e,t.trailingSpace):e,f=t.cm.state.specialChars,h=!1;if(f.test(e)){s=document.createDocumentFragment();var d=0;while(1){f.lastIndex=d;var p=f.exec(e),v=p?p.index-d:e.length-d;if(v){var g=document.createTextNode(c.slice(d,d+v));a&&l<9?s.appendChild(E("span",[g])):s.appendChild(g),t.map.push(t.pos,t.pos+v,g),t.col+=v,t.pos+=v}if(!p)break;d+=v+1;var m=void 0;if("\t"==p[0]){var y=t.cm.options.tabSize,b=y-t.col%y;m=s.appendChild(E("span",K(b),"cm-tab")),m.setAttribute("role","presentation"),m.setAttribute("cm-text","\t"),t.col+=b}else"\r"==p[0]||"\n"==p[0]?(m=s.appendChild(E("span","\r"==p[0]?"␍":"␤","cm-invalidchar")),m.setAttribute("cm-text",p[0]),t.col+=1):(m=t.cm.options.specialCharPlaceholder(p[0]),m.setAttribute("cm-text",p[0]),a&&l<9?s.appendChild(E("span",[m])):s.appendChild(m),t.col+=1);t.map.push(t.pos,t.pos+1,m),t.pos++}}else t.col+=e.length,s=document.createTextNode(c),t.map.push(t.pos,t.pos+e.length,s),a&&l<9&&(h=!0),t.pos+=e.length;if(t.trailingSpace=32==c.charCodeAt(e.length-1),n||r||i||h||o||u){var w=n||"";r&&(w+=r),i&&(w+=i);var x=E("span",[s],w,o);if(u)for(var C in u)u.hasOwnProperty(C)&&"style"!=C&&"class"!=C&&x.setAttribute(C,u[C]);return t.content.appendChild(x)}t.content.appendChild(s)}}function mn(t,e){if(t.length>1&&!/ /.test(t))return t;for(var n=e,r="",i=0;is&&f.from<=s)break;if(f.to>=c)return t(n,r,i,o,a,l,u);t(n,r.slice(0,f.to-s),i,o,null,l,u),o=null,r=r.slice(f.to-s),s=f.to}}}function bn(t,e,n,r){var i=!r&&n.widgetNode;i&&t.map.push(t.pos,t.pos+e,i),!r&&t.cm.display.input.needsContentAttribute&&(i||(i=t.content.appendChild(document.createElement("span"))),i.setAttribute("cm-marker",n.id)),i&&(t.cm.display.input.setUneditable(i),t.content.appendChild(i)),t.pos+=e,t.trailingSpace=!1}function wn(t,e,n){var r=t.markedSpans,i=t.text,o=0;if(r)for(var a,l,u,s,c,f,h,d=i.length,p=0,v=1,g="",m=0;;){if(m==p){u=s=c=l="",h=null,f=null,m=1/0;for(var y=[],b=void 0,w=0;wp||C.collapsed&&x.to==p&&x.from==p)){if(null!=x.to&&x.to!=p&&m>x.to&&(m=x.to,s=""),C.className&&(u+=" "+C.className),C.css&&(l=(l?l+";":"")+C.css),C.startStyle&&x.from==p&&(c+=" "+C.startStyle),C.endStyle&&x.to==m&&(b||(b=[])).push(C.endStyle,x.to),C.title&&((h||(h={})).title=C.title),C.attributes)for(var S in C.attributes)(h||(h={}))[S]=C.attributes[S];C.collapsed&&(!f||Ve(f.marker,C)<0)&&(f=x)}else x.from>p&&m>x.from&&(m=x.from)}if(b)for(var _=0;_=d)break;var T=Math.min(d,m);while(1){if(g){var M=p+g.length;if(!f){var L=M>T?g.slice(0,T-p):g;e.addToken(e,L,a?a+u:u,c,p+L.length==m?s:"",l,h)}if(M>=T){g=g.slice(T-p),p=T;break}p=M,c=""}g=i.slice(o,o=n[v++]),a=dn(n[v++],e.cm.options)}}else for(var E=1;E2&&o.push((u.bottom+s.top)/2-n.top)}}o.push(n.bottom-n.top)}}function Zn(t,e,n){if(t.line==e)return{map:t.measure.map,cache:t.measure.cache};if(t.rest){for(var r=0;rn)return{map:t.measure.maps[i],cache:t.measure.caches[i],before:!0}}}function Jn(t,e){e=Ze(e);var n=te(e),r=t.display.externalMeasured=new xn(t.doc,e,n);r.lineN=n;var i=r.built=pn(t,r);return r.text=i.pre,L(t.display.lineMeasure,i.pre),r}function Qn(t,e,n,r){return nr(t,er(t,e),n,r)}function tr(t,e){if(e>=t.display.viewFrom&&e=n.lineN&&ee)&&(o=u-l,i=o-1,e>=u&&(a="right")),null!=i){if(r=t[s+2],l==u&&n==(r.insertLeft?"left":"right")&&(a=n),"left"==n&&0==i)while(s&&t[s-2]==t[s-3]&&t[s-1].insertLeft)r=t[2+(s-=3)],a="left";if("right"==n&&i==u-l)while(s=0;i--)if((n=t[i]).left!=n.right)break;return n}function lr(t,e,n,r){var i,o=or(e.map,n,r),u=o.node,s=o.start,c=o.end,f=o.collapse;if(3==u.nodeType){for(var h=0;h<4;h++){while(s&&ot(e.line.text.charAt(o.coverStart+s)))--s;while(o.coverStart+c0&&(f=r="right"),i=t.options.lineWrapping&&(d=u.getClientRects()).length>1?d["right"==r?d.length-1:0]:u.getBoundingClientRect()}if(a&&l<9&&!s&&(!i||!i.left&&!i.right)){var p=u.parentNode.getClientRects()[0];i=p?{left:p.left,right:p.left+Er(t.display),top:p.top,bottom:p.bottom}:ir}for(var v=i.top-e.rect.top,g=i.bottom-e.rect.top,m=(v+g)/2,y=e.view.measure.heights,b=0;b=r.text.length?(u=r.text.length,s="before"):u<=0&&(u=0,s="after"),!l)return a("before"==s?u-1:u,"before"==s);function c(t,e,n){var r=l[e],i=1==r.level;return a(n?t-1:t,i!=n)}var f=ct(l,u,s),h=st,d=c(u,f,"before"==s);return null!=h&&(d.other=c(u,h,"before"!=s)),d}function br(t,e){var n=0;e=fe(t.doc,e),t.options.lineWrapping||(n=Er(t.display)*e.ch);var r=qt(t.doc,e.line),i=on(r)+Un(t.display);return{left:n,right:n,top:i,bottom:i+r.height}}function wr(t,e,n,r,i){var o=ie(t,e,n);return o.xRel=i,r&&(o.outside=r),o}function xr(t,e,n){var r=t.doc;if(n+=t.display.viewOffset,n<0)return wr(r.first,0,null,-1,-1);var i=ee(r,n),o=r.first+r.size-1;if(i>o)return wr(r.first+r.size-1,qt(r,o).text.length,null,1,1);e<0&&(e=0);for(var a=qt(r,i);;){var l=kr(t,a,i,e,n),u=Ye(a,l.ch+(l.xRel>0||l.outside>0?1:0));if(!u)return l;var s=u.find(1);if(s.line==i)return s;a=qt(r,i=s.line)}}function Cr(t,e,n,r){r-=pr(e);var i=e.text.length,o=lt((function(e){return nr(t,n,e-1).bottom<=r}),i,0);return i=lt((function(e){return nr(t,n,e).top>r}),o,i),{begin:o,end:i}}function Sr(t,e,n,r){n||(n=er(t,e));var i=vr(t,e,nr(t,n,r),"line").top;return Cr(t,e,n,i)}function _r(t,e,n,r){return!(t.bottom<=n)&&(t.top>n||(r?t.left:t.right)>e)}function kr(t,e,n,r,i){i-=on(e);var o=er(t,e),a=pr(e),l=0,u=e.text.length,s=!0,c=ht(e,t.doc.direction);if(c){var f=(t.options.lineWrapping?Mr:Tr)(t,e,n,o,c,r,i);s=1!=f.level,l=s?f.from:f.to-1,u=s?f.to:f.from-1}var h,d,p=null,v=null,g=lt((function(e){var n=nr(t,o,e);return n.top+=a,n.bottom+=a,!!_r(n,r,i,!1)&&(n.top<=i&&n.left<=r&&(p=e,v=n),!0)}),l,u),m=!1;if(v){var y=r-v.left=w.bottom?1:0}return g=at(e.text,g,1),wr(n,g,d,m,r-h)}function Tr(t,e,n,r,i,o,a){var l=lt((function(l){var u=i[l],s=1!=u.level;return _r(yr(t,ie(n,s?u.to:u.from,s?"before":"after"),"line",e,r),o,a,!0)}),0,i.length-1),u=i[l];if(l>0){var s=1!=u.level,c=yr(t,ie(n,s?u.from:u.to,s?"after":"before"),"line",e,r);_r(c,o,a,!0)&&c.top>a&&(u=i[l-1])}return u}function Mr(t,e,n,r,i,o,a){var l=Cr(t,e,r,a),u=l.begin,s=l.end;/\s/.test(e.text.charAt(s-1))&&s--;for(var c=null,f=null,h=0;h=s||d.to<=u)){var p=1!=d.level,v=nr(t,r,p?Math.min(s,d.to)-1:Math.max(u,d.from)).right,g=vg)&&(c=d,f=g)}}return c||(c=i[i.length-1]),c.froms&&(c={from:c.from,to:s,level:c.level}),c}function Lr(t){if(null!=t.cachedTextHeight)return t.cachedTextHeight;if(null==rr){rr=E("pre",null,"CodeMirror-line-like");for(var e=0;e<49;++e)rr.appendChild(document.createTextNode("x")),rr.appendChild(E("br"));rr.appendChild(document.createTextNode("x"))}L(t.measure,rr);var n=rr.offsetHeight/50;return n>3&&(t.cachedTextHeight=n),M(t.measure),n||1}function Er(t){if(null!=t.cachedCharWidth)return t.cachedCharWidth;var e=E("span","xxxxxxxxxx"),n=E("pre",[e],"CodeMirror-line-like");L(t.measure,n);var r=e.getBoundingClientRect(),i=(r.right-r.left)/10;return i>2&&(t.cachedCharWidth=i),i||10}function Or(t){for(var e=t.display,n={},r={},i=e.gutters.clientLeft,o=e.gutters.firstChild,a=0;o;o=o.nextSibling,++a){var l=t.display.gutterSpecs[a].className;n[l]=o.offsetLeft+o.clientLeft+i,r[l]=o.clientWidth}return{fixedPos:Ar(e),gutterTotalWidth:e.gutters.offsetWidth,gutterLeft:n,gutterWidth:r,wrapperWidth:e.wrapper.clientWidth}}function Ar(t){return t.scroller.getBoundingClientRect().left-t.sizer.getBoundingClientRect().left}function Dr(t){var e=Lr(t.display),n=t.options.lineWrapping,r=n&&Math.max(5,t.display.scroller.clientWidth/Er(t.display)-3);return function(i){if(nn(t.doc,i))return 0;var o=0;if(i.widgets)for(var a=0;a0&&(u=qt(t.doc,s.line).text).length==s.ch){var c=j(u,u.length,t.options.tabSize)-u.length;s=ie(s.line,Math.max(0,Math.round((o-Gn(t.display).left)/Er(t.display))-c))}return s}function Pr(t,e){if(e>=t.display.viewTo)return null;if(e-=t.display.viewFrom,e<0)return null;for(var n=t.display.view,r=0;re)&&(i.updateLineNumbers=e),t.curOp.viewChanged=!0,e>=i.viewTo)Ee&&tn(t.doc,e)i.viewFrom?jr(t):(i.viewFrom+=r,i.viewTo+=r);else if(e<=i.viewFrom&&n>=i.viewTo)jr(t);else if(e<=i.viewFrom){var o=Fr(t,n,n+r,1);o?(i.view=i.view.slice(o.index),i.viewFrom=o.lineN,i.viewTo+=r):jr(t)}else if(n>=i.viewTo){var a=Fr(t,e,e,-1);a?(i.view=i.view.slice(0,a.index),i.viewTo=a.lineN):jr(t)}else{var l=Fr(t,e,e,-1),u=Fr(t,n,n+r,1);l&&u?(i.view=i.view.slice(0,l.index).concat(Cn(t,l.lineN,u.lineN)).concat(i.view.slice(u.index)),i.viewTo+=r):jr(t)}var s=i.externalMeasured;s&&(n=i.lineN&&e=r.viewTo)){var o=r.view[Pr(t,e)];if(null!=o.node){var a=o.changes||(o.changes=[]);-1==z(a,n)&&a.push(n)}}}function jr(t){t.display.viewFrom=t.display.viewTo=t.doc.first,t.display.view=[],t.display.viewOffset=0}function Fr(t,e,n,r){var i,o=Pr(t,e),a=t.display.view;if(!Ee||n==t.doc.first+t.doc.size)return{index:o,lineN:n};for(var l=t.display.viewFrom,u=0;u0){if(o==a.length-1)return null;i=l+a[o].size-e,o++}else i=l-e;e+=i,n+=i}while(tn(t.doc,n)!=n){if(o==(r<0?0:a.length-1))return null;n+=r*a[o-(r<0?1:0)].size,o+=r}return{index:o,lineN:n}}function zr(t,e,n){var r=t.display,i=r.view;0==i.length||e>=r.viewTo||n<=r.viewFrom?(r.view=Cn(t,e,n),r.viewFrom=e):(r.viewFrom>e?r.view=Cn(t,e,r.viewFrom).concat(r.view):r.viewFromn&&(r.view=r.view.slice(0,Pr(t,n)))),r.viewTo=n}function Hr(t){for(var e=t.display.view,n=0,r=0;r=t.display.viewTo||u.to().line0?a:t.defaultCharWidth())+"px"}if(r.other){var l=n.appendChild(E("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"));l.style.display="",l.style.left=r.other.left+"px",l.style.top=r.other.top+"px",l.style.height=.85*(r.other.bottom-r.other.top)+"px"}}function Vr(t,e){return t.top-e.top||t.left-e.left}function Gr(t,e,n){var r=t.display,i=t.doc,o=document.createDocumentFragment(),a=Gn(t.display),l=a.left,u=Math.max(r.sizerWidth,Kn(t)-r.sizer.offsetLeft)-a.right,s="ltr"==i.direction;function c(t,e,n,r){e<0&&(e=0),e=Math.round(e),r=Math.round(r),o.appendChild(E("div",null,"CodeMirror-selected","position: absolute; left: "+t+"px;\n top: "+e+"px; width: "+(null==n?u-t:n)+"px;\n height: "+(r-e)+"px"))}function f(e,n,r){var o,a,f=qt(i,e),h=f.text.length;function d(n,r){return mr(t,ie(e,n),"div",f,r)}function p(e,n,r){var i=Sr(t,f,null,e),o="ltr"==n==("after"==r)?"left":"right",a="after"==r?i.begin:i.end-(/\s/.test(f.text.charAt(i.end-1))?2:1);return d(a,o)[o]}var v=ht(f,i.direction);return ut(v,n||0,null==r?h:r,(function(t,e,i,f){var g="ltr"==i,m=d(t,g?"left":"right"),y=d(e-1,g?"right":"left"),b=null==n&&0==t,w=null==r&&e==h,x=0==f,C=!v||f==v.length-1;if(y.top-m.top<=3){var S=(s?b:w)&&x,_=(s?w:b)&&C,k=S?l:(g?m:y).left,T=_?u:(g?y:m).right;c(k,m.top,T-k,m.bottom)}else{var M,L,E,O;g?(M=s&&b&&x?l:m.left,L=s?u:p(t,i,"before"),E=s?l:p(e,i,"after"),O=s&&w&&C?u:y.right):(M=s?p(t,i,"before"):l,L=!s&&b&&x?u:m.right,E=!s&&w&&C?l:y.left,O=s?p(e,i,"after"):u),c(M,m.top,L-M,m.bottom),m.bottom0?e.blinker=setInterval((function(){t.hasFocus()||Zr(t),e.cursorDiv.style.visibility=(n=!n)?"":"hidden"}),t.options.cursorBlinkRate):t.options.cursorBlinkRate<0&&(e.cursorDiv.style.visibility="hidden")}}function Kr(t){t.hasFocus()||(t.display.input.focus(),t.state.focused||qr(t))}function Yr(t){t.state.delayingBlurEvent=!0,setTimeout((function(){t.state.delayingBlurEvent&&(t.state.delayingBlurEvent=!1,t.state.focused&&Zr(t))}),100)}function qr(t,e){t.state.delayingBlurEvent&&!t.state.draggingText&&(t.state.delayingBlurEvent=!1),"nocursor"!=t.options.readOnly&&(t.state.focused||(mt(t,"focus",t,e),t.state.focused=!0,N(t.display.wrapper,"CodeMirror-focused"),t.curOp||t.display.selForContextMenu==t.doc.sel||(t.display.input.reset(),u&&setTimeout((function(){return t.display.input.reset(!0)}),20)),t.display.input.receivedFocus()),Xr(t))}function Zr(t,e){t.state.delayingBlurEvent||(t.state.focused&&(mt(t,"blur",t,e),t.state.focused=!1,T(t.display.wrapper,"CodeMirror-focused")),clearInterval(t.display.blinker),setTimeout((function(){t.state.focused||(t.display.shift=!1)}),150))}function Jr(t){for(var e=t.display,n=e.lineDiv.offsetTop,r=Math.max(0,e.scroller.getBoundingClientRect().top),i=e.lineDiv.getBoundingClientRect().top,o=0,u=0;u.005||v<-.005)&&(it.display.sizerWidth){var m=Math.ceil(h/Er(t.display));m>t.display.maxLineLength&&(t.display.maxLineLength=m,t.display.maxLine=s.line,t.display.maxLineChanged=!0)}}}Math.abs(o)>2&&(e.scroller.scrollTop+=o)}function Qr(t){if(t.widgets)for(var e=0;e=a&&(o=ee(e,on(qt(e,u))-t.wrapper.clientHeight),a=u)}return{from:o,to:Math.max(a,o+1)}}function ei(t,e){if(!yt(t,"scrollCursorIntoView")){var n=t.display,r=n.sizer.getBoundingClientRect(),i=null;if(e.top+r.top<0?i=!0:e.bottom+r.top>(window.innerHeight||document.documentElement.clientHeight)&&(i=!1),null!=i&&!p){var o=E("div","​",null,"position: absolute;\n top: "+(e.top-n.viewOffset-Un(t.display))+"px;\n height: "+(e.bottom-e.top+Xn(t)+n.barHeight)+"px;\n left: "+e.left+"px; width: "+Math.max(2,e.right-e.left)+"px;");t.display.lineSpace.appendChild(o),o.scrollIntoView(i),t.display.lineSpace.removeChild(o)}}}function ni(t,e,n,r){var i;null==r&&(r=0),t.options.lineWrapping||e!=n||(n="before"==e.sticky?ie(e.line,e.ch+1,"before"):e,e=e.ch?ie(e.line,"before"==e.sticky?e.ch-1:e.ch,"after"):e);for(var o=0;o<5;o++){var a=!1,l=yr(t,e),u=n&&n!=e?yr(t,n):l;i={left:Math.min(l.left,u.left),top:Math.min(l.top,u.top)-r,right:Math.max(l.left,u.left),bottom:Math.max(l.bottom,u.bottom)+r};var s=ii(t,i),c=t.doc.scrollTop,f=t.doc.scrollLeft;if(null!=s.scrollTop&&(fi(t,s.scrollTop),Math.abs(t.doc.scrollTop-c)>1&&(a=!0)),null!=s.scrollLeft&&(di(t,s.scrollLeft),Math.abs(t.doc.scrollLeft-f)>1&&(a=!0)),!a)break}return i}function ri(t,e){var n=ii(t,e);null!=n.scrollTop&&fi(t,n.scrollTop),null!=n.scrollLeft&&di(t,n.scrollLeft)}function ii(t,e){var n=t.display,r=Lr(t.display);e.top<0&&(e.top=0);var i=t.curOp&&null!=t.curOp.scrollTop?t.curOp.scrollTop:n.scroller.scrollTop,o=Yn(t),a={};e.bottom-e.top>o&&(e.bottom=e.top+o);var l=t.doc.height+Vn(n),u=e.topl-r;if(e.topi+o){var c=Math.min(e.top,(s?l:e.bottom)-o);c!=i&&(a.scrollTop=c)}var f=t.options.fixedGutter?0:n.gutters.offsetWidth,h=t.curOp&&null!=t.curOp.scrollLeft?t.curOp.scrollLeft:n.scroller.scrollLeft-f,d=Kn(t)-n.gutters.offsetWidth,p=e.right-e.left>d;return p&&(e.right=e.left+d),e.left<10?a.scrollLeft=0:e.leftd+h-3&&(a.scrollLeft=e.right+(p?0:10)-d),a}function oi(t,e){null!=e&&(si(t),t.curOp.scrollTop=(null==t.curOp.scrollTop?t.doc.scrollTop:t.curOp.scrollTop)+e)}function ai(t){si(t);var e=t.getCursor();t.curOp.scrollToPos={from:e,to:e,margin:t.options.cursorScrollMargin}}function li(t,e,n){null==e&&null==n||si(t),null!=e&&(t.curOp.scrollLeft=e),null!=n&&(t.curOp.scrollTop=n)}function ui(t,e){si(t),t.curOp.scrollToPos=e}function si(t){var e=t.curOp.scrollToPos;if(e){t.curOp.scrollToPos=null;var n=br(t,e.from),r=br(t,e.to);ci(t,n,r,e.margin)}}function ci(t,e,n,r){var i=ii(t,{left:Math.min(e.left,n.left),top:Math.min(e.top,n.top)-r,right:Math.max(e.right,n.right),bottom:Math.max(e.bottom,n.bottom)+r});li(t,i.scrollLeft,i.scrollTop)}function fi(t,e){Math.abs(t.doc.scrollTop-e)<2||(n||Bi(t,{top:e}),hi(t,e,!0),n&&Bi(t),Ii(t,100))}function hi(t,e,n){e=Math.max(0,Math.min(t.display.scroller.scrollHeight-t.display.scroller.clientHeight,e)),(t.display.scroller.scrollTop!=e||n)&&(t.doc.scrollTop=e,t.display.scrollbars.setScrollTop(e),t.display.scroller.scrollTop!=e&&(t.display.scroller.scrollTop=e))}function di(t,e,n,r){e=Math.max(0,Math.min(e,t.display.scroller.scrollWidth-t.display.scroller.clientWidth)),(n?e==t.doc.scrollLeft:Math.abs(t.doc.scrollLeft-e)<2)&&!r||(t.doc.scrollLeft=e,Gi(t),t.display.scroller.scrollLeft!=e&&(t.display.scroller.scrollLeft=e),t.display.scrollbars.setScrollLeft(e))}function pi(t){var e=t.display,n=e.gutters.offsetWidth,r=Math.round(t.doc.height+Vn(t.display));return{clientHeight:e.scroller.clientHeight,viewHeight:e.wrapper.clientHeight,scrollWidth:e.scroller.scrollWidth,clientWidth:e.scroller.clientWidth,viewWidth:e.wrapper.clientWidth,barLeft:t.options.fixedGutter?n:0,docHeight:r,scrollHeight:r+Xn(t)+e.barHeight,nativeBarWidth:e.nativeBarWidth,gutterWidth:n}}var vi=function(t,e,n){this.cm=n;var r=this.vert=E("div",[E("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),i=this.horiz=E("div",[E("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");r.tabIndex=i.tabIndex=-1,t(r),t(i),pt(r,"scroll",(function(){r.clientHeight&&e(r.scrollTop,"vertical")})),pt(i,"scroll",(function(){i.clientWidth&&e(i.scrollLeft,"horizontal")})),this.checkedZeroWidth=!1,a&&l<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};vi.prototype.update=function(t){var e=t.scrollWidth>t.clientWidth+1,n=t.scrollHeight>t.clientHeight+1,r=t.nativeBarWidth;if(n){this.vert.style.display="block",this.vert.style.bottom=e?r+"px":"0";var i=t.viewHeight-(e?r:0);this.vert.firstChild.style.height=Math.max(0,t.scrollHeight-t.clientHeight+i)+"px"}else this.vert.scrollTop=0,this.vert.style.display="",this.vert.firstChild.style.height="0";if(e){this.horiz.style.display="block",this.horiz.style.right=n?r+"px":"0",this.horiz.style.left=t.barLeft+"px";var o=t.viewWidth-t.barLeft-(n?r:0);this.horiz.firstChild.style.width=Math.max(0,t.scrollWidth-t.clientWidth+o)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&t.clientHeight>0&&(0==r&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?r:0,bottom:e?r:0}},vi.prototype.setScrollLeft=function(t){this.horiz.scrollLeft!=t&&(this.horiz.scrollLeft=t),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},vi.prototype.setScrollTop=function(t){this.vert.scrollTop!=t&&(this.vert.scrollTop=t),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},vi.prototype.zeroWidthHack=function(){var t=y&&!d?"12px":"18px";this.horiz.style.height=this.vert.style.width=t,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new F,this.disableVert=new F},vi.prototype.enableZeroWidthBar=function(t,e,n){function r(){var i=t.getBoundingClientRect(),o="vert"==n?document.elementFromPoint(i.right-1,(i.top+i.bottom)/2):document.elementFromPoint((i.right+i.left)/2,i.bottom-1);o!=t?t.style.pointerEvents="none":e.set(1e3,r)}t.style.pointerEvents="auto",e.set(1e3,r)},vi.prototype.clear=function(){var t=this.horiz.parentNode;t.removeChild(this.horiz),t.removeChild(this.vert)};var gi=function(){};function mi(t,e){e||(e=pi(t));var n=t.display.barWidth,r=t.display.barHeight;yi(t,e);for(var i=0;i<4&&n!=t.display.barWidth||r!=t.display.barHeight;i++)n!=t.display.barWidth&&t.options.lineWrapping&&Jr(t),yi(t,pi(t)),n=t.display.barWidth,r=t.display.barHeight}function yi(t,e){var n=t.display,r=n.scrollbars.update(e);n.sizer.style.paddingRight=(n.barWidth=r.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=r.bottom)+"px",n.heightForcer.style.borderBottom=r.bottom+"px solid transparent",r.right&&r.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=r.bottom+"px",n.scrollbarFiller.style.width=r.right+"px"):n.scrollbarFiller.style.display="",r.bottom&&t.options.coverGutterNextToScrollbar&&t.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=r.bottom+"px",n.gutterFiller.style.width=e.gutterWidth+"px"):n.gutterFiller.style.display=""}gi.prototype.update=function(){return{bottom:0,right:0}},gi.prototype.setScrollLeft=function(){},gi.prototype.setScrollTop=function(){},gi.prototype.clear=function(){};var bi={native:vi,null:gi};function wi(t){t.display.scrollbars&&(t.display.scrollbars.clear(),t.display.scrollbars.addClass&&T(t.display.wrapper,t.display.scrollbars.addClass)),t.display.scrollbars=new bi[t.options.scrollbarStyle]((function(e){t.display.wrapper.insertBefore(e,t.display.scrollbarFiller),pt(e,"mousedown",(function(){t.state.focused&&setTimeout((function(){return t.display.input.focus()}),0)})),e.setAttribute("cm-not-content","true")}),(function(e,n){"horizontal"==n?di(t,e):fi(t,e)}),t),t.display.scrollbars.addClass&&N(t.display.wrapper,t.display.scrollbars.addClass)}var xi=0;function Ci(t){t.curOp={cm:t,viewChanged:!1,startHeight:t.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++xi,markArrays:null},_n(t.curOp)}function Si(t){var e=t.curOp;e&&Tn(e,(function(t){for(var e=0;e=n.viewTo)||n.maxLineChanged&&e.options.lineWrapping,t.update=t.mustUpdate&&new Ri(e,t.mustUpdate&&{top:t.scrollTop,ensure:t.scrollToPos},t.forceUpdate)}function Ti(t){t.updatedDisplay=t.mustUpdate&&zi(t.cm,t.update)}function Mi(t){var e=t.cm,n=e.display;t.updatedDisplay&&Jr(e),t.barMeasure=pi(e),n.maxLineChanged&&!e.options.lineWrapping&&(t.adjustWidthTo=Qn(e,n.maxLine,n.maxLine.text.length).left+3,e.display.sizerWidth=t.adjustWidthTo,t.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+t.adjustWidthTo+Xn(e)+e.display.barWidth),t.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+t.adjustWidthTo-Kn(e))),(t.updatedDisplay||t.selectionChanged)&&(t.preparedSelection=n.input.prepareSelection())}function Li(t){var e=t.cm;null!=t.adjustWidthTo&&(e.display.sizer.style.minWidth=t.adjustWidthTo+"px",t.maxScrollLeft=t.display.viewTo)){var n=+new Date+t.options.workTime,r=ye(t,e.highlightFrontier),i=[];e.iter(r.line,Math.min(e.first+e.size,t.display.viewTo+500),(function(o){if(r.line>=t.display.viewFrom){var a=o.styles,l=o.text.length>t.options.maxHighlightLength?Gt(e.mode,r.state):null,u=ge(t,o,r,!0);l&&(r.state=l),o.styles=u.styles;var s=o.styleClasses,c=u.classes;c?o.styleClasses=c:s&&(o.styleClasses=null);for(var f=!a||a.length!=o.styles.length||s!=c&&(!s||!c||s.bgClass!=c.bgClass||s.textClass!=c.textClass),h=0;!f&&hn)return Ii(t,t.options.workDelay),!0})),e.highlightFrontier=r.line,e.modeFrontier=Math.max(e.modeFrontier,r.line),i.length&&Oi(t,(function(){for(var e=0;e=n.viewFrom&&e.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==Hr(t))return!1;Xi(t)&&(jr(t),e.dims=Or(t));var i=r.first+r.size,o=Math.max(e.visible.from-t.options.viewportMargin,r.first),a=Math.min(i,e.visible.to+t.options.viewportMargin);n.viewFroma&&n.viewTo-a<20&&(a=Math.min(i,n.viewTo)),Ee&&(o=tn(t.doc,o),a=en(t.doc,a));var l=o!=n.viewFrom||a!=n.viewTo||n.lastWrapHeight!=e.wrapperHeight||n.lastWrapWidth!=e.wrapperWidth;zr(t,o,a),n.viewOffset=on(qt(t.doc,n.viewFrom)),t.display.mover.style.top=n.viewOffset+"px";var u=Hr(t);if(!l&&0==u&&!e.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var s=ji(t);return u>4&&(n.lineDiv.style.display="none"),$i(t,n.updateLineNumbers,e.dims),u>4&&(n.lineDiv.style.display=""),n.renderedView=n.view,Fi(s),M(n.cursorDiv),M(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,l&&(n.lastWrapHeight=e.wrapperHeight,n.lastWrapWidth=e.wrapperWidth,Ii(t,400)),n.updateLineNumbers=null,!0}function Hi(t,e){for(var n=e.viewport,r=!0;;r=!1){if(r&&t.options.lineWrapping&&e.oldDisplayWidth!=Kn(t))r&&(e.visible=ti(t.display,t.doc,n));else if(n&&null!=n.top&&(n={top:Math.min(t.doc.height+Vn(t.display)-Yn(t),n.top)}),e.visible=ti(t.display,t.doc,n),e.visible.from>=t.display.viewFrom&&e.visible.to<=t.display.viewTo)break;if(!zi(t,e))break;Jr(t);var i=pi(t);Br(t),mi(t,i),Vi(t,i),e.force=!1}e.signal(t,"update",t),t.display.viewFrom==t.display.reportedViewFrom&&t.display.viewTo==t.display.reportedViewTo||(e.signal(t,"viewportChange",t,t.display.viewFrom,t.display.viewTo),t.display.reportedViewFrom=t.display.viewFrom,t.display.reportedViewTo=t.display.viewTo)}function Bi(t,e){var n=new Ri(t,e);if(zi(t,n)){Jr(t),Hi(t,n);var r=pi(t);Br(t),mi(t,r),Vi(t,r),n.finish()}}function $i(t,e,n){var r=t.display,i=t.options.lineNumbers,o=r.lineDiv,a=o.firstChild;function l(e){var n=e.nextSibling;return u&&y&&t.display.currentWheelTarget==e?e.style.display="none":e.parentNode.removeChild(e),n}for(var s=r.view,c=r.viewFrom,f=0;f-1&&(d=!1),On(t,h,c,n)),d&&(M(h.lineNumber),h.lineNumber.appendChild(document.createTextNode(re(t.options,c)))),a=h.node.nextSibling}else{var p=jn(t,h,c,n);o.insertBefore(p,a)}c+=h.size}while(a)a=l(a)}function Ui(t){var e=t.gutters.offsetWidth;t.sizer.style.marginLeft=e+"px",Ln(t,"gutterChanged",t)}function Vi(t,e){t.display.sizer.style.minHeight=e.docHeight+"px",t.display.heightForcer.style.top=e.docHeight+"px",t.display.gutters.style.height=e.docHeight+t.display.barHeight+Xn(t)+"px"}function Gi(t){var e=t.display,n=e.view;if(e.alignWidgets||e.gutters.firstChild&&t.options.fixedGutter){for(var r=Ar(e)-e.scroller.scrollLeft+t.doc.scrollLeft,i=e.gutters.offsetWidth,o=r+"px",a=0;as.clientWidth,h=s.scrollHeight>s.clientHeight;if(i&&c||o&&h){if(o&&y&&u)t:for(var d=e.target,p=l.view;d!=s;d=d.parentNode)for(var v=0;v=0&&oe(t,r.to())<=0)return n}return-1};var io=function(t,e){this.anchor=t,this.head=e};function oo(t,e,n){var r=t&&t.options.selectionsMayTouch,i=e[n];e.sort((function(t,e){return oe(t.from(),e.from())})),n=z(e,i);for(var o=1;o0:u>=0){var s=se(l.from(),a.from()),c=ue(l.to(),a.to()),f=l.empty()?a.from()==a.head:l.from()==l.head;o<=n&&--n,e.splice(--o,2,new io(f?c:s,f?s:c))}}return new ro(e,n)}function ao(t,e){return new ro([new io(t,e||t)],0)}function lo(t){return t.text?ie(t.from.line+t.text.length-1,Y(t.text).length+(1==t.text.length?t.from.ch:0)):t.to}function uo(t,e){if(oe(t,e.from)<0)return t;if(oe(t,e.to)<=0)return lo(e);var n=t.line+e.text.length-(e.to.line-e.from.line)-1,r=t.ch;return t.line==e.to.line&&(r+=lo(e).ch-e.to.ch),ie(n,r)}function so(t,e){for(var n=[],r=0;r1&&t.remove(l.line+1,p-1),t.insert(l.line+1,m)}Ln(t,"change",t,e)}function mo(t,e,n){function r(t,i,o){if(t.linked)for(var a=0;a1&&!t.done[t.done.length-2].ranges?(t.done.pop(),Y(t.done)):void 0}function ko(t,e,n,r){var i=t.history;i.undone.length=0;var o,a,l=+new Date;if((i.lastOp==r||i.lastOrigin==e.origin&&e.origin&&("+"==e.origin.charAt(0)&&i.lastModTime>l-(t.cm?t.cm.options.historyEventDelay:500)||"*"==e.origin.charAt(0)))&&(o=_o(i,i.lastOp==r)))a=Y(o.changes),0==oe(e.from,e.to)&&0==oe(e.from,a.to)?a.to=lo(e):o.changes.push(Co(t,e));else{var u=Y(i.done);u&&u.ranges||Lo(t.sel,i.done),o={changes:[Co(t,e)],generation:i.generation},i.done.push(o);while(i.done.length>i.undoDepth)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(n),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=l,i.lastOp=i.lastSelOp=r,i.lastOrigin=i.lastSelOrigin=e.origin,a||mt(t,"historyAdded")}function To(t,e,n,r){var i=e.charAt(0);return"*"==i||"+"==i&&n.ranges.length==r.ranges.length&&n.somethingSelected()==r.somethingSelected()&&new Date-t.history.lastSelTime<=(t.cm?t.cm.options.historyEventDelay:500)}function Mo(t,e,n,r){var i=t.history,o=r&&r.origin;n==i.lastSelOp||o&&i.lastSelOrigin==o&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==o||To(t,o,Y(i.done),e))?i.done[i.done.length-1]=e:Lo(e,i.done),i.lastSelTime=+new Date,i.lastSelOrigin=o,i.lastSelOp=n,r&&!1!==r.clearRedo&&So(i.undone)}function Lo(t,e){var n=Y(e);n&&n.ranges&&n.equals(t)||e.push(t)}function Eo(t,e,n,r){var i=e["spans_"+t.id],o=0;t.iter(Math.max(t.first,n),Math.min(t.first+t.size,r),(function(n){n.markedSpans&&((i||(i=e["spans_"+t.id]={}))[o]=n.markedSpans),++o}))}function Oo(t){if(!t)return null;for(var e,n=0;n-1&&(Y(l)[f]=s[f],delete s[f])}}}return r}function Io(t,e,n,r){if(r){var i=t.anchor;if(n){var o=oe(e,i)<0;o!=oe(n,i)<0?(i=e,e=n):o!=oe(e,n)<0&&(e=n)}return new io(i,e)}return new io(n||e,e)}function Po(t,e,n,r,i){null==i&&(i=t.cm&&(t.cm.display.shift||t.extend)),Ho(t,new ro([Io(t.sel.primary(),e,n,i)],0),r)}function Ro(t,e,n){for(var r=[],i=t.cm&&(t.cm.display.shift||t.extend),o=0;o=e.ch:l.to>e.ch))){if(i&&(mt(u,"beforeCursorEnter"),u.explicitlyCleared)){if(o.markedSpans){--a;continue}break}if(!u.atomic)continue;if(n){var f=u.find(r<0?1:-1),h=void 0;if((r<0?c:s)&&(f=Ko(t,f,-r,f&&f.line==e.line?o:null)),f&&f.line==e.line&&(h=oe(f,n))&&(r<0?h<0:h>0))return Go(t,f,e,r,i)}var d=u.find(r<0?-1:1);return(r<0?s:c)&&(d=Ko(t,d,r,d.line==e.line?o:null)),d?Go(t,d,e,r,i):null}}return e}function Xo(t,e,n,r,i){var o=r||1,a=Go(t,e,n,o,i)||!i&&Go(t,e,n,o,!0)||Go(t,e,n,-o,i)||!i&&Go(t,e,n,-o,!0);return a||(t.cantEdit=!0,ie(t.first,0))}function Ko(t,e,n,r){return n<0&&0==e.ch?e.line>t.first?fe(t,ie(e.line-1)):null:n>0&&e.ch==(r||qt(t,e.line)).text.length?e.line=0;--i)Jo(t,{from:r[i].from,to:r[i].to,text:i?[""]:e.text,origin:e.origin});else Jo(t,e)}}function Jo(t,e){if(1!=e.text.length||""!=e.text[0]||0!=oe(e.from,e.to)){var n=so(t,e);ko(t,e,n,t.cm?t.cm.curOp.id:NaN),ea(t,e,n,je(t,e));var r=[];mo(t,(function(t,n){n||-1!=z(r,t.history)||(aa(t.history,e),r.push(t.history)),ea(t,e,null,je(t,e))}))}}function Qo(t,e,n){var r=t.cm&&t.cm.state.suppressEdits;if(!r||n){for(var i,o=t.history,a=t.sel,l="undo"==e?o.done:o.undone,u="undo"==e?o.undone:o.done,s=0;s=0;--d){var p=h(d);if(p)return p.v}}}}function ta(t,e){if(0!=e&&(t.first+=e,t.sel=new ro(q(t.sel.ranges,(function(t){return new io(ie(t.anchor.line+e,t.anchor.ch),ie(t.head.line+e,t.head.ch))})),t.sel.primIndex),t.cm)){Rr(t.cm,t.first,t.first-e,e);for(var n=t.cm.display,r=n.viewFrom;rt.lastLine())){if(e.from.lineo&&(e={from:e.from,to:ie(o,qt(t,o).text.length),text:[e.text[0]],origin:e.origin}),e.removed=Zt(t,e.from,e.to),n||(n=so(t,e)),t.cm?na(t.cm,e,r):go(t,e,r),Bo(t,n,$),t.cantEdit&&Xo(t,ie(t.firstLine(),0))&&(t.cantEdit=!1)}}function na(t,e,n){var r=t.doc,i=t.display,o=e.from,a=e.to,l=!1,u=o.line;t.options.lineWrapping||(u=te(Ze(qt(r,o.line))),r.iter(u,a.line+1,(function(t){if(t==i.maxLine)return l=!0,!0}))),r.sel.contains(e.from,e.to)>-1&&bt(t),go(r,e,n,Dr(t)),t.options.lineWrapping||(r.iter(u,o.line+e.text.length,(function(t){var e=an(t);e>i.maxLineLength&&(i.maxLine=t,i.maxLineLength=e,i.maxLineChanged=!0,l=!1)})),l&&(t.curOp.updateMaxLine=!0)),Me(r,o.line),Ii(t,400);var s=e.text.length-(a.line-o.line)-1;e.full?Rr(t):o.line!=a.line||1!=e.text.length||vo(t.doc,e)?Rr(t,o.line,a.line+1,s):Wr(t,o.line,"text");var c=wt(t,"changes"),f=wt(t,"change");if(f||c){var h={from:o,to:a,text:e.text,removed:e.removed,origin:e.origin};f&&Ln(t,"change",t,h),c&&(t.curOp.changeObjs||(t.curOp.changeObjs=[])).push(h)}t.display.selForContextMenu=null}function ra(t,e,n,r,i){var o;r||(r=n),oe(r,n)<0&&(o=[r,n],n=o[0],r=o[1]),"string"==typeof e&&(e=t.splitLines(e)),Zo(t,{from:n,to:r,text:e,origin:i})}function ia(t,e,n,r){n1||!(this.children[0]instanceof ua))){var l=[];this.collapse(l),this.children=[new ua(l)],this.children[0].parent=this}},collapse:function(t){for(var e=0;e50){for(var a=i.lines.length%25+25,l=a;l10);t.parent.maybeSpill()}},iterN:function(t,e,n){for(var r=0;r0||0==a&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=O("span",[o.replacedWith],"CodeMirror-widget"),r.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),r.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(qe(t,e.line,e,n,o)||e.line!=n.line&&qe(t,n.line,e,n,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");Ae()}o.addToHistory&&ko(t,{from:e,to:n,origin:"markText"},t.sel,NaN);var l,u=e.line,s=t.cm;if(t.iter(u,n.line+1,(function(r){s&&o.collapsed&&!s.options.lineWrapping&&Ze(r)==s.display.maxLine&&(l=!0),o.collapsed&&u!=e.line&&Qt(r,0),Pe(r,new De(o,u==e.line?e.ch:null,u==n.line?n.ch:null),t.cm&&t.cm.curOp),++u})),o.collapsed&&t.iter(e.line,n.line+1,(function(e){nn(t,e)&&Qt(e,0)})),o.clearOnEnter&&pt(o,"beforeCursorEnter",(function(){return o.clear()})),o.readOnly&&(Oe(),(t.history.done.length||t.history.undone.length)&&t.clearHistory()),o.collapsed&&(o.id=++da,o.atomic=!0),s){if(l&&(s.curOp.updateMaxLine=!0),o.collapsed)Rr(s,e.line,n.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var c=e.line;c<=n.line;c++)Wr(s,c,"text");o.atomic&&Uo(s.doc),Ln(s,"markerAdded",s,o)}return o}pa.prototype.clear=function(){if(!this.explicitlyCleared){var t=this.doc.cm,e=t&&!t.curOp;if(e&&Ci(t),wt(this,"clear")){var n=this.find();n&&Ln(this,"clear",n.from,n.to)}for(var r=null,i=null,o=0;ot.display.maxLineLength&&(t.display.maxLine=s,t.display.maxLineLength=c,t.display.maxLineChanged=!0)}null!=r&&t&&this.collapsed&&Rr(t,r,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,t&&Uo(t.doc)),t&&Ln(t,"markerCleared",t,this,r,i),e&&Si(t),this.parent&&this.parent.clear()}},pa.prototype.find=function(t,e){var n,r;null==t&&"bookmark"==this.type&&(t=1);for(var i=0;i=0;u--)Zo(this,r[u]);l?zo(this,l):this.cm&&ai(this.cm)})),undo:Ni((function(){Qo(this,"undo")})),redo:Ni((function(){Qo(this,"redo")})),undoSelection:Ni((function(){Qo(this,"undo",!0)})),redoSelection:Ni((function(){Qo(this,"redo",!0)})),setExtending:function(t){this.extend=t},getExtending:function(){return this.extend},historySize:function(){for(var t=this.history,e=0,n=0,r=0;r=t.ch)&&e.push(i.marker.parent||i.marker)}return e},findMarks:function(t,e,n){t=fe(this,t),e=fe(this,e);var r=[],i=t.line;return this.iter(t.line,e.line+1,(function(o){var a=o.markedSpans;if(a)for(var l=0;l=u.to||null==u.from&&i!=t.line||null!=u.from&&i==e.line&&u.from>=e.ch||n&&!n(u.marker)||r.push(u.marker.parent||u.marker)}++i})),r},getAllMarks:function(){var t=[];return this.iter((function(e){var n=e.markedSpans;if(n)for(var r=0;rt)return e=t,!0;t-=o,++n})),fe(this,ie(n,e))},indexFromPos:function(t){t=fe(this,t);var e=t.ch;if(t.linee&&(e=t.from),null!=t.to&&t.to-1)return e.state.draggingText(t),void setTimeout((function(){return e.display.input.focus()}),20);try{var f=t.dataTransfer.getData("Text");if(f){var h;if(e.state.draggingText&&!e.state.draggingText.copy&&(h=e.listSelections()),Bo(e.doc,ao(n,n)),h)for(var d=0;d=0;e--)ra(t.doc,"",r[e].from,r[e].to,"+delete");ai(t)}))}function Ga(t,e,n){var r=at(t.text,e+n,n);return r<0||r>t.text.length?null:r}function Xa(t,e,n){var r=Ga(t,e.ch,n);return null==r?null:new ie(e.line,r,n<0?"after":"before")}function Ka(t,e,n,r,i){if(t){"rtl"==e.doc.direction&&(i=-i);var o=ht(n,e.doc.direction);if(o){var a,l=i<0?Y(o):o[0],u=i<0==(1==l.level),s=u?"after":"before";if(l.level>0||"rtl"==e.doc.direction){var c=er(e,n);a=i<0?n.text.length-1:0;var f=nr(e,c,a).top;a=lt((function(t){return nr(e,c,t).top==f}),i<0==(1==l.level)?l.from:l.to-1,a),"before"==s&&(a=Ga(n,a,1))}else a=i<0?l.to:l.from;return new ie(r,a,s)}}return new ie(r,i<0?n.text.length:0,i<0?"before":"after")}function Ya(t,e,n,r){var i=ht(e,t.doc.direction);if(!i)return Xa(e,n,r);n.ch>=e.text.length?(n.ch=e.text.length,n.sticky="before"):n.ch<=0&&(n.ch=0,n.sticky="after");var o=ct(i,n.ch,n.sticky),a=i[o];if("ltr"==t.doc.direction&&a.level%2==0&&(r>0?a.to>n.ch:a.from=a.from&&h>=c.begin)){var d=f?"before":"after";return new ie(n.line,h,d)}}var p=function(t,e,r){for(var o=function(t,e){return e?new ie(n.line,u(t,1),"before"):new ie(n.line,t,"after")};t>=0&&t0==(1!=a.level),s=l?r.begin:u(r.end,-1);if(a.from<=s&&s0?c.end:u(c.begin,-1);return null==g||r>0&&g==e.text.length||(v=p(r>0?0:i.length-1,r,s(g)),!v)?null:v}Wa.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Wa.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Wa.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Wa.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Wa["default"]=y?Wa.macDefault:Wa.pcDefault;var qa={selectAll:Yo,singleSelection:function(t){return t.setSelection(t.getCursor("anchor"),t.getCursor("head"),$)},killLine:function(t){return Va(t,(function(e){if(e.empty()){var n=qt(t.doc,e.head.line).text.length;return e.head.ch==n&&e.head.line0)i=new ie(i.line,i.ch+1),t.replaceRange(o.charAt(i.ch-1)+o.charAt(i.ch-2),ie(i.line,i.ch-2),i,"+transpose");else if(i.line>t.doc.first){var a=qt(t.doc,i.line-1).text;a&&(i=new ie(i.line,1),t.replaceRange(o.charAt(0)+t.doc.lineSeparator()+a.charAt(a.length-1),ie(i.line-1,a.length-1),i,"+transpose"))}n.push(new io(i,i))}t.setSelections(n)}))},newlineAndIndent:function(t){return Oi(t,(function(){for(var e=t.listSelections(),n=e.length-1;n>=0;n--)t.replaceRange(t.doc.lineSeparator(),e[n].anchor,e[n].head,"+input");e=t.listSelections();for(var r=0;r-1&&(oe((i=l.ranges[i]).from(),e)<0||e.xRel>0)&&(oe(i.to(),e)>0||e.xRel<0)?xl(t,r,e,o):Sl(t,r,e,o)}function xl(t,e,n,r){var i=t.display,o=!1,s=Ai(t,(function(e){u&&(i.scroller.draggable=!1),t.state.draggingText=!1,t.state.delayingBlurEvent&&(t.hasFocus()?t.state.delayingBlurEvent=!1:Yr(t)),gt(i.wrapper.ownerDocument,"mouseup",s),gt(i.wrapper.ownerDocument,"mousemove",c),gt(i.scroller,"dragstart",f),gt(i.scroller,"drop",s),o||(Ct(e),r.addNew||Po(t.doc,n,null,null,r.extend),u&&!h||a&&9==l?setTimeout((function(){i.wrapper.ownerDocument.body.focus({preventScroll:!0}),i.input.focus()}),20):i.input.focus())})),c=function(t){o=o||Math.abs(e.clientX-t.clientX)+Math.abs(e.clientY-t.clientY)>=10},f=function(){return o=!0};u&&(i.scroller.draggable=!0),t.state.draggingText=s,s.copy=!r.moveOnDrag,pt(i.wrapper.ownerDocument,"mouseup",s),pt(i.wrapper.ownerDocument,"mousemove",c),pt(i.scroller,"dragstart",f),pt(i.scroller,"drop",s),t.state.delayingBlurEvent=!0,setTimeout((function(){return i.input.focus()}),20),i.scroller.dragDrop&&i.scroller.dragDrop()}function Cl(t,e,n){if("char"==n)return new io(e,e);if("word"==n)return t.findWordAt(e);if("line"==n)return new io(ie(e.line,0),fe(t.doc,ie(e.line+1,0)));var r=n(t,e);return new io(r.from,r.to)}function Sl(t,e,n,r){a&&Yr(t);var i=t.display,o=t.doc;Ct(e);var l,u,s=o.sel,c=s.ranges;if(r.addNew&&!r.extend?(u=o.sel.contains(n),l=u>-1?c[u]:new io(n,n)):(l=o.sel.primary(),u=o.sel.primIndex),"rectangle"==r.unit)r.addNew||(l=new io(n,n)),n=Ir(t,e,!0,!0),u=-1;else{var f=Cl(t,n,r.unit);l=r.extend?Io(l,f.anchor,f.head,r.extend):f}r.addNew?-1==u?(u=c.length,Ho(o,oo(t,c.concat([l]),u),{scroll:!1,origin:"*mouse"})):c.length>1&&c[u].empty()&&"char"==r.unit&&!r.extend?(Ho(o,oo(t,c.slice(0,u).concat(c.slice(u+1)),0),{scroll:!1,origin:"*mouse"}),s=o.sel):Wo(o,u,l,U):(u=0,Ho(o,new ro([l],0),U),s=o.sel);var h=n;function d(e){if(0!=oe(h,e))if(h=e,"rectangle"==r.unit){for(var i=[],a=t.options.tabSize,c=j(qt(o,n.line).text,n.ch,a),f=j(qt(o,e.line).text,e.ch,a),d=Math.min(c,f),p=Math.max(c,f),v=Math.min(n.line,e.line),g=Math.min(t.lastLine(),Math.max(n.line,e.line));v<=g;v++){var m=qt(o,v).text,y=G(m,d,a);d==p?i.push(new io(ie(v,y),ie(v,y))):m.length>y&&i.push(new io(ie(v,y),ie(v,G(m,p,a))))}i.length||i.push(new io(n,n)),Ho(o,oo(t,s.ranges.slice(0,u).concat(i),u),{origin:"*mouse",scroll:!1}),t.scrollIntoView(e)}else{var b,w=l,x=Cl(t,e,r.unit),C=w.anchor;oe(x.anchor,C)>0?(b=x.head,C=se(w.from(),x.anchor)):(b=x.anchor,C=ue(w.to(),x.head));var S=s.ranges.slice(0);S[u]=_l(t,new io(fe(o,C),b)),Ho(o,oo(t,S,u),U)}}var p=i.wrapper.getBoundingClientRect(),v=0;function g(e){var n=++v,a=Ir(t,e,!0,"rectangle"==r.unit);if(a)if(0!=oe(a,h)){t.curOp.focus=D(),d(a);var l=ti(i,o);(a.line>=l.to||a.linep.bottom?20:0;u&&setTimeout(Ai(t,(function(){v==n&&(i.scroller.scrollTop+=u,g(e))})),50)}}function m(e){t.state.selectingText=!1,v=1/0,e&&(Ct(e),i.input.focus()),gt(i.wrapper.ownerDocument,"mousemove",y),gt(i.wrapper.ownerDocument,"mouseup",b),o.history.lastSelOrigin=null}var y=Ai(t,(function(t){0!==t.buttons&&Mt(t)?g(t):m(t)})),b=Ai(t,m);t.state.selectingText=b,pt(i.wrapper.ownerDocument,"mousemove",y),pt(i.wrapper.ownerDocument,"mouseup",b)}function _l(t,e){var n=e.anchor,r=e.head,i=qt(t.doc,n.line);if(0==oe(n,r)&&n.sticky==r.sticky)return e;var o=ht(i);if(!o)return e;var a=ct(o,n.ch,n.sticky),l=o[a];if(l.from!=n.ch&&l.to!=n.ch)return e;var u,s=a+(l.from==n.ch==(1!=l.level)?0:1);if(0==s||s==o.length)return e;if(r.line!=n.line)u=(r.line-n.line)*("ltr"==t.doc.direction?1:-1)>0;else{var c=ct(o,r.ch,r.sticky),f=c-a||(r.ch-n.ch)*(1==l.level?-1:1);u=c==s-1||c==s?f<0:f>0}var h=o[s+(u?-1:0)],d=u==(1==h.level),p=d?h.from:h.to,v=d?"after":"before";return n.ch==p&&n.sticky==v?e:new io(new ie(n.line,p,v),r)}function kl(t,e,n,r){var i,o;if(e.touches)i=e.touches[0].clientX,o=e.touches[0].clientY;else try{i=e.clientX,o=e.clientY}catch(h){return!1}if(i>=Math.floor(t.display.gutters.getBoundingClientRect().right))return!1;r&&Ct(e);var a=t.display,l=a.lineDiv.getBoundingClientRect();if(o>l.bottom||!wt(t,n))return _t(e);o-=l.top-a.viewOffset;for(var u=0;u=i){var c=ee(t.doc,o),f=t.display.gutterSpecs[u];return mt(t,n,t,c,f.className,e),_t(e)}}}function Tl(t,e){return kl(t,e,"gutterClick",!0)}function Ml(t,e){$n(t.display,e)||Ll(t,e)||yt(t,e,"contextmenu")||S||t.display.input.onContextMenu(e)}function Ll(t,e){return!!wt(t,"gutterContextMenu")&&kl(t,e,"gutterContextMenu",!1)}function El(t){t.display.wrapper.className=t.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+t.options.theme.replace(/(^|\s)\s*/g," cm-s-"),fr(t)}vl.prototype.compare=function(t,e,n){return this.time+pl>t&&0==oe(e,this.pos)&&n==this.button};var Ol={toString:function(){return"CodeMirror.Init"}},Al={},Dl={};function Nl(t){var e=t.optionHandlers;function n(n,r,i,o){t.defaults[n]=r,i&&(e[n]=o?function(t,e,n){n!=Ol&&i(t,e,n)}:i)}t.defineOption=n,t.Init=Ol,n("value","",(function(t,e){return t.setValue(e)}),!0),n("mode",null,(function(t,e){t.doc.modeOption=e,ho(t)}),!0),n("indentUnit",2,ho,!0),n("indentWithTabs",!1),n("smartIndent",!0),n("tabSize",4,(function(t){po(t),fr(t),Rr(t)}),!0),n("lineSeparator",null,(function(t,e){if(t.doc.lineSep=e,e){var n=[],r=t.doc.first;t.doc.iter((function(t){for(var i=0;;){var o=t.text.indexOf(e,i);if(-1==o)break;i=o+e.length,n.push(ie(r,o))}r++}));for(var i=n.length-1;i>=0;i--)ra(t.doc,e,n[i],ie(n[i].line,n[i].ch+e.length))}})),n("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\ufeff\ufff9-\ufffc]/g,(function(t,e,n){t.state.specialChars=new RegExp(e.source+(e.test("\t")?"":"|\t"),"g"),n!=Ol&&t.refresh()})),n("specialCharPlaceholder",vn,(function(t){return t.refresh()}),!0),n("electricChars",!0),n("inputStyle",m?"contenteditable":"textarea",(function(){throw new Error("inputStyle can not (yet) be changed in a running editor")}),!0),n("spellcheck",!1,(function(t,e){return t.getInputField().spellcheck=e}),!0),n("autocorrect",!1,(function(t,e){return t.getInputField().autocorrect=e}),!0),n("autocapitalize",!1,(function(t,e){return t.getInputField().autocapitalize=e}),!0),n("rtlMoveVisually",!w),n("wholeLineUpdateBefore",!0),n("theme","default",(function(t){El(t),qi(t)}),!0),n("keyMap","default",(function(t,e,n){var r=Ua(e),i=n!=Ol&&Ua(n);i&&i.detach&&i.detach(t,r),r.attach&&r.attach(t,i||null)})),n("extraKeys",null),n("configureMouse",null),n("lineWrapping",!1,Pl,!0),n("gutters",[],(function(t,e){t.display.gutterSpecs=Ki(e,t.options.lineNumbers),qi(t)}),!0),n("fixedGutter",!0,(function(t,e){t.display.gutters.style.left=e?Ar(t.display)+"px":"0",t.refresh()}),!0),n("coverGutterNextToScrollbar",!1,(function(t){return mi(t)}),!0),n("scrollbarStyle","native",(function(t){wi(t),mi(t),t.display.scrollbars.setScrollTop(t.doc.scrollTop),t.display.scrollbars.setScrollLeft(t.doc.scrollLeft)}),!0),n("lineNumbers",!1,(function(t,e){t.display.gutterSpecs=Ki(t.options.gutters,e),qi(t)}),!0),n("firstLineNumber",1,qi,!0),n("lineNumberFormatter",(function(t){return t}),qi,!0),n("showCursorWhenSelecting",!1,Br,!0),n("resetSelectionOnContextMenu",!0),n("lineWiseCopyCut",!0),n("pasteLinesPerSelection",!0),n("selectionsMayTouch",!1),n("readOnly",!1,(function(t,e){"nocursor"==e&&(Zr(t),t.display.input.blur()),t.display.input.readOnlyChanged(e)})),n("screenReaderLabel",null,(function(t,e){e=""===e?null:e,t.display.input.screenReaderLabelChanged(e)})),n("disableInput",!1,(function(t,e){e||t.display.input.reset()}),!0),n("dragDrop",!0,Il),n("allowDropFileTypes",null),n("cursorBlinkRate",530),n("cursorScrollMargin",0),n("cursorHeight",1,Br,!0),n("singleCursorHeightPerLine",!0,Br,!0),n("workTime",100),n("workDelay",100),n("flattenSpans",!0,po,!0),n("addModeClass",!1,po,!0),n("pollInterval",100),n("undoDepth",200,(function(t,e){return t.doc.history.undoDepth=e})),n("historyEventDelay",1250),n("viewportMargin",10,(function(t){return t.refresh()}),!0),n("maxHighlightLength",1e4,po,!0),n("moveInputWithCursor",!0,(function(t,e){e||t.display.input.resetPosition()})),n("tabindex",null,(function(t,e){return t.display.input.getField().tabIndex=e||""})),n("autofocus",null),n("direction","ltr",(function(t,e){return t.doc.setDirection(e)}),!0),n("phrases",null)}function Il(t,e,n){var r=n&&n!=Ol;if(!e!=!r){var i=t.display.dragFunctions,o=e?pt:gt;o(t.display.scroller,"dragstart",i.start),o(t.display.scroller,"dragenter",i.enter),o(t.display.scroller,"dragover",i.over),o(t.display.scroller,"dragleave",i.leave),o(t.display.scroller,"drop",i.drop)}}function Pl(t){t.options.lineWrapping?(N(t.display.wrapper,"CodeMirror-wrap"),t.display.sizer.style.minWidth="",t.display.sizerWidth=null):(T(t.display.wrapper,"CodeMirror-wrap"),ln(t)),Nr(t),Rr(t),fr(t),setTimeout((function(){return mi(t)}),100)}function Rl(t,e){var n=this;if(!(this instanceof Rl))return new Rl(t,e);this.options=e=e?W(e):{},W(Al,e,!1);var r=e.value;"string"==typeof r?r=new Ca(r,e.mode,null,e.lineSeparator,e.direction):e.mode&&(r.modeOption=e.mode),this.doc=r;var i=new Rl.inputStyles[e.inputStyle](this),o=this.display=new Zi(t,r,i,e);for(var s in o.wrapper.CodeMirror=this,El(this),e.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),wi(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new F,keySeq:null,specialChars:null},e.autofocus&&!m&&o.input.focus(),a&&l<11&&setTimeout((function(){return n.display.input.reset(!0)}),20),Wl(this),Oa(),Ci(this),this.curOp.forceUpdate=!0,yo(this,r),e.autofocus&&!m||this.hasFocus()?setTimeout((function(){n.hasFocus()&&!n.state.focused&&qr(n)}),20):Zr(this),Dl)Dl.hasOwnProperty(s)&&Dl[s](this,e[s],Ol);Xi(this),e.finishInit&&e.finishInit(this);for(var c=0;c400}pt(e.scroller,"touchstart",(function(i){if(!yt(t,i)&&!o(i)&&!Tl(t,i)){e.input.ensurePolled(),clearTimeout(n);var a=+new Date;e.activeTouch={start:a,moved:!1,prev:a-r.end<=300?r:null},1==i.touches.length&&(e.activeTouch.left=i.touches[0].pageX,e.activeTouch.top=i.touches[0].pageY)}})),pt(e.scroller,"touchmove",(function(){e.activeTouch&&(e.activeTouch.moved=!0)})),pt(e.scroller,"touchend",(function(n){var r=e.activeTouch;if(r&&!$n(e,n)&&null!=r.left&&!r.moved&&new Date-r.start<300){var o,a=t.coordsChar(e.activeTouch,"page");o=!r.prev||u(r,r.prev)?new io(a,a):!r.prev.prev||u(r,r.prev.prev)?t.findWordAt(a):new io(ie(a.line,0),fe(t.doc,ie(a.line+1,0))),t.setSelection(o.anchor,o.head),t.focus(),Ct(n)}i()})),pt(e.scroller,"touchcancel",i),pt(e.scroller,"scroll",(function(){e.scroller.clientHeight&&(fi(t,e.scroller.scrollTop),di(t,e.scroller.scrollLeft,!0),mt(t,"scroll",t))})),pt(e.scroller,"mousewheel",(function(e){return no(t,e)})),pt(e.scroller,"DOMMouseScroll",(function(e){return no(t,e)})),pt(e.wrapper,"scroll",(function(){return e.wrapper.scrollTop=e.wrapper.scrollLeft=0})),e.dragFunctions={enter:function(e){yt(t,e)||kt(e)},over:function(e){yt(t,e)||(Ta(t,e),kt(e))},start:function(e){return ka(t,e)},drop:Ai(t,_a),leave:function(e){yt(t,e)||Ma(t)}};var s=e.input.getField();pt(s,"keyup",(function(e){return cl.call(t,e)})),pt(s,"keydown",Ai(t,ul)),pt(s,"keypress",Ai(t,fl)),pt(s,"focus",(function(e){return qr(t,e)})),pt(s,"blur",(function(e){return Zr(t,e)}))}Rl.defaults=Al,Rl.optionHandlers=Dl;var jl=[];function Fl(t,e,n,r){var i,o=t.doc;null==n&&(n="add"),"smart"==n&&(o.mode.indent?i=ye(t,e).state:n="prev");var a=t.options.tabSize,l=qt(o,e),u=j(l.text,null,a);l.stateAfter&&(l.stateAfter=null);var s,c=l.text.match(/^\s*/)[0];if(r||/\S/.test(l.text)){if("smart"==n&&(s=o.mode.indent(i,l.text.slice(c.length),l.text),s==B||s>150)){if(!r)return;n="prev"}}else s=0,n="not";"prev"==n?s=e>o.first?j(qt(o,e-1).text,null,a):0:"add"==n?s=u+t.options.indentUnit:"subtract"==n?s=u-t.options.indentUnit:"number"==typeof n&&(s=u+n),s=Math.max(0,s);var f="",h=0;if(t.options.indentWithTabs)for(var d=Math.floor(s/a);d;--d)h+=a,f+="\t";if(ha,u=Nt(e),s=null;if(l&&r.ranges.length>1)if(zl&&zl.text.join("\n")==e){if(r.ranges.length%zl.text.length==0){s=[];for(var c=0;c=0;h--){var d=r.ranges[h],p=d.from(),v=d.to();d.empty()&&(n&&n>0?p=ie(p.line,p.ch-n):t.state.overwrite&&!l?v=ie(v.line,Math.min(qt(o,v.line).text.length,v.ch+Y(u).length)):l&&zl&&zl.lineWise&&zl.text.join("\n")==u.join("\n")&&(p=v=ie(p.line,0)));var g={from:p,to:v,text:s?s[h%s.length]:u,origin:i||(l?"paste":t.state.cutIncoming>a?"cut":"+input")};Zo(t.doc,g),Ln(t,"inputRead",t,g)}e&&!l&&Ul(t,e),ai(t),t.curOp.updateInput<2&&(t.curOp.updateInput=f),t.curOp.typing=!0,t.state.pasteIncoming=t.state.cutIncoming=-1}function $l(t,e){var n=t.clipboardData&&t.clipboardData.getData("Text");if(n)return t.preventDefault(),e.isReadOnly()||e.options.disableInput||Oi(e,(function(){return Bl(e,n,0,null,"paste")})),!0}function Ul(t,e){if(t.options.electricChars&&t.options.smartIndent)for(var n=t.doc.sel,r=n.ranges.length-1;r>=0;r--){var i=n.ranges[r];if(!(i.head.ch>100||r&&n.ranges[r-1].head.line==i.head.line)){var o=t.getModeAt(i.head),a=!1;if(o.electricChars){for(var l=0;l-1){a=Fl(t,i.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(qt(t.doc,i.head.line).text.slice(0,i.head.ch))&&(a=Fl(t,i.head.line,"smart"));a&&Ln(t,"electricInput",t,i.head.line)}}}function Vl(t){for(var e=[],n=[],r=0;rn&&(Fl(this,i.head.line,t,!0),n=i.head.line,r==this.doc.sel.primIndex&&ai(this));else{var o=i.from(),a=i.to(),l=Math.max(n,o.line);n=Math.min(this.lastLine(),a.line-(a.ch?0:1))+1;for(var u=l;u0&&Wo(this.doc,r,new io(o,s[r].to()),$)}}})),getTokenAt:function(t,e){return Se(this,t,e)},getLineTokens:function(t,e){return Se(this,ie(t),e,!0)},getTokenTypeAt:function(t){t=fe(this.doc,t);var e,n=me(this,qt(this.doc,t.line)),r=0,i=(n.length-1)/2,o=t.ch;if(0==o)e=n[2];else for(;;){var a=r+i>>1;if((a?n[2*a-1]:0)>=o)i=a;else{if(!(n[2*a+1]o&&(t=o,i=!0),r=qt(this.doc,t)}else r=t;return vr(this,r,{top:0,left:0},e||"page",n||i).top+(i?this.doc.height-on(r):0)},defaultTextHeight:function(){return Lr(this.display)},defaultCharWidth:function(){return Er(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(t,e,n,r,i){var o=this.display;t=yr(this,fe(this.doc,t));var a=t.bottom,l=t.left;if(e.style.position="absolute",e.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(e),o.sizer.appendChild(e),"over"==r)a=t.top;else if("above"==r||"near"==r){var u=Math.max(o.wrapper.clientHeight,this.doc.height),s=Math.max(o.sizer.clientWidth,o.lineSpace.clientWidth);("above"==r||t.bottom+e.offsetHeight>u)&&t.top>e.offsetHeight?a=t.top-e.offsetHeight:t.bottom+e.offsetHeight<=u&&(a=t.bottom),l+e.offsetWidth>s&&(l=s-e.offsetWidth)}e.style.top=a+"px",e.style.left=e.style.right="","right"==i?(l=o.sizer.clientWidth-e.offsetWidth,e.style.right="0px"):("left"==i?l=0:"middle"==i&&(l=(o.sizer.clientWidth-e.offsetWidth)/2),e.style.left=l+"px"),n&&ri(this,{left:l,top:a,right:l+e.offsetWidth,bottom:a+e.offsetHeight})},triggerOnKeyDown:Di(ul),triggerOnKeyPress:Di(fl),triggerOnKeyUp:cl,triggerOnMouseDown:Di(ml),execCommand:function(t){if(qa.hasOwnProperty(t))return qa[t].call(null,this)},triggerElectric:Di((function(t){Ul(this,t)})),findPosH:function(t,e,n,r){var i=1;e<0&&(i=-1,e=-e);for(var o=fe(this.doc,t),a=0;a0&&l(n.charAt(r-1)))--r;while(i.5||this.options.lineWrapping)&&Nr(this),mt(this,"refresh",this)})),swapDoc:Di((function(t){var e=this.doc;return e.cm=null,this.state.selectingText&&this.state.selectingText(),yo(this,t),fr(this),this.display.input.reset(),li(this,t.scrollLeft,t.scrollTop),this.curOp.forceScroll=!0,Ln(this,"swapDoc",this,e),e})),phrase:function(t){var e=this.options.phrases;return e&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:t},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},xt(t),t.registerHelper=function(e,r,i){n.hasOwnProperty(e)||(n[e]=t[e]={_global:[]}),n[e][r]=i},t.registerGlobalHelper=function(e,r,i,o){t.registerHelper(e,r,o),n[e]._global.push({pred:i,val:o})}}function Yl(t,e,n,r,i){var o=e,a=n,l=qt(t,e.line),u=i&&"rtl"==t.direction?-n:n;function s(){var n=e.line+u;return!(n=t.first+t.size)&&(e=new ie(n,e.ch,e.sticky),l=qt(t,n))}function c(o){var a;if("codepoint"==r){var c=l.text.charCodeAt(e.ch+(n>0?0:-1));if(isNaN(c))a=null;else{var f=n>0?c>=55296&&c<56320:c>=56320&&c<57343;a=new ie(e.line,Math.max(0,Math.min(l.text.length,e.ch+n*(f?2:1))),-n)}}else a=i?Ya(t.cm,l,e,n):Xa(l,e,n);if(null==a){if(o||!s())return!1;e=Ka(i,t.cm,l,e.line,u)}else e=a;return!0}if("char"==r||"codepoint"==r)c();else if("column"==r)c(!0);else if("word"==r||"group"==r)for(var f=null,h="group"==r,d=t.cm&&t.cm.getHelper(e,"wordChars"),p=!0;;p=!1){if(n<0&&!c(!p))break;var v=l.text.charAt(e.ch)||"\n",g=nt(v,d)?"w":h&&"\n"==v?"n":!h||/\s/.test(v)?null:"p";if(!h||p||g||(g="s"),f&&f!=g){n<0&&(n=1,c(),e.sticky="after");break}if(g&&(f=g),n>0&&!c(!p))break}var m=Xo(t,e,o,a,!0);return ae(o,m)&&(m.hitSide=!0),m}function ql(t,e,n,r){var i,o,a=t.doc,l=e.left;if("page"==r){var u=Math.min(t.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),s=Math.max(u-.5*Lr(t.display),3);i=(n>0?e.bottom:e.top)+n*s}else"line"==r&&(i=n>0?e.bottom+3:e.top-3);for(;;){if(o=xr(t,l,i),!o.outside)break;if(n<0?i<=0:i>=a.height){o.hitSide=!0;break}i+=5*n}return o}var Zl=function(t){this.cm=t,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new F,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function Jl(t,e){var n=tr(t,e.line);if(!n||n.hidden)return null;var r=qt(t.doc,e.line),i=Zn(n,r,e.line),o=ht(r,t.doc.direction),a="left";if(o){var l=ct(o,e.ch);a=l%2?"right":"left"}var u=or(i.map,e.ch,a);return u.offset="right"==u.collapse?u.end:u.start,u}function Ql(t){for(var e=t;e;e=e.parentNode)if(/CodeMirror-gutter-wrapper/.test(e.className))return!0;return!1}function tu(t,e){return e&&(t.bad=!0),t}function eu(t,e,n,r,i){var o="",a=!1,l=t.doc.lineSeparator(),u=!1;function s(t){return function(e){return e.id==t}}function c(){a&&(o+=l,u&&(o+=l),a=u=!1)}function f(t){t&&(c(),o+=t)}function h(e){if(1==e.nodeType){var n=e.getAttribute("cm-text");if(n)return void f(n);var o,d=e.getAttribute("cm-marker");if(d){var p=t.findMarks(ie(r,0),ie(i+1,0),s(+d));return void(p.length&&(o=p[0].find(0))&&f(Zt(t.doc,o.from,o.to).join(l)))}if("false"==e.getAttribute("contenteditable"))return;var v=/^(pre|div|p|li|table|br)$/i.test(e.nodeName);if(!/^br$/i.test(e.nodeName)&&0==e.textContent.length)return;v&&c();for(var g=0;g=e.display.viewTo||o.line=e.display.viewFrom&&Jl(e,i)||{node:u[0].measure.map[2],offset:0},c=o.liner.firstLine()&&(a=ie(a.line-1,qt(r.doc,a.line-1).length)),l.ch==qt(r.doc,l.line).text.length&&l.linei.viewTo-1)return!1;a.line==i.viewFrom||0==(t=Pr(r,a.line))?(e=te(i.view[0].line),n=i.view[0].node):(e=te(i.view[t].line),n=i.view[t-1].node.nextSibling);var u,s,c=Pr(r,l.line);if(c==i.view.length-1?(u=i.viewTo-1,s=i.lineDiv.lastChild):(u=te(i.view[c+1].line)-1,s=i.view[c+1].node.previousSibling),!n)return!1;var f=r.doc.splitLines(eu(r,n,s,e,u)),h=Zt(r.doc,ie(e,0),ie(u,qt(r.doc,u).text.length));while(f.length>1&&h.length>1)if(Y(f)==Y(h))f.pop(),h.pop(),u--;else{if(f[0]!=h[0])break;f.shift(),h.shift(),e++}var d=0,p=0,v=f[0],g=h[0],m=Math.min(v.length,g.length);while(da.ch&&y.charCodeAt(y.length-p-1)==b.charCodeAt(b.length-p-1))d--,p++;f[f.length-1]=y.slice(0,y.length-p).replace(/^\u200b+/,""),f[0]=f[0].slice(d).replace(/\u200b+$/,"");var x=ie(e,d),C=ie(u,h.length?Y(h).length-p:0);return f.length>1||f[0]||oe(x,C)?(ra(r.doc,f,x,C,"+input"),!0):void 0},Zl.prototype.ensurePolled=function(){this.forceCompositionEnd()},Zl.prototype.reset=function(){this.forceCompositionEnd()},Zl.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Zl.prototype.readFromDOMSoon=function(){var t=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout((function(){if(t.readDOMTimeout=null,t.composing){if(!t.composing.done)return;t.composing=null}t.updateFromDOM()}),80))},Zl.prototype.updateFromDOM=function(){var t=this;!this.cm.isReadOnly()&&this.pollContent()||Oi(this.cm,(function(){return Rr(t.cm)}))},Zl.prototype.setUneditable=function(t){t.contentEditable="false"},Zl.prototype.onKeyPress=function(t){0==t.charCode||this.composing||(t.preventDefault(),this.cm.isReadOnly()||Ai(this.cm,Bl)(this.cm,String.fromCharCode(null==t.charCode?t.keyCode:t.charCode),0))},Zl.prototype.readOnlyChanged=function(t){this.div.contentEditable=String("nocursor"!=t)},Zl.prototype.onContextMenu=function(){},Zl.prototype.resetPosition=function(){},Zl.prototype.needsContentAttribute=!0;var iu=function(t){this.cm=t,this.prevInput="",this.pollingFast=!1,this.polling=new F,this.hasSelection=!1,this.composing=null};function ou(t,e){if(e=e?W(e):{},e.value=t.value,!e.tabindex&&t.tabIndex&&(e.tabindex=t.tabIndex),!e.placeholder&&t.placeholder&&(e.placeholder=t.placeholder),null==e.autofocus){var n=D();e.autofocus=n==t||null!=t.getAttribute("autofocus")&&n==document.body}function r(){t.value=l.getValue()}var i;if(t.form&&(pt(t.form,"submit",r),!e.leaveSubmitMethodAlone)){var o=t.form;i=o.submit;try{var a=o.submit=function(){r(),o.submit=i,o.submit(),o.submit=a}}catch(u){}}e.finishInit=function(n){n.save=r,n.getTextArea=function(){return t},n.toTextArea=function(){n.toTextArea=isNaN,r(),t.parentNode.removeChild(n.getWrapperElement()),t.style.display="",t.form&&(gt(t.form,"submit",r),e.leaveSubmitMethodAlone||"function"!=typeof t.form.submit||(t.form.submit=i))}},t.style.display="none";var l=Rl((function(e){return t.parentNode.insertBefore(e,t.nextSibling)}),e);return l}function au(t){t.off=gt,t.on=pt,t.wheelEventPixels=eo,t.Doc=Ca,t.splitLines=Nt,t.countColumn=j,t.findColumn=G,t.isWordChar=et,t.Pass=B,t.signal=mt,t.Line=un,t.changeEnd=lo,t.scrollbarModel=bi,t.Pos=ie,t.cmpPos=oe,t.modes=jt,t.mimeModes=Ft,t.resolveMode=Bt,t.getMode=$t,t.modeExtensions=Ut,t.extendMode=Vt,t.copyState=Gt,t.startState=Kt,t.innerMode=Xt,t.commands=qa,t.keyMap=Wa,t.keyName=$a,t.isModifierKey=Ha,t.lookupKey=za,t.normalizeKeyMap=Fa,t.StringStream=Yt,t.SharedTextMarker=ga,t.TextMarker=pa,t.LineWidget=ca,t.e_preventDefault=Ct,t.e_stopPropagation=St,t.e_stop=kt,t.addClass=N,t.contains=A,t.rmClass=T,t.keyNames=Na}iu.prototype.init=function(t){var e=this,n=this,r=this.cm;this.createField(t);var i=this.textarea;function o(t){if(!yt(r,t)){if(r.somethingSelected())Hl({lineWise:!1,text:r.getSelections()});else{if(!r.options.lineWiseCopyCut)return;var e=Vl(r);Hl({lineWise:!0,text:e.text}),"cut"==t.type?r.setSelections(e.ranges,null,$):(n.prevInput="",i.value=e.text.join("\n"),P(i))}"cut"==t.type&&(r.state.cutIncoming=+new Date)}}t.wrapper.insertBefore(this.wrapper,t.wrapper.firstChild),v&&(i.style.width="0px"),pt(i,"input",(function(){a&&l>=9&&e.hasSelection&&(e.hasSelection=null),n.poll()})),pt(i,"paste",(function(t){yt(r,t)||$l(t,r)||(r.state.pasteIncoming=+new Date,n.fastPoll())})),pt(i,"cut",o),pt(i,"copy",o),pt(t.scroller,"paste",(function(e){if(!$n(t,e)&&!yt(r,e)){if(!i.dispatchEvent)return r.state.pasteIncoming=+new Date,void n.focus();var o=new Event("paste");o.clipboardData=e.clipboardData,i.dispatchEvent(o)}})),pt(t.lineSpace,"selectstart",(function(e){$n(t,e)||Ct(e)})),pt(i,"compositionstart",(function(){var t=r.getCursor("from");n.composing&&n.composing.range.clear(),n.composing={start:t,range:r.markText(t,r.getCursor("to"),{className:"CodeMirror-composing"})}})),pt(i,"compositionend",(function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)}))},iu.prototype.createField=function(t){this.wrapper=Xl(),this.textarea=this.wrapper.firstChild},iu.prototype.screenReaderLabelChanged=function(t){t?this.textarea.setAttribute("aria-label",t):this.textarea.removeAttribute("aria-label")},iu.prototype.prepareSelection=function(){var t=this.cm,e=t.display,n=t.doc,r=$r(t);if(t.options.moveInputWithCursor){var i=yr(t,n.sel.primary().head,"div"),o=e.wrapper.getBoundingClientRect(),a=e.lineDiv.getBoundingClientRect();r.teTop=Math.max(0,Math.min(e.wrapper.clientHeight-10,i.top+a.top-o.top)),r.teLeft=Math.max(0,Math.min(e.wrapper.clientWidth-10,i.left+a.left-o.left))}return r},iu.prototype.showSelection=function(t){var e=this.cm,n=e.display;L(n.cursorDiv,t.cursors),L(n.selectionDiv,t.selection),null!=t.teTop&&(this.wrapper.style.top=t.teTop+"px",this.wrapper.style.left=t.teLeft+"px")},iu.prototype.reset=function(t){if(!this.contextMenuPending&&!this.composing){var e=this.cm;if(e.somethingSelected()){this.prevInput="";var n=e.getSelection();this.textarea.value=n,e.state.focused&&P(this.textarea),a&&l>=9&&(this.hasSelection=n)}else t||(this.prevInput=this.textarea.value="",a&&l>=9&&(this.hasSelection=null))}},iu.prototype.getField=function(){return this.textarea},iu.prototype.supportsTouch=function(){return!1},iu.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!m||D()!=this.textarea))try{this.textarea.focus()}catch(t){}},iu.prototype.blur=function(){this.textarea.blur()},iu.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},iu.prototype.receivedFocus=function(){this.slowPoll()},iu.prototype.slowPoll=function(){var t=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,(function(){t.poll(),t.cm.state.focused&&t.slowPoll()}))},iu.prototype.fastPoll=function(){var t=!1,e=this;function n(){var r=e.poll();r||t?(e.pollingFast=!1,e.slowPoll()):(t=!0,e.polling.set(60,n))}e.pollingFast=!0,e.polling.set(20,n)},iu.prototype.poll=function(){var t=this,e=this.cm,n=this.textarea,r=this.prevInput;if(this.contextMenuPending||!e.state.focused||It(n)&&!r&&!this.composing||e.isReadOnly()||e.options.disableInput||e.state.keySeq)return!1;var i=n.value;if(i==r&&!e.somethingSelected())return!1;if(a&&l>=9&&this.hasSelection===i||y&&/[\uf700-\uf7ff]/.test(i))return e.display.input.reset(),!1;if(e.doc.sel==e.display.selForContextMenu){var o=i.charCodeAt(0);if(8203!=o||r||(r="​"),8666==o)return this.reset(),this.cm.execCommand("undo")}var u=0,s=Math.min(r.length,i.length);while(u1e3||i.indexOf("\n")>-1?n.value=t.prevInput="":t.prevInput=i,t.composing&&(t.composing.range.clear(),t.composing.range=e.markText(t.composing.start,e.getCursor("to"),{className:"CodeMirror-composing"}))})),!0},iu.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},iu.prototype.onKeyPress=function(){a&&l>=9&&(this.hasSelection=null),this.fastPoll()},iu.prototype.onContextMenu=function(t){var e=this,n=e.cm,r=n.display,i=e.textarea;e.contextMenuPending&&e.contextMenuPending();var o=Ir(n,t),s=r.scroller.scrollTop;if(o&&!f){var c=n.options.resetSelectionOnContextMenu;c&&-1==n.doc.sel.contains(o)&&Ai(n,Ho)(n.doc,ao(o),$);var h,d=i.style.cssText,p=e.wrapper.style.cssText,v=e.wrapper.offsetParent.getBoundingClientRect();if(e.wrapper.style.cssText="position: static",i.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(t.clientY-v.top-5)+"px; left: "+(t.clientX-v.left-5)+"px;\n z-index: 1000; background: "+(a?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",u&&(h=window.scrollY),r.input.focus(),u&&window.scrollTo(null,h),r.input.reset(),n.somethingSelected()||(i.value=e.prevInput=" "),e.contextMenuPending=y,r.selForContextMenu=n.doc.sel,clearTimeout(r.detectingSelectAll),a&&l>=9&&m(),S){kt(t);var g=function(){gt(window,"mouseup",g),setTimeout(y,20)};pt(window,"mouseup",g)}else setTimeout(y,50)}function m(){if(null!=i.selectionStart){var t=n.somethingSelected(),o="​"+(t?i.value:"");i.value="⇚",i.value=o,e.prevInput=t?"":"​",i.selectionStart=1,i.selectionEnd=o.length,r.selForContextMenu=n.doc.sel}}function y(){if(e.contextMenuPending==y&&(e.contextMenuPending=!1,e.wrapper.style.cssText=p,i.style.cssText=d,a&&l<9&&r.scrollbars.setScrollTop(r.scroller.scrollTop=s),null!=i.selectionStart)){(!a||a&&l<9)&&m();var t=0,o=function(){r.selForContextMenu==n.doc.sel&&0==i.selectionStart&&i.selectionEnd>0&&"​"==e.prevInput?Ai(n,Yo)(n):t++<10?r.detectingSelectAll=setTimeout(o,500):(r.selForContextMenu=null,r.input.reset())};r.detectingSelectAll=setTimeout(o,200)}}},iu.prototype.readOnlyChanged=function(t){t||this.reset(),this.textarea.disabled="nocursor"==t,this.textarea.readOnly=!!t},iu.prototype.setUneditable=function(){},iu.prototype.needsContentAttribute=!1,Nl(Rl),Kl(Rl);var lu="iter insert remove copy getEditor constructor".split(" ");for(var uu in Ca.prototype)Ca.prototype.hasOwnProperty(uu)&&z(lu,uu)<0&&(Rl.prototype[uu]=function(t){return function(){return t.apply(this.doc,arguments)}}(Ca.prototype[uu]));return xt(Ca),Rl.inputStyles={textarea:iu,contenteditable:Zl},Rl.defineMode=function(t){Rl.defaults.mode||"null"==t||(Rl.defaults.mode=t),zt.apply(this,arguments)},Rl.defineMIME=Ht,Rl.defineMode("null",(function(){return{token:function(t){return t.skipToEnd()}}})),Rl.defineMIME("text/plain","null"),Rl.defineExtension=function(t,e){Rl.prototype[t]=e},Rl.defineDocExtension=function(t,e){Ca.prototype[t]=e},Rl.fromTextArea=ou,au(Rl),Rl.version="5.65.0",Rl}))},"62e4":function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},7037:function(t,e,n){function r(e){return t.exports=r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports["default"]=t.exports,r(e)}n("a4d3"),n("e01a"),n("d3b7"),n("d28b"),n("3ca3"),n("ddb0"),t.exports=r,t.exports.__esModule=!0,t.exports["default"]=t.exports},7156:function(t,e,n){var r=n("861d"),i=n("d2bb");t.exports=function(t,e,n){var o,a;return i&&"function"==typeof(o=e.constructor)&&o!==n&&r(a=o.prototype)&&a!==n.prototype&&i(t,a),t}},"81d5":function(t,e,n){"use strict";var r=n("7b0b"),i=n("23cb"),o=n("50c4");t.exports=function(t){var e=r(this),n=o(e.length),a=arguments.length,l=i(a>1?arguments[1]:void 0,n),u=a>2?arguments[2]:void 0,s=void 0===u?n:i(u,n);while(s>l)e[l++]=t;return e}},"857a":function(t,e,n){var r=n("1d80"),i=/"/g;t.exports=function(t,e,n,o){var a=String(r(t)),l="<"+e;return""!==n&&(l+=" "+n+'="'+String(o).replace(i,""")+'"'),l+">"+a+""}},"8aa5":function(t,e,n){"use strict";var r=n("6547").charAt;t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},"8f94":function(t,e,n){!function(e,r){t.exports=r(n("56b3"))}(0,(function(t){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/",e(e.s=3)}([function(e,n){e.exports=t},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(0),i=function(t){return t&&t.__esModule?t:{default:t}}(r),o=window.CodeMirror||i.default;"function"!=typeof Object.assign&&Object.defineProperty(Object,"assign",{value:function(t,e){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var n=Object(t),r=1;rg)throw TypeError(m);for(c=u(y,r),f=0;fb-r+n;f--)delete y[f-1]}else if(n>r)for(f=b-r;f>w;f--)h=f+r-1,d=f+n-1,h in y?y[d]=y[h]:delete y[d];for(f=0;f2)if(s=g(s),e=s.charCodeAt(0),43===e||45===e){if(n=s.charCodeAt(2),88===n||120===n)return NaN}else if(48===e){switch(s.charCodeAt(1)){case 66:case 98:r=2,i=49;break;case 79:case 111:r=8,i=55;break;default:return+s}for(o=s.slice(2),a=o.length,l=0;li)return NaN;return parseInt(o,r)}return+s};if(o(m,!y(" 0o1")||!y("0b1")||y("+0x1"))){for(var C,S=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof S&&(w?f((function(){b.valueOf.call(n)})):u(n)!=m)?s(new y(x(e)),n,S):x(e)},_=r?d(y):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),k=0;_.length>k;k++)l(y,C=_[k])&&!l(S,C)&&v(S,C,p(y,C));S.prototype=b,b.constructor=S,a(i,m,S)}},aa47:function(t,e,n){"use strict"; -/**! - * Sortable 1.10.2 - * @author RubaXa - * @author owenm - * @license MIT - */ -function r(t){return r="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function i(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(){return o=Object.assign||function(t){for(var e=1;e=0||(i[n]=t[n]);return i}function u(t,e){if(null==t)return{};var n,r,i=l(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}function s(t){return c(t)||f(t)||h()}function c(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e"===e[0]&&(e=e.substring(1)),t)try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch(n){return!1}return!1}}function k(t){return t.host&&t!==document&&t.host.nodeType?t.host:t.parentNode}function T(t,e,n,r){if(t){n=n||document;do{if(null!=e&&(">"===e[0]?t.parentNode===n&&_(t,e):_(t,e))||r&&t===n)return t;if(t===n)break}while(t=k(t))}return null}var M,L=/\s+/g;function E(t,e,n){if(t&&e)if(t.classList)t.classList[n?"add":"remove"](e);else{var r=(" "+t.className+" ").replace(L," ").replace(" "+e+" "," ");t.className=(r+(n?" "+e:"")).replace(L," ")}}function O(t,e,n){var r=t&&t.style;if(r){if(void 0===n)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(t,""):t.currentStyle&&(n=t.currentStyle),void 0===e?n:n[e];e in r||-1!==e.indexOf("webkit")||(e="-webkit-"+e),r[e]=n+("string"===typeof n?"":"px")}}function A(t,e){var n="";if("string"===typeof t)n=t;else do{var r=O(t,"transform");r&&"none"!==r&&(n=r+" "+n)}while(!e&&(t=t.parentNode));var i=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return i&&new i(n)}function D(t,e,n){if(t){var r=t.getElementsByTagName(e),i=0,o=r.length;if(n)for(;i=o:i<=o,!a)return r;if(r===N())break;r=H(r,!1)}return!1}function R(t,e,n){var r=0,i=0,o=t.children;while(i2&&void 0!==arguments[2]?arguments[2]:{},r=n.evt,i=u(n,["evt"]);nt.pluginEvent.bind(Jt)(t,e,a({dragEl:at,parentEl:lt,ghostEl:ut,rootEl:st,nextEl:ct,lastDownEl:ft,cloneEl:ht,cloneHidden:dt,dragStarted:Tt,putSortable:bt,activeSortable:Jt.active,originalEvent:r,oldIndex:pt,oldDraggableIndex:gt,newIndex:vt,newDraggableIndex:mt,hideGhostForTarget:Kt,unhideGhostForTarget:Yt,cloneNowHidden:function(){dt=!0},cloneNowShown:function(){dt=!1},dispatchSortableEvent:function(t){ot({sortable:e,name:t,originalEvent:r})}},i))};function ot(t){rt(a({putSortable:bt,cloneEl:ht,targetEl:at,rootEl:st,oldIndex:pt,oldDraggableIndex:gt,newIndex:vt,newDraggableIndex:mt},t))}var at,lt,ut,st,ct,ft,ht,dt,pt,vt,gt,mt,yt,bt,wt,xt,Ct,St,_t,kt,Tt,Mt,Lt,Et,Ot,At=!1,Dt=!1,Nt=[],It=!1,Pt=!1,Rt=[],Wt=!1,jt=[],Ft="undefined"!==typeof document,zt=b,Ht=g||v?"cssFloat":"float",Bt=Ft&&!w&&!b&&"draggable"in document.createElement("div"),$t=function(){if(Ft){if(v)return!1;var t=document.createElement("x");return t.style.cssText="pointer-events:auto","auto"===t.style.pointerEvents}}(),Ut=function(t,e){var n=O(t),r=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),i=R(t,0,e),o=R(t,1,e),a=i&&O(i),l=o&&O(o),u=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+I(i).width,s=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+I(o).width;if("flex"===n.display)return"column"===n.flexDirection||"column-reverse"===n.flexDirection?"vertical":"horizontal";if("grid"===n.display)return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(i&&a["float"]&&"none"!==a["float"]){var c="left"===a["float"]?"left":"right";return!o||"both"!==l.clear&&l.clear!==c?"horizontal":"vertical"}return i&&("block"===a.display||"flex"===a.display||"table"===a.display||"grid"===a.display||u>=r&&"none"===n[Ht]||o&&"none"===n[Ht]&&u+s>r)?"vertical":"horizontal"},Vt=function(t,e,n){var r=n?t.left:t.top,i=n?t.right:t.bottom,o=n?t.width:t.height,a=n?e.left:e.top,l=n?e.right:e.bottom,u=n?e.width:e.height;return r===a||i===l||r+o/2===a+u/2},Gt=function(t,e){var n;return Nt.some((function(r){if(!W(r)){var i=I(r),o=r[q].options.emptyInsertThreshold,a=t>=i.left-o&&t<=i.right+o,l=e>=i.top-o&&e<=i.bottom+o;return o&&a&&l?n=r:void 0}})),n},Xt=function(t){function e(t,n){return function(r,i,o,a){var l=r.options.group.name&&i.options.group.name&&r.options.group.name===i.options.group.name;if(null==t&&(n||l))return!0;if(null==t||!1===t)return!1;if(n&&"clone"===t)return t;if("function"===typeof t)return e(t(r,i,o,a),n)(r,i,o,a);var u=(n?r:i).options.group.name;return!0===t||"string"===typeof t&&t===u||t.join&&t.indexOf(u)>-1}}var n={},i=t.group;i&&"object"==r(i)||(i={name:i}),n.name=i.name,n.checkPull=e(i.pull,!0),n.checkPut=e(i.put),n.revertClone=i.revertClone,t.group=n},Kt=function(){!$t&&ut&&O(ut,"display","none")},Yt=function(){!$t&&ut&&O(ut,"display","")};Ft&&document.addEventListener("click",(function(t){if(Dt)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),Dt=!1,!1}),!0);var qt=function(t){if(at){t=t.touches?t.touches[0]:t;var e=Gt(t.clientX,t.clientY);if(e){var n={};for(var r in t)t.hasOwnProperty(r)&&(n[r]=t[r]);n.target=n.rootEl=e,n.preventDefault=void 0,n.stopPropagation=void 0,e[q]._onDragOver(n)}}},Zt=function(t){at&&at.parentNode[q]._isOutsideThisEl(t.target)};function Jt(t,e){if(!t||!t.nodeType||1!==t.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t));this.el=t,this.options=e=o({},e),t[q]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Ut(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,e){t.setData("Text",e.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Jt.supportPointer&&"PointerEvent"in window,emptyInsertThreshold:5};for(var r in nt.initializePlugins(this,t,n),n)!(r in e)&&(e[r]=n[r]);for(var i in Xt(e),this)"_"===i.charAt(0)&&"function"===typeof this[i]&&(this[i]=this[i].bind(this));this.nativeDraggable=!e.forceFallback&&Bt,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?C(t,"pointerdown",this._onTapStart):(C(t,"mousedown",this._onTapStart),C(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(C(t,"dragover",this),C(t,"dragenter",this)),Nt.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),o(this,Z())}function Qt(t){t.dataTransfer&&(t.dataTransfer.dropEffect="move"),t.cancelable&&t.preventDefault()}function te(t,e,n,r,i,o,a,l){var u,s,c=t[q],f=c.options.onMove;return!window.CustomEvent||v||g?(u=document.createEvent("Event"),u.initEvent("move",!0,!0)):u=new CustomEvent("move",{bubbles:!0,cancelable:!0}),u.to=e,u.from=t,u.dragged=n,u.draggedRect=r,u.related=i||e,u.relatedRect=o||I(e),u.willInsertAfter=l,u.originalEvent=a,t.dispatchEvent(u),f&&(s=f.call(c,u,a)),s}function ee(t){t.draggable=!1}function ne(){Wt=!1}function re(t,e,n){var r=I(W(n.el,n.options.draggable)),i=10;return e?t.clientX>r.right+i||t.clientX<=r.right&&t.clientY>r.bottom&&t.clientX>=r.left:t.clientX>r.right&&t.clientY>r.top||t.clientX<=r.right&&t.clientY>r.bottom+i}function ie(t,e,n,r,i,o,a,l){var u=r?t.clientY:t.clientX,s=r?n.height:n.width,c=r?n.top:n.left,f=r?n.bottom:n.right,h=!1;if(!a)if(l&&Etc+s*o/2:uf-Et)return-Lt}else if(u>c+s*(1-i)/2&&uf-s*o/2)?u>c+s/2?1:-1:0}function oe(t){return j(at)=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){at&&ee(at),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;S(t,"mouseup",this._disableDelayedDrag),S(t,"touchend",this._disableDelayedDrag),S(t,"touchcancel",this._disableDelayedDrag),S(t,"mousemove",this._delayedDragTouchMoveHandler),S(t,"touchmove",this._delayedDragTouchMoveHandler),S(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||"touch"==t.pointerType&&t,!this.nativeDraggable||e?this.options.supportPointer?C(document,"pointermove",this._onTouchMove):C(document,e?"touchmove":"mousemove",this._onTouchMove):(C(at,"dragend",this),C(st,"dragstart",this._onDragStart));try{document.selection?ue((function(){document.selection.empty()})):window.getSelection().removeAllRanges()}catch(n){}},_dragStarted:function(t,e){if(At=!1,st&&at){it("dragStarted",this,{evt:e}),this.nativeDraggable&&C(document,"dragover",Zt);var n=this.options;!t&&E(at,n.dragClass,!1),E(at,n.ghostClass,!0),Jt.active=this,t&&this._appendGhost(),ot({sortable:this,name:"start",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if(xt){this._lastX=xt.clientX,this._lastY=xt.clientY,Kt();var t=document.elementFromPoint(xt.clientX,xt.clientY),e=t;while(t&&t.shadowRoot){if(t=t.shadowRoot.elementFromPoint(xt.clientX,xt.clientY),t===e)break;e=t}if(at.parentNode[q]._isOutsideThisEl(t),e)do{if(e[q]){var n=void 0;if(n=e[q]._onDragOver({clientX:xt.clientX,clientY:xt.clientY,target:t,rootEl:e}),n&&!this.options.dragoverBubble)break}t=e}while(e=e.parentNode);Yt()}},_onTouchMove:function(t){if(wt){var e=this.options,n=e.fallbackTolerance,r=e.fallbackOffset,i=t.touches?t.touches[0]:t,o=ut&&A(ut,!0),a=ut&&o&&o.a,l=ut&&o&&o.d,u=zt&&Ot&&F(Ot),s=(i.clientX-wt.clientX+r.x)/(a||1)+(u?u[0]-Rt[0]:0)/(a||1),c=(i.clientY-wt.clientY+r.y)/(l||1)+(u?u[1]-Rt[1]:0)/(l||1);if(!Jt.active&&!At){if(n&&Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))=0&&(ot({rootEl:lt,name:"add",toEl:lt,fromEl:st,originalEvent:t}),ot({sortable:this,name:"remove",toEl:lt,originalEvent:t}),ot({rootEl:lt,name:"sort",toEl:lt,fromEl:st,originalEvent:t}),ot({sortable:this,name:"sort",toEl:lt,originalEvent:t})),bt&&bt.save()):vt!==pt&&vt>=0&&(ot({sortable:this,name:"update",toEl:lt,originalEvent:t}),ot({sortable:this,name:"sort",toEl:lt,originalEvent:t})),Jt.active&&(null!=vt&&-1!==vt||(vt=pt,mt=gt),ot({sortable:this,name:"end",toEl:lt,originalEvent:t}),this.save())))),this._nulling()},_nulling:function(){it("nulling",this),st=at=lt=ut=ct=ht=ft=dt=wt=xt=Tt=vt=mt=pt=gt=Mt=Lt=bt=yt=Jt.dragged=Jt.ghost=Jt.clone=Jt.active=null,jt.forEach((function(t){t.checked=!0})),jt.length=Ct=St=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":at&&(this._onDragOver(t),Qt(t));break;case"selectstart":t.preventDefault();break}},toArray:function(){for(var t,e=[],n=this.el.children,r=0,i=n.length,o=this.options;r1&&(Ne.forEach((function(t){r.addAnimationState({target:t,rect:Re?I(t):i}),Y(t),t.fromRect=i,e.removeAnimationState(t)})),Re=!1,Fe(!this.options.removeCloneOnHide,n))},dragOverCompleted:function(t){var e=t.sortable,n=t.isOwner,r=t.insertion,i=t.activeSortable,o=t.parentEl,a=t.putSortable,l=this.options;if(r){if(n&&i._hideClone(),Pe=!1,l.animation&&Ne.length>1&&(Re||!n&&!i.options.sort&&!a)){var u=I(Oe,!1,!0,!0);Ne.forEach((function(t){t!==Oe&&(K(t,u),o.appendChild(t))})),Re=!0}if(!n)if(Re||He(),Ne.length>1){var s=De;i._showClone(e),i.options.animation&&!De&&s&&Ie.forEach((function(t){i.addAnimationState({target:t,rect:Ae}),t.fromRect=Ae,t.thisAnimationDuration=null}))}else i._showClone(e)}},dragOverAnimationCapture:function(t){var e=t.dragRect,n=t.isOwner,r=t.activeSortable;if(Ne.forEach((function(t){t.thisAnimationDuration=null})),r.options.animation&&!n&&r.multiDrag.isMultiDrag){Ae=o({},e);var i=A(Oe,!0);Ae.top-=i.f,Ae.left-=i.e}},dragOverAnimationComplete:function(){Re&&(Re=!1,He())},drop:function(t){var e=t.originalEvent,n=t.rootEl,r=t.parentEl,i=t.sortable,o=t.dispatchSortableEvent,a=t.oldIndex,l=t.putSortable,u=l||this.sortable;if(e){var s=this.options,c=r.children;if(!We)if(s.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),E(Oe,s.selectedClass,!~Ne.indexOf(Oe)),~Ne.indexOf(Oe))Ne.splice(Ne.indexOf(Oe),1),Le=null,rt({sortable:i,rootEl:n,name:"deselect",targetEl:Oe,originalEvt:e});else{if(Ne.push(Oe),rt({sortable:i,rootEl:n,name:"select",targetEl:Oe,originalEvt:e}),e.shiftKey&&Le&&i.el.contains(Le)){var f,h,d=j(Le),p=j(Oe);if(~d&&~p&&d!==p)for(p>d?(h=d,f=p):(h=p,f=d+1);h1){var v=I(Oe),g=j(Oe,":not(."+this.options.selectedClass+")");if(!Pe&&s.animation&&(Oe.thisAnimationDuration=null),u.captureAnimationState(),!Pe&&(s.animation&&(Oe.fromRect=v,Ne.forEach((function(t){if(t.thisAnimationDuration=null,t!==Oe){var e=Re?I(t):v;t.fromRect=e,u.addAnimationState({target:t,rect:e})}}))),He(),Ne.forEach((function(t){c[g]?r.insertBefore(t,c[g]):r.appendChild(t),g++})),a===j(Oe))){var m=!1;Ne.forEach((function(t){t.sortableIndex===j(t)||(m=!0)})),m&&o("update")}Ne.forEach((function(t){Y(t)})),u.animateAll()}Ee=u}(n===r||l&&"clone"!==l.lastPutMode)&&Ie.forEach((function(t){t.parentNode&&t.parentNode.removeChild(t)}))}},nullingGlobal:function(){this.isMultiDrag=We=!1,Ie.length=0},destroyGlobal:function(){this._deselectMultiDrag(),S(document,"pointerup",this._deselectMultiDrag),S(document,"mouseup",this._deselectMultiDrag),S(document,"touchend",this._deselectMultiDrag),S(document,"keydown",this._checkKeyDown),S(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(t){if(("undefined"===typeof We||!We)&&Ee===this.sortable&&(!t||!T(t.target,this.options.draggable,this.sortable.el,!1))&&(!t||0===t.button))while(Ne.length){var e=Ne[0];E(e,this.options.selectedClass,!1),Ne.shift(),rt({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:e,originalEvt:t})}},_checkKeyDown:function(t){t.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(t){t.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},o(t,{pluginName:"multiDrag",utils:{select:function(t){var e=t.parentNode[q];e&&e.options.multiDrag&&!~Ne.indexOf(t)&&(Ee&&Ee!==e&&(Ee.multiDrag._deselectMultiDrag(),Ee=e),E(t,e.options.selectedClass,!0),Ne.push(t))},deselect:function(t){var e=t.parentNode[q],n=Ne.indexOf(t);e&&e.options.multiDrag&&~n&&(E(t,e.options.selectedClass,!1),Ne.splice(n,1))}},eventProperties:function(){var t=this,e=[],n=[];return Ne.forEach((function(r){var i;e.push({multiDragElement:r,index:r.sortableIndex}),i=Re&&r!==Oe?-1:Re?j(r,":not(."+t.options.selectedClass+")"):j(r),n.push({multiDragElement:r,index:i})})),{items:s(Ne),clones:[].concat(Ie),oldIndicies:e,newIndicies:n}},optionListeners:{multiDragKey:function(t){return t=t.toLowerCase(),"ctrl"===t?t="Control":t.length>1&&(t=t.charAt(0).toUpperCase()+t.substr(1)),t}}})}function Fe(t,e){Ne.forEach((function(n,r){var i=e.children[n.sortableIndex+(t?Number(r):0)];i?e.insertBefore(n,i):e.appendChild(n)}))}function ze(t,e){Ie.forEach((function(n,r){var i=e.children[n.sortableIndex+(t?Number(r):0)];i?e.insertBefore(n,i):e.appendChild(n)}))}function He(){Ne.forEach((function(t){t!==Oe&&t.parentNode&&t.parentNode.removeChild(t)}))}Jt.mount(new ye),Jt.mount(ke,_e),e["default"]=Jt},af03:function(t,e,n){var r=n("d039");t.exports=function(t){return r((function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}))}},b76a:function(t,e,n){(function(e,r){t.exports=r(n("aa47"))})("undefined"!==typeof self&&self,(function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s="fb15")}({"01f9":function(t,e,n){"use strict";var r=n("2d00"),i=n("5ca1"),o=n("2aba"),a=n("32e9"),l=n("84f2"),u=n("41a0"),s=n("7f20"),c=n("38fd"),f=n("2b4c")("iterator"),h=!([].keys&&"next"in[].keys()),d="@@iterator",p="keys",v="values",g=function(){return this};t.exports=function(t,e,n,m,y,b,w){u(n,e,m);var x,C,S,_=function(t){if(!h&&t in L)return L[t];switch(t){case p:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},k=e+" Iterator",T=y==v,M=!1,L=t.prototype,E=L[f]||L[d]||y&&L[y],O=E||_(y),A=y?T?_("entries"):O:void 0,D="Array"==e&&L.entries||E;if(D&&(S=c(D.call(new t)),S!==Object.prototype&&S.next&&(s(S,k,!0),r||"function"==typeof S[f]||a(S,f,g))),T&&E&&E.name!==v&&(M=!0,O=function(){return E.call(this)}),r&&!w||!h&&!M&&L[f]||a(L,f,O),l[e]=O,l[k]=g,y)if(x={values:T?O:_(v),keys:b?O:_(p),entries:A},w)for(C in x)C in L||o(L,C,x[C]);else i(i.P+i.F*(h||M),e,x);return x}},"02f4":function(t,e,n){var r=n("4588"),i=n("be13");t.exports=function(t){return function(e,n){var o,a,l=String(i(e)),u=r(n),s=l.length;return u<0||u>=s?t?"":void 0:(o=l.charCodeAt(u),o<55296||o>56319||u+1===s||(a=l.charCodeAt(u+1))<56320||a>57343?t?l.charAt(u):o:t?l.slice(u,u+2):a-56320+(o-55296<<10)+65536)}}},"0390":function(t,e,n){"use strict";var r=n("02f4")(!0);t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},"0bfb":function(t,e,n){"use strict";var r=n("cb7c");t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},"0d58":function(t,e,n){var r=n("ce10"),i=n("e11e");t.exports=Object.keys||function(t){return r(t,i)}},1495:function(t,e,n){var r=n("86cc"),i=n("cb7c"),o=n("0d58");t.exports=n("9e1e")?Object.defineProperties:function(t,e){i(t);var n,a=o(e),l=a.length,u=0;while(l>u)r.f(t,n=a[u++],e[n]);return t}},"214f":function(t,e,n){"use strict";n("b0c5");var r=n("2aba"),i=n("32e9"),o=n("79e5"),a=n("be13"),l=n("2b4c"),u=n("520a"),s=l("species"),c=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),f=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var h=l(t),d=!o((function(){var e={};return e[h]=function(){return 7},7!=""[t](e)})),p=d?!o((function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[s]=function(){return n}),n[h](""),!e})):void 0;if(!d||!p||"replace"===t&&!c||"split"===t&&!f){var v=/./[h],g=n(a,h,""[t],(function(t,e,n,r,i){return e.exec===u?d&&!i?{done:!0,value:v.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}})),m=g[0],y=g[1];r(String.prototype,t,m),i(RegExp.prototype,h,2==e?function(t,e){return y.call(t,this,e)}:function(t){return y.call(t,this)})}}},"230e":function(t,e,n){var r=n("d3f4"),i=n("7726").document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},"23c6":function(t,e,n){var r=n("2d95"),i=n("2b4c")("toStringTag"),o="Arguments"==r(function(){return arguments}()),a=function(t,e){try{return t[e]}catch(n){}};t.exports=function(t){var e,n,l;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=a(e=Object(t),i))?n:o?r(e):"Object"==(l=r(e))&&"function"==typeof e.callee?"Arguments":l}},2621:function(t,e){e.f=Object.getOwnPropertySymbols},"2aba":function(t,e,n){var r=n("7726"),i=n("32e9"),o=n("69a8"),a=n("ca5a")("src"),l=n("fa5b"),u="toString",s=(""+l).split(u);n("8378").inspectSource=function(t){return l.call(t)},(t.exports=function(t,e,n,l){var u="function"==typeof n;u&&(o(n,"name")||i(n,"name",e)),t[e]!==n&&(u&&(o(n,a)||i(n,a,t[e]?""+t[e]:s.join(String(e)))),t===r?t[e]=n:l?t[e]?t[e]=n:i(t,e,n):(delete t[e],i(t,e,n)))})(Function.prototype,u,(function(){return"function"==typeof this&&this[a]||l.call(this)}))},"2aeb":function(t,e,n){var r=n("cb7c"),i=n("1495"),o=n("e11e"),a=n("613b")("IE_PROTO"),l=function(){},u="prototype",s=function(){var t,e=n("230e")("iframe"),r=o.length,i="<",a=">";e.style.display="none",n("fab2").appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(i+"script"+a+"document.F=Object"+i+"/script"+a),t.close(),s=t.F;while(r--)delete s[u][o[r]];return s()};t.exports=Object.create||function(t,e){var n;return null!==t?(l[u]=r(t),n=new l,l[u]=null,n[a]=t):n=s(),void 0===e?n:i(n,e)}},"2b4c":function(t,e,n){var r=n("5537")("wks"),i=n("ca5a"),o=n("7726").Symbol,a="function"==typeof o,l=t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t))};l.store=r},"2d00":function(t,e){t.exports=!1},"2d95":function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},"2fdb":function(t,e,n){"use strict";var r=n("5ca1"),i=n("d2c8"),o="includes";r(r.P+r.F*n("5147")(o),"String",{includes:function(t){return!!~i(this,t,o).indexOf(t,arguments.length>1?arguments[1]:void 0)}})},"32e9":function(t,e,n){var r=n("86cc"),i=n("4630");t.exports=n("9e1e")?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},"38fd":function(t,e,n){var r=n("69a8"),i=n("4bf8"),o=n("613b")("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},"41a0":function(t,e,n){"use strict";var r=n("2aeb"),i=n("4630"),o=n("7f20"),a={};n("32e9")(a,n("2b4c")("iterator"),(function(){return this})),t.exports=function(t,e,n){t.prototype=r(a,{next:i(1,n)}),o(t,e+" Iterator")}},"456d":function(t,e,n){var r=n("4bf8"),i=n("0d58");n("5eda")("keys",(function(){return function(t){return i(r(t))}}))},4588:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},4630:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},"4bf8":function(t,e,n){var r=n("be13");t.exports=function(t){return Object(r(t))}},5147:function(t,e,n){var r=n("2b4c")("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,!"/./"[t](e)}catch(i){}}return!0}},"520a":function(t,e,n){"use strict";var r=n("0bfb"),i=RegExp.prototype.exec,o=String.prototype.replace,a=i,l="lastIndex",u=function(){var t=/a/,e=/b*/g;return i.call(t,"a"),i.call(e,"a"),0!==t[l]||0!==e[l]}(),s=void 0!==/()??/.exec("")[1],c=u||s;c&&(a=function(t){var e,n,a,c,f=this;return s&&(n=new RegExp("^"+f.source+"$(?!\\s)",r.call(f))),u&&(e=f[l]),a=i.call(f,t),u&&a&&(f[l]=f.global?a.index+a[0].length:e),s&&a&&a.length>1&&o.call(a[0],n,(function(){for(c=1;c1?arguments[1]:void 0)}}),n("9c6c")("includes")},6821:function(t,e,n){var r=n("626a"),i=n("be13");t.exports=function(t){return r(i(t))}},"69a8":function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},"6a99":function(t,e,n){var r=n("d3f4");t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},7333:function(t,e,n){"use strict";var r=n("0d58"),i=n("2621"),o=n("52a7"),a=n("4bf8"),l=n("626a"),u=Object.assign;t.exports=!u||n("79e5")((function(){var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach((function(t){e[t]=t})),7!=u({},t)[n]||Object.keys(u({},e)).join("")!=r}))?function(t,e){var n=a(t),u=arguments.length,s=1,c=i.f,f=o.f;while(u>s){var h,d=l(arguments[s++]),p=c?r(d).concat(c(d)):r(d),v=p.length,g=0;while(v>g)f.call(d,h=p[g++])&&(n[h]=d[h])}return n}:u},7726:function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},"77f1":function(t,e,n){var r=n("4588"),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},"79e5":function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},"7f20":function(t,e,n){var r=n("86cc").f,i=n("69a8"),o=n("2b4c")("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},8378:function(t,e){var n=t.exports={version:"2.6.5"};"number"==typeof __e&&(__e=n)},"84f2":function(t,e){t.exports={}},"86cc":function(t,e,n){var r=n("cb7c"),i=n("c69a"),o=n("6a99"),a=Object.defineProperty;e.f=n("9e1e")?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(l){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},"9b43":function(t,e,n){var r=n("d8e8");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},"9c6c":function(t,e,n){var r=n("2b4c")("unscopables"),i=Array.prototype;void 0==i[r]&&n("32e9")(i,r,{}),t.exports=function(t){i[r][t]=!0}},"9def":function(t,e,n){var r=n("4588"),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},"9e1e":function(t,e,n){t.exports=!n("79e5")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},a352:function(e,n){e.exports=t},a481:function(t,e,n){"use strict";var r=n("cb7c"),i=n("4bf8"),o=n("9def"),a=n("4588"),l=n("0390"),u=n("5f1b"),s=Math.max,c=Math.min,f=Math.floor,h=/\$([$&`']|\d\d?|<[^>]*>)/g,d=/\$([$&`']|\d\d?)/g,p=function(t){return void 0===t?t:String(t)};n("214f")("replace",2,(function(t,e,n,v){return[function(r,i){var o=t(this),a=void 0==r?void 0:r[e];return void 0!==a?a.call(r,o,i):n.call(String(o),r,i)},function(t,e){var i=v(n,t,this,e);if(i.done)return i.value;var f=r(t),h=String(this),d="function"===typeof e;d||(e=String(e));var m=f.global;if(m){var y=f.unicode;f.lastIndex=0}var b=[];while(1){var w=u(f,h);if(null===w)break;if(b.push(w),!m)break;var x=String(w[0]);""===x&&(f.lastIndex=l(h,o(f.lastIndex),y))}for(var C="",S=0,_=0;_=S&&(C+=h.slice(S,T)+A,S=T+k.length)}return C+h.slice(S)}];function g(t,e,r,o,a,l){var u=r+t.length,s=o.length,c=d;return void 0!==a&&(a=i(a),c=h),n.call(l,c,(function(n,i){var l;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(u);case"<":l=a[i.slice(1,-1)];break;default:var c=+i;if(0===c)return n;if(c>s){var h=f(c/10);return 0===h?n:h<=s?void 0===o[h-1]?i.charAt(1):o[h-1]+i.charAt(1):n}l=o[c-1]}return void 0===l?"":l}))}}))},aae3:function(t,e,n){var r=n("d3f4"),i=n("2d95"),o=n("2b4c")("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[o])?!!e:"RegExp"==i(t))}},ac6a:function(t,e,n){for(var r=n("cadf"),i=n("0d58"),o=n("2aba"),a=n("7726"),l=n("32e9"),u=n("84f2"),s=n("2b4c"),c=s("iterator"),f=s("toStringTag"),h=u.Array,d={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},p=i(d),v=0;vc)if(l=u[c++],l!=l)return!0}else for(;s>c;c++)if((t||c in u)&&u[c]===n)return t||c||0;return!t&&-1}}},c649:function(t,e,n){"use strict";(function(t){n.d(e,"c",(function(){return s})),n.d(e,"a",(function(){return l})),n.d(e,"b",(function(){return i})),n.d(e,"d",(function(){return u}));n("a481");function r(){return"undefined"!==typeof window?window.console:t.console}var i=r();function o(t){var e=Object.create(null);return function(n){var r=e[n];return r||(e[n]=t(n))}}var a=/-(\w)/g,l=o((function(t){return t.replace(a,(function(t,e){return e?e.toUpperCase():""}))}));function u(t){null!==t.parentElement&&t.parentElement.removeChild(t)}function s(t,e,n){var r=0===n?t.children[0]:t.children[n-1].nextSibling;t.insertBefore(e,r)}}).call(this,n("c8ba"))},c69a:function(t,e,n){t.exports=!n("9e1e")&&!n("79e5")((function(){return 7!=Object.defineProperty(n("230e")("div"),"a",{get:function(){return 7}}).a}))},c8ba:function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}t.exports=n},ca5a:function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},cadf:function(t,e,n){"use strict";var r=n("9c6c"),i=n("d53b"),o=n("84f2"),a=n("6821");t.exports=n("01f9")(Array,"Array",(function(t,e){this._t=a(t),this._i=0,this._k=e}),(function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])}),"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},cb7c:function(t,e,n){var r=n("d3f4");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},ce10:function(t,e,n){var r=n("69a8"),i=n("6821"),o=n("c366")(!1),a=n("613b")("IE_PROTO");t.exports=function(t,e){var n,l=i(t),u=0,s=[];for(n in l)n!=a&&r(l,n)&&s.push(n);while(e.length>u)r(l,n=e[u++])&&(~o(s,n)||s.push(n));return s}},d2c8:function(t,e,n){var r=n("aae3"),i=n("be13");t.exports=function(t,e,n){if(r(e))throw TypeError("String#"+n+" doesn't accept regex!");return String(i(t))}},d3f4:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},d53b:function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},d8e8:function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},e11e:function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},f559:function(t,e,n){"use strict";var r=n("5ca1"),i=n("9def"),o=n("d2c8"),a="startsWith",l=""[a];r(r.P+r.F*n("5147")(a),"String",{startsWith:function(t){var e=o(this,t,a),n=i(Math.min(arguments.length>1?arguments[1]:void 0,e.length)),r=String(t);return l?l.call(e,r,n):e.slice(n,n+r.length)===r}})},f6fd:function(t,e){(function(t){var e="currentScript",n=t.getElementsByTagName("script");e in t||Object.defineProperty(t,e,{get:function(){try{throw new Error}catch(r){var t,e=(/.*at [^\(]*\((.*):.+:.+\)$/gi.exec(r.stack)||[!1])[1];for(t in n)if(n[t].src==e||"interactive"==n[t].readyState)return n[t];return null}}})})(document)},f751:function(t,e,n){var r=n("5ca1");r(r.S+r.F,"Object",{assign:n("7333")})},fa5b:function(t,e,n){t.exports=n("5537")("native-function-to-string",Function.toString)},fab2:function(t,e,n){var r=n("7726").document;t.exports=r&&r.documentElement},fb15:function(t,e,n){"use strict";var r;(n.r(e),"undefined"!==typeof window)&&(n("f6fd"),(r=window.document.currentScript)&&(r=r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))&&(n.p=r[1]));n("f751"),n("f559"),n("ac6a"),n("cadf"),n("456d");function i(t){if(Array.isArray(t))return t}function o(t,e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(t)){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=t[Symbol.iterator]();!(r=(a=l.next()).done);r=!0)if(n.push(a.value),e&&n.length===e)break}catch(u){i=!0,o=u}finally{try{r||null==l["return"]||l["return"]()}finally{if(i)throw o}}return n}}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=o?i.length:i.indexOf(t)}));return n?a.filter((function(t){return-1!==t})):a}function w(t,e){var n=this;this.$nextTick((function(){return n.$emit(t.toLowerCase(),e)}))}function x(t){var e=this;return function(n){null!==e.realList&&e["onDrag"+t](n),w.call(e,t,n)}}function C(t){return["transition-group","TransitionGroup"].includes(t)}function S(t){if(!t||1!==t.length)return!1;var e=s(t,1),n=e[0].componentOptions;return!!n&&C(n.tag)}function _(t,e,n){return t[n]||(e[n]?e[n]():void 0)}function k(t,e,n){var r=0,i=0,o=_(e,n,"header");o&&(r=o.length,t=t?[].concat(d(o),d(t)):d(o));var a=_(e,n,"footer");return a&&(i=a.length,t=t?[].concat(d(t),d(a)):d(a)),{children:t,headerOffset:r,footerOffset:i}}function T(t,e){var n=null,r=function(t,e){n=m(n,t,e)},i=Object.keys(t).filter((function(t){return"id"===t||t.startsWith("data-")})).reduce((function(e,n){return e[n]=t[n],e}),{});if(r("attrs",i),!e)return n;var o=e.on,a=e.props,l=e.attrs;return r("on",o),r("props",a),Object.assign(n.attrs,l),n}var M=["Start","Add","Remove","Update","End"],L=["Choose","Unchoose","Sort","Filter","Clone"],E=["Move"].concat(M,L).map((function(t){return"on"+t})),O=null,A={options:Object,list:{type:Array,required:!1,default:null},value:{type:Array,required:!1,default:null},noTransitionOnDrag:{type:Boolean,default:!1},clone:{type:Function,default:function(t){return t}},element:{type:String,default:"div"},tag:{type:String,default:null},move:{type:Function,default:null},componentData:{type:Object,required:!1,default:null}},D={name:"draggable",inheritAttrs:!1,props:A,data:function(){return{transitionMode:!1,noneFunctionalComponentMode:!1}},render:function(t){var e=this.$slots.default;this.transitionMode=S(e);var n=k(e,this.$slots,this.$scopedSlots),r=n.children,i=n.headerOffset,o=n.footerOffset;this.headerOffset=i,this.footerOffset=o;var a=T(this.$attrs,this.componentData);return t(this.getTag(),a,r)},created:function(){null!==this.list&&null!==this.value&&g["b"].error("Value and list props are mutually exclusive! Please set one or another."),"div"!==this.element&&g["b"].warn("Element props is deprecated please use tag props instead. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#element-props"),void 0!==this.options&&g["b"].warn("Options props is deprecated, add sortable options directly as vue.draggable item, or use v-bind. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#options-props")},mounted:function(){var t=this;if(this.noneFunctionalComponentMode=this.getTag().toLowerCase()!==this.$el.nodeName.toLowerCase()&&!this.getIsFunctional(),this.noneFunctionalComponentMode&&this.transitionMode)throw new Error("Transition-group inside component is not supported. Please alter tag value or remove transition-group. Current tag value: ".concat(this.getTag()));var e={};M.forEach((function(n){e["on"+n]=x.call(t,n)})),L.forEach((function(n){e["on"+n]=w.bind(t,n)}));var n=Object.keys(this.$attrs).reduce((function(e,n){return e[Object(g["a"])(n)]=t.$attrs[n],e}),{}),r=Object.assign({},this.options,n,e,{onMove:function(e,n){return t.onDragMove(e,n)}});!("draggable"in r)&&(r.draggable=">*"),this._sortable=new v.a(this.rootContainer,r),this.computeIndexes()},beforeDestroy:function(){void 0!==this._sortable&&this._sortable.destroy()},computed:{rootContainer:function(){return this.transitionMode?this.$el.children[0]:this.$el},realList:function(){return this.list?this.list:this.value}},watch:{options:{handler:function(t){this.updateOptions(t)},deep:!0},$attrs:{handler:function(t){this.updateOptions(t)},deep:!0},realList:function(){this.computeIndexes()}},methods:{getIsFunctional:function(){var t=this._vnode.fnOptions;return t&&t.functional},getTag:function(){return this.tag||this.element},updateOptions:function(t){for(var e in t){var n=Object(g["a"])(e);-1===E.indexOf(n)&&this._sortable.option(n,t[e])}},getChildrenNodes:function(){if(this.noneFunctionalComponentMode)return this.$children[0].$slots.default;var t=this.$slots.default;return this.transitionMode?t[0].child.$slots.default:t},computeIndexes:function(){var t=this;this.$nextTick((function(){t.visibleIndexes=b(t.getChildrenNodes(),t.rootContainer.children,t.transitionMode,t.footerOffset)}))},getUnderlyingVm:function(t){var e=y(this.getChildrenNodes()||[],t);if(-1===e)return null;var n=this.realList[e];return{index:e,element:n}},getUnderlyingPotencialDraggableComponent:function(t){var e=t.__vue__;return e&&e.$options&&C(e.$options._componentTag)?e.$parent:!("realList"in e)&&1===e.$children.length&&"realList"in e.$children[0]?e.$children[0]:e},emitChanges:function(t){var e=this;this.$nextTick((function(){e.$emit("change",t)}))},alterList:function(t){if(this.list)t(this.list);else{var e=d(this.value);t(e),this.$emit("input",e)}},spliceList:function(){var t=arguments,e=function(e){return e.splice.apply(e,d(t))};this.alterList(e)},updatePosition:function(t,e){var n=function(n){return n.splice(e,0,n.splice(t,1)[0])};this.alterList(n)},getRelatedContextFromMoveEvent:function(t){var e=t.to,n=t.related,r=this.getUnderlyingPotencialDraggableComponent(e);if(!r)return{component:r};var i=r.realList,o={list:i,component:r};if(e!==n&&i&&r.getUnderlyingVm){var a=r.getUnderlyingVm(n);if(a)return Object.assign(a,o)}return o},getVmIndex:function(t){var e=this.visibleIndexes,n=e.length;return t>n-1?n:e[t]},getComponent:function(){return this.$slots.default[0].componentInstance},resetTransitionData:function(t){if(this.noTransitionOnDrag&&this.transitionMode){var e=this.getChildrenNodes();e[t].data=null;var n=this.getComponent();n.children=[],n.kept=void 0}},onDragStart:function(t){this.context=this.getUnderlyingVm(t.item),t.item._underlying_vm_=this.clone(this.context.element),O=t.item},onDragAdd:function(t){var e=t.item._underlying_vm_;if(void 0!==e){Object(g["d"])(t.item);var n=this.getVmIndex(t.newIndex);this.spliceList(n,0,e),this.computeIndexes();var r={element:e,newIndex:n};this.emitChanges({added:r})}},onDragRemove:function(t){if(Object(g["c"])(this.rootContainer,t.item,t.oldIndex),"clone"!==t.pullMode){var e=this.context.index;this.spliceList(e,1);var n={element:this.context.element,oldIndex:e};this.resetTransitionData(e),this.emitChanges({removed:n})}else Object(g["d"])(t.clone)},onDragUpdate:function(t){Object(g["d"])(t.item),Object(g["c"])(t.from,t.item,t.oldIndex);var e=this.context.index,n=this.getVmIndex(t.newIndex);this.updatePosition(e,n);var r={element:this.context.element,oldIndex:e,newIndex:n};this.emitChanges({moved:r})},updateProperty:function(t,e){t.hasOwnProperty(e)&&(t[e]+=this.headerOffset)},computeFutureIndex:function(t,e){if(!t.element)return 0;var n=d(e.to.children).filter((function(t){return"none"!==t.style["display"]})),r=n.indexOf(e.related),i=t.component.getVmIndex(r),o=-1!==n.indexOf(O);return o||!e.willInsertAfter?i:i+1},onDragMove:function(t,e){var n=this.move;if(!n||!this.realList)return!0;var r=this.getRelatedContextFromMoveEvent(t),i=this.context,o=this.computeFutureIndex(r,t);Object.assign(i,{futureIndex:o});var a=Object.assign({},t,{relatedContext:r,draggedContext:i});return n(a,e)},onDragEnd:function(){this.computeIndexes(),O=null}}};"undefined"!==typeof window&&"Vue"in window&&window.Vue.component("draggable",D);var N=D;e["default"]=N}})["default"]}))},cb29:function(t,e,n){var r=n("23e7"),i=n("81d5"),o=n("44d2");r({target:"Array",proto:!0},{fill:i}),o("fill")},d28b:function(t,e,n){var r=n("746f");r("iterator")},d784:function(t,e,n){"use strict";n("ac1f");var r=n("6eeb"),i=n("d039"),o=n("b622"),a=n("9263"),l=n("9112"),u=o("species"),s=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),c=function(){return"$0"==="a".replace(/./,"$0")}(),f=o("replace"),h=function(){return!!/./[f]&&""===/./[f]("a","$0")}(),d=!i((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));t.exports=function(t,e,n,f){var p=o(t),v=!i((function(){var e={};return e[p]=function(){return 7},7!=""[t](e)})),g=v&&!i((function(){var e=!1,n=/a/;return"split"===t&&(n={},n.constructor={},n.constructor[u]=function(){return n},n.flags="",n[p]=/./[p]),n.exec=function(){return e=!0,null},n[p](""),!e}));if(!v||!g||"replace"===t&&(!s||!c||h)||"split"===t&&!d){var m=/./[p],y=n(p,""[t],(function(t,e,n,r,i){return e.exec===a?v&&!i?{done:!0,value:m.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),{REPLACE_KEEPS_$0:c,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:h}),b=y[0],w=y[1];r(String.prototype,t,b),r(RegExp.prototype,p,2==e?function(t,e){return w.call(t,this,e)}:function(t){return w.call(t,this)})}f&&l(RegExp.prototype[p],"sham",!0)}},e01a:function(t,e,n){"use strict";var r=n("23e7"),i=n("83ab"),o=n("da84"),a=n("5135"),l=n("861d"),u=n("9bf2").f,s=n("e893"),c=o.Symbol;if(i&&"function"==typeof c&&(!("description"in c.prototype)||void 0!==c().description)){var f={},h=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),e=this instanceof h?new c(t):void 0===t?c():c(t);return""===t&&(f[e]=!0),e};s(h,c);var d=h.prototype=c.prototype;d.constructor=h;var p=d.toString,v="Symbol(test)"==String(c("test")),g=/^Symbol\((.*)\)[^)]+$/;u(d,"description",{configurable:!0,get:function(){var t=l(this)?this.valueOf():this,e=p.call(t);if(a(f,t))return"";var n=v?e.slice(7,-1):e.replace(g,"$1");return""===n?void 0:n}}),r({global:!0,forced:!0},{Symbol:h})}},f9d4:function(t,e,n){(function(t){t(n("56b3"))})((function(t){"use strict";t.defineMode("javascript",(function(e,n){var r,i,o=e.indentUnit,a=n.statementIndent,l=n.jsonld,u=n.json||l,s=!1!==n.trackScope,c=n.typescript,f=n.wordCharacters||/[\w$\xa1-\uffff]/,h=function(){function t(t){return{type:t,style:"keyword"}}var e=t("keyword a"),n=t("keyword b"),r=t("keyword c"),i=t("keyword d"),o=t("operator"),a={type:"atom",style:"atom"};return{if:t("if"),while:e,with:e,else:n,do:n,try:n,finally:n,return:i,break:i,continue:i,new:t("new"),delete:r,void:r,throw:r,debugger:t("debugger"),var:t("var"),const:t("var"),let:t("var"),function:t("function"),catch:t("catch"),for:t("for"),switch:t("switch"),case:t("case"),default:t("default"),in:o,typeof:o,instanceof:o,true:a,false:a,null:a,undefined:a,NaN:a,Infinity:a,this:t("this"),class:t("class"),super:t("atom"),yield:r,export:t("export"),import:t("import"),extends:r,await:r}}(),d=/[+\-*&%=<>!?|~^@]/,p=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function v(t){var e,n=!1,r=!1;while(null!=(e=t.next())){if(!n){if("/"==e&&!r)return;"["==e?r=!0:r&&"]"==e&&(r=!1)}n=!n&&"\\"==e}}function g(t,e,n){return r=t,i=n,e}function m(t,e){var n=t.next();if('"'==n||"'"==n)return e.tokenize=y(n),e.tokenize(t,e);if("."==n&&t.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return g("number","number");if("."==n&&t.match(".."))return g("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(n))return g(n);if("="==n&&t.eat(">"))return g("=>","operator");if("0"==n&&t.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return g("number","number");if(/\d/.test(n))return t.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),g("number","number");if("/"==n)return t.eat("*")?(e.tokenize=b,b(t,e)):t.eat("/")?(t.skipToEnd(),g("comment","comment")):ie(t,e,1)?(v(t),t.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),g("regexp","string-2")):(t.eat("="),g("operator","operator",t.current()));if("`"==n)return e.tokenize=w,w(t,e);if("#"==n&&"!"==t.peek())return t.skipToEnd(),g("meta","meta");if("#"==n&&t.eatWhile(f))return g("variable","property");if("<"==n&&t.match("!--")||"-"==n&&t.match("->")&&!/\S/.test(t.string.slice(0,t.start)))return t.skipToEnd(),g("comment","comment");if(d.test(n))return">"==n&&e.lexical&&">"==e.lexical.type||(t.eat("=")?"!"!=n&&"="!=n||t.eat("="):/[<>*+\-|&?]/.test(n)&&(t.eat(n),">"==n&&t.eat(n))),"?"==n&&t.eat(".")?g("."):g("operator","operator",t.current());if(f.test(n)){t.eatWhile(f);var r=t.current();if("."!=e.lastType){if(h.propertyIsEnumerable(r)){var i=h[r];return g(i.type,i.style,r)}if("async"==r&&t.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return g("async","keyword",r)}return g("variable","variable",r)}}function y(t){return function(e,n){var r,i=!1;if(l&&"@"==e.peek()&&e.match(p))return n.tokenize=m,g("jsonld-keyword","meta");while(null!=(r=e.next())){if(r==t&&!i)break;i=!i&&"\\"==r}return i||(n.tokenize=m),g("string","string")}}function b(t,e){var n,r=!1;while(n=t.next()){if("/"==n&&r){e.tokenize=m;break}r="*"==n}return g("comment","comment")}function w(t,e){var n,r=!1;while(null!=(n=t.next())){if(!r&&("`"==n||"$"==n&&t.eat("{"))){e.tokenize=m;break}r=!r&&"\\"==n}return g("quasi","string-2",t.current())}var x="([{}])";function C(t,e){e.fatArrowAt&&(e.fatArrowAt=null);var n=t.string.indexOf("=>",t.start);if(!(n<0)){if(c){var r=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(t.string.slice(t.start,n));r&&(n=r.index)}for(var i=0,o=!1,a=n-1;a>=0;--a){var l=t.string.charAt(a),u=x.indexOf(l);if(u>=0&&u<3){if(!i){++a;break}if(0==--i){"("==l&&(o=!0);break}}else if(u>=3&&u<6)++i;else if(f.test(l))o=!0;else if(/["'\/`]/.test(l))for(;;--a){if(0==a)return;var s=t.string.charAt(a-1);if(s==l&&"\\"!=t.string.charAt(a-2)){a--;break}}else if(o&&!i){++a;break}}o&&!i&&(e.fatArrowAt=a)}}var S={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function _(t,e,n,r,i,o){this.indented=t,this.column=e,this.type=n,this.prev=i,this.info=o,null!=r&&(this.align=r)}function k(t,e){if(!s)return!1;for(var n=t.localVars;n;n=n.next)if(n.name==e)return!0;for(var r=t.context;r;r=r.prev)for(n=r.vars;n;n=n.next)if(n.name==e)return!0}function T(t,e,n,r,i){var o=t.cc;M.state=t,M.stream=i,M.marked=null,M.cc=o,M.style=e,t.lexical.hasOwnProperty("align")||(t.lexical.align=!0);while(1){var a=o.length?o.pop():u?V:$;if(a(n,r)){while(o.length&&o[o.length-1].lex)o.pop()();return M.marked?M.marked:"variable"==n&&k(t,r)?"variable-2":e}}}var M={state:null,column:null,marked:null,cc:null};function L(){for(var t=arguments.length-1;t>=0;t--)M.cc.push(arguments[t])}function E(){return L.apply(null,arguments),!0}function O(t,e){for(var n=e;n;n=n.next)if(n.name==t)return!0;return!1}function A(t){var e=M.state;if(M.marked="def",s){if(e.context)if("var"==e.lexical.info&&e.context&&e.context.block){var r=D(t,e.context);if(null!=r)return void(e.context=r)}else if(!O(t,e.localVars))return void(e.localVars=new P(t,e.localVars));n.globalVars&&!O(t,e.globalVars)&&(e.globalVars=new P(t,e.globalVars))}}function D(t,e){if(e){if(e.block){var n=D(t,e.prev);return n?n==e.prev?e:new I(n,e.vars,!0):null}return O(t,e.vars)?e:new I(e.prev,new P(t,e.vars),!1)}return null}function N(t){return"public"==t||"private"==t||"protected"==t||"abstract"==t||"readonly"==t}function I(t,e,n){this.prev=t,this.vars=e,this.block=n}function P(t,e){this.name=t,this.next=e}var R=new P("this",new P("arguments",null));function W(){M.state.context=new I(M.state.context,M.state.localVars,!1),M.state.localVars=R}function j(){M.state.context=new I(M.state.context,M.state.localVars,!0),M.state.localVars=null}function F(){M.state.localVars=M.state.context.vars,M.state.context=M.state.context.prev}function z(t,e){var n=function(){var n=M.state,r=n.indented;if("stat"==n.lexical.type)r=n.lexical.indented;else for(var i=n.lexical;i&&")"==i.type&&i.align;i=i.prev)r=i.indented;n.lexical=new _(r,M.stream.column(),t,null,n.lexical,e)};return n.lex=!0,n}function H(){var t=M.state;t.lexical.prev&&(")"==t.lexical.type&&(t.indented=t.lexical.indented),t.lexical=t.lexical.prev)}function B(t){function e(n){return n==t?E():";"==t||"}"==n||")"==n||"]"==n?L():E(e)}return e}function $(t,e){return"var"==t?E(z("vardef",e),Lt,B(";"),H):"keyword a"==t?E(z("form"),X,$,H):"keyword b"==t?E(z("form"),$,H):"keyword d"==t?M.stream.match(/^\s*$/,!1)?E():E(z("stat"),Y,B(";"),H):"debugger"==t?E(B(";")):"{"==t?E(z("}"),j,ht,H,F):";"==t?E():"if"==t?("else"==M.state.lexical.info&&M.state.cc[M.state.cc.length-1]==H&&M.state.cc.pop()(),E(z("form"),X,$,H,It)):"function"==t?E(jt):"for"==t?E(z("form"),j,Pt,$,F,H):"class"==t||c&&"interface"==e?(M.marked="keyword",E(z("form","class"==t?t:e),$t,H)):"variable"==t?c&&"declare"==e?(M.marked="keyword",E($)):c&&("module"==e||"enum"==e||"type"==e)&&M.stream.match(/^\s*\w/,!1)?(M.marked="keyword","enum"==e?E(ee):"type"==e?E(zt,B("operator"),mt,B(";")):E(z("form"),Et,B("{"),z("}"),ht,H,H)):c&&"namespace"==e?(M.marked="keyword",E(z("form"),V,$,H)):c&&"abstract"==e?(M.marked="keyword",E($)):E(z("stat"),ot):"switch"==t?E(z("form"),X,B("{"),z("}","switch"),j,ht,H,H,F):"case"==t?E(V,B(":")):"default"==t?E(B(":")):"catch"==t?E(z("form"),W,U,$,H,F):"export"==t?E(z("stat"),Xt,H):"import"==t?E(z("stat"),Yt,H):"async"==t?E($):"@"==e?E(V,$):L(z("stat"),V,B(";"),H)}function U(t){if("("==t)return E(Ht,B(")"))}function V(t,e){return K(t,e,!1)}function G(t,e){return K(t,e,!0)}function X(t){return"("!=t?L():E(z(")"),Y,B(")"),H)}function K(t,e,n){if(M.state.fatArrowAt==M.stream.start){var r=n?et:tt;if("("==t)return E(W,z(")"),ct(Ht,")"),H,B("=>"),r,F);if("variable"==t)return L(W,Et,B("=>"),r,F)}var i=n?Z:q;return S.hasOwnProperty(t)?E(i):"function"==t?E(jt,i):"class"==t||c&&"interface"==e?(M.marked="keyword",E(z("form"),Bt,H)):"keyword c"==t||"async"==t?E(n?G:V):"("==t?E(z(")"),Y,B(")"),H,i):"operator"==t||"spread"==t?E(n?G:V):"["==t?E(z("]"),te,H,i):"{"==t?ft(lt,"}",null,i):"quasi"==t?L(J,i):"new"==t?E(nt(n)):E()}function Y(t){return t.match(/[;\}\)\],]/)?L():L(V)}function q(t,e){return","==t?E(Y):Z(t,e,!1)}function Z(t,e,n){var r=0==n?q:Z,i=0==n?V:G;return"=>"==t?E(W,n?et:tt,F):"operator"==t?/\+\+|--/.test(e)||c&&"!"==e?E(r):c&&"<"==e&&M.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?E(z(">"),ct(mt,">"),H,r):"?"==e?E(V,B(":"),i):E(i):"quasi"==t?L(J,r):";"!=t?"("==t?ft(G,")","call",r):"."==t?E(at,r):"["==t?E(z("]"),Y,B("]"),H,r):c&&"as"==e?(M.marked="keyword",E(mt,r)):"regexp"==t?(M.state.lastType=M.marked="operator",M.stream.backUp(M.stream.pos-M.stream.start-1),E(i)):void 0:void 0}function J(t,e){return"quasi"!=t?L():"${"!=e.slice(e.length-2)?E(J):E(Y,Q)}function Q(t){if("}"==t)return M.marked="string-2",M.state.tokenize=w,E(J)}function tt(t){return C(M.stream,M.state),L("{"==t?$:V)}function et(t){return C(M.stream,M.state),L("{"==t?$:G)}function nt(t){return function(e){return"."==e?E(t?it:rt):"variable"==e&&c?E(kt,t?Z:q):L(t?G:V)}}function rt(t,e){if("target"==e)return M.marked="keyword",E(q)}function it(t,e){if("target"==e)return M.marked="keyword",E(Z)}function ot(t){return":"==t?E(H,$):L(q,B(";"),H)}function at(t){if("variable"==t)return M.marked="property",E()}function lt(t,e){return"async"==t?(M.marked="property",E(lt)):"variable"==t||"keyword"==M.style?(M.marked="property","get"==e||"set"==e?E(ut):(c&&M.state.fatArrowAt==M.stream.start&&(n=M.stream.match(/^\s*:\s*/,!1))&&(M.state.fatArrowAt=M.stream.pos+n[0].length),E(st))):"number"==t||"string"==t?(M.marked=l?"property":M.style+" property",E(st)):"jsonld-keyword"==t?E(st):c&&N(e)?(M.marked="keyword",E(lt)):"["==t?E(V,dt,B("]"),st):"spread"==t?E(G,st):"*"==e?(M.marked="keyword",E(lt)):":"==t?L(st):void 0;var n}function ut(t){return"variable"!=t?L(st):(M.marked="property",E(jt))}function st(t){return":"==t?E(G):"("==t?L(jt):void 0}function ct(t,e,n){function r(i,o){if(n?n.indexOf(i)>-1:","==i){var a=M.state.lexical;return"call"==a.info&&(a.pos=(a.pos||0)+1),E((function(n,r){return n==e||r==e?L():L(t)}),r)}return i==e||o==e?E():n&&n.indexOf(";")>-1?L(t):E(B(e))}return function(n,i){return n==e||i==e?E():L(t,r)}}function ft(t,e,n){for(var r=3;r"),mt):"quasi"==t?L(xt,_t):void 0}function yt(t){if("=>"==t)return E(mt)}function bt(t){return t.match(/[\}\)\]]/)?E():","==t||";"==t?E(bt):L(wt,bt)}function wt(t,e){return"variable"==t||"keyword"==M.style?(M.marked="property",E(wt)):"?"==e||"number"==t||"string"==t?E(wt):":"==t?E(mt):"["==t?E(B("variable"),pt,B("]"),wt):"("==t?L(Ft,wt):t.match(/[;\}\)\],]/)?void 0:E()}function xt(t,e){return"quasi"!=t?L():"${"!=e.slice(e.length-2)?E(xt):E(mt,Ct)}function Ct(t){if("}"==t)return M.marked="string-2",M.state.tokenize=w,E(xt)}function St(t,e){return"variable"==t&&M.stream.match(/^\s*[?:]/,!1)||"?"==e?E(St):":"==t?E(mt):"spread"==t?E(St):L(mt)}function _t(t,e){return"<"==e?E(z(">"),ct(mt,">"),H,_t):"|"==e||"."==t||"&"==e?E(mt):"["==t?E(mt,B("]"),_t):"extends"==e||"implements"==e?(M.marked="keyword",E(mt)):"?"==e?E(mt,B(":"),mt):void 0}function kt(t,e){if("<"==e)return E(z(">"),ct(mt,">"),H,_t)}function Tt(){return L(mt,Mt)}function Mt(t,e){if("="==e)return E(mt)}function Lt(t,e){return"enum"==e?(M.marked="keyword",E(ee)):L(Et,dt,Dt,Nt)}function Et(t,e){return c&&N(e)?(M.marked="keyword",E(Et)):"variable"==t?(A(e),E()):"spread"==t?E(Et):"["==t?ft(At,"]"):"{"==t?ft(Ot,"}"):void 0}function Ot(t,e){return"variable"!=t||M.stream.match(/^\s*:/,!1)?("variable"==t&&(M.marked="property"),"spread"==t?E(Et):"}"==t?L():"["==t?E(V,B("]"),B(":"),Ot):E(B(":"),Et,Dt)):(A(e),E(Dt))}function At(){return L(Et,Dt)}function Dt(t,e){if("="==e)return E(G)}function Nt(t){if(","==t)return E(Lt)}function It(t,e){if("keyword b"==t&&"else"==e)return E(z("form","else"),$,H)}function Pt(t,e){return"await"==e?E(Pt):"("==t?E(z(")"),Rt,H):void 0}function Rt(t){return"var"==t?E(Lt,Wt):"variable"==t?E(Wt):L(Wt)}function Wt(t,e){return")"==t?E():";"==t?E(Wt):"in"==e||"of"==e?(M.marked="keyword",E(V,Wt)):L(V,Wt)}function jt(t,e){return"*"==e?(M.marked="keyword",E(jt)):"variable"==t?(A(e),E(jt)):"("==t?E(W,z(")"),ct(Ht,")"),H,vt,$,F):c&&"<"==e?E(z(">"),ct(Tt,">"),H,jt):void 0}function Ft(t,e){return"*"==e?(M.marked="keyword",E(Ft)):"variable"==t?(A(e),E(Ft)):"("==t?E(W,z(")"),ct(Ht,")"),H,vt,F):c&&"<"==e?E(z(">"),ct(Tt,">"),H,Ft):void 0}function zt(t,e){return"keyword"==t||"variable"==t?(M.marked="type",E(zt)):"<"==e?E(z(">"),ct(Tt,">"),H):void 0}function Ht(t,e){return"@"==e&&E(V,Ht),"spread"==t?E(Ht):c&&N(e)?(M.marked="keyword",E(Ht)):c&&"this"==t?E(dt,Dt):L(Et,dt,Dt)}function Bt(t,e){return"variable"==t?$t(t,e):Ut(t,e)}function $t(t,e){if("variable"==t)return A(e),E(Ut)}function Ut(t,e){return"<"==e?E(z(">"),ct(Tt,">"),H,Ut):"extends"==e||"implements"==e||c&&","==t?("implements"==e&&(M.marked="keyword"),E(c?mt:V,Ut)):"{"==t?E(z("}"),Vt,H):void 0}function Vt(t,e){return"async"==t||"variable"==t&&("static"==e||"get"==e||"set"==e||c&&N(e))&&M.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(M.marked="keyword",E(Vt)):"variable"==t||"keyword"==M.style?(M.marked="property",E(Gt,Vt)):"number"==t||"string"==t?E(Gt,Vt):"["==t?E(V,dt,B("]"),Gt,Vt):"*"==e?(M.marked="keyword",E(Vt)):c&&"("==t?L(Ft,Vt):";"==t||","==t?E(Vt):"}"==t?E():"@"==e?E(V,Vt):void 0}function Gt(t,e){if("!"==e)return E(Gt);if("?"==e)return E(Gt);if(":"==t)return E(mt,Dt);if("="==e)return E(G);var n=M.state.lexical.prev,r=n&&"interface"==n.info;return L(r?Ft:jt)}function Xt(t,e){return"*"==e?(M.marked="keyword",E(Qt,B(";"))):"default"==e?(M.marked="keyword",E(V,B(";"))):"{"==t?E(ct(Kt,"}"),Qt,B(";")):L($)}function Kt(t,e){return"as"==e?(M.marked="keyword",E(B("variable"))):"variable"==t?L(G,Kt):void 0}function Yt(t){return"string"==t?E():"("==t?L(V):"."==t?L(q):L(qt,Zt,Qt)}function qt(t,e){return"{"==t?ft(qt,"}"):("variable"==t&&A(e),"*"==e&&(M.marked="keyword"),E(Jt))}function Zt(t){if(","==t)return E(qt,Zt)}function Jt(t,e){if("as"==e)return M.marked="keyword",E(qt)}function Qt(t,e){if("from"==e)return M.marked="keyword",E(V)}function te(t){return"]"==t?E():L(ct(G,"]"))}function ee(){return L(z("form"),Et,B("{"),z("}"),ct(ne,"}"),H,H)}function ne(){return L(Et,Dt)}function re(t,e){return"operator"==t.lastType||","==t.lastType||d.test(e.charAt(0))||/[,.]/.test(e.charAt(0))}function ie(t,e,n){return e.tokenize==m&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(e.lastType)||"quasi"==e.lastType&&/\{\s*$/.test(t.string.slice(0,t.pos-(n||0)))}return F.lex=!0,H.lex=!0,{startState:function(t){var e={tokenize:m,lastType:"sof",cc:[],lexical:new _((t||0)-o,0,"block",!1),localVars:n.localVars,context:n.localVars&&new I(null,null,!1),indented:t||0};return n.globalVars&&"object"==typeof n.globalVars&&(e.globalVars=n.globalVars),e},token:function(t,e){if(t.sol()&&(e.lexical.hasOwnProperty("align")||(e.lexical.align=!1),e.indented=t.indentation(),C(t,e)),e.tokenize!=b&&t.eatSpace())return null;var n=e.tokenize(t,e);return"comment"==r?n:(e.lastType="operator"!=r||"++"!=i&&"--"!=i?r:"incdec",T(e,n,r,i,t))},indent:function(e,r){if(e.tokenize==b||e.tokenize==w)return t.Pass;if(e.tokenize!=m)return 0;var i,l=r&&r.charAt(0),u=e.lexical;if(!/^\s*else\b/.test(r))for(var s=e.cc.length-1;s>=0;--s){var c=e.cc[s];if(c==H)u=u.prev;else if(c!=It&&c!=F)break}while(("stat"==u.type||"form"==u.type)&&("}"==l||(i=e.cc[e.cc.length-1])&&(i==q||i==Z)&&!/^[,\.=+\-*:?[\(]/.test(r)))u=u.prev;a&&")"==u.type&&"stat"==u.prev.type&&(u=u.prev);var f=u.type,h=l==f;return"vardef"==f?u.indented+("operator"==e.lastType||","==e.lastType?u.info.length+1:0):"form"==f&&"{"==l?u.indented:"form"==f?u.indented+o:"stat"==f?u.indented+(re(e,r)?a||o:0):"switch"!=u.info||h||0==n.doubleIndentSwitch?u.align?u.column+(h?0:1):u.indented+(h?0:o):u.indented+(/^(?:case|default)\b/.test(r)?o:2*o)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:u?null:"/*",blockCommentEnd:u?null:"*/",blockCommentContinue:u?null:" * ",lineComment:u?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:u?"json":"javascript",jsonldMode:l,jsonMode:u,expressionAllowed:ie,skipExpression:function(e){T(e,"atom","atom","true",new t.StringStream("",2,null))}}})),t.registerHelper("wordChars","javascript",/[\w$]/),t.defineMIME("text/javascript","javascript"),t.defineMIME("text/ecmascript","javascript"),t.defineMIME("application/javascript","javascript"),t.defineMIME("application/x-javascript","javascript"),t.defineMIME("application/ecmascript","javascript"),t.defineMIME("application/json",{name:"javascript",json:!0}),t.defineMIME("application/x-json",{name:"javascript",json:!0}),t.defineMIME("application/manifest+json",{name:"javascript",json:!0}),t.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),t.defineMIME("text/typescript",{name:"javascript",typescript:!0}),t.defineMIME("application/typescript",{name:"javascript",typescript:!0})}))},fb6a:function(t,e,n){"use strict";var r=n("23e7"),i=n("861d"),o=n("e8b5"),a=n("23cb"),l=n("50c4"),u=n("fc6a"),s=n("8418"),c=n("b622"),f=n("1dde"),h=n("ae40"),d=f("slice"),p=h("slice",{ACCESSORS:!0,0:0,1:2}),v=c("species"),g=[].slice,m=Math.max;r({target:"Array",proto:!0,forced:!d||!p},{slice:function(t,e){var n,r,c,f=u(this),h=l(f.length),d=a(t,h),p=a(void 0===e?h:e,h);if(o(f)&&(n=f.constructor,"function"!=typeof n||n!==Array&&!o(n.prototype)?i(n)&&(n=n[v],null===n&&(n=void 0)):n=void 0,n===Array||void 0===n))return g.call(f,d,p);for(r=new(void 0===n?Array:n)(m(p-d,0)),c=0;d>>1,U=[["ary",L],["bind",w],["bindKey",b],["curry",C],["curryRight",k],["flip",M],["partial",_],["partialRight",S],["rearg",T]],$="[object Arguments]",V="[object Array]",G="[object AsyncFunction]",K="[object Boolean]",q="[object Date]",X="[object DOMException]",Y="[object Error]",Z="[object Function]",J="[object GeneratorFunction]",Q="[object Map]",tt="[object Number]",et="[object Null]",nt="[object Object]",rt="[object Promise]",it="[object Proxy]",ot="[object RegExp]",at="[object Set]",lt="[object String]",ut="[object Symbol]",st="[object Undefined]",ct="[object WeakMap]",ft="[object WeakSet]",ht="[object ArrayBuffer]",dt="[object DataView]",pt="[object Float32Array]",vt="[object Float64Array]",gt="[object Int8Array]",mt="[object Int16Array]",yt="[object Int32Array]",wt="[object Uint8Array]",bt="[object Uint8ClampedArray]",xt="[object Uint16Array]",Ct="[object Uint32Array]",kt=/\b__p \+= '';/g,_t=/\b(__p \+=) '' \+/g,St=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Lt=/&(?:amp|lt|gt|quot|#39);/g,Tt=/[&<>"']/g,Mt=RegExp(Lt.source),At=RegExp(Tt.source),Ot=/<%-([\s\S]+?)%>/g,Nt=/<%([\s\S]+?)%>/g,Et=/<%=([\s\S]+?)%>/g,Dt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Wt=/^\w*$/,It=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Rt=/[\\^$.*+?()[\]{}|]/g,zt=RegExp(Rt.source),Pt=/^\s+/,Ft=/\s/,Ht=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,jt=/\{\n\/\* \[wrapped with (.+)\] \*/,Bt=/,? & /,Ut=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,$t=/[()=,{}\[\]\/\s]/,Vt=/\\(\\)?/g,Gt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Kt=/\w*$/,qt=/^[-+]0x[0-9a-f]+$/i,Xt=/^0b[01]+$/i,Yt=/^\[object .+?Constructor\]$/,Zt=/^0o[0-7]+$/i,Jt=/^(?:0|[1-9]\d*)$/,Qt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,te=/($^)/,ee=/['\n\r\u2028\u2029\\]/g,ne="\\ud800-\\udfff",re="\\u0300-\\u036f",ie="\\ufe20-\\ufe2f",oe="\\u20d0-\\u20ff",ae=re+ie+oe,le="\\u2700-\\u27bf",ue="a-z\\xdf-\\xf6\\xf8-\\xff",se="\\xac\\xb1\\xd7\\xf7",ce="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",fe="\\u2000-\\u206f",he=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",de="A-Z\\xc0-\\xd6\\xd8-\\xde",pe="\\ufe0e\\ufe0f",ve=se+ce+fe+he,ge="['’]",me="["+ne+"]",ye="["+ve+"]",we="["+ae+"]",be="\\d+",xe="["+le+"]",Ce="["+ue+"]",ke="[^"+ne+ve+be+le+ue+de+"]",_e="\\ud83c[\\udffb-\\udfff]",Se="(?:"+we+"|"+_e+")",Le="[^"+ne+"]",Te="(?:\\ud83c[\\udde6-\\uddff]){2}",Me="[\\ud800-\\udbff][\\udc00-\\udfff]",Ae="["+de+"]",Oe="\\u200d",Ne="(?:"+Ce+"|"+ke+")",Ee="(?:"+Ae+"|"+ke+")",De="(?:"+ge+"(?:d|ll|m|re|s|t|ve))?",We="(?:"+ge+"(?:D|LL|M|RE|S|T|VE))?",Ie=Se+"?",Re="["+pe+"]?",ze="(?:"+Oe+"(?:"+[Le,Te,Me].join("|")+")"+Re+Ie+")*",Pe="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Fe="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",He=Re+Ie+ze,je="(?:"+[xe,Te,Me].join("|")+")"+He,Be="(?:"+[Le+we+"?",we,Te,Me,me].join("|")+")",Ue=RegExp(ge,"g"),$e=RegExp(we,"g"),Ve=RegExp(_e+"(?="+_e+")|"+Be+He,"g"),Ge=RegExp([Ae+"?"+Ce+"+"+De+"(?="+[ye,Ae,"$"].join("|")+")",Ee+"+"+We+"(?="+[ye,Ae+Ne,"$"].join("|")+")",Ae+"?"+Ne+"+"+De,Ae+"+"+We,Fe,Pe,be,je].join("|"),"g"),Ke=RegExp("["+Oe+ne+ae+pe+"]"),qe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Xe=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Ye=-1,Ze={};Ze[pt]=Ze[vt]=Ze[gt]=Ze[mt]=Ze[yt]=Ze[wt]=Ze[bt]=Ze[xt]=Ze[Ct]=!0,Ze[$]=Ze[V]=Ze[ht]=Ze[K]=Ze[dt]=Ze[q]=Ze[Y]=Ze[Z]=Ze[Q]=Ze[tt]=Ze[nt]=Ze[ot]=Ze[at]=Ze[lt]=Ze[ct]=!1;var Je={};Je[$]=Je[V]=Je[ht]=Je[dt]=Je[K]=Je[q]=Je[pt]=Je[vt]=Je[gt]=Je[mt]=Je[yt]=Je[Q]=Je[tt]=Je[nt]=Je[ot]=Je[at]=Je[lt]=Je[ut]=Je[wt]=Je[bt]=Je[xt]=Je[Ct]=!0,Je[Y]=Je[Z]=Je[ct]=!1;var Qe={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"},tn={"&":"&","<":"<",">":">",'"':""","'":"'"},en={"&":"&","<":"<",">":">",""":'"',"'":"'"},nn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},rn=parseFloat,on=parseInt,an="object"==typeof t&&t&&t.Object===Object&&t,ln="object"==typeof self&&self&&self.Object===Object&&self,un=an||ln||Function("return this")(),sn=e&&!e.nodeType&&e,cn=sn&&"object"==typeof r&&r&&!r.nodeType&&r,fn=cn&&cn.exports===sn,hn=fn&&an.process,dn=function(){try{var t=cn&&cn.require&&cn.require("util").types;return t||hn&&hn.binding&&hn.binding("util")}catch(e){}}(),pn=dn&&dn.isArrayBuffer,vn=dn&&dn.isDate,gn=dn&&dn.isMap,mn=dn&&dn.isRegExp,yn=dn&&dn.isSet,wn=dn&&dn.isTypedArray;function bn(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function xn(t,e,n,r){var i=-1,o=null==t?0:t.length;while(++i-1}function Tn(t,e,n){var r=-1,i=null==t?0:t.length;while(++r-1);return n}function tr(t,e){var n=t.length;while(n--&&Pn(e,t[n],0)>-1);return n}function er(t,e){var n=t.length,r=0;while(n--)t[n]===e&&++r;return r}var nr=Un(Qe),rr=Un(tn);function ir(t){return"\\"+nn[t]}function or(t,e){return null==t?o:t[e]}function ar(t){return Ke.test(t)}function lr(t){return qe.test(t)}function ur(t){var e,n=[];while(!(e=t.next()).done)n.push(e.value);return n}function sr(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}function cr(t,e){return function(n){return t(e(n))}}function fr(t,e){var n=-1,r=t.length,i=0,o=[];while(++n-1}function Br(t,e){var n=this.__data__,r=ci(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}function Ur(t){var e=-1,n=null==t?0:t.length;this.clear();while(++e=e?t:e)),t}function mi(t,e,n,r,i,a){var l,u=e&p,s=e&v,c=e&g;if(n&&(l=i?n(t,r,i,a):n(t)),l!==o)return l;if(!_c(t))return t;var f=uc(t);if(f){if(l=el(t),!u)return ia(t,l)}else{var h=Za(t),d=h==Z||h==J;if(dc(t))return qo(t,u);if(h==nt||h==$||d&&!i){if(l=s||d?{}:nl(t),!u)return s?la(t,di(l,t)):aa(t,hi(l,t))}else{if(!Je[h])return i?t:{};l=rl(t,h,u)}}a||(a=new Jr);var m=a.get(t);if(m)return m;a.set(t,l),zc(t)?t.forEach((function(r){l.add(mi(r,e,n,r,t,a))})):Lc(t)&&t.forEach((function(r,i){l.set(i,mi(r,e,n,i,t,a))}));var y=c?s?Ha:Fa:s?_f:kf,w=f?o:y(t);return Cn(w||t,(function(r,i){w&&(i=r,r=t[i]),si(l,i,mi(r,e,n,i,t,a))})),l}function yi(t){var e=kf(t);return function(n){return wi(n,t,e)}}function wi(t,e,n){var r=n.length;if(null==t)return!r;t=ne(t);while(r--){var i=n[r],a=e[i],l=t[i];if(l===o&&!(i in t)||!a(l))return!1}return!0}function bi(t,e,n){if("function"!=typeof t)throw new oe(s);return Sl((function(){t.apply(o,n)}),e)}function xi(t,e,n,r){var i=-1,o=Ln,a=!0,u=t.length,s=[],c=e.length;if(!u)return s;n&&(e=Mn(e,Yn(n))),r?(o=Tn,a=!1):e.length>=l&&(o=Jn,a=!1,e=new Xr(e));t:while(++ii?0:i+n),r=r===o||r>i?i:qc(r),r<0&&(r+=i),r=n>r?0:Xc(r);while(n0&&n(l)?e>1?Mi(l,e-1,n,r,i):An(i,l):r||(i[i.length]=l)}return i}var Ai=fa(),Oi=fa(!0);function Ni(t,e){return t&&Ai(t,e,kf)}function Ei(t,e){return t&&Oi(t,e,kf)}function Di(t,e){return Sn(e,(function(e){return xc(t[e])}))}function Wi(t,e){e=$o(e,t);var n=0,r=e.length;while(null!=t&&ne}function Pi(t,e){return null!=t&&fe.call(t,e)}function Fi(t,e){return null!=t&&e in ne(t)}function Hi(t,e,n){return t>=je(e,n)&&t=120&&h.length>=120)?new Xr(u&&h):o}h=t[0];var d=-1,p=s[0];t:while(++d-1)l!==t&&Se.call(l,u,1),Se.call(t,u,1)}return t}function mo(t,e){var n=t?e.length:0,r=n-1;while(n--){var i=e[n];if(n==r||i!==o){var o=i;al(i)?Se.call(t,i,1):Ro(t,i)}}return t}function yo(t,e){return t+We(Ge()*(e-t+1))}function wo(t,e,r,i){var o=-1,a=He(De((e-t)/(r||1)),0),l=n(a);while(a--)l[i?a:++o]=t,t+=r;return l}function bo(t,e){var n="";if(!t||e<1||e>z)return n;do{e%2&&(n+=t),e=We(e/2),e&&(t+=t)}while(e);return n}function xo(t,e){return Ll(bl(t,e,Nh),t+"")}function Co(t){return oi(Bf(t))}function ko(t,e){var n=Bf(t);return Al(n,gi(e,0,n.length))}function _o(t,e,n,r){if(!_c(t))return t;e=$o(e,t);var i=-1,a=e.length,l=a-1,u=t;while(null!=u&&++io?0:o+e),r=r>o?o:r,r<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;var a=n(o);while(++i>>1,a=t[o];null!==a&&!Fc(a)&&(n?a<=e:a=l){var c=e?null:Aa(t);if(c)return hr(c);a=!1,i=Jn,s=new Xr}else s=e?[]:u;t:while(++r=r?t:Mo(t,e,n)}var Ko=Oe||function(t){return un.clearTimeout(t)};function qo(t,e){if(e)return t.slice();var n=t.length,r=xe?xe(n):new t.constructor(n);return t.copy(r),r}function Xo(t){var e=new t.constructor(t.byteLength);return new be(e).set(new be(t)),e}function Yo(t,e){var n=e?Xo(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}function Zo(t){var e=new t.constructor(t.source,Kt.exec(t));return e.lastIndex=t.lastIndex,e}function Jo(t){return pr?ne(pr.call(t)):{}}function Qo(t,e){var n=e?Xo(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function ta(t,e){if(t!==e){var n=t!==o,r=null===t,i=t===t,a=Fc(t),l=e!==o,u=null===e,s=e===e,c=Fc(e);if(!u&&!c&&!a&&t>e||a&&l&&s&&!u&&!c||r&&l&&s||!n&&s||!i)return 1;if(!r&&!a&&!c&&t=l)return u;var s=n[r];return u*("desc"==s?-1:1)}}return t.index-e.index}function na(t,e,r,i){var o=-1,a=t.length,l=r.length,u=-1,s=e.length,c=He(a-l,0),f=n(s+c),h=!i;while(++u1?n[i-1]:o,l=i>2?n[2]:o;a=t.length>3&&"function"==typeof a?(i--,a):o,l&&ll(n[0],n[1],l)&&(a=i<3?o:a,i=1),e=ne(e);while(++r-1?i[a?e[l]:l]:o}}function ya(t){return Pa((function(e){var n=e.length,r=n,i=Lr.prototype.thru;t&&e.reverse();while(r--){var a=e[r];if("function"!=typeof a)throw new oe(s);if(i&&!l&&"wrapper"==Ba(a))var l=new Lr([],!0)}r=l?r:n;while(++r1&&w.reverse(),h&&cu))return!1;var c=a.get(t),f=a.get(e);if(c&&f)return c==e&&f==t;var h=-1,d=!0,p=n&y?new Xr:o;a.set(t,e),a.set(e,t);while(++h1?"& ":"")+e[r],e=e.join(n>2?", ":" "),t.replace(Ht,"{\n/* [wrapped with "+e+"] */\n")}function ol(t){return uc(t)||lc(t)||!!(Le&&t&&t[Le])}function al(t,e){var n=typeof t;return e=null==e?z:e,!!e&&("number"==n||"symbol"!=n&&Jt.test(t))&&t>-1&&t%1==0&&t0){if(++e>=N)return arguments[0]}else e=0;return t.apply(o,arguments)}}function Al(t,e){var n=-1,r=t.length,i=r-1;e=e===o?r:e;while(++n1?t[e-1]:o;return n="function"==typeof n?(t.pop(),n):o,Ru(t,n)}));function Vu(t){var e=xr(t);return e.__chain__=!0,e}function Gu(t,e){return e(t),t}function Ku(t,e){return e(t)}var qu=Pa((function(t){var e=t.length,n=e?t[0]:0,r=this.__wrapped__,i=function(e){return vi(e,t)};return!(e>1||this.__actions__.length)&&r instanceof Tr&&al(n)?(r=r.slice(n,+n+(e?1:0)),r.__actions__.push({func:Ku,args:[i],thisArg:o}),new Lr(r,this.__chain__).thru((function(t){return e&&!t.length&&t.push(o),t}))):this.thru(i)}));function Xu(){return Vu(this)}function Yu(){return new Lr(this.value(),this.__chain__)}function Zu(){this.__values__===o&&(this.__values__=Gc(this.value()));var t=this.__index__>=this.__values__.length,e=t?o:this.__values__[this.__index__++];return{done:t,value:e}}function Ju(){return this}function Qu(t){var e,n=this;while(n instanceof Sr){var r=Wl(n);r.__index__=0,r.__values__=o,e?i.__wrapped__=r:e=r;var i=r;n=n.__wrapped__}return i.__wrapped__=t,e}function ts(){var t=this.__wrapped__;if(t instanceof Tr){var e=t;return this.__actions__.length&&(e=new Tr(this)),e=e.reverse(),e.__actions__.push({func:Ku,args:[pu],thisArg:o}),new Lr(e,this.__chain__)}return this.thru(pu)}function es(){return Fo(this.__wrapped__,this.__actions__)}var ns=ua((function(t,e,n){fe.call(t,n)?++t[n]:pi(t,n,1)}));function rs(t,e,n){var r=uc(t)?_n:_i;return n&&ll(t,e,n)&&(e=o),r(t,$a(e,3))}function is(t,e){var n=uc(t)?Sn:Ti;return n(t,$a(e,3))}var os=ma(Gl),as=ma(Kl);function ls(t,e){return Mi(gs(t,e),1)}function us(t,e){return Mi(gs(t,e),R)}function ss(t,e,n){return n=n===o?1:qc(n),Mi(gs(t,e),n)}function cs(t,e){var n=uc(t)?Cn:Ci;return n(t,$a(e,3))}function fs(t,e){var n=uc(t)?kn:ki;return n(t,$a(e,3))}var hs=ua((function(t,e,n){fe.call(t,n)?t[n].push(e):pi(t,n,[e])}));function ds(t,e,n,r){t=cc(t)?t:Bf(t),n=n&&!r?qc(n):0;var i=t.length;return n<0&&(n=He(i+n,0)),Pc(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&Pn(t,e,n)>-1}var ps=xo((function(t,e,r){var i=-1,o="function"==typeof e,a=cc(t)?n(t.length):[];return Ci(t,(function(t){a[++i]=o?bn(e,t,r):Ui(t,e,r)})),a})),vs=ua((function(t,e,n){pi(t,n,e)}));function gs(t,e){var n=uc(t)?Mn:oo;return n(t,$a(e,3))}function ms(t,e,n,r){return null==t?[]:(uc(e)||(e=null==e?[]:[e]),n=r?o:n,uc(n)||(n=null==n?[]:[n]),fo(t,e,n))}var ys=ua((function(t,e,n){t[n?0:1].push(e)}),(function(){return[[],[]]}));function ws(t,e,n){var r=uc(t)?On:$n,i=arguments.length<3;return r(t,$a(e,4),n,i,Ci)}function bs(t,e,n){var r=uc(t)?Nn:$n,i=arguments.length<3;return r(t,$a(e,4),n,i,ki)}function xs(t,e){var n=uc(t)?Sn:Ti;return n(t,js($a(e,3)))}function Cs(t){var e=uc(t)?oi:Co;return e(t)}function ks(t,e,n){e=(n?ll(t,e,n):e===o)?1:qc(e);var r=uc(t)?ai:ko;return r(t,e)}function _s(t){var e=uc(t)?li:To;return e(t)}function Ss(t){if(null==t)return 0;if(cc(t))return Pc(t)?gr(t):t.length;var e=Za(t);return e==Q||e==at?t.size:no(t).length}function Ls(t,e,n){var r=uc(t)?En:Ao;return n&&ll(t,e,n)&&(e=o),r(t,$a(e,3))}var Ts=xo((function(t,e){if(null==t)return[];var n=e.length;return n>1&&ll(t,e[0],e[1])?e=[]:n>2&&ll(e[0],e[1],e[2])&&(e=[e[0]]),fo(t,Mi(e,1),[])})),Ms=Ne||function(){return un.Date.now()};function As(t,e){if("function"!=typeof e)throw new oe(s);return t=qc(t),function(){if(--t<1)return e.apply(this,arguments)}}function Os(t,e,n){return e=n?o:e,e=t&&null==e?t.length:e,Na(t,L,o,o,o,o,e)}function Ns(t,e){var n;if("function"!=typeof e)throw new oe(s);return t=qc(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=o),n}}var Es=xo((function(t,e,n){var r=w;if(n.length){var i=fr(n,Ua(Es));r|=_}return Na(t,r,e,n,i)})),Ds=xo((function(t,e,n){var r=w|b;if(n.length){var i=fr(n,Ua(Ds));r|=_}return Na(e,r,t,n,i)}));function Ws(t,e,n){e=n?o:e;var r=Na(t,C,o,o,o,o,o,e);return r.placeholder=Ws.placeholder,r}function Is(t,e,n){e=n?o:e;var r=Na(t,k,o,o,o,o,o,e);return r.placeholder=Is.placeholder,r}function Rs(t,e,n){var r,i,a,l,u,c,f=0,h=!1,d=!1,p=!0;if("function"!=typeof t)throw new oe(s);function v(e){var n=r,a=i;return r=i=o,f=e,l=t.apply(a,n),l}function g(t){return f=t,u=Sl(w,e),h?v(t):l}function m(t){var n=t-c,r=t-f,i=e-n;return d?je(i,a-r):i}function y(t){var n=t-c,r=t-f;return c===o||n>=e||n<0||d&&r>=a}function w(){var t=Ms();if(y(t))return b(t);u=Sl(w,m(t))}function b(t){return u=o,p&&r?v(t):(r=i=o,l)}function x(){u!==o&&Ko(u),f=0,r=c=i=u=o}function C(){return u===o?l:b(Ms())}function k(){var t=Ms(),n=y(t);if(r=arguments,i=this,c=t,n){if(u===o)return g(c);if(d)return Ko(u),u=Sl(w,e),v(c)}return u===o&&(u=Sl(w,e)),l}return e=Yc(e)||0,_c(n)&&(h=!!n.leading,d="maxWait"in n,a=d?He(Yc(n.maxWait)||0,e):a,p="trailing"in n?!!n.trailing:p),k.cancel=x,k.flush=C,k}var zs=xo((function(t,e){return bi(t,1,e)})),Ps=xo((function(t,e,n){return bi(t,Yc(e)||0,n)}));function Fs(t){return Na(t,M)}function Hs(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new oe(s);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(Hs.Cache||Ur),n}function js(t){if("function"!=typeof t)throw new oe(s);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function Bs(t){return Ns(2,t)}Hs.Cache=Ur;var Us=Vo((function(t,e){e=1==e.length&&uc(e[0])?Mn(e[0],Yn($a())):Mn(Mi(e,1),Yn($a()));var n=e.length;return xo((function(r){var i=-1,o=je(r.length,n);while(++i=e})),lc=$i(function(){return arguments}())?$i:function(t){return Sc(t)&&fe.call(t,"callee")&&!_e.call(t,"callee")},uc=n.isArray,sc=pn?Yn(pn):Vi;function cc(t){return null!=t&&kc(t.length)&&!xc(t)}function fc(t){return Sc(t)&&cc(t)}function hc(t){return!0===t||!1===t||Sc(t)&&Ri(t)==K}var dc=Re||Xh,pc=vn?Yn(vn):Gi;function vc(t){return Sc(t)&&1===t.nodeType&&!Wc(t)}function gc(t){if(null==t)return!0;if(cc(t)&&(uc(t)||"string"==typeof t||"function"==typeof t.splice||dc(t)||Hc(t)||lc(t)))return!t.length;var e=Za(t);if(e==Q||e==at)return!t.size;if(dl(t))return!no(t).length;for(var n in t)if(fe.call(t,n))return!1;return!0}function mc(t,e){return Ki(t,e)}function yc(t,e,n){n="function"==typeof n?n:o;var r=n?n(t,e):o;return r===o?Ki(t,e,o,n):!!r}function wc(t){if(!Sc(t))return!1;var e=Ri(t);return e==Y||e==X||"string"==typeof t.message&&"string"==typeof t.name&&!Wc(t)}function bc(t){return"number"==typeof t&&ze(t)}function xc(t){if(!_c(t))return!1;var e=Ri(t);return e==Z||e==J||e==G||e==it}function Cc(t){return"number"==typeof t&&t==qc(t)}function kc(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=z}function _c(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Sc(t){return null!=t&&"object"==typeof t}var Lc=gn?Yn(gn):Xi;function Tc(t,e){return t===e||Yi(t,e,Ga(e))}function Mc(t,e,n){return n="function"==typeof n?n:o,Yi(t,e,Ga(e),n)}function Ac(t){return Dc(t)&&t!=+t}function Oc(t){if(hl(t))throw new i(u);return Zi(t)}function Nc(t){return null===t}function Ec(t){return null==t}function Dc(t){return"number"==typeof t||Sc(t)&&Ri(t)==tt}function Wc(t){if(!Sc(t)||Ri(t)!=nt)return!1;var e=Ce(t);if(null===e)return!0;var n=fe.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&ce.call(n)==ve}var Ic=mn?Yn(mn):Ji;function Rc(t){return Cc(t)&&t>=-z&&t<=z}var zc=yn?Yn(yn):Qi;function Pc(t){return"string"==typeof t||!uc(t)&&Sc(t)&&Ri(t)==lt}function Fc(t){return"symbol"==typeof t||Sc(t)&&Ri(t)==ut}var Hc=wn?Yn(wn):to;function jc(t){return t===o}function Bc(t){return Sc(t)&&Za(t)==ct}function Uc(t){return Sc(t)&&Ri(t)==ft}var $c=La(io),Vc=La((function(t,e){return t<=e}));function Gc(t){if(!t)return[];if(cc(t))return Pc(t)?mr(t):ia(t);if(Te&&t[Te])return ur(t[Te]());var e=Za(t),n=e==Q?sr:e==at?hr:Bf;return n(t)}function Kc(t){if(!t)return 0===t?t:0;if(t=Yc(t),t===R||t===-R){var e=t<0?-1:1;return e*P}return t===t?t:0}function qc(t){var e=Kc(t),n=e%1;return e===e?n?e-n:e:0}function Xc(t){return t?gi(qc(t),0,H):0}function Yc(t){if("number"==typeof t)return t;if(Fc(t))return F;if(_c(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=_c(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Xn(t);var n=Xt.test(t);return n||Zt.test(t)?on(t.slice(2),n?2:8):qt.test(t)?F:+t}function Zc(t){return oa(t,_f(t))}function Jc(t){return t?gi(qc(t),-z,z):0===t?t:0}function Qc(t){return null==t?"":Wo(t)}var tf=sa((function(t,e){if(dl(e)||cc(e))oa(e,kf(e),t);else for(var n in e)fe.call(e,n)&&si(t,n,e[n])})),ef=sa((function(t,e){oa(e,_f(e),t)})),nf=sa((function(t,e,n,r){oa(e,_f(e),t,r)})),rf=sa((function(t,e,n,r){oa(e,kf(e),t,r)})),of=Pa(vi);function af(t,e){var n=kr(t);return null==e?n:hi(n,e)}var lf=xo((function(t,e){t=ne(t);var n=-1,r=e.length,i=r>2?e[2]:o;i&&ll(e[0],e[1],i)&&(r=1);while(++n1),e})),oa(t,Ha(t),n),r&&(n=mi(n,p|v|g,Wa));var i=e.length;while(i--)Ro(n,e[i]);return n}));function Of(t,e){return Ef(t,js($a(e)))}var Nf=Pa((function(t,e){return null==t?{}:ho(t,e)}));function Ef(t,e){if(null==t)return{};var n=Mn(Ha(t),(function(t){return[t]}));return e=$a(e),po(t,n,(function(t,n){return e(t,n[0])}))}function Df(t,e,n){e=$o(e,t);var r=-1,i=e.length;i||(i=1,t=o);while(++re){var r=t;t=e,e=r}if(n||t%1||e%1){var i=Ge();return je(t+i*(e-t+rn("1e-"+((i+"").length-1))),e)}return yo(t,e)}var Kf=pa((function(t,e,n){return e=e.toLowerCase(),t+(n?qf(e):e)}));function qf(t){return xh(Qc(t).toLowerCase())}function Xf(t){return t=Qc(t),t&&t.replace(Qt,nr).replace($e,"")}function Yf(t,e,n){t=Qc(t),e=Wo(e);var r=t.length;n=n===o?r:gi(qc(n),0,r);var i=n;return n-=e.length,n>=0&&t.slice(n,i)==e}function Zf(t){return t=Qc(t),t&&At.test(t)?t.replace(Tt,rr):t}function Jf(t){return t=Qc(t),t&&zt.test(t)?t.replace(Rt,"\\$&"):t}var Qf=pa((function(t,e,n){return t+(n?"-":"")+e.toLowerCase()})),th=pa((function(t,e,n){return t+(n?" ":"")+e.toLowerCase()})),eh=da("toLowerCase");function nh(t,e,n){t=Qc(t),e=qc(e);var r=e?gr(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return ka(We(i),n)+t+ka(De(i),n)}function rh(t,e,n){t=Qc(t),e=qc(e);var r=e?gr(t):0;return e&&r>>0,n?(t=Qc(t),t&&("string"==typeof e||null!=e&&!Ic(e))&&(e=Wo(e),!e&&ar(t))?Go(mr(t),0,n):t.split(e,n)):[]}var ch=pa((function(t,e,n){return t+(n?" ":"")+xh(e)}));function fh(t,e,n){return t=Qc(t),n=null==n?0:gi(qc(n),0,t.length),e=Wo(e),t.slice(n,n+e.length)==e}function hh(t,e,n){var r=xr.templateSettings;n&&ll(t,e,n)&&(e=o),t=Qc(t),e=nf({},e,r,Ea);var a,l,u=nf({},e.imports,r.imports,Ea),s=kf(u),f=Zn(u,s),h=0,d=e.interpolate||te,p="__p += '",v=re((e.escape||te).source+"|"+d.source+"|"+(d===Et?Gt:te).source+"|"+(e.evaluate||te).source+"|$","g"),g="//# sourceURL="+(fe.call(e,"sourceURL")?(e.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Ye+"]")+"\n";t.replace(v,(function(e,n,r,i,o,u){return r||(r=i),p+=t.slice(h,u).replace(ee,ir),n&&(a=!0,p+="' +\n__e("+n+") +\n'"),o&&(l=!0,p+="';\n"+o+";\n__p += '"),r&&(p+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),h=u+e.length,e})),p+="';\n";var m=fe.call(e,"variable")&&e.variable;if(m){if($t.test(m))throw new i(c)}else p="with (obj) {\n"+p+"\n}\n";p=(l?p.replace(kt,""):p).replace(_t,"$1").replace(St,"$1;"),p="function("+(m||"obj")+") {\n"+(m?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(a?", __e = _.escape":"")+(l?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+p+"return __p\n}";var y=kh((function(){return Ft(s,g+"return "+p).apply(o,f)}));if(y.source=p,wc(y))throw y;return y}function dh(t){return Qc(t).toLowerCase()}function ph(t){return Qc(t).toUpperCase()}function vh(t,e,n){if(t=Qc(t),t&&(n||e===o))return Xn(t);if(!t||!(e=Wo(e)))return t;var r=mr(t),i=mr(e),a=Qn(r,i),l=tr(r,i)+1;return Go(r,a,l).join("")}function gh(t,e,n){if(t=Qc(t),t&&(n||e===o))return t.slice(0,yr(t)+1);if(!t||!(e=Wo(e)))return t;var r=mr(t),i=tr(r,mr(e))+1;return Go(r,0,i).join("")}function mh(t,e,n){if(t=Qc(t),t&&(n||e===o))return t.replace(Pt,"");if(!t||!(e=Wo(e)))return t;var r=mr(t),i=Qn(r,mr(e));return Go(r,i).join("")}function yh(t,e){var n=A,r=O;if(_c(e)){var i="separator"in e?e.separator:i;n="length"in e?qc(e.length):n,r="omission"in e?Wo(e.omission):r}t=Qc(t);var a=t.length;if(ar(t)){var l=mr(t);a=l.length}if(n>=a)return t;var u=n-gr(r);if(u<1)return r;var s=l?Go(l,0,u).join(""):t.slice(0,u);if(i===o)return s+r;if(l&&(u+=s.length-u),Ic(i)){if(t.slice(u).search(i)){var c,f=s;i.global||(i=re(i.source,Qc(Kt.exec(i))+"g")),i.lastIndex=0;while(c=i.exec(f))var h=c.index;s=s.slice(0,h===o?u:h)}}else if(t.indexOf(Wo(i),u)!=u){var d=s.lastIndexOf(i);d>-1&&(s=s.slice(0,d))}return s+r}function wh(t){return t=Qc(t),t&&Mt.test(t)?t.replace(Lt,wr):t}var bh=pa((function(t,e,n){return t+(n?" ":"")+e.toUpperCase()})),xh=da("toUpperCase");function Ch(t,e,n){return t=Qc(t),e=n?o:e,e===o?lr(t)?Cr(t):In(t):t.match(e)||[]}var kh=xo((function(t,e){try{return bn(t,o,e)}catch(n){return wc(n)?n:new i(n)}})),_h=Pa((function(t,e){return Cn(e,(function(e){e=Nl(e),pi(t,e,Es(t[e],t))})),t}));function Sh(t){var e=null==t?0:t.length,n=$a();return t=e?Mn(t,(function(t){if("function"!=typeof t[1])throw new oe(s);return[n(t[0]),t[1]]})):[],xo((function(n){var r=-1;while(++rz)return[];var n=H,r=je(t,H);e=$a(e),t-=H;var i=Kn(r,e);while(++n0||e<0)?new Tr(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==o&&(e=qc(e),n=e<0?n.dropRight(-e):n.take(e-t)),n)},Tr.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Tr.prototype.toArray=function(){return this.take(H)},Ni(Tr.prototype,(function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),i=xr[r?"take"+("last"==e?"Right":""):e],a=r||/^find/.test(e);i&&(xr.prototype[e]=function(){var e=this.__wrapped__,l=r?[1]:arguments,u=e instanceof Tr,s=l[0],c=u||uc(e),f=function(t){var e=i.apply(xr,An([t],l));return r&&h?e[0]:e};c&&n&&"function"==typeof s&&1!=s.length&&(u=c=!1);var h=this.__chain__,d=!!this.__actions__.length,p=a&&!h,v=u&&!d;if(!a&&c){e=v?e:new Tr(this);var g=t.apply(e,l);return g.__actions__.push({func:Ku,args:[f],thisArg:o}),new Lr(g,h)}return p&&v?t.apply(this,l):(g=this.thru(f),p?r?g.value()[0]:g.value():g)})})),Cn(["pop","push","shift","sort","splice","unshift"],(function(t){var e=ae[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);xr.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var i=this.value();return e.apply(uc(i)?i:[],t)}return this[n]((function(n){return e.apply(uc(n)?n:[],t)}))}})),Ni(Tr.prototype,(function(t,e){var n=xr[e];if(n){var r=n.name+"";fe.call(sn,r)||(sn[r]=[]),sn[r].push({name:e,func:n})}})),sn[wa(o,b).name]=[{name:"wrapper",func:o}],Tr.prototype.clone=Mr,Tr.prototype.reverse=Ar,Tr.prototype.value=Or,xr.prototype.at=qu,xr.prototype.chain=Xu,xr.prototype.commit=Yu,xr.prototype.next=Zu,xr.prototype.plant=Qu,xr.prototype.reverse=ts,xr.prototype.toJSON=xr.prototype.valueOf=xr.prototype.value=es,xr.prototype.first=xr.prototype.head,Te&&(xr.prototype[Te]=Ju),xr},_r=kr();un._=_r,i=function(){return _r}.call(e,n,e,r),i===o||(r.exports=i)}).call(this)}).call(this,n("c8ba"),n("62e4")(t))},"466d":function(t,e,n){"use strict";var r=n("d784"),i=n("825a"),o=n("50c4"),a=n("1d80"),l=n("8aa5"),u=n("14c3");r("match",1,(function(t,e,n){return[function(e){var n=a(this),r=void 0==e?void 0:e[t];return void 0!==r?r.call(e,n):new RegExp(e)[t](String(n))},function(t){var r=n(e,t,this);if(r.done)return r.value;var a=i(t),s=String(this);if(!a.global)return u(a,s);var c=a.unicode;a.lastIndex=0;var f,h=[],d=0;while(null!==(f=u(a,s))){var p=String(f[0]);h[d]=p,""===p&&(a.lastIndex=l(s,o(a.lastIndex),c)),d++}return 0===d?null:h}]}))},"4d63":function(t,e,n){var r=n("83ab"),i=n("da84"),o=n("94ca"),a=n("7156"),l=n("9bf2").f,u=n("241c").f,s=n("44e7"),c=n("ad6d"),f=n("9f7f"),h=n("6eeb"),d=n("d039"),p=n("69f3").set,v=n("2626"),g=n("b622"),m=g("match"),y=i.RegExp,w=y.prototype,b=/a/g,x=/a/g,C=new y(b)!==b,k=f.UNSUPPORTED_Y,_=r&&o("RegExp",!C||k||d((function(){return x[m]=!1,y(b)!=b||y(x)==x||"/a/i"!=y(b,"i")})));if(_){var S=function(t,e){var n,r=this instanceof S,i=s(t),o=void 0===e;if(!r&&i&&t.constructor===S&&o)return t;C?i&&!o&&(t=t.source):t instanceof S&&(o&&(e=c.call(t)),t=t.source),k&&(n=!!e&&e.indexOf("y")>-1,n&&(e=e.replace(/y/g,"")));var l=a(C?new y(t,e):y(t,e),r?this:w,S);return k&&n&&p(l,{sticky:n}),l},L=function(t){t in S||l(S,t,{configurable:!0,get:function(){return y[t]},set:function(e){y[t]=e}})},T=u(y),M=0;while(T.length>M)L(T[M++]);w.constructor=S,S.prototype=w,h(i,"RegExp",S)}v("RegExp")},"4e82":function(t,e,n){"use strict";var r=n("23e7"),i=n("1c0b"),o=n("7b0b"),a=n("d039"),l=n("a640"),u=[],s=u.sort,c=a((function(){u.sort(void 0)})),f=a((function(){u.sort(null)})),h=l("sort"),d=c||!f||!h;r({target:"Array",proto:!0,forced:d},{sort:function(t){return void 0===t?s.call(o(this)):s.call(o(this),i(t))}})},5319:function(t,e,n){"use strict";var r=n("d784"),i=n("825a"),o=n("7b0b"),a=n("50c4"),l=n("a691"),u=n("1d80"),s=n("8aa5"),c=n("14c3"),f=Math.max,h=Math.min,d=Math.floor,p=/\$([$&'`]|\d\d?|<[^>]*>)/g,v=/\$([$&'`]|\d\d?)/g,g=function(t){return void 0===t?t:String(t)};r("replace",2,(function(t,e,n,r){var m=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,y=r.REPLACE_KEEPS_$0,w=m?"$":"$0";return[function(n,r){var i=u(this),o=void 0==n?void 0:n[t];return void 0!==o?o.call(n,i,r):e.call(String(i),n,r)},function(t,r){if(!m&&y||"string"===typeof r&&-1===r.indexOf(w)){var o=n(e,t,this,r);if(o.done)return o.value}var u=i(t),d=String(this),p="function"===typeof r;p||(r=String(r));var v=u.global;if(v){var x=u.unicode;u.lastIndex=0}var C=[];while(1){var k=c(u,d);if(null===k)break;if(C.push(k),!v)break;var _=String(k[0]);""===_&&(u.lastIndex=s(d,a(u.lastIndex),x))}for(var S="",L=0,T=0;T=L&&(S+=d.slice(L,A)+W,L=A+M.length)}return S+d.slice(L)}];function b(t,n,r,i,a,l){var u=r+t.length,s=i.length,c=v;return void 0!==a&&(a=o(a),c=p),e.call(l,c,(function(e,o){var l;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return n.slice(0,r);case"'":return n.slice(u);case"<":l=a[o.slice(1,-1)];break;default:var c=+o;if(0===c)return e;if(c>s){var f=d(c/10);return 0===f?e:f<=s?void 0===i[f-1]?o.charAt(1):i[f-1]+o.charAt(1):e}l=i[c-1]}return void 0===l?"":l}))}}))},"56b3":function(t,e,n){(function(e,n){t.exports=n()})(0,(function(){"use strict";var t=navigator.userAgent,e=navigator.platform,n=/gecko\/\d/i.test(t),r=/MSIE \d/.test(t),i=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(t),o=/Edge\/(\d+)/.exec(t),a=r||i||o,l=a&&(r?document.documentMode||6:+(o||i)[1]),u=!o&&/WebKit\//.test(t),s=u&&/Qt\/\d+\.\d+/.test(t),c=!o&&/Chrome\//.test(t),f=/Opera\//.test(t),h=/Apple Computer/.test(navigator.vendor),d=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(t),p=/PhantomJS/.test(t),v=h&&(/Mobile\/\w+/.test(t)||navigator.maxTouchPoints>2),g=/Android/.test(t),m=v||g||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(t),y=v||/Mac/.test(e),w=/\bCrOS\b/.test(t),b=/win/i.test(e),x=f&&t.match(/Version\/(\d*\.\d*)/);x&&(x=Number(x[1])),x&&x>=15&&(f=!1,u=!0);var C=y&&(s||f&&(null==x||x<12.11)),k=n||a&&l>=9;function _(t){return new RegExp("(^|\\s)"+t+"(?:$|\\s)\\s*")}var S,L=function(t,e){var n=t.className,r=_(e).exec(n);if(r){var i=n.slice(r.index+r[0].length);t.className=n.slice(0,r.index)+(i?r[1]+i:"")}};function T(t){for(var e=t.childNodes.length;e>0;--e)t.removeChild(t.firstChild);return t}function M(t,e){return T(t).appendChild(e)}function A(t,e,n,r){var i=document.createElement(t);if(n&&(i.className=n),r&&(i.style.cssText=r),"string"==typeof e)i.appendChild(document.createTextNode(e));else if(e)for(var o=0;o=e)return a+(e-o);a+=l-o,a+=n-a%n,o=l+1}}v?I=function(t){t.selectionStart=0,t.selectionEnd=t.value.length}:a&&(I=function(t){try{t.select()}catch(e){}});var F=function(){this.id=null,this.f=null,this.time=0,this.handler=R(this.onTimeout,this)};function H(t,e){for(var n=0;n=e)return r+Math.min(a,e-i);if(i+=o-r,i+=n-i%n,r=o+1,i>=e)return r}}var K=[""];function q(t){while(K.length<=t)K.push(X(K)+" ");return K[t]}function X(t){return t[t.length-1]}function Y(t,e){for(var n=[],r=0;r"€"&&(t.toUpperCase()!=t.toLowerCase()||tt.test(t))}function nt(t,e){return e?!!(e.source.indexOf("\\w")>-1&&et(t))||e.test(t):et(t)}function rt(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e])return!1;return!0}var it=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function ot(t){return t.charCodeAt(0)>=768&&it.test(t)}function at(t,e,n){while((n<0?e>0:en?-1:1;;){if(e==n)return e;var i=(e+n)/2,o=r<0?Math.ceil(i):Math.floor(i);if(o==e)return t(o)?e:n;t(o)?n=o:e=o+r}}function ut(t,e,n,r){if(!t)return r(e,n,"ltr",0);for(var i=!1,o=0;oe||e==n&&a.to==e)&&(r(Math.max(a.from,e),Math.min(a.to,n),1==a.level?"rtl":"ltr",o),i=!0)}i||r(e,n,"ltr")}var st=null;function ct(t,e,n){var r;st=null;for(var i=0;ie)return i;o.to==e&&(o.from!=o.to&&"before"==n?r=i:st=i),o.from==e&&(o.from!=o.to&&"before"!=n?r=i:st=i)}return null!=r?r:st}var ft=function(){var t="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",e="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111";function n(n){return n<=247?t.charAt(n):1424<=n&&n<=1524?"R":1536<=n&&n<=1785?e.charAt(n-1536):1774<=n&&n<=2220?"r":8192<=n&&n<=8203?"w":8204==n?"b":"L"}var r=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,i=/[stwN]/,o=/[LRr]/,a=/[Lb1n]/,l=/[1n]/;function u(t,e,n){this.level=t,this.from=e,this.to=n}return function(t,e){var s="ltr"==e?"L":"R";if(0==t.length||"ltr"==e&&!r.test(t))return!1;for(var c=t.length,f=[],h=0;h-1&&(r[e]=i.slice(0,o).concat(i.slice(o+1)))}}}function mt(t,e){var n=vt(t,e);if(n.length)for(var r=Array.prototype.slice.call(arguments,2),i=0;i0}function xt(t){t.prototype.on=function(t,e){pt(this,t,e)},t.prototype.off=function(t,e){gt(this,t,e)}}function Ct(t){t.preventDefault?t.preventDefault():t.returnValue=!1}function kt(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0}function _t(t){return null!=t.defaultPrevented?t.defaultPrevented:0==t.returnValue}function St(t){Ct(t),kt(t)}function Lt(t){return t.target||t.srcElement}function Tt(t){var e=t.which;return null==e&&(1&t.button?e=1:2&t.button?e=3:4&t.button&&(e=2)),y&&t.ctrlKey&&1==e&&(e=3),e}var Mt,At,Ot=function(){if(a&&l<9)return!1;var t=A("div");return"draggable"in t||"dragDrop"in t}();function Nt(t){if(null==Mt){var e=A("span","​");M(t,A("span",[e,document.createTextNode("x")])),0!=t.firstChild.offsetHeight&&(Mt=e.offsetWidth<=1&&e.offsetHeight>2&&!(a&&l<8))}var n=Mt?A("span","​"):A("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return n.setAttribute("cm-text",""),n}function Et(t){if(null!=At)return At;var e=M(t,document.createTextNode("AخA")),n=S(e,0,1).getBoundingClientRect(),r=S(e,1,2).getBoundingClientRect();return T(t),!(!n||n.left==n.right)&&(At=r.right-n.right<3)}var Dt=3!="\n\nb".split(/\n/).length?function(t){var e=0,n=[],r=t.length;while(e<=r){var i=t.indexOf("\n",e);-1==i&&(i=t.length);var o=t.slice(e,"\r"==t.charAt(i-1)?i-1:i),a=o.indexOf("\r");-1!=a?(n.push(o.slice(0,a)),e+=a+1):(n.push(o),e=i+1)}return n}:function(t){return t.split(/\r\n?|\n/)},Wt=window.getSelection?function(t){try{return t.selectionStart!=t.selectionEnd}catch(e){return!1}}:function(t){var e;try{e=t.ownerDocument.selection.createRange()}catch(n){}return!(!e||e.parentElement()!=t)&&0!=e.compareEndPoints("StartToEnd",e)},It=function(){var t=A("div");return"oncopy"in t||(t.setAttribute("oncopy","return;"),"function"==typeof t.oncopy)}(),Rt=null;function zt(t){if(null!=Rt)return Rt;var e=M(t,A("span","x")),n=e.getBoundingClientRect(),r=S(e,0,1).getBoundingClientRect();return Rt=Math.abs(n.left-r.left)>1}var Pt={},Ft={};function Ht(t,e){arguments.length>2&&(e.dependencies=Array.prototype.slice.call(arguments,2)),Pt[t]=e}function jt(t,e){Ft[t]=e}function Bt(t){if("string"==typeof t&&Ft.hasOwnProperty(t))t=Ft[t];else if(t&&"string"==typeof t.name&&Ft.hasOwnProperty(t.name)){var e=Ft[t.name];"string"==typeof e&&(e={name:e}),t=Q(e,t),t.name=e.name}else{if("string"==typeof t&&/^[\w\-]+\/[\w\-]+\+xml$/.test(t))return Bt("application/xml");if("string"==typeof t&&/^[\w\-]+\/[\w\-]+\+json$/.test(t))return Bt("application/json")}return"string"==typeof t?{name:t}:t||{name:"null"}}function Ut(t,e){e=Bt(e);var n=Pt[e.name];if(!n)return Ut(t,"text/plain");var r=n(t,e);if($t.hasOwnProperty(e.name)){var i=$t[e.name];for(var o in i)i.hasOwnProperty(o)&&(r.hasOwnProperty(o)&&(r["_"+o]=r[o]),r[o]=i[o])}if(r.name=e.name,e.helperType&&(r.helperType=e.helperType),e.modeProps)for(var a in e.modeProps)r[a]=e.modeProps[a];return r}var $t={};function Vt(t,e){var n=$t.hasOwnProperty(t)?$t[t]:$t[t]={};z(e,n)}function Gt(t,e){if(!0===e)return e;if(t.copyState)return t.copyState(e);var n={};for(var r in e){var i=e[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n}function Kt(t,e){var n;while(t.innerMode){if(n=t.innerMode(e),!n||n.mode==t)break;e=n.state,t=n.mode}return n||{mode:t,state:e}}function qt(t,e,n){return!t.startState||t.startState(e,n)}var Xt=function(t,e,n){this.pos=this.start=0,this.string=t,this.tabSize=e||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};function Yt(t,e){if(e-=t.first,e<0||e>=t.size)throw new Error("There is no line "+(e+t.first)+" in the document.");var n=t;while(!n.lines)for(var r=0;;++r){var i=n.children[r],o=i.chunkSize();if(e=t.first&&en?ie(n,Yt(t,n).text.length):he(e,Yt(t,e.line).text.length)}function he(t,e){var n=t.ch;return null==n||n>e?ie(t.line,e):n<0?ie(t.line,0):t}function de(t,e){for(var n=[],r=0;r=this.string.length},Xt.prototype.sol=function(){return this.pos==this.lineStart},Xt.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},Xt.prototype.next=function(){if(this.pose},Xt.prototype.eatSpace=function(){var t=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos)))++this.pos;return this.pos>t},Xt.prototype.skipToEnd=function(){this.pos=this.string.length},Xt.prototype.skipTo=function(t){var e=this.string.indexOf(t,this.pos);if(e>-1)return this.pos=e,!0},Xt.prototype.backUp=function(t){this.pos-=t},Xt.prototype.column=function(){return this.lastColumnPos0?null:(r&&!1!==e&&(this.pos+=r[0].length),r)}var i=function(t){return n?t.toLowerCase():t},o=this.string.substr(this.pos,t.length);if(i(o)==i(t))return!1!==e&&(this.pos+=t.length),!0},Xt.prototype.current=function(){return this.string.slice(this.start,this.pos)},Xt.prototype.hideFirstChars=function(t,e){this.lineStart+=t;try{return e()}finally{this.lineStart-=t}},Xt.prototype.lookAhead=function(t){var e=this.lineOracle;return e&&e.lookAhead(t)},Xt.prototype.baseToken=function(){var t=this.lineOracle;return t&&t.baseToken(this.pos)};var pe=function(t,e){this.state=t,this.lookAhead=e},ve=function(t,e,n,r){this.state=e,this.doc=t,this.line=n,this.maxLookAhead=r||0,this.baseTokens=null,this.baseTokenPos=1};function ge(t,e,n,r){var i=[t.state.modeGen],o={};Se(t,e.text,t.doc.mode,n,(function(t,e){return i.push(t,e)}),o,r);for(var a=n.state,l=function(r){n.baseTokens=i;var l=t.state.overlays[r],u=1,s=0;n.state=!0,Se(t,e.text,l.mode,n,(function(t,e){var n=u;while(st&&i.splice(u,1,t,i[u+1],r),u+=2,s=Math.min(t,r)}if(e)if(l.opaque)i.splice(n,u-n,t,"overlay "+e),u=n+2;else for(;nt.options.maxHighlightLength&&Gt(t.doc.mode,r.state),o=ge(t,e,r);i&&(r.state=i),e.stateAfter=r.save(!i),e.styles=o.styles,o.classes?e.styleClasses=o.classes:e.styleClasses&&(e.styleClasses=null),n===t.doc.highlightFrontier&&(t.doc.modeFrontier=Math.max(t.doc.modeFrontier,++t.doc.highlightFrontier))}return e.styles}function ye(t,e,n){var r=t.doc,i=t.display;if(!r.mode.startState)return new ve(r,!0,e);var o=Le(t,e,n),a=o>r.first&&Yt(r,o-1).stateAfter,l=a?ve.fromSaved(r,a,o):new ve(r,qt(r.mode),o);return r.iter(o,e,(function(n){we(t,n.text,l);var r=l.line;n.stateAfter=r==e-1||r%5==0||r>=i.viewFrom&&re.start)return o}throw new Error("Mode "+t.name+" failed to advance stream.")}ve.prototype.lookAhead=function(t){var e=this.doc.getLine(this.line+t);return null!=e&&t>this.maxLookAhead&&(this.maxLookAhead=t),e},ve.prototype.baseToken=function(t){if(!this.baseTokens)return null;while(this.baseTokens[this.baseTokenPos]<=t)this.baseTokenPos+=2;var e=this.baseTokens[this.baseTokenPos+1];return{type:e&&e.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-t}},ve.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},ve.fromSaved=function(t,e,n){return e instanceof pe?new ve(t,Gt(t.mode,e.state),n,e.lookAhead):new ve(t,Gt(t.mode,e),n)},ve.prototype.save=function(t){var e=!1!==t?Gt(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new pe(e,this.maxLookAhead):e};var Ce=function(t,e,n){this.start=t.start,this.end=t.pos,this.string=t.current(),this.type=e||null,this.state=n};function ke(t,e,n,r){var i,o=t.doc,a=o.mode;e=fe(o,e);var l,u=Yt(o,e.line),s=ye(t,e.line,n),c=new Xt(u.text,t.options.tabSize,s);r&&(l=[]);while((r||c.post.options.maxHighlightLength?(l=!1,a&&we(t,e,r,f.pos),f.pos=e.length,u=null):u=_e(xe(n,f,r.state,h),o),h){var d=h[0].name;d&&(u="m-"+(u?d+" "+u:d))}if(!l||c!=u){while(sa;--l){if(l<=o.first)return o.first;var u=Yt(o,l-1),s=u.stateAfter;if(s&&(!n||l+(s instanceof pe?s.lookAhead:0)<=o.modeFrontier))return l;var c=P(u.text,null,t.options.tabSize);(null==i||r>c)&&(i=l-1,r=c)}return i}function Te(t,e){if(t.modeFrontier=Math.min(t.modeFrontier,e),!(t.highlightFrontiern;r--){var i=Yt(t,r).stateAfter;if(i&&(!(i instanceof pe)||r+i.lookAhead=e:o.to>e);(r||(r=[])).push(new Ee(a,o.from,u?null:o.to))}}return r}function ze(t,e,n){var r;if(t)for(var i=0;i=e:o.to>e);if(l||o.from==e&&"bookmark"==a.type&&(!n||o.marker.insertLeft)){var u=null==o.from||(a.inclusiveLeft?o.from<=e:o.from0&&l)for(var b=0;b0)){var c=[u,1],f=oe(s.from,l.from),h=oe(s.to,l.to);(f<0||!a.inclusiveLeft&&!f)&&c.push({from:s.from,to:l.from}),(h>0||!a.inclusiveRight&&!h)&&c.push({from:l.to,to:s.to}),i.splice.apply(i,c),u+=c.length-3}}return i}function je(t){var e=t.markedSpans;if(e){for(var n=0;ne)&&(!n||Ve(n,o.marker)<0)&&(n=o.marker)}return n}function Ye(t,e,n,r,i){var o=Yt(t,e),a=Ae&&o.markedSpans;if(a)for(var l=0;l=0&&f<=0||c<=0&&f>=0)&&(c<=0&&(u.marker.inclusiveRight&&i.inclusiveLeft?oe(s.to,n)>=0:oe(s.to,n)>0)||c>=0&&(u.marker.inclusiveRight&&i.inclusiveLeft?oe(s.from,r)<=0:oe(s.from,r)<0)))return!0}}}function Ze(t){var e;while(e=Ke(t))t=e.find(-1,!0).line;return t}function Je(t){var e;while(e=qe(t))t=e.find(1,!0).line;return t}function Qe(t){var e,n;while(e=qe(t))t=e.find(1,!0).line,(n||(n=[])).push(t);return n}function tn(t,e){var n=Yt(t,e),r=Ze(n);return n==r?e:te(r)}function en(t,e){if(e>t.lastLine())return e;var n,r=Yt(t,e);if(!nn(t,r))return e;while(n=qe(r))r=n.find(1,!0).line;return te(r)+1}function nn(t,e){var n=Ae&&e.markedSpans;if(n)for(var r=void 0,i=0;ie.maxLineLength&&(e.maxLineLength=n,e.maxLine=t)}))}var un=function(t,e,n){this.text=t,Be(this,e),this.height=n?n(this):1};function sn(t,e,n,r){t.text=e,t.stateAfter&&(t.stateAfter=null),t.styles&&(t.styles=null),null!=t.order&&(t.order=null),je(t),Be(t,n);var i=r?r(t):1;i!=t.height&&Qt(t,i)}function cn(t){t.parent=null,je(t)}un.prototype.lineNo=function(){return te(this)},xt(un);var fn={},hn={};function dn(t,e){if(!t||/^\s*$/.test(t))return null;var n=e.addModeClass?hn:fn;return n[t]||(n[t]=t.replace(/\S+/g,"cm-$&"))}function pn(t,e){var n=O("span",null,null,u?"padding-right: .1px":null),r={pre:O("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:t,trailingSpace:!1,splitSpaces:t.getOption("lineWrapping")};e.measure={};for(var i=0;i<=(e.rest?e.rest.length:0);i++){var o=i?e.rest[i-1]:e.line,a=void 0;r.pos=0,r.addToken=gn,Et(t.display.measure)&&(a=ht(o,t.doc.direction))&&(r.addToken=yn(r.addToken,a)),r.map=[];var l=e!=t.display.externalMeasured&&te(o);bn(o,r,me(t,o,l)),o.styleClasses&&(o.styleClasses.bgClass&&(r.bgClass=W(o.styleClasses.bgClass,r.bgClass||"")),o.styleClasses.textClass&&(r.textClass=W(o.styleClasses.textClass,r.textClass||""))),0==r.map.length&&r.map.push(0,0,r.content.appendChild(Nt(t.display.measure))),0==i?(e.measure.map=r.map,e.measure.cache={}):((e.measure.maps||(e.measure.maps=[])).push(r.map),(e.measure.caches||(e.measure.caches=[])).push({}))}if(u){var s=r.content.lastChild;(/\bcm-tab\b/.test(s.className)||s.querySelector&&s.querySelector(".cm-tab"))&&(r.content.className="cm-tab-wrap-hack")}return mt(t,"renderLine",t,e.line,r.pre),r.pre.className&&(r.textClass=W(r.pre.className,r.textClass||"")),r}function vn(t){var e=A("span","•","cm-invalidchar");return e.title="\\u"+t.charCodeAt(0).toString(16),e.setAttribute("aria-label",e.title),e}function gn(t,e,n,r,i,o,u){if(e){var s,c=t.splitSpaces?mn(e,t.trailingSpace):e,f=t.cm.state.specialChars,h=!1;if(f.test(e)){s=document.createDocumentFragment();var d=0;while(1){f.lastIndex=d;var p=f.exec(e),v=p?p.index-d:e.length-d;if(v){var g=document.createTextNode(c.slice(d,d+v));a&&l<9?s.appendChild(A("span",[g])):s.appendChild(g),t.map.push(t.pos,t.pos+v,g),t.col+=v,t.pos+=v}if(!p)break;d+=v+1;var m=void 0;if("\t"==p[0]){var y=t.cm.options.tabSize,w=y-t.col%y;m=s.appendChild(A("span",q(w),"cm-tab")),m.setAttribute("role","presentation"),m.setAttribute("cm-text","\t"),t.col+=w}else"\r"==p[0]||"\n"==p[0]?(m=s.appendChild(A("span","\r"==p[0]?"␍":"␤","cm-invalidchar")),m.setAttribute("cm-text",p[0]),t.col+=1):(m=t.cm.options.specialCharPlaceholder(p[0]),m.setAttribute("cm-text",p[0]),a&&l<9?s.appendChild(A("span",[m])):s.appendChild(m),t.col+=1);t.map.push(t.pos,t.pos+1,m),t.pos++}}else t.col+=e.length,s=document.createTextNode(c),t.map.push(t.pos,t.pos+e.length,s),a&&l<9&&(h=!0),t.pos+=e.length;if(t.trailingSpace=32==c.charCodeAt(e.length-1),n||r||i||h||o||u){var b=n||"";r&&(b+=r),i&&(b+=i);var x=A("span",[s],b,o);if(u)for(var C in u)u.hasOwnProperty(C)&&"style"!=C&&"class"!=C&&x.setAttribute(C,u[C]);return t.content.appendChild(x)}t.content.appendChild(s)}}function mn(t,e){if(t.length>1&&!/ /.test(t))return t;for(var n=e,r="",i=0;is&&f.from<=s)break;if(f.to>=c)return t(n,r,i,o,a,l,u);t(n,r.slice(0,f.to-s),i,o,null,l,u),o=null,r=r.slice(f.to-s),s=f.to}}}function wn(t,e,n,r){var i=!r&&n.widgetNode;i&&t.map.push(t.pos,t.pos+e,i),!r&&t.cm.display.input.needsContentAttribute&&(i||(i=t.content.appendChild(document.createElement("span"))),i.setAttribute("cm-marker",n.id)),i&&(t.cm.display.input.setUneditable(i),t.content.appendChild(i)),t.pos+=e,t.trailingSpace=!1}function bn(t,e,n){var r=t.markedSpans,i=t.text,o=0;if(r)for(var a,l,u,s,c,f,h,d=i.length,p=0,v=1,g="",m=0;;){if(m==p){u=s=c=l="",h=null,f=null,m=1/0;for(var y=[],w=void 0,b=0;bp||C.collapsed&&x.to==p&&x.from==p)){if(null!=x.to&&x.to!=p&&m>x.to&&(m=x.to,s=""),C.className&&(u+=" "+C.className),C.css&&(l=(l?l+";":"")+C.css),C.startStyle&&x.from==p&&(c+=" "+C.startStyle),C.endStyle&&x.to==m&&(w||(w=[])).push(C.endStyle,x.to),C.title&&((h||(h={})).title=C.title),C.attributes)for(var k in C.attributes)(h||(h={}))[k]=C.attributes[k];C.collapsed&&(!f||Ve(f.marker,C)<0)&&(f=x)}else x.from>p&&m>x.from&&(m=x.from)}if(w)for(var _=0;_=d)break;var L=Math.min(d,m);while(1){if(g){var T=p+g.length;if(!f){var M=T>L?g.slice(0,L-p):g;e.addToken(e,M,a?a+u:u,c,p+M.length==m?s:"",l,h)}if(T>=L){g=g.slice(L-p),p=L;break}p=T,c=""}g=i.slice(o,o=n[v++]),a=dn(n[v++],e.cm.options)}}else for(var A=1;A2&&o.push((u.bottom+s.top)/2-n.top)}}o.push(n.bottom-n.top)}}function Zn(t,e,n){if(t.line==e)return{map:t.measure.map,cache:t.measure.cache};if(t.rest){for(var r=0;rn)return{map:t.measure.maps[i],cache:t.measure.caches[i],before:!0}}}function Jn(t,e){e=Ze(e);var n=te(e),r=t.display.externalMeasured=new xn(t.doc,e,n);r.lineN=n;var i=r.built=pn(t,r);return r.text=i.pre,M(t.display.lineMeasure,i.pre),r}function Qn(t,e,n,r){return nr(t,er(t,e),n,r)}function tr(t,e){if(e>=t.display.viewFrom&&e=n.lineN&&ee)&&(o=u-l,i=o-1,e>=u&&(a="right")),null!=i){if(r=t[s+2],l==u&&n==(r.insertLeft?"left":"right")&&(a=n),"left"==n&&0==i)while(s&&t[s-2]==t[s-3]&&t[s-1].insertLeft)r=t[2+(s-=3)],a="left";if("right"==n&&i==u-l)while(s=0;i--)if((n=t[i]).left!=n.right)break;return n}function lr(t,e,n,r){var i,o=or(e.map,n,r),u=o.node,s=o.start,c=o.end,f=o.collapse;if(3==u.nodeType){for(var h=0;h<4;h++){while(s&&ot(e.line.text.charAt(o.coverStart+s)))--s;while(o.coverStart+c0&&(f=r="right"),i=t.options.lineWrapping&&(d=u.getClientRects()).length>1?d["right"==r?d.length-1:0]:u.getBoundingClientRect()}if(a&&l<9&&!s&&(!i||!i.left&&!i.right)){var p=u.parentNode.getClientRects()[0];i=p?{left:p.left,right:p.left+Ar(t.display),top:p.top,bottom:p.bottom}:ir}for(var v=i.top-e.rect.top,g=i.bottom-e.rect.top,m=(v+g)/2,y=e.view.measure.heights,w=0;w=r.text.length?(u=r.text.length,s="before"):u<=0&&(u=0,s="after"),!l)return a("before"==s?u-1:u,"before"==s);function c(t,e,n){var r=l[e],i=1==r.level;return a(n?t-1:t,i!=n)}var f=ct(l,u,s),h=st,d=c(u,f,"before"==s);return null!=h&&(d.other=c(u,h,"before"!=s)),d}function wr(t,e){var n=0;e=fe(t.doc,e),t.options.lineWrapping||(n=Ar(t.display)*e.ch);var r=Yt(t.doc,e.line),i=on(r)+$n(t.display);return{left:n,right:n,top:i,bottom:i+r.height}}function br(t,e,n,r,i){var o=ie(t,e,n);return o.xRel=i,r&&(o.outside=r),o}function xr(t,e,n){var r=t.doc;if(n+=t.display.viewOffset,n<0)return br(r.first,0,null,-1,-1);var i=ee(r,n),o=r.first+r.size-1;if(i>o)return br(r.first+r.size-1,Yt(r,o).text.length,null,1,1);e<0&&(e=0);for(var a=Yt(r,i);;){var l=Sr(t,a,i,e,n),u=Xe(a,l.ch+(l.xRel>0||l.outside>0?1:0));if(!u)return l;var s=u.find(1);if(s.line==i)return s;a=Yt(r,i=s.line)}}function Cr(t,e,n,r){r-=pr(e);var i=e.text.length,o=lt((function(e){return nr(t,n,e-1).bottom<=r}),i,0);return i=lt((function(e){return nr(t,n,e).top>r}),o,i),{begin:o,end:i}}function kr(t,e,n,r){n||(n=er(t,e));var i=vr(t,e,nr(t,n,r),"line").top;return Cr(t,e,n,i)}function _r(t,e,n,r){return!(t.bottom<=n)&&(t.top>n||(r?t.left:t.right)>e)}function Sr(t,e,n,r,i){i-=on(e);var o=er(t,e),a=pr(e),l=0,u=e.text.length,s=!0,c=ht(e,t.doc.direction);if(c){var f=(t.options.lineWrapping?Tr:Lr)(t,e,n,o,c,r,i);s=1!=f.level,l=s?f.from:f.to-1,u=s?f.to:f.from-1}var h,d,p=null,v=null,g=lt((function(e){var n=nr(t,o,e);return n.top+=a,n.bottom+=a,!!_r(n,r,i,!1)&&(n.top<=i&&n.left<=r&&(p=e,v=n),!0)}),l,u),m=!1;if(v){var y=r-v.left=b.bottom?1:0}return g=at(e.text,g,1),br(n,g,d,m,r-h)}function Lr(t,e,n,r,i,o,a){var l=lt((function(l){var u=i[l],s=1!=u.level;return _r(yr(t,ie(n,s?u.to:u.from,s?"before":"after"),"line",e,r),o,a,!0)}),0,i.length-1),u=i[l];if(l>0){var s=1!=u.level,c=yr(t,ie(n,s?u.from:u.to,s?"after":"before"),"line",e,r);_r(c,o,a,!0)&&c.top>a&&(u=i[l-1])}return u}function Tr(t,e,n,r,i,o,a){var l=Cr(t,e,r,a),u=l.begin,s=l.end;/\s/.test(e.text.charAt(s-1))&&s--;for(var c=null,f=null,h=0;h=s||d.to<=u)){var p=1!=d.level,v=nr(t,r,p?Math.min(s,d.to)-1:Math.max(u,d.from)).right,g=vg)&&(c=d,f=g)}}return c||(c=i[i.length-1]),c.froms&&(c={from:c.from,to:s,level:c.level}),c}function Mr(t){if(null!=t.cachedTextHeight)return t.cachedTextHeight;if(null==rr){rr=A("pre",null,"CodeMirror-line-like");for(var e=0;e<49;++e)rr.appendChild(document.createTextNode("x")),rr.appendChild(A("br"));rr.appendChild(document.createTextNode("x"))}M(t.measure,rr);var n=rr.offsetHeight/50;return n>3&&(t.cachedTextHeight=n),T(t.measure),n||1}function Ar(t){if(null!=t.cachedCharWidth)return t.cachedCharWidth;var e=A("span","xxxxxxxxxx"),n=A("pre",[e],"CodeMirror-line-like");M(t.measure,n);var r=e.getBoundingClientRect(),i=(r.right-r.left)/10;return i>2&&(t.cachedCharWidth=i),i||10}function Or(t){for(var e=t.display,n={},r={},i=e.gutters.clientLeft,o=e.gutters.firstChild,a=0;o;o=o.nextSibling,++a){var l=t.display.gutterSpecs[a].className;n[l]=o.offsetLeft+o.clientLeft+i,r[l]=o.clientWidth}return{fixedPos:Nr(e),gutterTotalWidth:e.gutters.offsetWidth,gutterLeft:n,gutterWidth:r,wrapperWidth:e.wrapper.clientWidth}}function Nr(t){return t.scroller.getBoundingClientRect().left-t.sizer.getBoundingClientRect().left}function Er(t){var e=Mr(t.display),n=t.options.lineWrapping,r=n&&Math.max(5,t.display.scroller.clientWidth/Ar(t.display)-3);return function(i){if(nn(t.doc,i))return 0;var o=0;if(i.widgets)for(var a=0;a0&&(u=Yt(t.doc,s.line).text).length==s.ch){var c=P(u,u.length,t.options.tabSize)-u.length;s=ie(s.line,Math.max(0,Math.round((o-Gn(t.display).left)/Ar(t.display))-c))}return s}function Ir(t,e){if(e>=t.display.viewTo)return null;if(e-=t.display.viewFrom,e<0)return null;for(var n=t.display.view,r=0;re)&&(i.updateLineNumbers=e),t.curOp.viewChanged=!0,e>=i.viewTo)Ae&&tn(t.doc,e)i.viewFrom?Pr(t):(i.viewFrom+=r,i.viewTo+=r);else if(e<=i.viewFrom&&n>=i.viewTo)Pr(t);else if(e<=i.viewFrom){var o=Fr(t,n,n+r,1);o?(i.view=i.view.slice(o.index),i.viewFrom=o.lineN,i.viewTo+=r):Pr(t)}else if(n>=i.viewTo){var a=Fr(t,e,e,-1);a?(i.view=i.view.slice(0,a.index),i.viewTo=a.lineN):Pr(t)}else{var l=Fr(t,e,e,-1),u=Fr(t,n,n+r,1);l&&u?(i.view=i.view.slice(0,l.index).concat(Cn(t,l.lineN,u.lineN)).concat(i.view.slice(u.index)),i.viewTo+=r):Pr(t)}var s=i.externalMeasured;s&&(n=i.lineN&&e=r.viewTo)){var o=r.view[Ir(t,e)];if(null!=o.node){var a=o.changes||(o.changes=[]);-1==H(a,n)&&a.push(n)}}}function Pr(t){t.display.viewFrom=t.display.viewTo=t.doc.first,t.display.view=[],t.display.viewOffset=0}function Fr(t,e,n,r){var i,o=Ir(t,e),a=t.display.view;if(!Ae||n==t.doc.first+t.doc.size)return{index:o,lineN:n};for(var l=t.display.viewFrom,u=0;u0){if(o==a.length-1)return null;i=l+a[o].size-e,o++}else i=l-e;e+=i,n+=i}while(tn(t.doc,n)!=n){if(o==(r<0?0:a.length-1))return null;n+=r*a[o-(r<0?1:0)].size,o+=r}return{index:o,lineN:n}}function Hr(t,e,n){var r=t.display,i=r.view;0==i.length||e>=r.viewTo||n<=r.viewFrom?(r.view=Cn(t,e,n),r.viewFrom=e):(r.viewFrom>e?r.view=Cn(t,e,r.viewFrom).concat(r.view):r.viewFromn&&(r.view=r.view.slice(0,Ir(t,n)))),r.viewTo=n}function jr(t){for(var e=t.display.view,n=0,r=0;r=t.display.viewTo||u.to().line0?a:t.defaultCharWidth())+"px"}if(r.other){var l=n.appendChild(A("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"));l.style.display="",l.style.left=r.other.left+"px",l.style.top=r.other.top+"px",l.style.height=.85*(r.other.bottom-r.other.top)+"px"}}function Vr(t,e){return t.top-e.top||t.left-e.left}function Gr(t,e,n){var r=t.display,i=t.doc,o=document.createDocumentFragment(),a=Gn(t.display),l=a.left,u=Math.max(r.sizerWidth,qn(t)-r.sizer.offsetLeft)-a.right,s="ltr"==i.direction;function c(t,e,n,r){e<0&&(e=0),e=Math.round(e),r=Math.round(r),o.appendChild(A("div",null,"CodeMirror-selected","position: absolute; left: "+t+"px;\n top: "+e+"px; width: "+(null==n?u-t:n)+"px;\n height: "+(r-e)+"px"))}function f(e,n,r){var o,a,f=Yt(i,e),h=f.text.length;function d(n,r){return mr(t,ie(e,n),"div",f,r)}function p(e,n,r){var i=kr(t,f,null,e),o="ltr"==n==("after"==r)?"left":"right",a="after"==r?i.begin:i.end-(/\s/.test(f.text.charAt(i.end-1))?2:1);return d(a,o)[o]}var v=ht(f,i.direction);return ut(v,n||0,null==r?h:r,(function(t,e,i,f){var g="ltr"==i,m=d(t,g?"left":"right"),y=d(e-1,g?"right":"left"),w=null==n&&0==t,b=null==r&&e==h,x=0==f,C=!v||f==v.length-1;if(y.top-m.top<=3){var k=(s?w:b)&&x,_=(s?b:w)&&C,S=k?l:(g?m:y).left,L=_?u:(g?y:m).right;c(S,m.top,L-S,m.bottom)}else{var T,M,A,O;g?(T=s&&w&&x?l:m.left,M=s?u:p(t,i,"before"),A=s?l:p(e,i,"after"),O=s&&b&&C?u:y.right):(T=s?p(t,i,"before"):l,M=!s&&w&&x?u:m.right,A=!s&&b&&C?l:y.left,O=s?p(e,i,"after"):u),c(T,m.top,M-T,m.bottom),m.bottom0?e.blinker=setInterval((function(){t.hasFocus()||Zr(t),e.cursorDiv.style.visibility=(n=!n)?"":"hidden"}),t.options.cursorBlinkRate):t.options.cursorBlinkRate<0&&(e.cursorDiv.style.visibility="hidden")}}function qr(t){t.hasFocus()||(t.display.input.focus(),t.state.focused||Yr(t))}function Xr(t){t.state.delayingBlurEvent=!0,setTimeout((function(){t.state.delayingBlurEvent&&(t.state.delayingBlurEvent=!1,t.state.focused&&Zr(t))}),100)}function Yr(t,e){t.state.delayingBlurEvent&&!t.state.draggingText&&(t.state.delayingBlurEvent=!1),"nocursor"!=t.options.readOnly&&(t.state.focused||(mt(t,"focus",t,e),t.state.focused=!0,D(t.display.wrapper,"CodeMirror-focused"),t.curOp||t.display.selForContextMenu==t.doc.sel||(t.display.input.reset(),u&&setTimeout((function(){return t.display.input.reset(!0)}),20)),t.display.input.receivedFocus()),Kr(t))}function Zr(t,e){t.state.delayingBlurEvent||(t.state.focused&&(mt(t,"blur",t,e),t.state.focused=!1,L(t.display.wrapper,"CodeMirror-focused")),clearInterval(t.display.blinker),setTimeout((function(){t.state.focused||(t.display.shift=!1)}),150))}function Jr(t){for(var e=t.display,n=e.lineDiv.offsetTop,r=Math.max(0,e.scroller.getBoundingClientRect().top),i=e.lineDiv.getBoundingClientRect().top,o=0,u=0;u.005||v<-.005)&&(it.display.sizerWidth){var m=Math.ceil(h/Ar(t.display));m>t.display.maxLineLength&&(t.display.maxLineLength=m,t.display.maxLine=s.line,t.display.maxLineChanged=!0)}}}Math.abs(o)>2&&(e.scroller.scrollTop+=o)}function Qr(t){if(t.widgets)for(var e=0;e=a&&(o=ee(e,on(Yt(e,u))-t.wrapper.clientHeight),a=u)}return{from:o,to:Math.max(a,o+1)}}function ei(t,e){if(!yt(t,"scrollCursorIntoView")){var n=t.display,r=n.sizer.getBoundingClientRect(),i=null;if(e.top+r.top<0?i=!0:e.bottom+r.top>(window.innerHeight||document.documentElement.clientHeight)&&(i=!1),null!=i&&!p){var o=A("div","​",null,"position: absolute;\n top: "+(e.top-n.viewOffset-$n(t.display))+"px;\n height: "+(e.bottom-e.top+Kn(t)+n.barHeight)+"px;\n left: "+e.left+"px; width: "+Math.max(2,e.right-e.left)+"px;");t.display.lineSpace.appendChild(o),o.scrollIntoView(i),t.display.lineSpace.removeChild(o)}}}function ni(t,e,n,r){var i;null==r&&(r=0),t.options.lineWrapping||e!=n||(n="before"==e.sticky?ie(e.line,e.ch+1,"before"):e,e=e.ch?ie(e.line,"before"==e.sticky?e.ch-1:e.ch,"after"):e);for(var o=0;o<5;o++){var a=!1,l=yr(t,e),u=n&&n!=e?yr(t,n):l;i={left:Math.min(l.left,u.left),top:Math.min(l.top,u.top)-r,right:Math.max(l.left,u.left),bottom:Math.max(l.bottom,u.bottom)+r};var s=ii(t,i),c=t.doc.scrollTop,f=t.doc.scrollLeft;if(null!=s.scrollTop&&(fi(t,s.scrollTop),Math.abs(t.doc.scrollTop-c)>1&&(a=!0)),null!=s.scrollLeft&&(di(t,s.scrollLeft),Math.abs(t.doc.scrollLeft-f)>1&&(a=!0)),!a)break}return i}function ri(t,e){var n=ii(t,e);null!=n.scrollTop&&fi(t,n.scrollTop),null!=n.scrollLeft&&di(t,n.scrollLeft)}function ii(t,e){var n=t.display,r=Mr(t.display);e.top<0&&(e.top=0);var i=t.curOp&&null!=t.curOp.scrollTop?t.curOp.scrollTop:n.scroller.scrollTop,o=Xn(t),a={};e.bottom-e.top>o&&(e.bottom=e.top+o);var l=t.doc.height+Vn(n),u=e.topl-r;if(e.topi+o){var c=Math.min(e.top,(s?l:e.bottom)-o);c!=i&&(a.scrollTop=c)}var f=t.options.fixedGutter?0:n.gutters.offsetWidth,h=t.curOp&&null!=t.curOp.scrollLeft?t.curOp.scrollLeft:n.scroller.scrollLeft-f,d=qn(t)-n.gutters.offsetWidth,p=e.right-e.left>d;return p&&(e.right=e.left+d),e.left<10?a.scrollLeft=0:e.leftd+h-3&&(a.scrollLeft=e.right+(p?0:10)-d),a}function oi(t,e){null!=e&&(si(t),t.curOp.scrollTop=(null==t.curOp.scrollTop?t.doc.scrollTop:t.curOp.scrollTop)+e)}function ai(t){si(t);var e=t.getCursor();t.curOp.scrollToPos={from:e,to:e,margin:t.options.cursorScrollMargin}}function li(t,e,n){null==e&&null==n||si(t),null!=e&&(t.curOp.scrollLeft=e),null!=n&&(t.curOp.scrollTop=n)}function ui(t,e){si(t),t.curOp.scrollToPos=e}function si(t){var e=t.curOp.scrollToPos;if(e){t.curOp.scrollToPos=null;var n=wr(t,e.from),r=wr(t,e.to);ci(t,n,r,e.margin)}}function ci(t,e,n,r){var i=ii(t,{left:Math.min(e.left,n.left),top:Math.min(e.top,n.top)-r,right:Math.max(e.right,n.right),bottom:Math.max(e.bottom,n.bottom)+r});li(t,i.scrollLeft,i.scrollTop)}function fi(t,e){Math.abs(t.doc.scrollTop-e)<2||(n||Bi(t,{top:e}),hi(t,e,!0),n&&Bi(t),Wi(t,100))}function hi(t,e,n){e=Math.max(0,Math.min(t.display.scroller.scrollHeight-t.display.scroller.clientHeight,e)),(t.display.scroller.scrollTop!=e||n)&&(t.doc.scrollTop=e,t.display.scrollbars.setScrollTop(e),t.display.scroller.scrollTop!=e&&(t.display.scroller.scrollTop=e))}function di(t,e,n,r){e=Math.max(0,Math.min(e,t.display.scroller.scrollWidth-t.display.scroller.clientWidth)),(n?e==t.doc.scrollLeft:Math.abs(t.doc.scrollLeft-e)<2)&&!r||(t.doc.scrollLeft=e,Gi(t),t.display.scroller.scrollLeft!=e&&(t.display.scroller.scrollLeft=e),t.display.scrollbars.setScrollLeft(e))}function pi(t){var e=t.display,n=e.gutters.offsetWidth,r=Math.round(t.doc.height+Vn(t.display));return{clientHeight:e.scroller.clientHeight,viewHeight:e.wrapper.clientHeight,scrollWidth:e.scroller.scrollWidth,clientWidth:e.scroller.clientWidth,viewWidth:e.wrapper.clientWidth,barLeft:t.options.fixedGutter?n:0,docHeight:r,scrollHeight:r+Kn(t)+e.barHeight,nativeBarWidth:e.nativeBarWidth,gutterWidth:n}}var vi=function(t,e,n){this.cm=n;var r=this.vert=A("div",[A("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),i=this.horiz=A("div",[A("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");r.tabIndex=i.tabIndex=-1,t(r),t(i),pt(r,"scroll",(function(){r.clientHeight&&e(r.scrollTop,"vertical")})),pt(i,"scroll",(function(){i.clientWidth&&e(i.scrollLeft,"horizontal")})),this.checkedZeroWidth=!1,a&&l<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};vi.prototype.update=function(t){var e=t.scrollWidth>t.clientWidth+1,n=t.scrollHeight>t.clientHeight+1,r=t.nativeBarWidth;if(n){this.vert.style.display="block",this.vert.style.bottom=e?r+"px":"0";var i=t.viewHeight-(e?r:0);this.vert.firstChild.style.height=Math.max(0,t.scrollHeight-t.clientHeight+i)+"px"}else this.vert.scrollTop=0,this.vert.style.display="",this.vert.firstChild.style.height="0";if(e){this.horiz.style.display="block",this.horiz.style.right=n?r+"px":"0",this.horiz.style.left=t.barLeft+"px";var o=t.viewWidth-t.barLeft-(n?r:0);this.horiz.firstChild.style.width=Math.max(0,t.scrollWidth-t.clientWidth+o)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&t.clientHeight>0&&(0==r&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?r:0,bottom:e?r:0}},vi.prototype.setScrollLeft=function(t){this.horiz.scrollLeft!=t&&(this.horiz.scrollLeft=t),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},vi.prototype.setScrollTop=function(t){this.vert.scrollTop!=t&&(this.vert.scrollTop=t),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},vi.prototype.zeroWidthHack=function(){var t=y&&!d?"12px":"18px";this.horiz.style.height=this.vert.style.width=t,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new F,this.disableVert=new F},vi.prototype.enableZeroWidthBar=function(t,e,n){function r(){var i=t.getBoundingClientRect(),o="vert"==n?document.elementFromPoint(i.right-1,(i.top+i.bottom)/2):document.elementFromPoint((i.right+i.left)/2,i.bottom-1);o!=t?t.style.pointerEvents="none":e.set(1e3,r)}t.style.pointerEvents="auto",e.set(1e3,r)},vi.prototype.clear=function(){var t=this.horiz.parentNode;t.removeChild(this.horiz),t.removeChild(this.vert)};var gi=function(){};function mi(t,e){e||(e=pi(t));var n=t.display.barWidth,r=t.display.barHeight;yi(t,e);for(var i=0;i<4&&n!=t.display.barWidth||r!=t.display.barHeight;i++)n!=t.display.barWidth&&t.options.lineWrapping&&Jr(t),yi(t,pi(t)),n=t.display.barWidth,r=t.display.barHeight}function yi(t,e){var n=t.display,r=n.scrollbars.update(e);n.sizer.style.paddingRight=(n.barWidth=r.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=r.bottom)+"px",n.heightForcer.style.borderBottom=r.bottom+"px solid transparent",r.right&&r.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=r.bottom+"px",n.scrollbarFiller.style.width=r.right+"px"):n.scrollbarFiller.style.display="",r.bottom&&t.options.coverGutterNextToScrollbar&&t.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=r.bottom+"px",n.gutterFiller.style.width=e.gutterWidth+"px"):n.gutterFiller.style.display=""}gi.prototype.update=function(){return{bottom:0,right:0}},gi.prototype.setScrollLeft=function(){},gi.prototype.setScrollTop=function(){},gi.prototype.clear=function(){};var wi={native:vi,null:gi};function bi(t){t.display.scrollbars&&(t.display.scrollbars.clear(),t.display.scrollbars.addClass&&L(t.display.wrapper,t.display.scrollbars.addClass)),t.display.scrollbars=new wi[t.options.scrollbarStyle]((function(e){t.display.wrapper.insertBefore(e,t.display.scrollbarFiller),pt(e,"mousedown",(function(){t.state.focused&&setTimeout((function(){return t.display.input.focus()}),0)})),e.setAttribute("cm-not-content","true")}),(function(e,n){"horizontal"==n?di(t,e):fi(t,e)}),t),t.display.scrollbars.addClass&&D(t.display.wrapper,t.display.scrollbars.addClass)}var xi=0;function Ci(t){t.curOp={cm:t,viewChanged:!1,startHeight:t.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++xi,markArrays:null},_n(t.curOp)}function ki(t){var e=t.curOp;e&&Ln(e,(function(t){for(var e=0;e=n.viewTo)||n.maxLineChanged&&e.options.lineWrapping,t.update=t.mustUpdate&&new Ri(e,t.mustUpdate&&{top:t.scrollTop,ensure:t.scrollToPos},t.forceUpdate)}function Li(t){t.updatedDisplay=t.mustUpdate&&Hi(t.cm,t.update)}function Ti(t){var e=t.cm,n=e.display;t.updatedDisplay&&Jr(e),t.barMeasure=pi(e),n.maxLineChanged&&!e.options.lineWrapping&&(t.adjustWidthTo=Qn(e,n.maxLine,n.maxLine.text.length).left+3,e.display.sizerWidth=t.adjustWidthTo,t.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+t.adjustWidthTo+Kn(e)+e.display.barWidth),t.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+t.adjustWidthTo-qn(e))),(t.updatedDisplay||t.selectionChanged)&&(t.preparedSelection=n.input.prepareSelection())}function Mi(t){var e=t.cm;null!=t.adjustWidthTo&&(e.display.sizer.style.minWidth=t.adjustWidthTo+"px",t.maxScrollLeft=t.display.viewTo)){var n=+new Date+t.options.workTime,r=ye(t,e.highlightFrontier),i=[];e.iter(r.line,Math.min(e.first+e.size,t.display.viewTo+500),(function(o){if(r.line>=t.display.viewFrom){var a=o.styles,l=o.text.length>t.options.maxHighlightLength?Gt(e.mode,r.state):null,u=ge(t,o,r,!0);l&&(r.state=l),o.styles=u.styles;var s=o.styleClasses,c=u.classes;c?o.styleClasses=c:s&&(o.styleClasses=null);for(var f=!a||a.length!=o.styles.length||s!=c&&(!s||!c||s.bgClass!=c.bgClass||s.textClass!=c.textClass),h=0;!f&&hn)return Wi(t,t.options.workDelay),!0})),e.highlightFrontier=r.line,e.modeFrontier=Math.max(e.modeFrontier,r.line),i.length&&Oi(t,(function(){for(var e=0;e=n.viewFrom&&e.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==jr(t))return!1;Ki(t)&&(Pr(t),e.dims=Or(t));var i=r.first+r.size,o=Math.max(e.visible.from-t.options.viewportMargin,r.first),a=Math.min(i,e.visible.to+t.options.viewportMargin);n.viewFroma&&n.viewTo-a<20&&(a=Math.min(i,n.viewTo)),Ae&&(o=tn(t.doc,o),a=en(t.doc,a));var l=o!=n.viewFrom||a!=n.viewTo||n.lastWrapHeight!=e.wrapperHeight||n.lastWrapWidth!=e.wrapperWidth;Hr(t,o,a),n.viewOffset=on(Yt(t.doc,n.viewFrom)),t.display.mover.style.top=n.viewOffset+"px";var u=jr(t);if(!l&&0==u&&!e.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var s=Pi(t);return u>4&&(n.lineDiv.style.display="none"),Ui(t,n.updateLineNumbers,e.dims),u>4&&(n.lineDiv.style.display=""),n.renderedView=n.view,Fi(s),T(n.cursorDiv),T(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,l&&(n.lastWrapHeight=e.wrapperHeight,n.lastWrapWidth=e.wrapperWidth,Wi(t,400)),n.updateLineNumbers=null,!0}function ji(t,e){for(var n=e.viewport,r=!0;;r=!1){if(r&&t.options.lineWrapping&&e.oldDisplayWidth!=qn(t))r&&(e.visible=ti(t.display,t.doc,n));else if(n&&null!=n.top&&(n={top:Math.min(t.doc.height+Vn(t.display)-Xn(t),n.top)}),e.visible=ti(t.display,t.doc,n),e.visible.from>=t.display.viewFrom&&e.visible.to<=t.display.viewTo)break;if(!Hi(t,e))break;Jr(t);var i=pi(t);Br(t),mi(t,i),Vi(t,i),e.force=!1}e.signal(t,"update",t),t.display.viewFrom==t.display.reportedViewFrom&&t.display.viewTo==t.display.reportedViewTo||(e.signal(t,"viewportChange",t,t.display.viewFrom,t.display.viewTo),t.display.reportedViewFrom=t.display.viewFrom,t.display.reportedViewTo=t.display.viewTo)}function Bi(t,e){var n=new Ri(t,e);if(Hi(t,n)){Jr(t),ji(t,n);var r=pi(t);Br(t),mi(t,r),Vi(t,r),n.finish()}}function Ui(t,e,n){var r=t.display,i=t.options.lineNumbers,o=r.lineDiv,a=o.firstChild;function l(e){var n=e.nextSibling;return u&&y&&t.display.currentWheelTarget==e?e.style.display="none":e.parentNode.removeChild(e),n}for(var s=r.view,c=r.viewFrom,f=0;f-1&&(d=!1),On(t,h,c,n)),d&&(T(h.lineNumber),h.lineNumber.appendChild(document.createTextNode(re(t.options,c)))),a=h.node.nextSibling}else{var p=Pn(t,h,c,n);o.insertBefore(p,a)}c+=h.size}while(a)a=l(a)}function $i(t){var e=t.gutters.offsetWidth;t.sizer.style.marginLeft=e+"px",Mn(t,"gutterChanged",t)}function Vi(t,e){t.display.sizer.style.minHeight=e.docHeight+"px",t.display.heightForcer.style.top=e.docHeight+"px",t.display.gutters.style.height=e.docHeight+t.display.barHeight+Kn(t)+"px"}function Gi(t){var e=t.display,n=e.view;if(e.alignWidgets||e.gutters.firstChild&&t.options.fixedGutter){for(var r=Nr(e)-e.scroller.scrollLeft+t.doc.scrollLeft,i=e.gutters.offsetWidth,o=r+"px",a=0;as.clientWidth,h=s.scrollHeight>s.clientHeight;if(i&&c||o&&h){if(o&&y&&u)t:for(var d=e.target,p=l.view;d!=s;d=d.parentNode)for(var v=0;v=0&&oe(t,r.to())<=0)return n}return-1};var io=function(t,e){this.anchor=t,this.head=e};function oo(t,e,n){var r=t&&t.options.selectionsMayTouch,i=e[n];e.sort((function(t,e){return oe(t.from(),e.from())})),n=H(e,i);for(var o=1;o0:u>=0){var s=se(l.from(),a.from()),c=ue(l.to(),a.to()),f=l.empty()?a.from()==a.head:l.from()==l.head;o<=n&&--n,e.splice(--o,2,new io(f?c:s,f?s:c))}}return new ro(e,n)}function ao(t,e){return new ro([new io(t,e||t)],0)}function lo(t){return t.text?ie(t.from.line+t.text.length-1,X(t.text).length+(1==t.text.length?t.from.ch:0)):t.to}function uo(t,e){if(oe(t,e.from)<0)return t;if(oe(t,e.to)<=0)return lo(e);var n=t.line+e.text.length-(e.to.line-e.from.line)-1,r=t.ch;return t.line==e.to.line&&(r+=lo(e).ch-e.to.ch),ie(n,r)}function so(t,e){for(var n=[],r=0;r1&&t.remove(l.line+1,p-1),t.insert(l.line+1,m)}Mn(t,"change",t,e)}function mo(t,e,n){function r(t,i,o){if(t.linked)for(var a=0;a1&&!t.done[t.done.length-2].ranges?(t.done.pop(),X(t.done)):void 0}function So(t,e,n,r){var i=t.history;i.undone.length=0;var o,a,l=+new Date;if((i.lastOp==r||i.lastOrigin==e.origin&&e.origin&&("+"==e.origin.charAt(0)&&i.lastModTime>l-(t.cm?t.cm.options.historyEventDelay:500)||"*"==e.origin.charAt(0)))&&(o=_o(i,i.lastOp==r)))a=X(o.changes),0==oe(e.from,e.to)&&0==oe(e.from,a.to)?a.to=lo(e):o.changes.push(Co(t,e));else{var u=X(i.done);u&&u.ranges||Mo(t.sel,i.done),o={changes:[Co(t,e)],generation:i.generation},i.done.push(o);while(i.done.length>i.undoDepth)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(n),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=l,i.lastOp=i.lastSelOp=r,i.lastOrigin=i.lastSelOrigin=e.origin,a||mt(t,"historyAdded")}function Lo(t,e,n,r){var i=e.charAt(0);return"*"==i||"+"==i&&n.ranges.length==r.ranges.length&&n.somethingSelected()==r.somethingSelected()&&new Date-t.history.lastSelTime<=(t.cm?t.cm.options.historyEventDelay:500)}function To(t,e,n,r){var i=t.history,o=r&&r.origin;n==i.lastSelOp||o&&i.lastSelOrigin==o&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==o||Lo(t,o,X(i.done),e))?i.done[i.done.length-1]=e:Mo(e,i.done),i.lastSelTime=+new Date,i.lastSelOrigin=o,i.lastSelOp=n,r&&!1!==r.clearRedo&&ko(i.undone)}function Mo(t,e){var n=X(e);n&&n.ranges&&n.equals(t)||e.push(t)}function Ao(t,e,n,r){var i=e["spans_"+t.id],o=0;t.iter(Math.max(t.first,n),Math.min(t.first+t.size,r),(function(n){n.markedSpans&&((i||(i=e["spans_"+t.id]={}))[o]=n.markedSpans),++o}))}function Oo(t){if(!t)return null;for(var e,n=0;n-1&&(X(l)[f]=s[f],delete s[f])}}}return r}function Wo(t,e,n,r){if(r){var i=t.anchor;if(n){var o=oe(e,i)<0;o!=oe(n,i)<0?(i=e,e=n):o!=oe(e,n)<0&&(e=n)}return new io(i,e)}return new io(n||e,e)}function Io(t,e,n,r,i){null==i&&(i=t.cm&&(t.cm.display.shift||t.extend)),jo(t,new ro([Wo(t.sel.primary(),e,n,i)],0),r)}function Ro(t,e,n){for(var r=[],i=t.cm&&(t.cm.display.shift||t.extend),o=0;o=e.ch:l.to>e.ch))){if(i&&(mt(u,"beforeCursorEnter"),u.explicitlyCleared)){if(o.markedSpans){--a;continue}break}if(!u.atomic)continue;if(n){var f=u.find(r<0?1:-1),h=void 0;if((r<0?c:s)&&(f=qo(t,f,-r,f&&f.line==e.line?o:null)),f&&f.line==e.line&&(h=oe(f,n))&&(r<0?h<0:h>0))return Go(t,f,e,r,i)}var d=u.find(r<0?-1:1);return(r<0?s:c)&&(d=qo(t,d,r,d.line==e.line?o:null)),d?Go(t,d,e,r,i):null}}return e}function Ko(t,e,n,r,i){var o=r||1,a=Go(t,e,n,o,i)||!i&&Go(t,e,n,o,!0)||Go(t,e,n,-o,i)||!i&&Go(t,e,n,-o,!0);return a||(t.cantEdit=!0,ie(t.first,0))}function qo(t,e,n,r){return n<0&&0==e.ch?e.line>t.first?fe(t,ie(e.line-1)):null:n>0&&e.ch==(r||Yt(t,e.line)).text.length?e.line=0;--i)Jo(t,{from:r[i].from,to:r[i].to,text:i?[""]:e.text,origin:e.origin});else Jo(t,e)}}function Jo(t,e){if(1!=e.text.length||""!=e.text[0]||0!=oe(e.from,e.to)){var n=so(t,e);So(t,e,n,t.cm?t.cm.curOp.id:NaN),ea(t,e,n,Pe(t,e));var r=[];mo(t,(function(t,n){n||-1!=H(r,t.history)||(aa(t.history,e),r.push(t.history)),ea(t,e,null,Pe(t,e))}))}}function Qo(t,e,n){var r=t.cm&&t.cm.state.suppressEdits;if(!r||n){for(var i,o=t.history,a=t.sel,l="undo"==e?o.done:o.undone,u="undo"==e?o.undone:o.done,s=0;s=0;--d){var p=h(d);if(p)return p.v}}}}function ta(t,e){if(0!=e&&(t.first+=e,t.sel=new ro(Y(t.sel.ranges,(function(t){return new io(ie(t.anchor.line+e,t.anchor.ch),ie(t.head.line+e,t.head.ch))})),t.sel.primIndex),t.cm)){Rr(t.cm,t.first,t.first-e,e);for(var n=t.cm.display,r=n.viewFrom;rt.lastLine())){if(e.from.lineo&&(e={from:e.from,to:ie(o,Yt(t,o).text.length),text:[e.text[0]],origin:e.origin}),e.removed=Zt(t,e.from,e.to),n||(n=so(t,e)),t.cm?na(t.cm,e,r):go(t,e,r),Bo(t,n,U),t.cantEdit&&Ko(t,ie(t.firstLine(),0))&&(t.cantEdit=!1)}}function na(t,e,n){var r=t.doc,i=t.display,o=e.from,a=e.to,l=!1,u=o.line;t.options.lineWrapping||(u=te(Ze(Yt(r,o.line))),r.iter(u,a.line+1,(function(t){if(t==i.maxLine)return l=!0,!0}))),r.sel.contains(e.from,e.to)>-1&&wt(t),go(r,e,n,Er(t)),t.options.lineWrapping||(r.iter(u,o.line+e.text.length,(function(t){var e=an(t);e>i.maxLineLength&&(i.maxLine=t,i.maxLineLength=e,i.maxLineChanged=!0,l=!1)})),l&&(t.curOp.updateMaxLine=!0)),Te(r,o.line),Wi(t,400);var s=e.text.length-(a.line-o.line)-1;e.full?Rr(t):o.line!=a.line||1!=e.text.length||vo(t.doc,e)?Rr(t,o.line,a.line+1,s):zr(t,o.line,"text");var c=bt(t,"changes"),f=bt(t,"change");if(f||c){var h={from:o,to:a,text:e.text,removed:e.removed,origin:e.origin};f&&Mn(t,"change",t,h),c&&(t.curOp.changeObjs||(t.curOp.changeObjs=[])).push(h)}t.display.selForContextMenu=null}function ra(t,e,n,r,i){var o;r||(r=n),oe(r,n)<0&&(o=[r,n],n=o[0],r=o[1]),"string"==typeof e&&(e=t.splitLines(e)),Zo(t,{from:n,to:r,text:e,origin:i})}function ia(t,e,n,r){n1||!(this.children[0]instanceof ua))){var l=[];this.collapse(l),this.children=[new ua(l)],this.children[0].parent=this}},collapse:function(t){for(var e=0;e50){for(var a=i.lines.length%25+25,l=a;l10);t.parent.maybeSpill()}},iterN:function(t,e,n){for(var r=0;r0||0==a&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=O("span",[o.replacedWith],"CodeMirror-widget"),r.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),r.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(Ye(t,e.line,e,n,o)||e.line!=n.line&&Ye(t,n.line,e,n,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");Ne()}o.addToHistory&&So(t,{from:e,to:n,origin:"markText"},t.sel,NaN);var l,u=e.line,s=t.cm;if(t.iter(u,n.line+1,(function(r){s&&o.collapsed&&!s.options.lineWrapping&&Ze(r)==s.display.maxLine&&(l=!0),o.collapsed&&u!=e.line&&Qt(r,0),Ie(r,new Ee(o,u==e.line?e.ch:null,u==n.line?n.ch:null),t.cm&&t.cm.curOp),++u})),o.collapsed&&t.iter(e.line,n.line+1,(function(e){nn(t,e)&&Qt(e,0)})),o.clearOnEnter&&pt(o,"beforeCursorEnter",(function(){return o.clear()})),o.readOnly&&(Oe(),(t.history.done.length||t.history.undone.length)&&t.clearHistory()),o.collapsed&&(o.id=++da,o.atomic=!0),s){if(l&&(s.curOp.updateMaxLine=!0),o.collapsed)Rr(s,e.line,n.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var c=e.line;c<=n.line;c++)zr(s,c,"text");o.atomic&&$o(s.doc),Mn(s,"markerAdded",s,o)}return o}pa.prototype.clear=function(){if(!this.explicitlyCleared){var t=this.doc.cm,e=t&&!t.curOp;if(e&&Ci(t),bt(this,"clear")){var n=this.find();n&&Mn(this,"clear",n.from,n.to)}for(var r=null,i=null,o=0;ot.display.maxLineLength&&(t.display.maxLine=s,t.display.maxLineLength=c,t.display.maxLineChanged=!0)}null!=r&&t&&this.collapsed&&Rr(t,r,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,t&&$o(t.doc)),t&&Mn(t,"markerCleared",t,this,r,i),e&&ki(t),this.parent&&this.parent.clear()}},pa.prototype.find=function(t,e){var n,r;null==t&&"bookmark"==this.type&&(t=1);for(var i=0;i=0;u--)Zo(this,r[u]);l?Ho(this,l):this.cm&&ai(this.cm)})),undo:Di((function(){Qo(this,"undo")})),redo:Di((function(){Qo(this,"redo")})),undoSelection:Di((function(){Qo(this,"undo",!0)})),redoSelection:Di((function(){Qo(this,"redo",!0)})),setExtending:function(t){this.extend=t},getExtending:function(){return this.extend},historySize:function(){for(var t=this.history,e=0,n=0,r=0;r=t.ch)&&e.push(i.marker.parent||i.marker)}return e},findMarks:function(t,e,n){t=fe(this,t),e=fe(this,e);var r=[],i=t.line;return this.iter(t.line,e.line+1,(function(o){var a=o.markedSpans;if(a)for(var l=0;l=u.to||null==u.from&&i!=t.line||null!=u.from&&i==e.line&&u.from>=e.ch||n&&!n(u.marker)||r.push(u.marker.parent||u.marker)}++i})),r},getAllMarks:function(){var t=[];return this.iter((function(e){var n=e.markedSpans;if(n)for(var r=0;rt)return e=t,!0;t-=o,++n})),fe(this,ie(n,e))},indexFromPos:function(t){t=fe(this,t);var e=t.ch;if(t.linee&&(e=t.from),null!=t.to&&t.to-1)return e.state.draggingText(t),void setTimeout((function(){return e.display.input.focus()}),20);try{var f=t.dataTransfer.getData("Text");if(f){var h;if(e.state.draggingText&&!e.state.draggingText.copy&&(h=e.listSelections()),Bo(e.doc,ao(n,n)),h)for(var d=0;d=0;e--)ra(t.doc,"",r[e].from,r[e].to,"+delete");ai(t)}))}function Ga(t,e,n){var r=at(t.text,e+n,n);return r<0||r>t.text.length?null:r}function Ka(t,e,n){var r=Ga(t,e.ch,n);return null==r?null:new ie(e.line,r,n<0?"after":"before")}function qa(t,e,n,r,i){if(t){"rtl"==e.doc.direction&&(i=-i);var o=ht(n,e.doc.direction);if(o){var a,l=i<0?X(o):o[0],u=i<0==(1==l.level),s=u?"after":"before";if(l.level>0||"rtl"==e.doc.direction){var c=er(e,n);a=i<0?n.text.length-1:0;var f=nr(e,c,a).top;a=lt((function(t){return nr(e,c,t).top==f}),i<0==(1==l.level)?l.from:l.to-1,a),"before"==s&&(a=Ga(n,a,1))}else a=i<0?l.to:l.from;return new ie(r,a,s)}}return new ie(r,i<0?n.text.length:0,i<0?"before":"after")}function Xa(t,e,n,r){var i=ht(e,t.doc.direction);if(!i)return Ka(e,n,r);n.ch>=e.text.length?(n.ch=e.text.length,n.sticky="before"):n.ch<=0&&(n.ch=0,n.sticky="after");var o=ct(i,n.ch,n.sticky),a=i[o];if("ltr"==t.doc.direction&&a.level%2==0&&(r>0?a.to>n.ch:a.from=a.from&&h>=c.begin)){var d=f?"before":"after";return new ie(n.line,h,d)}}var p=function(t,e,r){for(var o=function(t,e){return e?new ie(n.line,u(t,1),"before"):new ie(n.line,t,"after")};t>=0&&t0==(1!=a.level),s=l?r.begin:u(r.end,-1);if(a.from<=s&&s0?c.end:u(c.begin,-1);return null==g||r>0&&g==e.text.length||(v=p(r>0?0:i.length-1,r,s(g)),!v)?null:v}za.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},za.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},za.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},za.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},za["default"]=y?za.macDefault:za.pcDefault;var Ya={selectAll:Xo,singleSelection:function(t){return t.setSelection(t.getCursor("anchor"),t.getCursor("head"),U)},killLine:function(t){return Va(t,(function(e){if(e.empty()){var n=Yt(t.doc,e.head.line).text.length;return e.head.ch==n&&e.head.line0)i=new ie(i.line,i.ch+1),t.replaceRange(o.charAt(i.ch-1)+o.charAt(i.ch-2),ie(i.line,i.ch-2),i,"+transpose");else if(i.line>t.doc.first){var a=Yt(t.doc,i.line-1).text;a&&(i=new ie(i.line,1),t.replaceRange(o.charAt(0)+t.doc.lineSeparator()+a.charAt(a.length-1),ie(i.line-1,a.length-1),i,"+transpose"))}n.push(new io(i,i))}t.setSelections(n)}))},newlineAndIndent:function(t){return Oi(t,(function(){for(var e=t.listSelections(),n=e.length-1;n>=0;n--)t.replaceRange(t.doc.lineSeparator(),e[n].anchor,e[n].head,"+input");e=t.listSelections();for(var r=0;r-1&&(oe((i=l.ranges[i]).from(),e)<0||e.xRel>0)&&(oe(i.to(),e)>0||e.xRel<0)?xl(t,r,e,o):kl(t,r,e,o)}function xl(t,e,n,r){var i=t.display,o=!1,s=Ni(t,(function(e){u&&(i.scroller.draggable=!1),t.state.draggingText=!1,t.state.delayingBlurEvent&&(t.hasFocus()?t.state.delayingBlurEvent=!1:Xr(t)),gt(i.wrapper.ownerDocument,"mouseup",s),gt(i.wrapper.ownerDocument,"mousemove",c),gt(i.scroller,"dragstart",f),gt(i.scroller,"drop",s),o||(Ct(e),r.addNew||Io(t.doc,n,null,null,r.extend),u&&!h||a&&9==l?setTimeout((function(){i.wrapper.ownerDocument.body.focus({preventScroll:!0}),i.input.focus()}),20):i.input.focus())})),c=function(t){o=o||Math.abs(e.clientX-t.clientX)+Math.abs(e.clientY-t.clientY)>=10},f=function(){return o=!0};u&&(i.scroller.draggable=!0),t.state.draggingText=s,s.copy=!r.moveOnDrag,pt(i.wrapper.ownerDocument,"mouseup",s),pt(i.wrapper.ownerDocument,"mousemove",c),pt(i.scroller,"dragstart",f),pt(i.scroller,"drop",s),t.state.delayingBlurEvent=!0,setTimeout((function(){return i.input.focus()}),20),i.scroller.dragDrop&&i.scroller.dragDrop()}function Cl(t,e,n){if("char"==n)return new io(e,e);if("word"==n)return t.findWordAt(e);if("line"==n)return new io(ie(e.line,0),fe(t.doc,ie(e.line+1,0)));var r=n(t,e);return new io(r.from,r.to)}function kl(t,e,n,r){a&&Xr(t);var i=t.display,o=t.doc;Ct(e);var l,u,s=o.sel,c=s.ranges;if(r.addNew&&!r.extend?(u=o.sel.contains(n),l=u>-1?c[u]:new io(n,n)):(l=o.sel.primary(),u=o.sel.primIndex),"rectangle"==r.unit)r.addNew||(l=new io(n,n)),n=Wr(t,e,!0,!0),u=-1;else{var f=Cl(t,n,r.unit);l=r.extend?Wo(l,f.anchor,f.head,r.extend):f}r.addNew?-1==u?(u=c.length,jo(o,oo(t,c.concat([l]),u),{scroll:!1,origin:"*mouse"})):c.length>1&&c[u].empty()&&"char"==r.unit&&!r.extend?(jo(o,oo(t,c.slice(0,u).concat(c.slice(u+1)),0),{scroll:!1,origin:"*mouse"}),s=o.sel):zo(o,u,l,$):(u=0,jo(o,new ro([l],0),$),s=o.sel);var h=n;function d(e){if(0!=oe(h,e))if(h=e,"rectangle"==r.unit){for(var i=[],a=t.options.tabSize,c=P(Yt(o,n.line).text,n.ch,a),f=P(Yt(o,e.line).text,e.ch,a),d=Math.min(c,f),p=Math.max(c,f),v=Math.min(n.line,e.line),g=Math.min(t.lastLine(),Math.max(n.line,e.line));v<=g;v++){var m=Yt(o,v).text,y=G(m,d,a);d==p?i.push(new io(ie(v,y),ie(v,y))):m.length>y&&i.push(new io(ie(v,y),ie(v,G(m,p,a))))}i.length||i.push(new io(n,n)),jo(o,oo(t,s.ranges.slice(0,u).concat(i),u),{origin:"*mouse",scroll:!1}),t.scrollIntoView(e)}else{var w,b=l,x=Cl(t,e,r.unit),C=b.anchor;oe(x.anchor,C)>0?(w=x.head,C=se(b.from(),x.anchor)):(w=x.anchor,C=ue(b.to(),x.head));var k=s.ranges.slice(0);k[u]=_l(t,new io(fe(o,C),w)),jo(o,oo(t,k,u),$)}}var p=i.wrapper.getBoundingClientRect(),v=0;function g(e){var n=++v,a=Wr(t,e,!0,"rectangle"==r.unit);if(a)if(0!=oe(a,h)){t.curOp.focus=E(),d(a);var l=ti(i,o);(a.line>=l.to||a.linep.bottom?20:0;u&&setTimeout(Ni(t,(function(){v==n&&(i.scroller.scrollTop+=u,g(e))})),50)}}function m(e){t.state.selectingText=!1,v=1/0,e&&(Ct(e),i.input.focus()),gt(i.wrapper.ownerDocument,"mousemove",y),gt(i.wrapper.ownerDocument,"mouseup",w),o.history.lastSelOrigin=null}var y=Ni(t,(function(t){0!==t.buttons&&Tt(t)?g(t):m(t)})),w=Ni(t,m);t.state.selectingText=w,pt(i.wrapper.ownerDocument,"mousemove",y),pt(i.wrapper.ownerDocument,"mouseup",w)}function _l(t,e){var n=e.anchor,r=e.head,i=Yt(t.doc,n.line);if(0==oe(n,r)&&n.sticky==r.sticky)return e;var o=ht(i);if(!o)return e;var a=ct(o,n.ch,n.sticky),l=o[a];if(l.from!=n.ch&&l.to!=n.ch)return e;var u,s=a+(l.from==n.ch==(1!=l.level)?0:1);if(0==s||s==o.length)return e;if(r.line!=n.line)u=(r.line-n.line)*("ltr"==t.doc.direction?1:-1)>0;else{var c=ct(o,r.ch,r.sticky),f=c-a||(r.ch-n.ch)*(1==l.level?-1:1);u=c==s-1||c==s?f<0:f>0}var h=o[s+(u?-1:0)],d=u==(1==h.level),p=d?h.from:h.to,v=d?"after":"before";return n.ch==p&&n.sticky==v?e:new io(new ie(n.line,p,v),r)}function Sl(t,e,n,r){var i,o;if(e.touches)i=e.touches[0].clientX,o=e.touches[0].clientY;else try{i=e.clientX,o=e.clientY}catch(h){return!1}if(i>=Math.floor(t.display.gutters.getBoundingClientRect().right))return!1;r&&Ct(e);var a=t.display,l=a.lineDiv.getBoundingClientRect();if(o>l.bottom||!bt(t,n))return _t(e);o-=l.top-a.viewOffset;for(var u=0;u=i){var c=ee(t.doc,o),f=t.display.gutterSpecs[u];return mt(t,n,t,c,f.className,e),_t(e)}}}function Ll(t,e){return Sl(t,e,"gutterClick",!0)}function Tl(t,e){Un(t.display,e)||Ml(t,e)||yt(t,e,"contextmenu")||k||t.display.input.onContextMenu(e)}function Ml(t,e){return!!bt(t,"gutterContextMenu")&&Sl(t,e,"gutterContextMenu",!1)}function Al(t){t.display.wrapper.className=t.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+t.options.theme.replace(/(^|\s)\s*/g," cm-s-"),fr(t)}vl.prototype.compare=function(t,e,n){return this.time+pl>t&&0==oe(e,this.pos)&&n==this.button};var Ol={toString:function(){return"CodeMirror.Init"}},Nl={},El={};function Dl(t){var e=t.optionHandlers;function n(n,r,i,o){t.defaults[n]=r,i&&(e[n]=o?function(t,e,n){n!=Ol&&i(t,e,n)}:i)}t.defineOption=n,t.Init=Ol,n("value","",(function(t,e){return t.setValue(e)}),!0),n("mode",null,(function(t,e){t.doc.modeOption=e,ho(t)}),!0),n("indentUnit",2,ho,!0),n("indentWithTabs",!1),n("smartIndent",!0),n("tabSize",4,(function(t){po(t),fr(t),Rr(t)}),!0),n("lineSeparator",null,(function(t,e){if(t.doc.lineSep=e,e){var n=[],r=t.doc.first;t.doc.iter((function(t){for(var i=0;;){var o=t.text.indexOf(e,i);if(-1==o)break;i=o+e.length,n.push(ie(r,o))}r++}));for(var i=n.length-1;i>=0;i--)ra(t.doc,e,n[i],ie(n[i].line,n[i].ch+e.length))}})),n("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\ufeff\ufff9-\ufffc]/g,(function(t,e,n){t.state.specialChars=new RegExp(e.source+(e.test("\t")?"":"|\t"),"g"),n!=Ol&&t.refresh()})),n("specialCharPlaceholder",vn,(function(t){return t.refresh()}),!0),n("electricChars",!0),n("inputStyle",m?"contenteditable":"textarea",(function(){throw new Error("inputStyle can not (yet) be changed in a running editor")}),!0),n("spellcheck",!1,(function(t,e){return t.getInputField().spellcheck=e}),!0),n("autocorrect",!1,(function(t,e){return t.getInputField().autocorrect=e}),!0),n("autocapitalize",!1,(function(t,e){return t.getInputField().autocapitalize=e}),!0),n("rtlMoveVisually",!b),n("wholeLineUpdateBefore",!0),n("theme","default",(function(t){Al(t),Yi(t)}),!0),n("keyMap","default",(function(t,e,n){var r=$a(e),i=n!=Ol&&$a(n);i&&i.detach&&i.detach(t,r),r.attach&&r.attach(t,i||null)})),n("extraKeys",null),n("configureMouse",null),n("lineWrapping",!1,Il,!0),n("gutters",[],(function(t,e){t.display.gutterSpecs=qi(e,t.options.lineNumbers),Yi(t)}),!0),n("fixedGutter",!0,(function(t,e){t.display.gutters.style.left=e?Nr(t.display)+"px":"0",t.refresh()}),!0),n("coverGutterNextToScrollbar",!1,(function(t){return mi(t)}),!0),n("scrollbarStyle","native",(function(t){bi(t),mi(t),t.display.scrollbars.setScrollTop(t.doc.scrollTop),t.display.scrollbars.setScrollLeft(t.doc.scrollLeft)}),!0),n("lineNumbers",!1,(function(t,e){t.display.gutterSpecs=qi(t.options.gutters,e),Yi(t)}),!0),n("firstLineNumber",1,Yi,!0),n("lineNumberFormatter",(function(t){return t}),Yi,!0),n("showCursorWhenSelecting",!1,Br,!0),n("resetSelectionOnContextMenu",!0),n("lineWiseCopyCut",!0),n("pasteLinesPerSelection",!0),n("selectionsMayTouch",!1),n("readOnly",!1,(function(t,e){"nocursor"==e&&(Zr(t),t.display.input.blur()),t.display.input.readOnlyChanged(e)})),n("screenReaderLabel",null,(function(t,e){e=""===e?null:e,t.display.input.screenReaderLabelChanged(e)})),n("disableInput",!1,(function(t,e){e||t.display.input.reset()}),!0),n("dragDrop",!0,Wl),n("allowDropFileTypes",null),n("cursorBlinkRate",530),n("cursorScrollMargin",0),n("cursorHeight",1,Br,!0),n("singleCursorHeightPerLine",!0,Br,!0),n("workTime",100),n("workDelay",100),n("flattenSpans",!0,po,!0),n("addModeClass",!1,po,!0),n("pollInterval",100),n("undoDepth",200,(function(t,e){return t.doc.history.undoDepth=e})),n("historyEventDelay",1250),n("viewportMargin",10,(function(t){return t.refresh()}),!0),n("maxHighlightLength",1e4,po,!0),n("moveInputWithCursor",!0,(function(t,e){e||t.display.input.resetPosition()})),n("tabindex",null,(function(t,e){return t.display.input.getField().tabIndex=e||""})),n("autofocus",null),n("direction","ltr",(function(t,e){return t.doc.setDirection(e)}),!0),n("phrases",null)}function Wl(t,e,n){var r=n&&n!=Ol;if(!e!=!r){var i=t.display.dragFunctions,o=e?pt:gt;o(t.display.scroller,"dragstart",i.start),o(t.display.scroller,"dragenter",i.enter),o(t.display.scroller,"dragover",i.over),o(t.display.scroller,"dragleave",i.leave),o(t.display.scroller,"drop",i.drop)}}function Il(t){t.options.lineWrapping?(D(t.display.wrapper,"CodeMirror-wrap"),t.display.sizer.style.minWidth="",t.display.sizerWidth=null):(L(t.display.wrapper,"CodeMirror-wrap"),ln(t)),Dr(t),Rr(t),fr(t),setTimeout((function(){return mi(t)}),100)}function Rl(t,e){var n=this;if(!(this instanceof Rl))return new Rl(t,e);this.options=e=e?z(e):{},z(Nl,e,!1);var r=e.value;"string"==typeof r?r=new Ca(r,e.mode,null,e.lineSeparator,e.direction):e.mode&&(r.modeOption=e.mode),this.doc=r;var i=new Rl.inputStyles[e.inputStyle](this),o=this.display=new Zi(t,r,i,e);for(var s in o.wrapper.CodeMirror=this,Al(this),e.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),bi(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new F,keySeq:null,specialChars:null},e.autofocus&&!m&&o.input.focus(),a&&l<11&&setTimeout((function(){return n.display.input.reset(!0)}),20),zl(this),Oa(),Ci(this),this.curOp.forceUpdate=!0,yo(this,r),e.autofocus&&!m||this.hasFocus()?setTimeout((function(){n.hasFocus()&&!n.state.focused&&Yr(n)}),20):Zr(this),El)El.hasOwnProperty(s)&&El[s](this,e[s],Ol);Ki(this),e.finishInit&&e.finishInit(this);for(var c=0;c400}pt(e.scroller,"touchstart",(function(i){if(!yt(t,i)&&!o(i)&&!Ll(t,i)){e.input.ensurePolled(),clearTimeout(n);var a=+new Date;e.activeTouch={start:a,moved:!1,prev:a-r.end<=300?r:null},1==i.touches.length&&(e.activeTouch.left=i.touches[0].pageX,e.activeTouch.top=i.touches[0].pageY)}})),pt(e.scroller,"touchmove",(function(){e.activeTouch&&(e.activeTouch.moved=!0)})),pt(e.scroller,"touchend",(function(n){var r=e.activeTouch;if(r&&!Un(e,n)&&null!=r.left&&!r.moved&&new Date-r.start<300){var o,a=t.coordsChar(e.activeTouch,"page");o=!r.prev||u(r,r.prev)?new io(a,a):!r.prev.prev||u(r,r.prev.prev)?t.findWordAt(a):new io(ie(a.line,0),fe(t.doc,ie(a.line+1,0))),t.setSelection(o.anchor,o.head),t.focus(),Ct(n)}i()})),pt(e.scroller,"touchcancel",i),pt(e.scroller,"scroll",(function(){e.scroller.clientHeight&&(fi(t,e.scroller.scrollTop),di(t,e.scroller.scrollLeft,!0),mt(t,"scroll",t))})),pt(e.scroller,"mousewheel",(function(e){return no(t,e)})),pt(e.scroller,"DOMMouseScroll",(function(e){return no(t,e)})),pt(e.wrapper,"scroll",(function(){return e.wrapper.scrollTop=e.wrapper.scrollLeft=0})),e.dragFunctions={enter:function(e){yt(t,e)||St(e)},over:function(e){yt(t,e)||(La(t,e),St(e))},start:function(e){return Sa(t,e)},drop:Ni(t,_a),leave:function(e){yt(t,e)||Ta(t)}};var s=e.input.getField();pt(s,"keyup",(function(e){return cl.call(t,e)})),pt(s,"keydown",Ni(t,ul)),pt(s,"keypress",Ni(t,fl)),pt(s,"focus",(function(e){return Yr(t,e)})),pt(s,"blur",(function(e){return Zr(t,e)}))}Rl.defaults=Nl,Rl.optionHandlers=El;var Pl=[];function Fl(t,e,n,r){var i,o=t.doc;null==n&&(n="add"),"smart"==n&&(o.mode.indent?i=ye(t,e).state:n="prev");var a=t.options.tabSize,l=Yt(o,e),u=P(l.text,null,a);l.stateAfter&&(l.stateAfter=null);var s,c=l.text.match(/^\s*/)[0];if(r||/\S/.test(l.text)){if("smart"==n&&(s=o.mode.indent(i,l.text.slice(c.length),l.text),s==B||s>150)){if(!r)return;n="prev"}}else s=0,n="not";"prev"==n?s=e>o.first?P(Yt(o,e-1).text,null,a):0:"add"==n?s=u+t.options.indentUnit:"subtract"==n?s=u-t.options.indentUnit:"number"==typeof n&&(s=u+n),s=Math.max(0,s);var f="",h=0;if(t.options.indentWithTabs)for(var d=Math.floor(s/a);d;--d)h+=a,f+="\t";if(ha,u=Dt(e),s=null;if(l&&r.ranges.length>1)if(Hl&&Hl.text.join("\n")==e){if(r.ranges.length%Hl.text.length==0){s=[];for(var c=0;c=0;h--){var d=r.ranges[h],p=d.from(),v=d.to();d.empty()&&(n&&n>0?p=ie(p.line,p.ch-n):t.state.overwrite&&!l?v=ie(v.line,Math.min(Yt(o,v.line).text.length,v.ch+X(u).length)):l&&Hl&&Hl.lineWise&&Hl.text.join("\n")==u.join("\n")&&(p=v=ie(p.line,0)));var g={from:p,to:v,text:s?s[h%s.length]:u,origin:i||(l?"paste":t.state.cutIncoming>a?"cut":"+input")};Zo(t.doc,g),Mn(t,"inputRead",t,g)}e&&!l&&$l(t,e),ai(t),t.curOp.updateInput<2&&(t.curOp.updateInput=f),t.curOp.typing=!0,t.state.pasteIncoming=t.state.cutIncoming=-1}function Ul(t,e){var n=t.clipboardData&&t.clipboardData.getData("Text");if(n)return t.preventDefault(),e.isReadOnly()||e.options.disableInput||Oi(e,(function(){return Bl(e,n,0,null,"paste")})),!0}function $l(t,e){if(t.options.electricChars&&t.options.smartIndent)for(var n=t.doc.sel,r=n.ranges.length-1;r>=0;r--){var i=n.ranges[r];if(!(i.head.ch>100||r&&n.ranges[r-1].head.line==i.head.line)){var o=t.getModeAt(i.head),a=!1;if(o.electricChars){for(var l=0;l-1){a=Fl(t,i.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(Yt(t.doc,i.head.line).text.slice(0,i.head.ch))&&(a=Fl(t,i.head.line,"smart"));a&&Mn(t,"electricInput",t,i.head.line)}}}function Vl(t){for(var e=[],n=[],r=0;rn&&(Fl(this,i.head.line,t,!0),n=i.head.line,r==this.doc.sel.primIndex&&ai(this));else{var o=i.from(),a=i.to(),l=Math.max(n,o.line);n=Math.min(this.lastLine(),a.line-(a.ch?0:1))+1;for(var u=l;u0&&zo(this.doc,r,new io(o,s[r].to()),U)}}})),getTokenAt:function(t,e){return ke(this,t,e)},getLineTokens:function(t,e){return ke(this,ie(t),e,!0)},getTokenTypeAt:function(t){t=fe(this.doc,t);var e,n=me(this,Yt(this.doc,t.line)),r=0,i=(n.length-1)/2,o=t.ch;if(0==o)e=n[2];else for(;;){var a=r+i>>1;if((a?n[2*a-1]:0)>=o)i=a;else{if(!(n[2*a+1]o&&(t=o,i=!0),r=Yt(this.doc,t)}else r=t;return vr(this,r,{top:0,left:0},e||"page",n||i).top+(i?this.doc.height-on(r):0)},defaultTextHeight:function(){return Mr(this.display)},defaultCharWidth:function(){return Ar(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(t,e,n,r,i){var o=this.display;t=yr(this,fe(this.doc,t));var a=t.bottom,l=t.left;if(e.style.position="absolute",e.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(e),o.sizer.appendChild(e),"over"==r)a=t.top;else if("above"==r||"near"==r){var u=Math.max(o.wrapper.clientHeight,this.doc.height),s=Math.max(o.sizer.clientWidth,o.lineSpace.clientWidth);("above"==r||t.bottom+e.offsetHeight>u)&&t.top>e.offsetHeight?a=t.top-e.offsetHeight:t.bottom+e.offsetHeight<=u&&(a=t.bottom),l+e.offsetWidth>s&&(l=s-e.offsetWidth)}e.style.top=a+"px",e.style.left=e.style.right="","right"==i?(l=o.sizer.clientWidth-e.offsetWidth,e.style.right="0px"):("left"==i?l=0:"middle"==i&&(l=(o.sizer.clientWidth-e.offsetWidth)/2),e.style.left=l+"px"),n&&ri(this,{left:l,top:a,right:l+e.offsetWidth,bottom:a+e.offsetHeight})},triggerOnKeyDown:Ei(ul),triggerOnKeyPress:Ei(fl),triggerOnKeyUp:cl,triggerOnMouseDown:Ei(ml),execCommand:function(t){if(Ya.hasOwnProperty(t))return Ya[t].call(null,this)},triggerElectric:Ei((function(t){$l(this,t)})),findPosH:function(t,e,n,r){var i=1;e<0&&(i=-1,e=-e);for(var o=fe(this.doc,t),a=0;a0&&l(n.charAt(r-1)))--r;while(i.5||this.options.lineWrapping)&&Dr(this),mt(this,"refresh",this)})),swapDoc:Ei((function(t){var e=this.doc;return e.cm=null,this.state.selectingText&&this.state.selectingText(),yo(this,t),fr(this),this.display.input.reset(),li(this,t.scrollLeft,t.scrollTop),this.curOp.forceScroll=!0,Mn(this,"swapDoc",this,e),e})),phrase:function(t){var e=this.options.phrases;return e&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:t},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},xt(t),t.registerHelper=function(e,r,i){n.hasOwnProperty(e)||(n[e]=t[e]={_global:[]}),n[e][r]=i},t.registerGlobalHelper=function(e,r,i,o){t.registerHelper(e,r,o),n[e]._global.push({pred:i,val:o})}}function Xl(t,e,n,r,i){var o=e,a=n,l=Yt(t,e.line),u=i&&"rtl"==t.direction?-n:n;function s(){var n=e.line+u;return!(n=t.first+t.size)&&(e=new ie(n,e.ch,e.sticky),l=Yt(t,n))}function c(o){var a;if("codepoint"==r){var c=l.text.charCodeAt(e.ch+(n>0?0:-1));if(isNaN(c))a=null;else{var f=n>0?c>=55296&&c<56320:c>=56320&&c<57343;a=new ie(e.line,Math.max(0,Math.min(l.text.length,e.ch+n*(f?2:1))),-n)}}else a=i?Xa(t.cm,l,e,n):Ka(l,e,n);if(null==a){if(o||!s())return!1;e=qa(i,t.cm,l,e.line,u)}else e=a;return!0}if("char"==r||"codepoint"==r)c();else if("column"==r)c(!0);else if("word"==r||"group"==r)for(var f=null,h="group"==r,d=t.cm&&t.cm.getHelper(e,"wordChars"),p=!0;;p=!1){if(n<0&&!c(!p))break;var v=l.text.charAt(e.ch)||"\n",g=nt(v,d)?"w":h&&"\n"==v?"n":!h||/\s/.test(v)?null:"p";if(!h||p||g||(g="s"),f&&f!=g){n<0&&(n=1,c(),e.sticky="after");break}if(g&&(f=g),n>0&&!c(!p))break}var m=Ko(t,e,o,a,!0);return ae(o,m)&&(m.hitSide=!0),m}function Yl(t,e,n,r){var i,o,a=t.doc,l=e.left;if("page"==r){var u=Math.min(t.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),s=Math.max(u-.5*Mr(t.display),3);i=(n>0?e.bottom:e.top)+n*s}else"line"==r&&(i=n>0?e.bottom+3:e.top-3);for(;;){if(o=xr(t,l,i),!o.outside)break;if(n<0?i<=0:i>=a.height){o.hitSide=!0;break}i+=5*n}return o}var Zl=function(t){this.cm=t,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new F,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function Jl(t,e){var n=tr(t,e.line);if(!n||n.hidden)return null;var r=Yt(t.doc,e.line),i=Zn(n,r,e.line),o=ht(r,t.doc.direction),a="left";if(o){var l=ct(o,e.ch);a=l%2?"right":"left"}var u=or(i.map,e.ch,a);return u.offset="right"==u.collapse?u.end:u.start,u}function Ql(t){for(var e=t;e;e=e.parentNode)if(/CodeMirror-gutter-wrapper/.test(e.className))return!0;return!1}function tu(t,e){return e&&(t.bad=!0),t}function eu(t,e,n,r,i){var o="",a=!1,l=t.doc.lineSeparator(),u=!1;function s(t){return function(e){return e.id==t}}function c(){a&&(o+=l,u&&(o+=l),a=u=!1)}function f(t){t&&(c(),o+=t)}function h(e){if(1==e.nodeType){var n=e.getAttribute("cm-text");if(n)return void f(n);var o,d=e.getAttribute("cm-marker");if(d){var p=t.findMarks(ie(r,0),ie(i+1,0),s(+d));return void(p.length&&(o=p[0].find(0))&&f(Zt(t.doc,o.from,o.to).join(l)))}if("false"==e.getAttribute("contenteditable"))return;var v=/^(pre|div|p|li|table|br)$/i.test(e.nodeName);if(!/^br$/i.test(e.nodeName)&&0==e.textContent.length)return;v&&c();for(var g=0;g=e.display.viewTo||o.line=e.display.viewFrom&&Jl(e,i)||{node:u[0].measure.map[2],offset:0},c=o.liner.firstLine()&&(a=ie(a.line-1,Yt(r.doc,a.line-1).length)),l.ch==Yt(r.doc,l.line).text.length&&l.linei.viewTo-1)return!1;a.line==i.viewFrom||0==(t=Ir(r,a.line))?(e=te(i.view[0].line),n=i.view[0].node):(e=te(i.view[t].line),n=i.view[t-1].node.nextSibling);var u,s,c=Ir(r,l.line);if(c==i.view.length-1?(u=i.viewTo-1,s=i.lineDiv.lastChild):(u=te(i.view[c+1].line)-1,s=i.view[c+1].node.previousSibling),!n)return!1;var f=r.doc.splitLines(eu(r,n,s,e,u)),h=Zt(r.doc,ie(e,0),ie(u,Yt(r.doc,u).text.length));while(f.length>1&&h.length>1)if(X(f)==X(h))f.pop(),h.pop(),u--;else{if(f[0]!=h[0])break;f.shift(),h.shift(),e++}var d=0,p=0,v=f[0],g=h[0],m=Math.min(v.length,g.length);while(da.ch&&y.charCodeAt(y.length-p-1)==w.charCodeAt(w.length-p-1))d--,p++;f[f.length-1]=y.slice(0,y.length-p).replace(/^\u200b+/,""),f[0]=f[0].slice(d).replace(/\u200b+$/,"");var x=ie(e,d),C=ie(u,h.length?X(h).length-p:0);return f.length>1||f[0]||oe(x,C)?(ra(r.doc,f,x,C,"+input"),!0):void 0},Zl.prototype.ensurePolled=function(){this.forceCompositionEnd()},Zl.prototype.reset=function(){this.forceCompositionEnd()},Zl.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Zl.prototype.readFromDOMSoon=function(){var t=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout((function(){if(t.readDOMTimeout=null,t.composing){if(!t.composing.done)return;t.composing=null}t.updateFromDOM()}),80))},Zl.prototype.updateFromDOM=function(){var t=this;!this.cm.isReadOnly()&&this.pollContent()||Oi(this.cm,(function(){return Rr(t.cm)}))},Zl.prototype.setUneditable=function(t){t.contentEditable="false"},Zl.prototype.onKeyPress=function(t){0==t.charCode||this.composing||(t.preventDefault(),this.cm.isReadOnly()||Ni(this.cm,Bl)(this.cm,String.fromCharCode(null==t.charCode?t.keyCode:t.charCode),0))},Zl.prototype.readOnlyChanged=function(t){this.div.contentEditable=String("nocursor"!=t)},Zl.prototype.onContextMenu=function(){},Zl.prototype.resetPosition=function(){},Zl.prototype.needsContentAttribute=!0;var iu=function(t){this.cm=t,this.prevInput="",this.pollingFast=!1,this.polling=new F,this.hasSelection=!1,this.composing=null};function ou(t,e){if(e=e?z(e):{},e.value=t.value,!e.tabindex&&t.tabIndex&&(e.tabindex=t.tabIndex),!e.placeholder&&t.placeholder&&(e.placeholder=t.placeholder),null==e.autofocus){var n=E();e.autofocus=n==t||null!=t.getAttribute("autofocus")&&n==document.body}function r(){t.value=l.getValue()}var i;if(t.form&&(pt(t.form,"submit",r),!e.leaveSubmitMethodAlone)){var o=t.form;i=o.submit;try{var a=o.submit=function(){r(),o.submit=i,o.submit(),o.submit=a}}catch(u){}}e.finishInit=function(n){n.save=r,n.getTextArea=function(){return t},n.toTextArea=function(){n.toTextArea=isNaN,r(),t.parentNode.removeChild(n.getWrapperElement()),t.style.display="",t.form&&(gt(t.form,"submit",r),e.leaveSubmitMethodAlone||"function"!=typeof t.form.submit||(t.form.submit=i))}},t.style.display="none";var l=Rl((function(e){return t.parentNode.insertBefore(e,t.nextSibling)}),e);return l}function au(t){t.off=gt,t.on=pt,t.wheelEventPixels=eo,t.Doc=Ca,t.splitLines=Dt,t.countColumn=P,t.findColumn=G,t.isWordChar=et,t.Pass=B,t.signal=mt,t.Line=un,t.changeEnd=lo,t.scrollbarModel=wi,t.Pos=ie,t.cmpPos=oe,t.modes=Pt,t.mimeModes=Ft,t.resolveMode=Bt,t.getMode=Ut,t.modeExtensions=$t,t.extendMode=Vt,t.copyState=Gt,t.startState=qt,t.innerMode=Kt,t.commands=Ya,t.keyMap=za,t.keyName=Ua,t.isModifierKey=ja,t.lookupKey=Ha,t.normalizeKeyMap=Fa,t.StringStream=Xt,t.SharedTextMarker=ga,t.TextMarker=pa,t.LineWidget=ca,t.e_preventDefault=Ct,t.e_stopPropagation=kt,t.e_stop=St,t.addClass=D,t.contains=N,t.rmClass=L,t.keyNames=Da}iu.prototype.init=function(t){var e=this,n=this,r=this.cm;this.createField(t);var i=this.textarea;function o(t){if(!yt(r,t)){if(r.somethingSelected())jl({lineWise:!1,text:r.getSelections()});else{if(!r.options.lineWiseCopyCut)return;var e=Vl(r);jl({lineWise:!0,text:e.text}),"cut"==t.type?r.setSelections(e.ranges,null,U):(n.prevInput="",i.value=e.text.join("\n"),I(i))}"cut"==t.type&&(r.state.cutIncoming=+new Date)}}t.wrapper.insertBefore(this.wrapper,t.wrapper.firstChild),v&&(i.style.width="0px"),pt(i,"input",(function(){a&&l>=9&&e.hasSelection&&(e.hasSelection=null),n.poll()})),pt(i,"paste",(function(t){yt(r,t)||Ul(t,r)||(r.state.pasteIncoming=+new Date,n.fastPoll())})),pt(i,"cut",o),pt(i,"copy",o),pt(t.scroller,"paste",(function(e){if(!Un(t,e)&&!yt(r,e)){if(!i.dispatchEvent)return r.state.pasteIncoming=+new Date,void n.focus();var o=new Event("paste");o.clipboardData=e.clipboardData,i.dispatchEvent(o)}})),pt(t.lineSpace,"selectstart",(function(e){Un(t,e)||Ct(e)})),pt(i,"compositionstart",(function(){var t=r.getCursor("from");n.composing&&n.composing.range.clear(),n.composing={start:t,range:r.markText(t,r.getCursor("to"),{className:"CodeMirror-composing"})}})),pt(i,"compositionend",(function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)}))},iu.prototype.createField=function(t){this.wrapper=Kl(),this.textarea=this.wrapper.firstChild},iu.prototype.screenReaderLabelChanged=function(t){t?this.textarea.setAttribute("aria-label",t):this.textarea.removeAttribute("aria-label")},iu.prototype.prepareSelection=function(){var t=this.cm,e=t.display,n=t.doc,r=Ur(t);if(t.options.moveInputWithCursor){var i=yr(t,n.sel.primary().head,"div"),o=e.wrapper.getBoundingClientRect(),a=e.lineDiv.getBoundingClientRect();r.teTop=Math.max(0,Math.min(e.wrapper.clientHeight-10,i.top+a.top-o.top)),r.teLeft=Math.max(0,Math.min(e.wrapper.clientWidth-10,i.left+a.left-o.left))}return r},iu.prototype.showSelection=function(t){var e=this.cm,n=e.display;M(n.cursorDiv,t.cursors),M(n.selectionDiv,t.selection),null!=t.teTop&&(this.wrapper.style.top=t.teTop+"px",this.wrapper.style.left=t.teLeft+"px")},iu.prototype.reset=function(t){if(!this.contextMenuPending&&!this.composing){var e=this.cm;if(e.somethingSelected()){this.prevInput="";var n=e.getSelection();this.textarea.value=n,e.state.focused&&I(this.textarea),a&&l>=9&&(this.hasSelection=n)}else t||(this.prevInput=this.textarea.value="",a&&l>=9&&(this.hasSelection=null))}},iu.prototype.getField=function(){return this.textarea},iu.prototype.supportsTouch=function(){return!1},iu.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!m||E()!=this.textarea))try{this.textarea.focus()}catch(t){}},iu.prototype.blur=function(){this.textarea.blur()},iu.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},iu.prototype.receivedFocus=function(){this.slowPoll()},iu.prototype.slowPoll=function(){var t=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,(function(){t.poll(),t.cm.state.focused&&t.slowPoll()}))},iu.prototype.fastPoll=function(){var t=!1,e=this;function n(){var r=e.poll();r||t?(e.pollingFast=!1,e.slowPoll()):(t=!0,e.polling.set(60,n))}e.pollingFast=!0,e.polling.set(20,n)},iu.prototype.poll=function(){var t=this,e=this.cm,n=this.textarea,r=this.prevInput;if(this.contextMenuPending||!e.state.focused||Wt(n)&&!r&&!this.composing||e.isReadOnly()||e.options.disableInput||e.state.keySeq)return!1;var i=n.value;if(i==r&&!e.somethingSelected())return!1;if(a&&l>=9&&this.hasSelection===i||y&&/[\uf700-\uf7ff]/.test(i))return e.display.input.reset(),!1;if(e.doc.sel==e.display.selForContextMenu){var o=i.charCodeAt(0);if(8203!=o||r||(r="​"),8666==o)return this.reset(),this.cm.execCommand("undo")}var u=0,s=Math.min(r.length,i.length);while(u1e3||i.indexOf("\n")>-1?n.value=t.prevInput="":t.prevInput=i,t.composing&&(t.composing.range.clear(),t.composing.range=e.markText(t.composing.start,e.getCursor("to"),{className:"CodeMirror-composing"}))})),!0},iu.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},iu.prototype.onKeyPress=function(){a&&l>=9&&(this.hasSelection=null),this.fastPoll()},iu.prototype.onContextMenu=function(t){var e=this,n=e.cm,r=n.display,i=e.textarea;e.contextMenuPending&&e.contextMenuPending();var o=Wr(n,t),s=r.scroller.scrollTop;if(o&&!f){var c=n.options.resetSelectionOnContextMenu;c&&-1==n.doc.sel.contains(o)&&Ni(n,jo)(n.doc,ao(o),U);var h,d=i.style.cssText,p=e.wrapper.style.cssText,v=e.wrapper.offsetParent.getBoundingClientRect();if(e.wrapper.style.cssText="position: static",i.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(t.clientY-v.top-5)+"px; left: "+(t.clientX-v.left-5)+"px;\n z-index: 1000; background: "+(a?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",u&&(h=window.scrollY),r.input.focus(),u&&window.scrollTo(null,h),r.input.reset(),n.somethingSelected()||(i.value=e.prevInput=" "),e.contextMenuPending=y,r.selForContextMenu=n.doc.sel,clearTimeout(r.detectingSelectAll),a&&l>=9&&m(),k){St(t);var g=function(){gt(window,"mouseup",g),setTimeout(y,20)};pt(window,"mouseup",g)}else setTimeout(y,50)}function m(){if(null!=i.selectionStart){var t=n.somethingSelected(),o="​"+(t?i.value:"");i.value="⇚",i.value=o,e.prevInput=t?"":"​",i.selectionStart=1,i.selectionEnd=o.length,r.selForContextMenu=n.doc.sel}}function y(){if(e.contextMenuPending==y&&(e.contextMenuPending=!1,e.wrapper.style.cssText=p,i.style.cssText=d,a&&l<9&&r.scrollbars.setScrollTop(r.scroller.scrollTop=s),null!=i.selectionStart)){(!a||a&&l<9)&&m();var t=0,o=function(){r.selForContextMenu==n.doc.sel&&0==i.selectionStart&&i.selectionEnd>0&&"​"==e.prevInput?Ni(n,Xo)(n):t++<10?r.detectingSelectAll=setTimeout(o,500):(r.selForContextMenu=null,r.input.reset())};r.detectingSelectAll=setTimeout(o,200)}}},iu.prototype.readOnlyChanged=function(t){t||this.reset(),this.textarea.disabled="nocursor"==t,this.textarea.readOnly=!!t},iu.prototype.setUneditable=function(){},iu.prototype.needsContentAttribute=!1,Dl(Rl),ql(Rl);var lu="iter insert remove copy getEditor constructor".split(" ");for(var uu in Ca.prototype)Ca.prototype.hasOwnProperty(uu)&&H(lu,uu)<0&&(Rl.prototype[uu]=function(t){return function(){return t.apply(this.doc,arguments)}}(Ca.prototype[uu]));return xt(Ca),Rl.inputStyles={textarea:iu,contenteditable:Zl},Rl.defineMode=function(t){Rl.defaults.mode||"null"==t||(Rl.defaults.mode=t),Ht.apply(this,arguments)},Rl.defineMIME=jt,Rl.defineMode("null",(function(){return{token:function(t){return t.skipToEnd()}}})),Rl.defineMIME("text/plain","null"),Rl.defineExtension=function(t,e){Rl.prototype[t]=e},Rl.defineDocExtension=function(t,e){Ca.prototype[t]=e},Rl.fromTextArea=ou,au(Rl),Rl.version="5.65.0",Rl}))},"62e4":function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},7037:function(t,e,n){function r(e){return t.exports=r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports["default"]=t.exports,r(e)}n("a4d3"),n("e01a"),n("d3b7"),n("d28b"),n("3ca3"),n("ddb0"),t.exports=r,t.exports.__esModule=!0,t.exports["default"]=t.exports},"81d5":function(t,e,n){"use strict";var r=n("7b0b"),i=n("23cb"),o=n("50c4");t.exports=function(t){var e=r(this),n=o(e.length),a=arguments.length,l=i(a>1?arguments[1]:void 0,n),u=a>2?arguments[2]:void 0,s=void 0===u?n:i(u,n);while(s>l)e[l++]=t;return e}},"857a":function(t,e,n){var r=n("1d80"),i=/"/g;t.exports=function(t,e,n,o){var a=String(r(t)),l="<"+e;return""!==n&&(l+=" "+n+'="'+String(o).replace(i,""")+'"'),l+">"+a+""}},"8aa5":function(t,e,n){"use strict";var r=n("6547").charAt;t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},"8f94":function(t,e,n){!function(e,r){t.exports=r(n("56b3"))}(0,(function(t){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/",e(e.s=3)}([function(e,n){e.exports=t},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(0),i=function(t){return t&&t.__esModule?t:{default:t}}(r),o=window.CodeMirror||i.default;"function"!=typeof Object.assign&&Object.defineProperty(Object,"assign",{value:function(t,e){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var n=Object(t),r=1;r3}))}},cb29:function(t,e,n){var r=n("23e7"),i=n("81d5"),o=n("44d2");r({target:"Array",proto:!0},{fill:i}),o("fill")},d28b:function(t,e,n){var r=n("746f");r("iterator")},d784:function(t,e,n){"use strict";n("ac1f");var r=n("6eeb"),i=n("d039"),o=n("b622"),a=n("9263"),l=n("9112"),u=o("species"),s=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),c=function(){return"$0"==="a".replace(/./,"$0")}(),f=o("replace"),h=function(){return!!/./[f]&&""===/./[f]("a","$0")}(),d=!i((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));t.exports=function(t,e,n,f){var p=o(t),v=!i((function(){var e={};return e[p]=function(){return 7},7!=""[t](e)})),g=v&&!i((function(){var e=!1,n=/a/;return"split"===t&&(n={},n.constructor={},n.constructor[u]=function(){return n},n.flags="",n[p]=/./[p]),n.exec=function(){return e=!0,null},n[p](""),!e}));if(!v||!g||"replace"===t&&(!s||!c||h)||"split"===t&&!d){var m=/./[p],y=n(p,""[t],(function(t,e,n,r,i){return e.exec===a?v&&!i?{done:!0,value:m.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),{REPLACE_KEEPS_$0:c,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:h}),w=y[0],b=y[1];r(String.prototype,t,w),r(RegExp.prototype,p,2==e?function(t,e){return b.call(t,this,e)}:function(t){return b.call(t,this)})}f&&l(RegExp.prototype[p],"sham",!0)}},e01a:function(t,e,n){"use strict";var r=n("23e7"),i=n("83ab"),o=n("da84"),a=n("5135"),l=n("861d"),u=n("9bf2").f,s=n("e893"),c=o.Symbol;if(i&&"function"==typeof c&&(!("description"in c.prototype)||void 0!==c().description)){var f={},h=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),e=this instanceof h?new c(t):void 0===t?c():c(t);return""===t&&(f[e]=!0),e};s(h,c);var d=h.prototype=c.prototype;d.constructor=h;var p=d.toString,v="Symbol(test)"==String(c("test")),g=/^Symbol\((.*)\)[^)]+$/;u(d,"description",{configurable:!0,get:function(){var t=l(this)?this.valueOf():this,e=p.call(t);if(a(f,t))return"";var n=v?e.slice(7,-1):e.replace(g,"$1");return""===n?void 0:n}}),r({global:!0,forced:!0},{Symbol:h})}},f9d4:function(t,e,n){(function(t){t(n("56b3"))})((function(t){"use strict";t.defineMode("javascript",(function(e,n){var r,i,o=e.indentUnit,a=n.statementIndent,l=n.jsonld,u=n.json||l,s=!1!==n.trackScope,c=n.typescript,f=n.wordCharacters||/[\w$\xa1-\uffff]/,h=function(){function t(t){return{type:t,style:"keyword"}}var e=t("keyword a"),n=t("keyword b"),r=t("keyword c"),i=t("keyword d"),o=t("operator"),a={type:"atom",style:"atom"};return{if:t("if"),while:e,with:e,else:n,do:n,try:n,finally:n,return:i,break:i,continue:i,new:t("new"),delete:r,void:r,throw:r,debugger:t("debugger"),var:t("var"),const:t("var"),let:t("var"),function:t("function"),catch:t("catch"),for:t("for"),switch:t("switch"),case:t("case"),default:t("default"),in:o,typeof:o,instanceof:o,true:a,false:a,null:a,undefined:a,NaN:a,Infinity:a,this:t("this"),class:t("class"),super:t("atom"),yield:r,export:t("export"),import:t("import"),extends:r,await:r}}(),d=/[+\-*&%=<>!?|~^@]/,p=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function v(t){var e,n=!1,r=!1;while(null!=(e=t.next())){if(!n){if("/"==e&&!r)return;"["==e?r=!0:r&&"]"==e&&(r=!1)}n=!n&&"\\"==e}}function g(t,e,n){return r=t,i=n,e}function m(t,e){var n=t.next();if('"'==n||"'"==n)return e.tokenize=y(n),e.tokenize(t,e);if("."==n&&t.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return g("number","number");if("."==n&&t.match(".."))return g("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(n))return g(n);if("="==n&&t.eat(">"))return g("=>","operator");if("0"==n&&t.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return g("number","number");if(/\d/.test(n))return t.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),g("number","number");if("/"==n)return t.eat("*")?(e.tokenize=w,w(t,e)):t.eat("/")?(t.skipToEnd(),g("comment","comment")):ie(t,e,1)?(v(t),t.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),g("regexp","string-2")):(t.eat("="),g("operator","operator",t.current()));if("`"==n)return e.tokenize=b,b(t,e);if("#"==n&&"!"==t.peek())return t.skipToEnd(),g("meta","meta");if("#"==n&&t.eatWhile(f))return g("variable","property");if("<"==n&&t.match("!--")||"-"==n&&t.match("->")&&!/\S/.test(t.string.slice(0,t.start)))return t.skipToEnd(),g("comment","comment");if(d.test(n))return">"==n&&e.lexical&&">"==e.lexical.type||(t.eat("=")?"!"!=n&&"="!=n||t.eat("="):/[<>*+\-|&?]/.test(n)&&(t.eat(n),">"==n&&t.eat(n))),"?"==n&&t.eat(".")?g("."):g("operator","operator",t.current());if(f.test(n)){t.eatWhile(f);var r=t.current();if("."!=e.lastType){if(h.propertyIsEnumerable(r)){var i=h[r];return g(i.type,i.style,r)}if("async"==r&&t.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return g("async","keyword",r)}return g("variable","variable",r)}}function y(t){return function(e,n){var r,i=!1;if(l&&"@"==e.peek()&&e.match(p))return n.tokenize=m,g("jsonld-keyword","meta");while(null!=(r=e.next())){if(r==t&&!i)break;i=!i&&"\\"==r}return i||(n.tokenize=m),g("string","string")}}function w(t,e){var n,r=!1;while(n=t.next()){if("/"==n&&r){e.tokenize=m;break}r="*"==n}return g("comment","comment")}function b(t,e){var n,r=!1;while(null!=(n=t.next())){if(!r&&("`"==n||"$"==n&&t.eat("{"))){e.tokenize=m;break}r=!r&&"\\"==n}return g("quasi","string-2",t.current())}var x="([{}])";function C(t,e){e.fatArrowAt&&(e.fatArrowAt=null);var n=t.string.indexOf("=>",t.start);if(!(n<0)){if(c){var r=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(t.string.slice(t.start,n));r&&(n=r.index)}for(var i=0,o=!1,a=n-1;a>=0;--a){var l=t.string.charAt(a),u=x.indexOf(l);if(u>=0&&u<3){if(!i){++a;break}if(0==--i){"("==l&&(o=!0);break}}else if(u>=3&&u<6)++i;else if(f.test(l))o=!0;else if(/["'\/`]/.test(l))for(;;--a){if(0==a)return;var s=t.string.charAt(a-1);if(s==l&&"\\"!=t.string.charAt(a-2)){a--;break}}else if(o&&!i){++a;break}}o&&!i&&(e.fatArrowAt=a)}}var k={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function _(t,e,n,r,i,o){this.indented=t,this.column=e,this.type=n,this.prev=i,this.info=o,null!=r&&(this.align=r)}function S(t,e){if(!s)return!1;for(var n=t.localVars;n;n=n.next)if(n.name==e)return!0;for(var r=t.context;r;r=r.prev)for(n=r.vars;n;n=n.next)if(n.name==e)return!0}function L(t,e,n,r,i){var o=t.cc;T.state=t,T.stream=i,T.marked=null,T.cc=o,T.style=e,t.lexical.hasOwnProperty("align")||(t.lexical.align=!0);while(1){var a=o.length?o.pop():u?V:U;if(a(n,r)){while(o.length&&o[o.length-1].lex)o.pop()();return T.marked?T.marked:"variable"==n&&S(t,r)?"variable-2":e}}}var T={state:null,column:null,marked:null,cc:null};function M(){for(var t=arguments.length-1;t>=0;t--)T.cc.push(arguments[t])}function A(){return M.apply(null,arguments),!0}function O(t,e){for(var n=e;n;n=n.next)if(n.name==t)return!0;return!1}function N(t){var e=T.state;if(T.marked="def",s){if(e.context)if("var"==e.lexical.info&&e.context&&e.context.block){var r=E(t,e.context);if(null!=r)return void(e.context=r)}else if(!O(t,e.localVars))return void(e.localVars=new I(t,e.localVars));n.globalVars&&!O(t,e.globalVars)&&(e.globalVars=new I(t,e.globalVars))}}function E(t,e){if(e){if(e.block){var n=E(t,e.prev);return n?n==e.prev?e:new W(n,e.vars,!0):null}return O(t,e.vars)?e:new W(e.prev,new I(t,e.vars),!1)}return null}function D(t){return"public"==t||"private"==t||"protected"==t||"abstract"==t||"readonly"==t}function W(t,e,n){this.prev=t,this.vars=e,this.block=n}function I(t,e){this.name=t,this.next=e}var R=new I("this",new I("arguments",null));function z(){T.state.context=new W(T.state.context,T.state.localVars,!1),T.state.localVars=R}function P(){T.state.context=new W(T.state.context,T.state.localVars,!0),T.state.localVars=null}function F(){T.state.localVars=T.state.context.vars,T.state.context=T.state.context.prev}function H(t,e){var n=function(){var n=T.state,r=n.indented;if("stat"==n.lexical.type)r=n.lexical.indented;else for(var i=n.lexical;i&&")"==i.type&&i.align;i=i.prev)r=i.indented;n.lexical=new _(r,T.stream.column(),t,null,n.lexical,e)};return n.lex=!0,n}function j(){var t=T.state;t.lexical.prev&&(")"==t.lexical.type&&(t.indented=t.lexical.indented),t.lexical=t.lexical.prev)}function B(t){function e(n){return n==t?A():";"==t||"}"==n||")"==n||"]"==n?M():A(e)}return e}function U(t,e){return"var"==t?A(H("vardef",e),Mt,B(";"),j):"keyword a"==t?A(H("form"),K,U,j):"keyword b"==t?A(H("form"),U,j):"keyword d"==t?T.stream.match(/^\s*$/,!1)?A():A(H("stat"),X,B(";"),j):"debugger"==t?A(B(";")):"{"==t?A(H("}"),P,ht,j,F):";"==t?A():"if"==t?("else"==T.state.lexical.info&&T.state.cc[T.state.cc.length-1]==j&&T.state.cc.pop()(),A(H("form"),K,U,j,Wt)):"function"==t?A(Pt):"for"==t?A(H("form"),P,It,U,F,j):"class"==t||c&&"interface"==e?(T.marked="keyword",A(H("form","class"==t?t:e),Ut,j)):"variable"==t?c&&"declare"==e?(T.marked="keyword",A(U)):c&&("module"==e||"enum"==e||"type"==e)&&T.stream.match(/^\s*\w/,!1)?(T.marked="keyword","enum"==e?A(ee):"type"==e?A(Ht,B("operator"),mt,B(";")):A(H("form"),At,B("{"),H("}"),ht,j,j)):c&&"namespace"==e?(T.marked="keyword",A(H("form"),V,U,j)):c&&"abstract"==e?(T.marked="keyword",A(U)):A(H("stat"),ot):"switch"==t?A(H("form"),K,B("{"),H("}","switch"),P,ht,j,j,F):"case"==t?A(V,B(":")):"default"==t?A(B(":")):"catch"==t?A(H("form"),z,$,U,j,F):"export"==t?A(H("stat"),Kt,j):"import"==t?A(H("stat"),Xt,j):"async"==t?A(U):"@"==e?A(V,U):M(H("stat"),V,B(";"),j)}function $(t){if("("==t)return A(jt,B(")"))}function V(t,e){return q(t,e,!1)}function G(t,e){return q(t,e,!0)}function K(t){return"("!=t?M():A(H(")"),X,B(")"),j)}function q(t,e,n){if(T.state.fatArrowAt==T.stream.start){var r=n?et:tt;if("("==t)return A(z,H(")"),ct(jt,")"),j,B("=>"),r,F);if("variable"==t)return M(z,At,B("=>"),r,F)}var i=n?Z:Y;return k.hasOwnProperty(t)?A(i):"function"==t?A(Pt,i):"class"==t||c&&"interface"==e?(T.marked="keyword",A(H("form"),Bt,j)):"keyword c"==t||"async"==t?A(n?G:V):"("==t?A(H(")"),X,B(")"),j,i):"operator"==t||"spread"==t?A(n?G:V):"["==t?A(H("]"),te,j,i):"{"==t?ft(lt,"}",null,i):"quasi"==t?M(J,i):"new"==t?A(nt(n)):A()}function X(t){return t.match(/[;\}\)\],]/)?M():M(V)}function Y(t,e){return","==t?A(X):Z(t,e,!1)}function Z(t,e,n){var r=0==n?Y:Z,i=0==n?V:G;return"=>"==t?A(z,n?et:tt,F):"operator"==t?/\+\+|--/.test(e)||c&&"!"==e?A(r):c&&"<"==e&&T.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?A(H(">"),ct(mt,">"),j,r):"?"==e?A(V,B(":"),i):A(i):"quasi"==t?M(J,r):";"!=t?"("==t?ft(G,")","call",r):"."==t?A(at,r):"["==t?A(H("]"),X,B("]"),j,r):c&&"as"==e?(T.marked="keyword",A(mt,r)):"regexp"==t?(T.state.lastType=T.marked="operator",T.stream.backUp(T.stream.pos-T.stream.start-1),A(i)):void 0:void 0}function J(t,e){return"quasi"!=t?M():"${"!=e.slice(e.length-2)?A(J):A(X,Q)}function Q(t){if("}"==t)return T.marked="string-2",T.state.tokenize=b,A(J)}function tt(t){return C(T.stream,T.state),M("{"==t?U:V)}function et(t){return C(T.stream,T.state),M("{"==t?U:G)}function nt(t){return function(e){return"."==e?A(t?it:rt):"variable"==e&&c?A(St,t?Z:Y):M(t?G:V)}}function rt(t,e){if("target"==e)return T.marked="keyword",A(Y)}function it(t,e){if("target"==e)return T.marked="keyword",A(Z)}function ot(t){return":"==t?A(j,U):M(Y,B(";"),j)}function at(t){if("variable"==t)return T.marked="property",A()}function lt(t,e){return"async"==t?(T.marked="property",A(lt)):"variable"==t||"keyword"==T.style?(T.marked="property","get"==e||"set"==e?A(ut):(c&&T.state.fatArrowAt==T.stream.start&&(n=T.stream.match(/^\s*:\s*/,!1))&&(T.state.fatArrowAt=T.stream.pos+n[0].length),A(st))):"number"==t||"string"==t?(T.marked=l?"property":T.style+" property",A(st)):"jsonld-keyword"==t?A(st):c&&D(e)?(T.marked="keyword",A(lt)):"["==t?A(V,dt,B("]"),st):"spread"==t?A(G,st):"*"==e?(T.marked="keyword",A(lt)):":"==t?M(st):void 0;var n}function ut(t){return"variable"!=t?M(st):(T.marked="property",A(Pt))}function st(t){return":"==t?A(G):"("==t?M(Pt):void 0}function ct(t,e,n){function r(i,o){if(n?n.indexOf(i)>-1:","==i){var a=T.state.lexical;return"call"==a.info&&(a.pos=(a.pos||0)+1),A((function(n,r){return n==e||r==e?M():M(t)}),r)}return i==e||o==e?A():n&&n.indexOf(";")>-1?M(t):A(B(e))}return function(n,i){return n==e||i==e?A():M(t,r)}}function ft(t,e,n){for(var r=3;r"),mt):"quasi"==t?M(xt,_t):void 0}function yt(t){if("=>"==t)return A(mt)}function wt(t){return t.match(/[\}\)\]]/)?A():","==t||";"==t?A(wt):M(bt,wt)}function bt(t,e){return"variable"==t||"keyword"==T.style?(T.marked="property",A(bt)):"?"==e||"number"==t||"string"==t?A(bt):":"==t?A(mt):"["==t?A(B("variable"),pt,B("]"),bt):"("==t?M(Ft,bt):t.match(/[;\}\)\],]/)?void 0:A()}function xt(t,e){return"quasi"!=t?M():"${"!=e.slice(e.length-2)?A(xt):A(mt,Ct)}function Ct(t){if("}"==t)return T.marked="string-2",T.state.tokenize=b,A(xt)}function kt(t,e){return"variable"==t&&T.stream.match(/^\s*[?:]/,!1)||"?"==e?A(kt):":"==t?A(mt):"spread"==t?A(kt):M(mt)}function _t(t,e){return"<"==e?A(H(">"),ct(mt,">"),j,_t):"|"==e||"."==t||"&"==e?A(mt):"["==t?A(mt,B("]"),_t):"extends"==e||"implements"==e?(T.marked="keyword",A(mt)):"?"==e?A(mt,B(":"),mt):void 0}function St(t,e){if("<"==e)return A(H(">"),ct(mt,">"),j,_t)}function Lt(){return M(mt,Tt)}function Tt(t,e){if("="==e)return A(mt)}function Mt(t,e){return"enum"==e?(T.marked="keyword",A(ee)):M(At,dt,Et,Dt)}function At(t,e){return c&&D(e)?(T.marked="keyword",A(At)):"variable"==t?(N(e),A()):"spread"==t?A(At):"["==t?ft(Nt,"]"):"{"==t?ft(Ot,"}"):void 0}function Ot(t,e){return"variable"!=t||T.stream.match(/^\s*:/,!1)?("variable"==t&&(T.marked="property"),"spread"==t?A(At):"}"==t?M():"["==t?A(V,B("]"),B(":"),Ot):A(B(":"),At,Et)):(N(e),A(Et))}function Nt(){return M(At,Et)}function Et(t,e){if("="==e)return A(G)}function Dt(t){if(","==t)return A(Mt)}function Wt(t,e){if("keyword b"==t&&"else"==e)return A(H("form","else"),U,j)}function It(t,e){return"await"==e?A(It):"("==t?A(H(")"),Rt,j):void 0}function Rt(t){return"var"==t?A(Mt,zt):"variable"==t?A(zt):M(zt)}function zt(t,e){return")"==t?A():";"==t?A(zt):"in"==e||"of"==e?(T.marked="keyword",A(V,zt)):M(V,zt)}function Pt(t,e){return"*"==e?(T.marked="keyword",A(Pt)):"variable"==t?(N(e),A(Pt)):"("==t?A(z,H(")"),ct(jt,")"),j,vt,U,F):c&&"<"==e?A(H(">"),ct(Lt,">"),j,Pt):void 0}function Ft(t,e){return"*"==e?(T.marked="keyword",A(Ft)):"variable"==t?(N(e),A(Ft)):"("==t?A(z,H(")"),ct(jt,")"),j,vt,F):c&&"<"==e?A(H(">"),ct(Lt,">"),j,Ft):void 0}function Ht(t,e){return"keyword"==t||"variable"==t?(T.marked="type",A(Ht)):"<"==e?A(H(">"),ct(Lt,">"),j):void 0}function jt(t,e){return"@"==e&&A(V,jt),"spread"==t?A(jt):c&&D(e)?(T.marked="keyword",A(jt)):c&&"this"==t?A(dt,Et):M(At,dt,Et)}function Bt(t,e){return"variable"==t?Ut(t,e):$t(t,e)}function Ut(t,e){if("variable"==t)return N(e),A($t)}function $t(t,e){return"<"==e?A(H(">"),ct(Lt,">"),j,$t):"extends"==e||"implements"==e||c&&","==t?("implements"==e&&(T.marked="keyword"),A(c?mt:V,$t)):"{"==t?A(H("}"),Vt,j):void 0}function Vt(t,e){return"async"==t||"variable"==t&&("static"==e||"get"==e||"set"==e||c&&D(e))&&T.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(T.marked="keyword",A(Vt)):"variable"==t||"keyword"==T.style?(T.marked="property",A(Gt,Vt)):"number"==t||"string"==t?A(Gt,Vt):"["==t?A(V,dt,B("]"),Gt,Vt):"*"==e?(T.marked="keyword",A(Vt)):c&&"("==t?M(Ft,Vt):";"==t||","==t?A(Vt):"}"==t?A():"@"==e?A(V,Vt):void 0}function Gt(t,e){if("!"==e)return A(Gt);if("?"==e)return A(Gt);if(":"==t)return A(mt,Et);if("="==e)return A(G);var n=T.state.lexical.prev,r=n&&"interface"==n.info;return M(r?Ft:Pt)}function Kt(t,e){return"*"==e?(T.marked="keyword",A(Qt,B(";"))):"default"==e?(T.marked="keyword",A(V,B(";"))):"{"==t?A(ct(qt,"}"),Qt,B(";")):M(U)}function qt(t,e){return"as"==e?(T.marked="keyword",A(B("variable"))):"variable"==t?M(G,qt):void 0}function Xt(t){return"string"==t?A():"("==t?M(V):"."==t?M(Y):M(Yt,Zt,Qt)}function Yt(t,e){return"{"==t?ft(Yt,"}"):("variable"==t&&N(e),"*"==e&&(T.marked="keyword"),A(Jt))}function Zt(t){if(","==t)return A(Yt,Zt)}function Jt(t,e){if("as"==e)return T.marked="keyword",A(Yt)}function Qt(t,e){if("from"==e)return T.marked="keyword",A(V)}function te(t){return"]"==t?A():M(ct(G,"]"))}function ee(){return M(H("form"),At,B("{"),H("}"),ct(ne,"}"),j,j)}function ne(){return M(At,Et)}function re(t,e){return"operator"==t.lastType||","==t.lastType||d.test(e.charAt(0))||/[,.]/.test(e.charAt(0))}function ie(t,e,n){return e.tokenize==m&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(e.lastType)||"quasi"==e.lastType&&/\{\s*$/.test(t.string.slice(0,t.pos-(n||0)))}return F.lex=!0,j.lex=!0,{startState:function(t){var e={tokenize:m,lastType:"sof",cc:[],lexical:new _((t||0)-o,0,"block",!1),localVars:n.localVars,context:n.localVars&&new W(null,null,!1),indented:t||0};return n.globalVars&&"object"==typeof n.globalVars&&(e.globalVars=n.globalVars),e},token:function(t,e){if(t.sol()&&(e.lexical.hasOwnProperty("align")||(e.lexical.align=!1),e.indented=t.indentation(),C(t,e)),e.tokenize!=w&&t.eatSpace())return null;var n=e.tokenize(t,e);return"comment"==r?n:(e.lastType="operator"!=r||"++"!=i&&"--"!=i?r:"incdec",L(e,n,r,i,t))},indent:function(e,r){if(e.tokenize==w||e.tokenize==b)return t.Pass;if(e.tokenize!=m)return 0;var i,l=r&&r.charAt(0),u=e.lexical;if(!/^\s*else\b/.test(r))for(var s=e.cc.length-1;s>=0;--s){var c=e.cc[s];if(c==j)u=u.prev;else if(c!=Wt&&c!=F)break}while(("stat"==u.type||"form"==u.type)&&("}"==l||(i=e.cc[e.cc.length-1])&&(i==Y||i==Z)&&!/^[,\.=+\-*:?[\(]/.test(r)))u=u.prev;a&&")"==u.type&&"stat"==u.prev.type&&(u=u.prev);var f=u.type,h=l==f;return"vardef"==f?u.indented+("operator"==e.lastType||","==e.lastType?u.info.length+1:0):"form"==f&&"{"==l?u.indented:"form"==f?u.indented+o:"stat"==f?u.indented+(re(e,r)?a||o:0):"switch"!=u.info||h||0==n.doubleIndentSwitch?u.align?u.column+(h?0:1):u.indented+(h?0:o):u.indented+(/^(?:case|default)\b/.test(r)?o:2*o)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:u?null:"/*",blockCommentEnd:u?null:"*/",blockCommentContinue:u?null:" * ",lineComment:u?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:u?"json":"javascript",jsonldMode:l,jsonMode:u,expressionAllowed:ie,skipExpression:function(e){L(e,"atom","atom","true",new t.StringStream("",2,null))}}})),t.registerHelper("wordChars","javascript",/[\w$]/),t.defineMIME("text/javascript","javascript"),t.defineMIME("text/ecmascript","javascript"),t.defineMIME("application/javascript","javascript"),t.defineMIME("application/x-javascript","javascript"),t.defineMIME("application/ecmascript","javascript"),t.defineMIME("application/json",{name:"javascript",json:!0}),t.defineMIME("application/x-json",{name:"javascript",json:!0}),t.defineMIME("application/manifest+json",{name:"javascript",json:!0}),t.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),t.defineMIME("text/typescript",{name:"javascript",typescript:!0}),t.defineMIME("application/typescript",{name:"javascript",typescript:!0})}))},fb6a:function(t,e,n){"use strict";var r=n("23e7"),i=n("861d"),o=n("e8b5"),a=n("23cb"),l=n("50c4"),u=n("fc6a"),s=n("8418"),c=n("b622"),f=n("1dde"),h=n("ae40"),d=f("slice"),p=h("slice",{ACCESSORS:!0,0:0,1:2}),v=c("species"),g=[].slice,m=Math.max;r({target:"Array",proto:!0,forced:!d||!p},{slice:function(t,e){var n,r,c,f=u(this),h=l(f.length),d=a(t,h),p=a(void 0===e?h:e,h);if(o(f)&&(n=f.constructor,"function"!=typeof n||n!==Array&&!o(n.prototype)?i(n)&&(n=n[v],null===n&&(n=void 0)):n=void 0,n===Array||void 0===n))return g.call(f,d,p);for(r=new(void 0===n?Array:n)(m(p-d,0)),c=0;d0&&void 0!==arguments[0]?arguments[0]:{};i=0,r=[],a=[],l={},u={},c={};for(var e=t.nodeList,n=0;n0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.source=t,this.target=e}function p(){for(var t,e,n,o=6,s=0;s0&&n<250){var c=r[s].id;l[c]=l[c]+t/n*i*i/n*o,u[c]=u[c]+e/n*i*i/n*o}}}function f(){for(var t,e,n=3,o=0;ot&&(a=t),c<-e&&(c=-e),c>e&&(c=e),i.x=i.x+a>=o||i.x+a<=0?i.x-a:i.x+a,i.y=i.y+c>=s||i.y+c<=0?i.y-c:i.y+c}}},1958:function(t,e,n){},"1a5b":function(t,e,n){"use strict";n("6f7a")},"1ef9":function(t,e,n){"use strict";n("c560")},"30f2":function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var i={name:"流程E,力导图",nodeList:[{id:"nodeA",name:"流程D-节点A",type:"task",ico:"el-icon-user-solid",state:"success"},{id:"nodeB",type:"task",name:"流程D-节点B",ico:"el-icon-goods",state:"error"},{id:"nodeC",name:"流程D-节点C",type:"task",ico:"el-icon-present",state:"warning"},{id:"nodeD",name:"流程D-节点D",type:"task",ico:"el-icon-present",state:"running"}],lineList:[{from:"nodeA",to:"nodeB"},{from:"nodeA",to:"nodeC",label:"hello"},{from:"nodeB",to:"nodeD"},{from:"nodeC",to:"nodeD"},{from:"nodeC",to:"nodeC"}]};function o(){return i}},3301:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var i={data:function(){return{jsplumbSetting:{Anchors:["Top","TopCenter","TopRight","TopLeft","Right","RightMiddle","Bottom","BottomCenter","BottomRight","BottomLeft","Left","LeftMiddle"],Container:"efContainer",Connector:["Flowchart",{stub:30,gap:1,alwaysRespectStubs:!1,midpoint:.5,cornerRadius:10}],ConnectionsDetachable:!1,DeleteEndpointsOnDetach:!1,Endpoint:["Blank",{Overlays:""}],EndpointStyle:{fill:"#1879ffa1",outlineWidth:1},LogEnabled:!0,PaintStyle:{stroke:"#E0E3E7",strokeWidth:1,outlineStroke:"transparent",outlineWidth:10},DragOptions:{cursor:"pointer",zIndex:2e3},Overlays:[["Arrow",{width:10,length:8,location:1,direction:1,foldback:.623}],["Label",{label:"",location:.1,cssClass:"aLabel"}]],RenderMode:"svg",HoverPaintStyle:{stroke:"#b0b2b5",strokeWidth:1},Scope:"jsPlumb_DefaultScope"},jsplumbConnectOptions:{isSource:!0,isTarget:!0,anchor:"Continuous",labelStyle:{cssClass:"flowLabel"},emptyLabelStyle:{cssClass:"emptyFlowLabel"}},jsplumbSourceOptions:{filter:".flow-node-drag",filterExclude:!1,anchor:"Continuous",allowLoopback:!0,maxConnections:-1,onMaxConnections:function(t,e){console.log("超过了最大值连线: ".concat(t.maxConnections))}},jsplumbSourceOptions2:{filter:".flow-node-drag",filterExclude:!1,allowLoopback:!0,connector:["Flowchart",{curviness:50}],connectorStyle:{stroke:"red",strokeWidth:1,outlineStroke:"transparent",outlineWidth:10},connectorHoverStyle:{stroke:"red",strokeWidth:2}},jsplumbTargetOptions:{filter:".flow-node-drag",filterExclude:!1,anchor:"Continuous",allowLoopback:!0,dropOptions:{hoverClass:"ef-drop-hover"}}}}}},"4af4":function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-dialog",{attrs:{title:"帮助",visible:t.dialogVisible,width:"70%",customClass:"flowHelp"},on:{"update:visible":function(e){t.dialogVisible=e}}},[n("el-tabs",{attrs:{"tab-position":"left"}},[n("el-tab-pane",{attrs:{label:"如何新增"}},[n("el-divider",{attrs:{"content-position":"left"}},[t._v("如何新增")]),n("div",[t._v("按住鼠标拖拽左侧组件到中间画布中松开鼠标即可")])],1),n("el-tab-pane",{attrs:{label:"如何删除"}},[n("el-divider",{attrs:{"content-position":"left"}},[t._v("页面删除")]),n("div",[t._v(" 鼠标点中需要删除的节点,点击左上角的删除图标 ")]),n("el-divider",{attrs:{"content-position":"left"}},[t._v("通过代码删除")]),n("pre",[t._v("this.deleteNode(nodeId)")])],1),n("el-tab-pane",{attrs:{label:"如何移动"}},[n("el-divider",{attrs:{"content-position":"left"}},[t._v("如何移动")]),n("div",[t._v("鼠标移动到节点中,当鼠标变为可拖拽的图标时按下鼠标移动到新的位置松开鼠标")])],1),n("el-tab-pane",{attrs:{label:"如何连线"}},[n("el-divider",{attrs:{"content-position":"left"}},[t._v("如何连线")]),n("div",[t._v("鼠标移动到节点中左侧的图标上,当鼠标变为+时按下鼠标移动到另一个节点中松开鼠标")])],1),n("el-tab-pane",{attrs:{label:"如何添加条件"}},[n("el-divider",{attrs:{"content-position":"left"}},[t._v("如何添加条件")]),n("div",[t._v("点击画布中的连线,在页面右侧会出现一个表单,输入新的条件,点击【保存】")])],1),n("el-tab-pane",{attrs:{label:"如何进行后端交互存储"}},[n("el-divider",{attrs:{"content-position":"left"}},[t._v("如何进行后端交互存储")]),n("div",[t._v("参考: https://gitee.com/xiaoka2017/easy-flow-sdk")])],1)],1)],1)},o=[],s={data:function(){return{dialogVisible:!1}},components:{},methods:{init:function(){this.dialogVisible=!0}}},r=s,a=(n("1ef9"),n("2877")),l=Object(a["a"])(r,i,o,!1,null,null,null);e["a"]=l.exports},"540a":function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{ref:"node",class:t.nodeContainerClass,style:t.nodeContainerStyle,on:{click:t.clickNode,mouseup:t.changeNodeSite}},[n("div",{staticClass:"ef-node-left"}),n("div",{staticClass:"ef-node-left-ico flow-node-drag"},[n("i",{class:t.nodeIcoClass})]),n("div",{staticClass:"ef-node-text",attrs:{"show-overflow-tooltip":!0}},[t._v(" "+t._s(t.node.name)+" ")]),n("div",{staticClass:"ef-node-right-ico"},[n("i",{directives:[{name:"show",rawName:"v-show",value:"success"===t.node.state,expression:"node.state === 'success'"}],staticClass:"el-icon-circle-check el-node-state-success"}),n("i",{directives:[{name:"show",rawName:"v-show",value:"error"===t.node.state,expression:"node.state === 'error'"}],staticClass:"el-icon-circle-close el-node-state-error"}),n("i",{directives:[{name:"show",rawName:"v-show",value:"warning"===t.node.state,expression:"node.state === 'warning'"}],staticClass:"el-icon-warning-outline el-node-state-warning"}),n("i",{directives:[{name:"show",rawName:"v-show",value:"running"===t.node.state,expression:"node.state === 'running'"}],staticClass:"el-icon-loading el-node-state-running"})])])},o=[],s={props:{node:Object,activeElement:Object},data:function(){return{}},computed:{nodeContainerClass:function(){return{"ef-node-container":!0,"ef-node-active":"node"==this.activeElement.type&&this.activeElement.nodeId===this.node.id}},nodeContainerStyle:function(){return{top:this.node.top,left:this.node.left}},nodeIcoClass:function(){var t={};return t[this.node.ico]=!0,t["flow-node-drag"]=!this.node.viewOnly,t}},methods:{clickNode:function(){this.$emit("clickNode",this.node.id)},changeNodeSite:function(){this.node.left==this.$refs.node.style.left&&this.node.top==this.$refs.node.style.top||this.$emit("changeNodeSite",{nodeId:this.node.id,left:this.$refs.node.style.left,top:this.$refs.node.style.top})}}},r=s,a=n("2877"),l=Object(a["a"])(r,i,o,!1,null,null,null);e["a"]=l.exports},6951:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var i={name:"流程B",nodeList:[{id:"nodeA",name:"节点A-不可拖拽",type:"task",left:"18px",top:"223px",ico:"el-icon-user-solid",state:"success",viewOnly:!0},{id:"nodeB",type:"task",name:"流程B-节点B",left:"351px",top:"96px",ico:"el-icon-goods",state:"error"},{id:"nodeC",name:"流程B-节点C",type:"task",left:"354px",top:"351px",ico:"el-icon-present",state:"warning"},{id:"nodeD",name:"流程B-节点D",type:"task",left:"723px",top:"215px",ico:"el-icon-present",state:"running"}],lineList:[{from:"nodeA",to:"nodeB",label:"条件A"},{from:"nodeA",to:"nodeC",label:"条件B"},{from:"nodeB",to:"nodeD"},{from:"nodeC",to:"nodeD"}]};function o(){return i}},"6f7a":function(t,e,n){},"7aa8":function(t,e,n){var i=n("7037").default;n("fb6a"),n("d3b7"),n("a434"),n("ac1f"),n("1276"),n("4d63"),n("2c3e"),n("25f0"),n("5319"),n("4de4"),n("4e82"),n("b0c0"),n("466d"),n("00b4"),n("d81d"),n("a15b"),n("18a5"),n("cb29"),n("159b"),function(){"undefined"==typeof Math.sgn&&(Math.sgn=function(t){return 0==t?0:t>0?1:-1});var t={subtract:function(t,e){return{x:t.x-e.x,y:t.y-e.y}},dotProduct:function(t,e){return t.x*e.x+t.y*e.y},square:function(t){return Math.sqrt(t.x*t.x+t.y*t.y)},scale:function(t,e){return{x:t.x*e,y:t.y*e}}},n=64,i=Math.pow(2,-n-1),o=function(e,n){for(var i=[],o=r(e,n),s=n.length-1,l=2*s-1,u=a(o,l,i,0),c=t.subtract(e,n[0]),d=t.square(c),p=0,f=0;f=n)return o[0]=(e[0].x+e[i].x)/2,1;if(u(e,i))return o[0]=c(e,i),1;break}h(e,i,.5,d,p),r=t(d,i,f,s+1),a=t(p,i,g,s+1);for(var m=0;my?y=_:_0?1:-1,a=null;while(o1&&(i.location=1),i.location<0&&(i.location=0),x(t,i.location)},C=function(t,e,n,i){i=null==i?0:i;var o=v(t,e,i),s=x(t,o.location),r=Math.atan(-1/s),a=n/2*Math.sin(r),l=n/2*Math.cos(r);return[{x:o.point.x+l,y:o.point.y+a},{x:o.point.x-l,y:o.point.y-a}]},j=function(t,e,n,i,o){var s=i-e,r=t-n,a=t*(e-i)+e*(n-t),l=w(o),u=[s*l[0][0]+r*l[1][0],s*l[0][1]+r*l[1][1],s*l[0][2]+r*l[1][2],s*l[0][3]+r*l[1][3]+a],c=A.apply(null,u),h=[];if(null!=c)for(var d=0;d<3;d++){var p,f=c[d],g=Math.pow(f,2),m=Math.pow(f,3),v=[l[0][0]*m+l[0][1]*g+l[0][2]*f+l[0][3],l[1][0]*m+l[1][1]*g+l[1][2]*f+l[1][3]];p=n-t!==0?(v[0]-t)/(n-t):(v[1]-e)/(i-e),f>=0&&f<=1&&p>=0&&p<=1&&h.push(v)}return h},E=function(t,e,n,i,o){var s=[];return s.push.apply(s,j(t,e,t+n,e,o)),s.push.apply(s,j(t+n,e,t+n,e+i,o)),s.push.apply(s,j(t+n,e+i,t,e+i,o)),s.push.apply(s,j(t,e+i,t,e,o)),s},S=function(t,e){var n=[];return n.push.apply(n,j(t.x,t.y,t.x+t.w,t.y,e)),n.push.apply(n,j(t.x+t.w,t.y,t.x+t.w,t.y+t.h,e)),n.push.apply(n,j(t.x+t.w,t.y+t.h,t.x,t.y+t.h,e)),n.push.apply(n,j(t.x,t.y+t.h,t.x,t.y,e)),n};function D(t,e){return[-t[0][e]+3*t[1][e]+-3*t[2][e]+t[3][e],3*t[0][e]-6*t[1][e]+3*t[2][e],-3*t[0][e]+3*t[1][e],t[0][e]]}function w(t){return[D(t,"x"),D(t,"y")]}function I(t){return t<0?-1:t>0?1:0}function A(t,e,n,i){var o,s,r=e/t,a=n/t,l=i/t,u=(3*a-Math.pow(r,2))/9,c=(9*r*a-27*l-2*Math.pow(r,3))/54,h=Math.pow(u,3)+Math.pow(c,2),d=[];if(h>=0)o=I(c+Math.sqrt(h))*Math.pow(Math.abs(c+Math.sqrt(h)),1/3),s=I(c-Math.sqrt(h))*Math.pow(Math.abs(c-Math.sqrt(h)),1/3),d[0]=-r/3+(o+s),d[1]=-r/3-(o+s)/2,d[2]=-r/3-(o+s)/2,0!==Math.abs(Math.sqrt(3)*(o-s)/2)&&(d[1]=-1,d[2]=-1);else{var p=Math.acos(c/Math.sqrt(-Math.pow(u,3)));d[0]=2*Math.sqrt(-u)*Math.cos(p/3)-r/3,d[1]=2*Math.sqrt(-u)*Math.cos((p+2*Math.PI)/3)-r/3,d[2]=2*Math.sqrt(-u)*Math.cos((p+4*Math.PI)/3)-r/3}for(var f=0;f<3;f++)(d[f]<0||d[f]>1)&&(d[f]=-1);return d}var k=this.jsBezier={distanceFromCurve:o,gradientAtPoint:x,gradientAtPointAlongCurveFrom:_,nearestPointOnCurve:s,pointOnCurve:f,pointAlongCurveFrom:y,perpendicularToCurveAt:C,locationAlongCurveFrom:P,getLength:b,lineIntersection:j,boxIntersection:E,boundingBoxIntersection:S,version:"0.9.0"};e.jsBezier=k}.call("undefined"!==typeof window?window:this),function(){"use strict";var t=this,n=t.Biltong={version:"0.4.0"};e.Biltong=n;var i=function(t){return"[object Array]"===Object.prototype.toString.call(t)},o=function(t,e,n){return t=i(t)?t:[t.x,t.y],e=i(e)?e:[e.x,e.y],n(t,e)},s=n.gradient=function(t,e){return o(t,e,(function(t,e){return e[0]==t[0]?e[1]>t[1]?1/0:-1/0:e[1]==t[1]?e[0]>t[0]?0:-0:(e[1]-t[1])/(e[0]-t[0])}))},r=(n.normal=function(t,e){return-1/s(t,e)},n.lineLength=function(t,e){return o(t,e,(function(t,e){return Math.sqrt(Math.pow(e[1]-t[1],2)+Math.pow(e[0]-t[0],2))}))},n.quadrant=function(t,e){return o(t,e,(function(t,e){return e[0]>t[0]||e[0]==t[0]?e[1]>t[1]?2:1:e[1]>t[1]?3:4}))}),a=(n.theta=function(t,e){return o(t,e,(function(t,e){var n=s(t,e),i=Math.atan(n),o=r(t,e);return 4!=o&&3!=o||(i+=Math.PI),i<0&&(i+=2*Math.PI),i}))},n.intersects=function(t,e){var n=t.x,i=t.x+t.w,o=t.y,s=t.y+t.h,r=e.x,a=e.x+e.w,l=e.y,u=e.y+e.h;return n<=r&&r<=i&&o<=l&&l<=s||n<=a&&a<=i&&o<=l&&l<=s||n<=r&&r<=i&&o<=u&&u<=s||n<=a&&r<=i&&o<=u&&u<=s||r<=n&&n<=a&&l<=o&&o<=u||r<=i&&i<=a&&l<=o&&o<=u||r<=n&&n<=a&&l<=s&&s<=u||r<=i&&n<=a&&l<=s&&s<=u},n.encloses=function(t,e,n){var i=t.x,o=t.x+t.w,s=t.y,r=t.y+t.h,a=e.x,l=e.x+e.w,u=e.y,c=e.y+e.h,h=function(t,e,i,o){return n?t<=e&&i>=o:to};return h(i,a,o,l)&&h(s,u,r,c)},[null,[1,-1],[1,1],[-1,1],[-1,-1]]),l=[null,[-1,-1],[-1,1],[1,1],[1,-1]];n.pointOnLine=function(t,e,n){var i=s(t,e),o=r(t,e),u=n>0?a[o]:l[o],c=Math.atan(i),h=Math.abs(n*Math.sin(c))*u[1],d=Math.abs(n*Math.cos(c))*u[0];return{x:t.x+d,y:t.y+h}},n.perpendicularLineTo=function(t,e,n){var i=s(t,e),o=Math.atan(-1/i),r=n/2*Math.sin(o),a=n/2*Math.cos(o);return[{x:e.x+a,y:e.y+r},{x:e.x-a,y:e.y-r}]}}.call("undefined"!==typeof window?window:this),function(){"use strict";function t(t,e,n,i,o,s,r,a){return new Touch({target:e,identifier:F(),pageX:n,pageY:i,screenX:o,screenY:s,clientX:r||o,clientY:a||s})}function n(){var t=[];return Array.prototype.push.apply(t,arguments),t.item=function(t){return this[t]},t}function i(e,i,o,s,r,a,l,u){return n(t.apply(null,arguments))}var o=this,s=function(t,e,n){n=n||t.parentNode;for(var i=n.querySelectorAll(e),o=0;o-1&&j<9,S=function(t,e){if(null==t)return[0,0];var n=k(t),i=A(n,0);return[i[e+"X"],i[e+"Y"]]},D=function(t){return null==t?[0,0]:E?[t.clientX+document.documentElement.scrollLeft,t.clientY+document.documentElement.scrollTop]:S(t,"page")},w=function(t){return S(t,"screen")},I=function(t){return S(t,"client")},A=function(t,e){return t.item?t.item(e):t[e]},k=function(t){return t.touches&&t.touches.length>0?t.touches:t.changedTouches&&t.changedTouches.length>0?t.changedTouches:t.targetTouches&&t.targetTouches.length>0?t.targetTouches:[t]},O=function(t){return k(t).length},M=function(t,e,n,i){if(h(t,e,n),i.__tauid=n.__tauid,t.addEventListener)t.addEventListener(e,n,!1);else if(t.attachEvent){var o=e+n.__tauid;t["e"+o]=n,t[o]=function(){t["e"+o]&&t["e"+o](window.event)},t.attachEvent("on"+e,t[o])}},T=function t(e,n,i){null!=i&&L(e,(function(){var o=r(this);if(d(o,n,i),null!=i.__tauid)if(o.removeEventListener)o.removeEventListener(n,i,!1),x&&C[n]&&o.removeEventListener(C[n],i,!1);else if(this.detachEvent){var s=n+i.__tauid;o[s]&&o.detachEvent("on"+n,o[s]),o[s]=null,o["e"+s]=null}i.__taTouchProxy&&t(e,i.__taTouchProxy[1],i.__taTouchProxy[0])}))},L=function(t,e){if(null!=t){t="undefined"!==typeof Window&&"unknown"!==typeof t.top&&t==t.top?[t]:"string"!==typeof t&&null==t.tagName&&null!=t.length?t:"string"===typeof t?document.querySelectorAll(t):[t];for(var n=0;n-1&&c<9,f=9===c,g=function(t){if(p)return[t.clientX+document.documentElement.scrollLeft,t.clientY+document.documentElement.scrollTop];var e=v(t),n=m(e,0);return f?[n.pageX||n.clientX,n.pageY||n.clientY]:[n.pageX,n.pageY]},m=function(t,e){return t.item?t.item(e):t[e]},v=function(t){return t.touches&&t.touches.length>0?t.touches:t.changedTouches&&t.changedTouches.length>0?t.changedTouches:t.targetTouches&&t.targetTouches.length>0?t.targetTouches:[t]},b={delegatedDraggable:"katavorio-delegated-draggable",draggable:"katavorio-draggable",droppable:"katavorio-droppable",drag:"katavorio-drag",selected:"katavorio-drag-selected",active:"katavorio-drag-active",hover:"katavorio-drag-hover",noSelect:"katavorio-drag-no-select",ghostProxy:"katavorio-ghost-proxy",clonedDrag:"katavorio-clone-drag"},y="katavorio-drag-scope",P=["stop","start","drag","drop","over","out","beforeStart"],x=function(){},_=function(){return!0},C=function(t,e,n){for(var i=0;i0){var s=u(G,this.el,t.target||t.srcElement);if(null!=s&&(R=s[0],U=s[1]),null==U)return}else U=this.el;if(O)if(D=U.cloneNode(!0),this.params.addClass(D,b.clonedDrag),D.setAttribute("id",null),D.style.position="absolute",null!=this.params.parent){var a=this.params.getPosition(this.el);D.style.left=a[0]+"px",D.style.top=a[1]+"px",this.params.parent.appendChild(D)}else{var l=r(U);D.style.left=l.left+"px",D.style.top=l.top+"px",document.body.appendChild(D)}else D=U;E&&S(t),m=g(t),D&&D.parentNode&&(C=[D.parentNode.scrollLeft,D.parentNode.scrollTop]),this.params.bind(document,"mousemove",this.moveListener),this.params.bind(document,"mouseup",this.upListener),o.markSelection(this),o.markPosses(this),this.params.addClass(document.body,n.noSelect),st("beforeStart",{el:this.el,pos:v,e:t,drag:this})}else this.params.consumeFilteredEvents&&S(t)}}}.bind(this),this.moveListener=function(t){if(m){if(!x){var e=st("start",{el:this.el,pos:v,e:t,drag:this});if(!1!==e){if(!m)return;this.mark(!0),x=!0}else this.abort()}if(m){nt.length=0;var n=g(t),i=n[0]-m[0],s=n[1]-m[1],r=this.params.ignoreZoom?1:o.getZoom();D&&D.parentNode&&(i+=D.parentNode.scrollLeft-C[0],s+=D.parentNode.scrollTop-C[1]),i/=r,s/=r,this.moveBy(i,s,t),o.updateSelection(i,s,this),o.updatePosses(i,s,this)}}}.bind(this),this.upListener=function(t){m&&(m=null,this.params.unbind(document,"mousemove",this.moveListener),this.params.unbind(document,"mouseup",this.upListener),this.params.removeClass(document.body,n.noSelect),this.unmark(t),o.unmarkSelection(this,t),o.unmarkPosses(this,t),this.stop(t),o.notifyPosseDragStop(this,t),x=!1,nt.length=0,O?(D&&D.parentNode&&D.parentNode.removeChild(D),D=null):V&&!0===V(D,this.params.getPosition(D))&&(this.params.setPosition(D,v),st("revert",D)))}.bind(this),this.getFilters=function(){return Z},this.abort=function(){null!=m&&this.upListener()},this.getDragElement=function(t){return t?U||this.el:D||this.el};var it={start:[],drag:[],stop:[],over:[],out:[],beforeStart:[],revert:[]};e.events.start&&it.start.push(e.events.start),e.events.beforeStart&&it.beforeStart.push(e.events.beforeStart),e.events.stop&&it.stop.push(e.events.stop),e.events.drag&&it.drag.push(e.events.drag),e.events.revert&&it.revert.push(e.events.revert),this.on=function(t,e){it[t]&&it[t].push(e)},this.off=function(t,e){if(it[t]){for(var n=[],i=0;i0)for(var r=0;r0&&ot&&e.setPosition(U,ot),nt.sort(L);for(var o=0;oe.rank?-1:0},F=function(t){return null==t?null:(t="string"===typeof t||t.constructor===String?document.getElementById(t):t,null==t?null:(t._katavorio=t._katavorio||T(),t))};t.Katavorio=function(t){var e=[],r={};this._dragsByScope={},this._dropsByScope={};var a=1,l=function(t,e){E(t,(function(t){for(var n=0;n0},c=(this.getMatchingDroppables=function(t){for(var e=[],n={},i=0;i=0&&e.splice(o,1),u(t[n],i)&&E(t[n],(function(t){t.destroy()})),delete t[n]}},S=function(t,e,n,i){t=F(t),t[e]&&t[e].off(n,i)};this.elementRemoved=function(t){this.destroyDraggable(t),this.destroyDroppable(t)},this.destroyDraggable=function(t,e,n){1===arguments.length?j(t,"_katavorioDrag",this._dragsByScope):S(t,"_katavorioDrag",e,n)},this.destroyDroppable=function(t,e,n){1===arguments.length?j(t,"_katavorioDrop",this._dropsByScope):S(t,"_katavorioDrop",e,n)},this.reset=function(){this._dragsByScope={},this._dropsByScope={},e=[],r={},w={}};var w={},I=function(t,e,i){var o=s(e)?e:e.id,r=!!s(e)||!1!==e.active,a=w[o]||function(){var t={name:o,members:[]};return w[o]=t,t}();return E(t,(function(t){if(t._katavorioDrag){if(i&&null!=t._katavorioDrag.posseRoles[a.name])return;n(a.members,t._katavorioDrag),n(t._katavorioDrag.posses,a.name),t._katavorioDrag.posseRoles[a.name]=r}})),a};this.addToPosse=function(t,e){for(var n=[],i=1;i0}function d(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}function p(t){if(s(t))return""+t;if(r(t))return!!t;if(u(t))return new Date(t.getTime());if(c(t))return t;if(i(t)){for(var e=[],n=0;n=s.length,l=function(){return o[r[1]]||function(){return o[r[1]]=[],o[r[1]]}()};if(a)r?l()[r[3]]=n:o[t]=n;else if(r){var u=l();o=u[r[3]]||function(){return u[r[3]]={},u[r[3]]}()}else o=o[t]||function(){return o[t]={},o[t]}();return""})),t}}function m(t,e,n){for(var i=0;i-1&&t.splice(n,1),-1!==n}function P(t,e){var n=t.indexOf(e);return n>-1&&t.splice(n,1),-1!==n}function x(t,e,n){-1===b(t,n)&&t.push(e)}function _(t,e,n,i){var o=t[e];return null==o&&(o=[],t[e]=o),o[i?"unshift":"push"](n),o}function C(t,e,n){return-1===t.indexOf(e)&&(n?t.unshift(e):t.push(e),!0)}function j(t,e,n){var o;e=i(e)?e:[e];var s=function(e){var n=e.__proto__;while(null!=n)if(null!=n.prototype){for(var i in n.prototype)n.prototype.hasOwnProperty(i)&&!t.prototype.hasOwnProperty(i)&&(t.prototype[i]=n.prototype[i]);n=n.prototype.__proto__}else n=null};for(o=0;o2)for(o=2;oe.scrollTop+e.offsetHeight)i[l]._jsPlumbProxies||(i[l]._jsPlumbProxies=i[l]._jsPlumbProxies||[],t.select({source:i[l]}).each((function(n){t.proxyConnection(n,0,e,a,(function(){return s("bottom",0,n.endpoints[0],n)}),(function(){return o("bottom",0,n.endpoints[0],n)})),i[l]._jsPlumbProxies.push([n,0])})),t.select({target:i[l]}).each((function(n){t.proxyConnection(n,1,e,a,(function(){return s("bottom",1,n.endpoints[1],n)}),(function(){return o("bottom",1,n.endpoints[1],n)})),i[l]._jsPlumbProxies.push([n,1])})));else if(i[l]._jsPlumbProxies){for(var u=0;u0)for(var t=0;t0){var r=Array.prototype.slice.call(arguments,1);try{for(var a=0,l=i.length;a0?-1!==t.indexOf(e):!n)};this.getConnections=function(t,e){t?t.constructor===String&&(t={scope:t}):t={};for(var n=t.scope||s.getDefaultScope(),i=ot(n,!0),o=ot(t.source),r=ot(t.target),a=!e&&i.length>1?{}:[],l=function(t,n){if(!e&&i.length>1){var o=a[t];null==o&&(o=a[t]=[]),o.push(n)}else a.push(n)},u=0,c=P.length;u0&&!g.isSource,v=d&&o.length>0&&!g.isTarget;if(m||v)continue t;r.push(g)}}}return ct(r)},this.getAllConnections=function(){return P},this.getDefaultScope=function(){return A},this.getEndpoint=L,this.getEndpoints=function(t){return x[d(t).id]||[]},this.getDefaultEndpointType=function(){return m.Endpoint},this.getDefaultConnectionType=function(){return m.Connection},this.getId=W,this.draw=T,this.info=d,this.appendElement=M;var ht=!1;this.isHoverSuspended=function(){return ht},this.setHoverSuspended=function(t){ht=t},this.hide=function(t,e){return Y(t,"none",e),s},this.idstamp=O;var dt=function(t){if(!g&&t){var e=s.getElement(t);e.offsetParent&&s.setContainer(e.offsetParent)}},pt=function(){s.Defaults.Container&&s.setContainer(s.Defaults.Container)},ft=s.manage=function(t,e,n){return C[t]||(C[t]={el:e,endpoints:[],connections:[]},C[t].info=gt({elId:t,timestamp:I}),s.addClass(e,"jtk-managed"),n||s.fire("manageElement",{id:t,info:C[t].info,el:e})),C[t]},gt=(s.unmanage=function(t){if(C[t]){var e=C[t].el;s.removeClass(e,"jtk-managed"),delete C[t],s.fire("unmanageElement",{id:t,el:e})}},function(t){var e,n=t.timestamp,i=t.recalc,o=t.offset,r=t.elId;return w&&!n&&(n=I),!i&&n&&n===E[r]?{o:t.offset||j[r],s:D[r]}:(i||!o&&null==j[r]?(e=C[r]?C[r].el:null,null!=e&&(D[r]=s.getSize(e),j[r]=s.getOffset(e),E[r]=n)):(j[r]=o||j[r],null==D[r]&&(e=C[r].el,null!=e&&(D[r]=s.getSize(e))),E[r]=n),j[r]&&!j[r].right&&(j[r].right=j[r].left+D[r][0],j[r].bottom=j[r].top+D[r][1],j[r].width=D[r][0],j[r].height=D[r][1],j[r].centerx=j[r].left+j[r].width/2,j[r].centery=j[r].top+j[r].height/2),{o:j[r],s:D[r]})});this.updateOffset=gt,this.init=function(){y||(pt(),s.anchorManager=new t.jsPlumb.AnchorManager({jsPlumbInstance:s}),y=!0,s.fire("ready",s))}.bind(this),this.log=b,this.jsPlumbUIComponent=h,this.makeAnchor=function(){var e,i=function(e,n){if(t.jsPlumb.Anchors[e])return new t.jsPlumb.Anchors[e](n);if(!s.Defaults.DoNotThrowErrors)throw{msg:"jsPlumb: unknown anchor type '"+e+"'"}};if(0===arguments.length)return null;var o=arguments[0],r=arguments[1],a=null;if(o.compute&&o.getOrientation)return o;if("string"===typeof o)a=i(arguments[0],{elementId:r,jsPlumbInstance:s});else if(n.isArray(o))if(n.isArray(o[0])||n.isString(o[0]))2===o.length&&n.isObject(o[1])?n.isString(o[0])?(e=t.jsPlumb.extend({elementId:r,jsPlumbInstance:s},o[1]),a=i(o[0],e)):(e=t.jsPlumb.extend({elementId:r,jsPlumbInstance:s,anchors:o[0]},o[1]),a=new t.jsPlumb.DynamicAnchor(e)):a=new m.DynamicAnchor({anchors:o,selector:null,elementId:r,jsPlumbInstance:s});else{var l={x:o[0],y:o[1],orientation:o.length>=4?[o[2],o[3]]:[0,0],offsets:o.length>=6?[o[4],o[5]]:[0,0],elementId:r,jsPlumbInstance:s,cssClass:7===o.length?o[6]:null};a=new t.jsPlumb.Anchor(l),a.clone=function(){return new t.jsPlumb.Anchor(l)}}return a.id||(a.id="anchor_"+O()),a},this.makeAnchors=function(e,i,o){for(var r=[],a=0,l=e.length;a0&&t>=e.def.maxConnections},element:e.el,elementId:e.id,isSource:r,isTarget:a,addClass:function(t){s.addClass(e.el,t)},removeClass:function(t){s.removeClass(e.el,t)},onDrop:function(t){var e=t.endpoints[0];e.anchor.unlock()},isDropAllowed:function(){return l.isDropAllowed.apply(l,arguments)},isRedrop:function(t){return null!=t.suspendedElement&&null!=t.suspendedEndpoint&&t.suspendedEndpoint.element===e.el},getEndpoint:function(n){var o=e.def.endpoint;if(null==o||null==o._jsPlumb){var r=s.deriveEndpointAndAnchorSpec(n.getType().join(" "),!0),a=r.endpoints?t.jsPlumb.extend(i,{endpoint:e.def.def.endpoint||r.endpoints[1]}):i;r.anchors&&(a=t.jsPlumb.extend(a,{anchor:e.def.def.anchor||r.anchors[1]})),o=s.addEndpoint(e.el,a),o._mtNew=!0}if(i.uniqueEndpoint&&(e.def.endpoint=o),o.setDeleteOnEmpty(!0),n.isDetachable()&&o.initDraggable(),null!=o.anchor.positionFinder){var l=s.getUIPosition(arguments,s.getZoom()),u=s.getOffset(e.el),c=s.getSize(e.el),h=null==l?[0,0]:o.anchor.positionFinder(l,u,c,o.anchor.constructorParams);o.anchor.x=h[0],o.anchor.y=h[1]}return o},maybeCleanup:function(t){t._mtNew&&0===t.connections.length?s.deleteObject({endpoint:t}):delete t._mtNew}}),c=t.jsPlumb.dragEvents.drop;return o.scope=o.scope||i.scope||s.Defaults.Scope,o[c]=n.wrap(o[c],u,!0),o.rank=i.rank||0,a&&(o[t.jsPlumb.dragEvents.over]=function(){return!0}),!1===i.allowLoopback&&(o.canDrop=function(t){var n=t.getDragElement()._jsPlumbRelatedElement;return n!==e.el}),s.initDroppable(e.el,o,"internal"),u};this.makeTarget=function(e,n,i){var o=t.jsPlumb.extend({_jsPlumb:this},i);t.jsPlumb.extend(o,n);for(var r=o.maxConnections||-1,a=function(e){var n=d(e),i=n.id,a=t.jsPlumb.extend({},o.dropOptions||{}),l=o.connectionType||"default";this.targetEndpointDefinitions[i]=this.targetEndpointDefinitions[i]||{},dt(i),n.el._isJsPlumbGroup&&null==a.rank&&(a.rank=-1);var u={def:t.jsPlumb.extend({},o),uniqueEndpoint:o.uniqueEndpoint,maxConnections:r,enabled:!0};o.createEndpoint&&(u.uniqueEndpoint=!0,u.endpoint=s.addEndpoint(e,u.def),u.endpoint.setDeleteOnEmpty(!1)),n.def=u,this.targetEndpointDefinitions[i][l]=u,vt(n,o,a,!0===o.isSource,!0),n.el._katavorioDrop[n.el._katavorioDrop.length-1].targetDef=u}.bind(this),l=e.length&&e.constructor!==String?e:[e],u=0,c=l.length;u=0&&f>=d.maxConnections)return h&&h({element:i.el,maxConnections:u},e),!1;var m=t.jsPlumb.getPositionOnElement(e,l,c),v={};t.jsPlumb.extend(v,d.def),v.isTemporarySource=!0,v.anchor=[m[0],m[1],0,0],v.dragOptions=g,d.def.scope&&(v.scope=d.def.scope),b=this.addEndpoint(o,v),y=!0,b.setDeleteOnEmpty(!0),d.uniqueEndpoint&&(d.endpoint?b.finalEndpoint=d.endpoint:(d.endpoint=b,b.setDeleteOnEmpty(!1)));var P=function t(){s.off(b.canvas,"mouseup",t),s.off(i.el,"mouseup",t),y&&(y=!1,s.deleteEndpoint(b))};s.on(b.canvas,"mouseup",P),s.on(i.el,"mouseup",P);var x={};if(d.def.extract)for(var _ in d.def.extract){var C=(e.srcElement||e.target).getAttribute(_);C&&(x[d.def.extract[_]]=C)}s.trigger(b.canvas,"mousedown",e,x),n.consume(e)}}}.bind(this);this.on(i.el,"mousedown",P),d.trigger=P,r.filter&&(n.isString(r.filter)||n.isFunction(r.filter))&&s.setDragFilter(i.el,r.filter);var x=t.jsPlumb.extend({},r.dropOptions||{});vt(i,r,x,!0,!0===r.isTarget)}.bind(this),f=e.length&&e.constructor!==String?e:[e],g=0,m=f.length;g0)t(o.el.childNodes[0]);i||Ct(o,n)}};return s.batch((function(){i(t,!0)}),!1===e),s},this.reset=function(t){s.silently(function(){ht=!1,s.removeAllGroups(),s.removeGroupManager(),s.deleteEveryEndpoint(),t||s.unbind(),this.targetEndpointDefinitions={},this.sourceEndpointDefinitions={},P.length=0,this.doReset&&this.doReset()}.bind(this))};var jt=function(t){t.canvas&&t.canvas.parentNode&&t.canvas.parentNode.removeChild(t.canvas),t.cleanup(),t.destroy()};this.clear=function(){s.select().each(jt),s.selectEndpoints().each(jt),x={},_={}},this.setDefaultScope=function(t){return A=t,s},this.deriveEndpointAndAnchorSpec=function(t,e){for(var n=((e?"":"default ")+t).split(/[\s]/),i=null,o=null,r=null,a=null,l=0;l0)for(var e=0;e0?"add":"remove")+"Class"](u.endpointConnectedClass),this[(this.isFull()?"add":"remove")+"Class"](u.endpointFullClass)},this.detachFromConnection=function(t,e,n){e=null==e?this.connections.indexOf(t):e,e>=0&&(this.connections.splice(e,1),this[(this.connections.length>0?"add":"remove")+"Class"](u.endpointConnectedClass),this[(this.isFull()?"add":"remove")+"Class"](u.endpointFullClass)),!n&&p&&0===this.connections.length&&u.deleteObject({endpoint:this,fireEvent:!1,deleteAttachedObjects:!0!==n})},this.deleteEveryConnection=function(t){for(var e=this.connections.length,n=0;n0){var h=l(this,t.elementWithPrecedence),d=h.endpoints[0]===this?1:0,p=0===d?h.sourceId:h.targetId,f=u.getCachedData(p),g=f.o,m=f.s;c.index=0===d?1:0,c.connection=h,c.txy=[g.left,g.top],c.twh=m,c.tElement=h.endpoints[d]}else this.connections.length>0&&(c.connection=this.connections[0]);s=this.anchor.compute(c)}for(var v in this.endpoint.compute(s,this.anchor.getOrientation(this),this._jsPlumb.paintStyleInUse,r||this.paintStyleInUse),this.endpoint.paint(this._jsPlumb.paintStyleInUse,this.anchor),this.timestamp=e,this._jsPlumb.overlays)if(this._jsPlumb.overlays.hasOwnProperty(v)){var b=this._jsPlumb.overlays[v];b.isVisible()&&(this._jsPlumb.overlayPlacements[v]=b.draw(this.endpoint,this._jsPlumb.paintStyleInUse),b.paint(this._jsPlumb.overlayPlacements[v]))}}}},this.getTypeDescriptor=function(){return"endpoint"},this.isVisible=function(){return this._jsPlumb.visible},this.repaint=this.paint;var m=!1;this.initDraggable=function(){if(!m&&e.isDragSupported(this.element)){var a,l={id:null,element:null},p=null,f=!1,g=null,v=o(this,l,u),b=t.dragOptions||{},y={},P=e.dragEvents.start,x=e.dragEvents.stop,_=e.dragEvents.drag,C=e.dragEvents.beforeStart,j=function(t){a=t.e.payload||{}},E=function(n){p=this.connectorSelector();var o=!0;this.isEnabled()||(o=!1),null!=p||this.isSource||this.isTemporarySource||(o=!1),!this.isSource||!this.isFull()||null!=p&&this.dragAllowedWhenFull||(o=!1),null==p||p.isDetachable(this)||(this.isFull()?o=!1:p=null);var d=u.checkCondition(null==p?"beforeDrag":"beforeStartDetach",{endpoint:this,source:this.element,sourceId:this.elementId,connection:p});if(!1===d?o=!1:"object"===i(d)?e.extend(d,a||{}):d=a||{},!1===o)return u.stopDrag&&u.stopDrag(this.canvas),v.stopDrag(),!1;for(var m=0;m0&&!1!==this.connectionsDetachable}.bind(this),u.initDraggable(this.canvas,b,"internal"),this.canvas._jsPlumbRelatedElement=this.element,m=!0}};var v=t.endpoint||this._jsPlumb.instance.Defaults.Endpoint||e.Defaults.Endpoint;this.setEndpoint(v,!0);var b=t.anchor?t.anchor:t.anchors?t.anchors:u.Defaults.Anchor||"Top";this.setAnchor(b,!0);var y=["default",t.type||""].join(" ");this.addType(y,t.data,!0),this.canvas=this.endpoint.canvas,this.canvas._jsPlumb=this,this.initDraggable();var P=function(i,o,s,r){if(e.isDropSupported(this.element)){var a=t.dropOptions||u.Defaults.DropOptions||e.Defaults.DropOptions;a=e.extend({},a),a.scope=a.scope||this.scope;var l=e.dragEvents.drop,c=e.dragEvents.over,h=e.dragEvents.out,d=this,p=u.EndpointDropHandler({getEndpoint:function(){return d},jsPlumb:u,enabled:function(){return null==s||s.isEnabled()},isFull:function(){return s.isFull()},element:this.element,elementId:this.elementId,isSource:this.isSource,isTarget:this.isTarget,addClass:function(t){d.addClass(t)},removeClass:function(t){d.removeClass(t)},isDropAllowed:function(){return d.isDropAllowed.apply(d,arguments)},reference:r,isRedrop:function(t,e){return t.suspendedEndpoint&&e.reference&&t.suspendedEndpoint.id===e.reference.id}});a[l]=n.wrap(a[l],p,!0),a[c]=n.wrap(a[c],function(){var t=e.getDragObject(arguments),n=u.getAttribute(e.getElement(t),"dragId"),i=u.getFloatingConnectionFor(n);if(null!=i){var o=u.getFloatingAnchorIndex(i),s=this.isTarget&&0!==o||i.suspendedEndpoint&&this.referenceEndpoint&&this.referenceEndpoint.id===i.suspendedEndpoint.id;if(s){var r=u.checkCondition("checkDropAllowed",{sourceEndpoint:i.endpoints[o],targetEndpoint:this,connection:i});this[(r?"add":"remove")+"Class"](u.endpointDropAllowedClass),this[(r?"remove":"add")+"Class"](u.endpointDropForbiddenClass),i.endpoints[o].anchor.over(this.anchor,this)}}}.bind(this)),a[h]=n.wrap(a[h],function(){var t=e.getDragObject(arguments),n=null==t?null:u.getAttribute(e.getElement(t),"dragId"),i=n?u.getFloatingConnectionFor(n):null;if(null!=i){var o=u.getFloatingAnchorIndex(i),s=this.isTarget&&0!==o||i.suspendedEndpoint&&this.referenceEndpoint&&this.referenceEndpoint.id===i.suspendedEndpoint.id;s&&(this.removeClass(u.endpointDropAllowedClass),this.removeClass(u.endpointDropForbiddenClass),i.endpoints[o].anchor.out())}}.bind(this)),u.initDroppable(i,a,"internal",o)}}.bind(this);return this.anchor.isFloating||P(this.canvas,!(t._transient||this.anchor.isFloating),this,t.reference),this},n.extend(e.Endpoint,e.OverlayCapableJsPlumbUIComponent,{setVisible:function(t,e,n){if(this._jsPlumb.visible=t,this.canvas&&(this.canvas.style.display=t?"block":"none"),this[t?"showOverlays":"hideOverlays"](),!e)for(var i=0;in[0][0],!1===i?-1:1}},p=function(t,e){var n=t[0][0]<0?-Math.PI-t[0][0]:Math.PI-t[0][0],i=e[0][0]<0?-Math.PI-e[0][0]:Math.PI-e[0][0];return n>i?1:-1},f={top:function(t,e){return t[0]>e[0]?1:-1},right:d(!0),bottom:d(!0),left:p},g=function(t,e){return t.sort(e)},m=function(t,e){var n=u.getCachedData(t),i=n.s,r=n.o,a=function(e,n,i,r,a,l,u){if(r.length>0)for(var c=g(r,f[e]),d="right"===e||"top"===e,p=h(e,n,i,c,a,l,d),m=function(t,e){o[t.id]=[e[0],e[1],e[2],e[3]],s[t.id]=u},v=0;v-1&&(r[i].splice(l,1),e.addToList(r,o,[s,s.endpoints[0],s.endpoints[0].anchor.constructor===n.DynamicAnchor])),s.updateConnectedClass()},this.sourceChanged=function(t,i,o,s){if(t!==i){o.sourceId=i,o.source=s,e.removeWithFunction(r[t],(function(t){return t[0].id===o.id}));var a=e.findWithFunction(r[o.targetId],(function(t){return t[0].id===o.id}));a>-1&&(r[o.targetId][a][0]=o,r[o.targetId][a][1]=o.endpoints[0],r[o.targetId][a][2]=o.endpoints[0].anchor.constructor===n.DynamicAnchor),e.addToList(r,i,[o,o.endpoints[1],o.endpoints[1].anchor.constructor===n.DynamicAnchor]),o.endpoints[1].anchor.isContinuous&&(o.source===o.target?o._jsPlumb.instance.removeElement(o.endpoints[1].canvas):null==o.endpoints[1].canvas.parentNode&&o._jsPlumb.instance.appendElement(o.endpoints[1].canvas)),o.updateConnectedClass()}},this.rehomeEndpoint=function(t,e,n){var o=i[e]||[],s=u.getId(n);if(s!==e){var r=o.indexOf(t);if(r>-1){var l=o.splice(r,1)[0];a.add(l,s)}}for(var c=0;ce.dist?1:0}));for(var f=c[0].source,g=c[0].target,m=0;m0?this.anchors[0]:null,s=o,r=this,a=function(t,e,n,i,o){var s=i[0]+t.x*o[0],r=i[1]+t.y*o[1],a=i[0]+o[0]/2,l=i[1]+o[1]/2;return Math.sqrt(Math.pow(e-s,2)+Math.pow(n-r,2))+Math.sqrt(Math.pow(a-s,2)+Math.pow(l-r,2))},l=t.selector||function(t,e,n,i,o){for(var s=n[0]+i[0]/2,r=n[1]+i[1]/2,l=-1,u=1/0,c=0;c0?t:n+t:t*n;return i.pointOnLine({x:r,y:l},{x:a,y:u},o)}return{x:a,y:u}}return{x:r,y:l}},this.gradientAtPoint=function(t){return o},this.pointAlongPathFrom=function(t,e,n){var o=this.pointOnPath(t,n),s=e<=0?{x:r,y:l}:{x:a,y:u};return e<=0&&Math.abs(e)>1&&(e*=-1),i.pointOnLine(o,s,e)};var h=function(t,e,n){return n>=Math.min(t,e)&&n<=Math.max(t,e)},d=function(t,e,n){return Math.abs(n-t)e?e<=t&&t<=n:e>=t&&t>=n},f=p;this.lineIntersection=function(t,e,n,s){var c=Math.abs(i.gradient({x:t,y:e},{x:n,y:s})),h=Math.abs(o),d=h===1/0?r:l-h*r,p=[],g=c===1/0?t:e-c*t;if(c!==h)if(c===1/0&&0===h)f(t,r,a)&&f(l,e,s)&&(p=[t,l]);else if(0===c&&h===1/0)f(e,l,u)&&f(r,t,n)&&(p=[r,e]);else{var m,v;c===1/0?(m=t,f(m,r,a)&&(v=h*t+d,f(v,e,s)&&(p=[m,v]))):0===c?(v=e,f(v,l,u)&&(m=(e-d)/h,f(m,t,n)&&(p=[m,v]))):(m=(g-d)/(h-c),v=h*m+d,f(m,r,a)&&f(v,l,u)&&(p=[m,v]))}return p},this.boxIntersection=function(t,e,n,i){var o=[];return o.push.apply(o,this.lineIntersection(t,e,t+n,e)),o.push.apply(o,this.lineIntersection(t+n,e,t+n,e+i)),o.push.apply(o,this.lineIntersection(t+n,e+i,t,e+i)),o.push.apply(o,this.lineIntersection(t,e+i,t,e)),o},this.boundingBoxIntersection=function(t){return this.boxIntersection(t.x,t.y,t.w,t.h)}},Arc:function(t){e.Segments.AbstractSegment.apply(this,arguments);var n=function(e,n){return i.theta([t.cx,t.cy],[e,n])},o=function(t,e){if(t.anticlockwise){var n=t.startAngle0?0:1,n)),n};this.pointOnPath=function(e,n){return e=i(this.curve,e,n),t.jsBezier.pointOnCurve(this.curve,e)},this.gradientAtPoint=function(e,n){return e=i(this.curve,e,n),t.jsBezier.gradientAtPoint(this.curve,e)},this.pointAlongPathFrom=function(e,n,o){return e=i(this.curve,e,o),t.jsBezier.pointAlongCurveFrom(this.curve,e,n)},this.getLength=function(){return t.jsBezier.getLength(this.curve)},this.getBounds=function(){return this.bounds},this.findClosestPointOnPath=function(e,n){var i=t.jsBezier.nearestPointOnCurve({x:e,y:n},this.curve);return{d:Math.sqrt(Math.pow(i.point.x-e,2)+Math.pow(i.point.y-n,2)),x:i.point.x,y:i.point.y,l:1-i.location,s:this}},this.lineIntersection=function(e,n,i,o){return t.jsBezier.lineIntersection(e,n,i,o,this.curve)}}},e.SegmentRenderer={getPath:function(t,e){return{Straight:function(e){var n=t.getCoordinates();return(e?"M "+n.x1+" "+n.y1+" ":"")+"L "+n.x2+" "+n.y2},Bezier:function(e){var n=t.params;return(e?"M "+n.x2+" "+n.y2+" ":"")+"C "+n.cp2x+" "+n.cp2y+" "+n.cp1x+" "+n.cp1y+" "+n.x1+" "+n.y1},Arc:function(e){var n=t.params,i=t.sweep>Math.PI?1:0,o=t.anticlockwise?0:1;return(e?"M"+t.x1+" "+t.y1+" ":"")+"A "+t.radius+" "+n.r+" 0 "+i+","+o+" "+t.x2+" "+t.y2}}[t.type](e)}};var o=function(){this.resetBounds=function(){this.bounds={minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}},this.resetBounds()};e.Connectors.AbstractConnector=function(t){o.apply(this,arguments);var s=[],r=0,a=[],l=[],u=t.stub||0,c=n.isArray(u)?u[0]:u,h=n.isArray(u)?u[1]:u,d=t.gap||0,p=n.isArray(d)?d[0]:d,f=n.isArray(d)?d[1]:d,g=null,m=null;this.getPathData=function(){for(var t="",n=0;n0?t/r:(r+t)/r);for(var n=a.length-1,i=1,o=0;o=t){n=o,i=1===t?1:0===t?0:(t-a[o][0])/l[o];break}return{segment:s[n],proportion:i,index:n}},y=function(t,n,i){if(i.x1!==i.x2||i.y1!==i.y2){var o=new e.Segments[n](i);s.push(o),r+=o.getLength(),t.updateBounds(o)}},P=function(){r=s.length=a.length=l.length=0};this.setSegments=function(t){g=[],r=0;for(var e=0;eg?0:1,v=[1,0][m];r=[],a=[],r[m]=t.sourcePos[m]>t.targetPos[m]?-1:1,a[m]=t.sourcePos[m]>t.targetPos[m]?1:-1,r[v]=0,a[v]=0}var b=n?d+p*r[0]:p*r[0],y=o?g+p*r[1]:p*r[1],P=n?f*a[0]:d+f*a[0],x=o?f*a[1]:g+f*a[1],_=r[0]*a[0]+r[1]*a[1],C={sx:b,sy:y,tx:P,ty:x,lw:s,xSpan:Math.abs(P-b),ySpan:Math.abs(x-y),mx:(b+P)/2,my:(y+x)/2,so:r,to:a,x:l,y:u,w:d,h:g,segment:e,startStubX:b+r[0]*c,startStubY:y+r[1]*c,endStubX:P+a[0]*h,endStubY:x+a[1]*h,isXGreaterThanStubTimes2:Math.abs(b-P)>c+h,isYGreaterThanStubTimes2:Math.abs(y-x)>c+h,opposite:-1===_,perpendicular:0===_,orthogonal:1===_,sourceAxis:0===r[0]?"y":"x",points:[l,u,d,g,b,y,P,x],stubs:[c,h]};return C.anchorOrientation=C.opposite?"opposite":C.orthogonal?"orthogonal":"perpendicular",C};this.getSegments=function(){return s},this.updateBounds=function(t){var e=t.getBounds();this.bounds.minX=Math.min(this.bounds.minX,e.minX),this.bounds.maxX=Math.max(this.bounds.maxX,e.maxX),this.bounds.minY=Math.min(this.bounds.minY,e.minY),this.bounds.maxY=Math.max(this.bounds.maxY,e.maxY)};return this.pointOnPath=function(t,e){var n=b(t,e);return n.segment&&n.segment.pointOnPath(n.proportion,!1)||[0,0]},this.gradientAtPoint=function(t,e){var n=b(t,e);return n.segment&&n.segment.gradientAtPoint(n.proportion,!1)||0},this.pointAlongPathFrom=function(t,e,n){var i=b(t,n);return i.segment&&i.segment.pointAlongPathFrom(i.proportion,e,!1)||[0,0]},this.compute=function(t){m=x.call(this,t),P(),this._compute(m,t),this.x=m.points[0],this.y=m.points[1],this.w=m.points[2],this.h=m.points[3],this.segment=m.segment,v()},{addSegment:y,prepareCompute:x,sourceStub:c,targetStub:h,maxStub:Math.max(c,h),sourceGap:p,targetGap:f,maxGap:Math.max(p,f)}},n.extend(e.Connectors.AbstractConnector,o),e.Endpoints.AbstractEndpoint=function(t){o.apply(this,arguments);var e=this.compute=function(t,e,n,i){var o=this._compute.apply(this,arguments);return this.x=o[0],this.y=o[1],this.w=o[2],this.h=o[3],this.bounds.minX=this.x,this.bounds.minY=this.y,this.bounds.maxX=this.x+this.w,this.bounds.maxY=this.y+this.h,o};return{compute:e,cssClass:t.cssClass}},n.extend(e.Endpoints.AbstractEndpoint,o),e.Endpoints.Dot=function(t){this.type="Dot";e.Endpoints.AbstractEndpoint.apply(this,arguments);t=t||{},this.radius=t.radius||10,this.defaultOffset=.5*this.radius,this.defaultInnerRadius=this.radius/3,this._compute=function(t,e,n,i){this.radius=n.radius||this.radius;var o=t[0]-this.radius,s=t[1]-this.radius,r=2*this.radius,a=2*this.radius;if(n.stroke){var l=n.strokeWidth||1;o-=l,s-=l,r+=2*l,a+=2*l}return[o,s,r,a,this.radius]}},n.extend(e.Endpoints.Dot,e.Endpoints.AbstractEndpoint),e.Endpoints.Rectangle=function(t){this.type="Rectangle";e.Endpoints.AbstractEndpoint.apply(this,arguments);t=t||{},this.width=t.width||20,this.height=t.height||20,this._compute=function(t,e,n,i){var o=n.width||this.width,s=n.height||this.height,r=t[0]-o/2,a=t[1]-s/2;return[r,a,o,s]}},n.extend(e.Endpoints.Rectangle,e.Endpoints.AbstractEndpoint);var s=function(t){e.jsPlumbUIComponent.apply(this,arguments),this._jsPlumb.displayElements=[]};n.extend(s,e.jsPlumbUIComponent,{getDisplayElements:function(){return this._jsPlumb.displayElements},appendDisplayElement:function(t){this._jsPlumb.displayElements.push(t)}}),e.Endpoints.Image=function(i){this.type="Image",s.apply(this,arguments),e.Endpoints.AbstractEndpoint.apply(this,arguments);var o=i.onload,r=i.src||i.url,a=i.cssClass?" "+i.cssClass:"";this._jsPlumb.img=new Image,this._jsPlumb.ready=!1,this._jsPlumb.initialized=!1,this._jsPlumb.deleted=!1,this._jsPlumb.widthToUse=i.width,this._jsPlumb.heightToUse=i.height,this._jsPlumb.endpoint=i.endpoint,this._jsPlumb.img.onload=function(){null!=this._jsPlumb&&(this._jsPlumb.ready=!0,this._jsPlumb.widthToUse=this._jsPlumb.widthToUse||this._jsPlumb.img.width,this._jsPlumb.heightToUse=this._jsPlumb.heightToUse||this._jsPlumb.img.height,o&&o(this))}.bind(this),this._jsPlumb.endpoint.setImage=function(t,e){var n=t.constructor===String?t:t.src;o=e,this._jsPlumb.img.src=n,null!=this.canvas&&this.canvas.setAttribute("src",this._jsPlumb.img.src)}.bind(this),this._jsPlumb.endpoint.setImage(r,o),this._compute=function(t,e,n,i){return this.anchorPoint=t,this._jsPlumb.ready?[t[0]-this._jsPlumb.widthToUse/2,t[1]-this._jsPlumb.heightToUse/2,this._jsPlumb.widthToUse,this._jsPlumb.heightToUse]:[0,0,0,0]},this.canvas=e.createElement("img",{position:"absolute",margin:0,padding:0,outline:0},this._jsPlumb.instance.endpointClass+a),this._jsPlumb.widthToUse&&this.canvas.setAttribute("width",this._jsPlumb.widthToUse),this._jsPlumb.heightToUse&&this.canvas.setAttribute("height",this._jsPlumb.heightToUse),this._jsPlumb.instance.appendElement(this.canvas),this.actuallyPaint=function(t,e,i){if(!this._jsPlumb.deleted){this._jsPlumb.initialized||(this.canvas.setAttribute("src",this._jsPlumb.img.src),this.appendDisplayElement(this.canvas),this._jsPlumb.initialized=!0);var o=this.anchorPoint[0]-this._jsPlumb.widthToUse/2,s=this.anchorPoint[1]-this._jsPlumb.heightToUse/2;n.sizeElement(this.canvas,o,s,this._jsPlumb.widthToUse,this._jsPlumb.heightToUse)}},this.paint=function(e,n){null!=this._jsPlumb&&(this._jsPlumb.ready?this.actuallyPaint(e,n):t.setTimeout(function(){this.paint(e,n)}.bind(this),200))}},n.extend(e.Endpoints.Image,[s,e.Endpoints.AbstractEndpoint],{cleanup:function(t){t&&(this._jsPlumb.deleted=!0,this.canvas&&this.canvas.parentNode.removeChild(this.canvas),this.canvas=null)}}),e.Endpoints.Blank=function(t){e.Endpoints.AbstractEndpoint.apply(this,arguments);this.type="Blank",s.apply(this,arguments),this._compute=function(t,e,n,i){return[t[0],t[1],10,0]};var i=t.cssClass?" "+t.cssClass:"";this.canvas=e.createElement("div",{display:"block",width:"1px",height:"1px",background:"transparent",position:"absolute"},this._jsPlumb.instance.endpointClass+i),this._jsPlumb.instance.appendElement(this.canvas),this.paint=function(t,e){n.sizeElement(this.canvas,this.x,this.y,this.w,this.h)}},n.extend(e.Endpoints.Blank,[e.Endpoints.AbstractEndpoint,s],{cleanup:function(){this.canvas&&this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas)}}),e.Endpoints.Triangle=function(t){this.type="Triangle",e.Endpoints.AbstractEndpoint.apply(this,arguments);var n=this;t=t||{},t.width=t.width||55,t.height=t.height||55,this.width=t.width,this.height=t.height,this._compute=function(t,e,i,o){var s=i.width||n.width,r=i.height||n.height,a=t[0]-s/2,l=t[1]-r/2;return[a,l,s,r]}};var r=e.Overlays.AbstractOverlay=function(t){this.visible=!0,this.isAppendedAtTopLevel=!0,this.component=t.component,this.loc=null==t.location?.5:t.location,this.endpointLoc=null==t.endpointLocation?[.5,.5]:t.endpointLocation,this.visible=!1!==t.visible};r.prototype={cleanup:function(t){t&&(this.component=null,this.canvas=null,this.endpointLoc=null)},reattach:function(t,e){},setVisible:function(t){this.visible=t,this.component.repaint()},isVisible:function(){return this.visible},hide:function(){this.setVisible(!1)},show:function(){this.setVisible(!0)},incrementLocation:function(t){this.loc+=t,this.component.repaint()},setLocation:function(t){this.loc=t,this.component.repaint()},getLocation:function(){return this.loc},updateFrom:function(){}},e.Overlays.Arrow=function(t){this.type="Arrow",r.apply(this,arguments),this.isAppendedAtTopLevel=!1,t=t||{};var o=this;this.length=t.length||20,this.width=t.width||20,this.id=t.id,this.direction=(t.direction||1)<0?-1:1;var s=t.paintStyle||{"stroke-width":1},a=t.foldback||.623;this.computeMaxSize=function(){return 1.5*o.width},this.elementCreated=function(n,i){if(this.path=n,t.events)for(var o in t.events)e.on(n,o,t.events[o])},this.draw=function(t,e){var o,r,l,u,c;if(t.pointAlongPathFrom){if(n.isString(this.loc)||this.loc>1||this.loc<0){var h=parseInt(this.loc,10),d=this.loc<0?1:0;o=t.pointAlongPathFrom(d,h,!1),r=t.pointAlongPathFrom(d,h-this.direction*this.length/2,!1),l=i.pointOnLine(o,r,this.length)}else if(1===this.loc){if(o=t.pointOnPath(this.loc),r=t.pointAlongPathFrom(this.loc,-this.length),l=i.pointOnLine(o,r,this.length),-1===this.direction){var p=l;l=o,o=p}}else if(0===this.loc){if(l=t.pointOnPath(this.loc),r=t.pointAlongPathFrom(this.loc,this.length),o=i.pointOnLine(l,r,this.length),-1===this.direction){var f=l;l=o,o=f}}else o=t.pointAlongPathFrom(this.loc,this.direction*this.length/2),r=t.pointOnPath(this.loc),l=i.pointOnLine(o,r,this.length);u=i.perpendicularLineTo(o,l,this.width),c=i.pointOnLine(o,l,a*this.length);var g={hxy:o,tail:u,cxy:c},m=s.stroke||e.stroke,v=s.fill||e.stroke,b=s.strokeWidth||e.strokeWidth;return{component:t,d:g,"stroke-width":b,stroke:m,fill:v,minX:Math.min(o.x,u[0].x,u[1].x),maxX:Math.max(o.x,u[0].x,u[1].x),minY:Math.min(o.y,u[0].y,u[1].y),maxY:Math.max(o.y,u[0].y,u[1].y)}}return{component:t,minX:0,maxX:0,minY:0,maxY:0}}},n.extend(e.Overlays.Arrow,r,{updateFrom:function(t){this.length=t.length||this.length,this.width=t.width||this.width,this.direction=null!=t.direction?t.direction:this.direction,this.foldback=t.foldback||this.foldback},cleanup:function(){this.path&&this.canvas&&this.canvas.removeChild(this.path)}}),e.Overlays.PlainArrow=function(t){t=t||{};var n=e.extend(t,{foldback:1});e.Overlays.Arrow.call(this,n),this.type="PlainArrow"},n.extend(e.Overlays.PlainArrow,e.Overlays.Arrow),e.Overlays.Diamond=function(t){t=t||{};var n=t.length||40,i=e.extend(t,{length:n/2,foldback:2});e.Overlays.Arrow.call(this,i),this.type="Diamond"},n.extend(e.Overlays.Diamond,e.Overlays.Arrow);var a=function(t,e){return(null==t._jsPlumb.cachedDimensions||e)&&(t._jsPlumb.cachedDimensions=t.getDimensions()),t._jsPlumb.cachedDimensions},l=function(t){e.jsPlumbUIComponent.apply(this,arguments),r.apply(this,arguments);var i=this.fire;this.fire=function(){i.apply(this,arguments),this.component&&this.component.fire.apply(this.component,arguments)},this.detached=!1,this.id=t.id,this._jsPlumb.div=null,this._jsPlumb.initialised=!1,this._jsPlumb.component=t.component,this._jsPlumb.cachedDimensions=null,this._jsPlumb.create=t.create,this._jsPlumb.initiallyInvisible=!1===t.visible,this.getElement=function(){if(null==this._jsPlumb.div){var n=this._jsPlumb.div=e.getElement(this._jsPlumb.create(this._jsPlumb.component));n.style.position="absolute",jsPlumb.addClass(n,this._jsPlumb.instance.overlayClass+" "+(this.cssClass?this.cssClass:t.cssClass?t.cssClass:"")),this._jsPlumb.instance.appendElement(n),this._jsPlumb.instance.getId(n),this.canvas=n;var i="translate(-50%, -50%)";n.style.webkitTransform=i,n.style.mozTransform=i,n.style.msTransform=i,n.style.oTransform=i,n.style.transform=i,n._jsPlumb=this,!1===t.visible&&(n.style.display="none")}return this._jsPlumb.div},this.draw=function(t,e,i){var o=a(this);if(null!=o&&2===o.length){var s={x:0,y:0};if(i)s={x:i[0],y:i[1]};else if(t.pointOnPath){var r=this.loc,l=!1;(n.isString(this.loc)||this.loc<0||this.loc>1)&&(r=parseInt(this.loc,10),l=!0),s=t.pointOnPath(r,l)}else{var u=this.loc.constructor===Array?this.loc:this.endpointLoc;s={x:u[0]*t.w,y:u[1]*t.h}}var c=s.x-o[0]/2,h=s.y-o[1]/2;return{component:t,d:{minx:c,miny:h,td:o,cxy:s},minX:c,maxX:c+o[0],minY:h,maxY:h+o[1]}}return{minX:0,maxX:0,minY:0,maxY:0}}};n.extend(l,[e.jsPlumbUIComponent,r],{getDimensions:function(){return[1,1]},setVisible:function(t){this._jsPlumb.div&&(this._jsPlumb.div.style.display=t?"block":"none",t&&this._jsPlumb.initiallyInvisible&&(a(this,!0),this.component.repaint(),this._jsPlumb.initiallyInvisible=!1))},clearCachedDimensions:function(){this._jsPlumb.cachedDimensions=null},cleanup:function(t){t?null!=this._jsPlumb.div&&(this._jsPlumb.div._jsPlumb=null,this._jsPlumb.instance.removeElement(this._jsPlumb.div)):(this._jsPlumb&&this._jsPlumb.div&&this._jsPlumb.div.parentNode&&this._jsPlumb.div.parentNode.removeChild(this._jsPlumb.div),this.detached=!0)},reattach:function(t,e){null!=this._jsPlumb.div&&t.getContainer().appendChild(this._jsPlumb.div),this.detached=!1},computeMaxSize:function(){var t=a(this);return Math.max(t[0],t[1])},paint:function(t,e){this._jsPlumb.initialised||(this.getElement(),t.component.appendDisplayElement(this._jsPlumb.div),this._jsPlumb.initialised=!0,this.detached&&this._jsPlumb.div.parentNode.removeChild(this._jsPlumb.div)),this._jsPlumb.div.style.left=t.component.x+t.d.minx+"px",this._jsPlumb.div.style.top=t.component.y+t.d.miny+"px"}}),e.Overlays.Custom=function(t){this.type="Custom",l.apply(this,arguments)},n.extend(e.Overlays.Custom,l),e.Overlays.GuideLines=function(){var t=this;t.length=50,t.strokeWidth=5,this.type="GuideLines",r.apply(this,arguments),e.jsPlumbUIComponent.apply(this,arguments),this.draw=function(e,n){var o=e.pointAlongPathFrom(t.loc,t.length/2),s=e.pointOnPath(t.loc),r=i.pointOnLine(o,s,t.length),a=i.perpendicularLineTo(o,r,40),l=i.perpendicularLineTo(r,o,20);return{connector:e,head:o,tail:r,headLine:l,tailLine:a,minX:Math.min(o.x,r.x,l[0].x,l[1].x),minY:Math.min(o.y,r.y,l[0].y,l[1].y),maxX:Math.max(o.x,r.x,l[0].x,l[1].x),maxY:Math.max(o.y,r.y,l[0].y,l[1].y)}}},e.Overlays.Label=function(t){this.labelStyle=t.labelStyle;this.cssClass=null!=this.labelStyle?this.labelStyle.cssClass:null;var n=e.extend({create:function(){return e.createElement("div")}},t);if(e.Overlays.Custom.call(this,n),this.type="Label",this.label=t.label||"",this.labelText=null,this.labelStyle){var i=this.getElement();if(this.labelStyle.font=this.labelStyle.font||"12px sans-serif",i.style.font=this.labelStyle.font,i.style.color=this.labelStyle.color||"black",this.labelStyle.fill&&(i.style.background=this.labelStyle.fill),this.labelStyle.borderWidth>0){var o=this.labelStyle.borderStyle?this.labelStyle.borderStyle:"black";i.style.border=this.labelStyle.borderWidth+"px solid "+o}this.labelStyle.padding&&(i.style.padding=this.labelStyle.padding)}},n.extend(e.Overlays.Label,e.Overlays.Custom,{cleanup:function(t){t&&(this.div=null,this.label=null,this.labelText=null,this.cssClass=null,this.labelStyle=null)},getLabel:function(){return this.label},setLabel:function(t){this.label=t,this.labelText=null,this.clearCachedDimensions(),this.update(),this.component.repaint()},getDimensions:function(){return this.update(),l.prototype.getDimensions.apply(this,arguments)},update:function(){if("function"===typeof this.label){var t=this.label(this);this.getElement().innerHTML=t.replace(/\r\n/g,"
")}else null==this.labelText&&(this.labelText=this.label,this.getElement().innerHTML=this.labelText.replace(/\r\n/g,"
"))},updateFrom:function(t){null!=t.label&&this.setLabel(t.label)}})}.call("undefined"!==typeof window?window:this),function(){"use strict";var t=this,e=t.jsPlumbUtil,n=t.jsPlumbInstance,i="jtk-group-collapsed",o="jtk-group-expanded",s="[jtk-group-content]",r="elementDraggable",a="stop",l="revert",u="_groupManager",c="_jsPlumbGroup",h="_jsPlumbGroupDrag",d="group:addMember",p="group:removeMember",f="group:add",g="group:remove",m="group:expand",v="group:collapse",b="groupDragStop",y="connectionMoved",P="internal.connectionDetached",x="removeAll",_="orphanAll",C="show",j="hide",E=function(t){var n={},s={},r={},a=this;function l(t){delete t.proxies;var n,i=s[t.id];null!=i&&(n=function(e){return e.id===t.id},e.removeWithFunction(i.connections.source,n),e.removeWithFunction(i.connections.target,n),delete s[t.id]),i=r[t.id],null!=i&&(n=function(e){return e.id===t.id},e.removeWithFunction(i.connections.source,n),e.removeWithFunction(i.connections.target,n),delete r[t.id])}function u(e,n){for(var i=e.getMembers(),o=0;o0?t[0]:u},f=!0===i.ghost,g=f||!0===i.constrain,m=!1!==i.revert,v=!0===i.orphan,y=!0===i.prune,P=!0===i.dropOverride,x=!1!==i.proxied,_=[];if(this.connections={source:[],target:[],internal:[]},this.getAnchor=function(t,e){return i.anchor||"Continuous"},this.getEndpoint=function(t,e){return i.endpoint||["Dot",{radius:10}]},this.collapsed=!1,!1!==i.draggable){var C={stop:function(t){n.fire(b,jsPlumb.extend(t,{group:o}))},scope:h};i.dragOptions&&t.jsPlumb.extend(C,i.dragOptions),n.draggable(i.el,C)}!1!==i.droppable&&n.droppable(i.el,{drop:function(t){var e=t.drag.el;if(!e._isJsPlumbGroup){var i=e._jsPlumbGroup;if(i!==o){if(null!=i&&i.overrideDrop(e,o))return;n.getGroupManager().addToGroup(o,e,!1)}}}});var j=function(t,e){for(var n=null==t.nodeType?t:[t],i=0;i0&&r0&&l0&&u[4]!==r[4]){var p=Math.min(f(u),f(r)),m=Math.min(c,p/2);u[2]-=a[0]*m,u[3]-=a[1]*m,r[0]+=l[0]*m,r[1]+=l[1]*m;var v=a[1]===l[0]&&1===l[0]||a[1]===l[0]&&0===l[0]&&a[0]!==l[1]||a[1]===l[0]&&-1===l[0],b=r[1]>u[3]?1:-1,y=r[0]>u[2]?1:-1,P=b===y,x=P&&v||!P&&!v?r[0]:u[2],_=P&&v||!P&&!v?u[3]:r[1];s.addSegment(t,i,{x1:u[0],y1:u[1],x2:u[2],y2:u[3]}),s.addSegment(t,o,{r:m,x1:u[2],y1:u[3],x2:r[0],y2:r[1],cx:x,cy:_,ac:v})}else{var C=u[2]===u[0]?0:u[2]>u[0]?n.lw/2:-n.lw/2,j=u[3]===u[1]?0:u[3]>u[1]?n.lw/2:-n.lw/2;s.addSegment(t,i,{x1:u[0]-C,y1:u[1]-j,x2:u[2]+C,y2:u[3]+j})}u=r}null!=r&&s.addSegment(t,i,{x1:r[0],y1:r[1],x2:r[2],y2:r[3]})};this._compute=function(t,e){n=[],l=null,u=null,null;var i=function(){return[t.startStubX,t.startStubY,t.endStubX,t.endStubY]},o={perpendicular:i,orthogonal:i,opposite:function(e){var n=t,i="x"===e?0:1,o={x:function(){return 1===n.so[i]&&(n.startStubX>n.endStubX&&n.tx>n.startStubX||n.sx>n.endStubX&&n.tx>n.sx)||-1===n.so[i]&&(n.startStubXn.endStubY&&n.ty>n.startStubY||n.sy>n.endStubY&&n.ty>n.sy)||-1===n.so[i]&&(n.startStubYu[e][0],g=o[e][d][0],m=o[e][d][1],v=i[e][d][p];return n.segment===v[3]||n.segment===v[2]&&f?s[e]:n.segment===v[2]&&m=g||n.segment===v[1]&&!f?l[e]:n.segment===v[0]||n.segment===v[1]&&f?a[e]:void 0},orthogonal:function(e,n,i,o,s){var r=t,a={x:-1===r.so[0]?Math.min(n,o):Math.max(n,o),y:-1===r.so[1]?Math.min(n,o):Math.max(n,o)}[e];return{x:[[a,i],[a,s],[o,s]],y:[[i,a],[s,a],[s,o]]}[e]},opposite:function(n,i,o,r){var a=t,l={x:"y",y:"x"}[n],u={x:"height",y:"width"}[n],c=a["is"+n.toUpperCase()+"GreaterThanStubTimes2"];if(e.sourceEndpoint.elementId===e.targetEndpoint.elementId){var d=o+(1-e.sourceEndpoint.anchor[l])*e.sourceInfo[u]+s.maxStub;return{x:[[i,d],[r,d]],y:[[d,i],[d,r]]}[n]}return!c||1===a.so[h]&&i>r||-1===a.so[h]&&ir?{x:[[y,a.sy],[y,a.ty]],y:[[a.sx,P],[a.tx,P]]}[n]:void 0}},C=_[t.anchorOrientation](t.sourceAxis,f,g,v,b);if(C)for(var j=0;j=e?3:4},o=function(t,e,n,i,o,s,r,a,l){return a<=l?[t,e]:1===n?i[3]<=0&&o[3]>=1?[t+(i[2]<.5?-1*s:s),e]:i[2]>=1&&o[2]<=0?[t,e+(i[3]<.5?-1*r:r)]:[t+-1*s,e+-1*r]:2===n?i[3]>=1&&o[3]<=0?[t+(i[2]<.5?-1*s:s),e]:i[2]>=1&&o[2]<=0?[t,e+(i[3]<.5?-1*r:r)]:[t+s,e+-1*r]:3===n?i[3]>=1&&o[3]<=0?[t+(i[2]<.5?-1*s:s),e]:i[2]<=0&&o[2]>=1?[t,e+(i[3]<.5?-1*r:r)]:[t+-1*s,e+-1*r]:4===n?i[3]<=0&&o[3]>=1?[t+(i[2]<.5?-1*s:s),e]:i[2]<=0&&o[2]>=1?[t,e+(i[3]<.5?-1*r:r)]:[t+s,e+-1*r]:void 0},s=function(t){t=t||{},this.type="StateMachine";var n,s=e.Connectors.AbstractBezierConnector.apply(this,arguments),r=t.curviness||10,a=t.margin||5,l=t.proximityLimit||80;t.orientation&&t.orientation;this._computeBezier=function(t,e,u,c,h,d){var p=e.sourcePos[0]n?t.insertBefore(e,t.childNodes[n]):t.appendChild(e)};n.svg={node:y,attr:b,pos:P};var E=function(t){var i=t.pointerEventsSpec||"all",o={};e.jsPlumbUIComponent.apply(this,t.originalArgs),this.canvas=null,this.path=null,this.svg=null,this.bgCanvas=null;var s=t.cssClass+" "+(t.originalArgs[0].cssClass||""),r={style:"",width:0,height:0,"pointer-events":i,position:"absolute"};this.svg=y("svg",r),t.useDivWrapper?(this.canvas=e.createElement("div",{position:"absolute"}),n.sizeElement(this.canvas,0,0,1,1),this.canvas.className=s):(b(this.svg,{class:s}),this.canvas=this.svg),t._jsPlumb.appendElement(this.canvas,t.originalArgs[0].parent),t.useDivWrapper&&this.canvas.appendChild(this.svg);var a=[this.canvas];return this.getDisplayElements=function(){return a},this.appendDisplayElement=function(t){a.push(t)},this.paint=function(e,i,s){if(null!=e){var r,a=[this.x,this.y],l=[this.w,this.h];null!=s&&(s.xmin<0&&(a[0]+=s.xmin),s.ymin<0&&(a[1]+=s.ymin),l[0]=s.xmax+(s.xmin<0?-s.xmin:0),l[1]=s.ymax+(s.ymin<0?-s.ymin:0)),t.useDivWrapper?(n.sizeElement(this.canvas,a[0],a[1],l[0],l[1]),a[0]=0,a[1]=0,r=P([0,0])):r=P([a[0],a[1]]),o.paint.apply(this,arguments),b(this.svg,{style:r,width:l[0]||0,height:l[1]||0})}},{renderer:o}};n.extend(E,e.jsPlumbUIComponent,{cleanup:function(t){t||null==this.typeId?(this.canvas&&(this.canvas._jsPlumb=null),this.svg&&(this.svg._jsPlumb=null),this.bgCanvas&&(this.bgCanvas._jsPlumb=null),this.canvas&&this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas),this.bgCanvas&&this.bgCanvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas),this.svg=null,this.canvas=null,this.path=null,this.group=null):(this.canvas&&this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas),this.bgCanvas&&this.bgCanvas.parentNode&&this.bgCanvas.parentNode.removeChild(this.bgCanvas))},reattach:function(t){var e=t.getContainer();this.canvas&&null==this.canvas.parentNode&&e.appendChild(this.canvas),this.bgCanvas&&null==this.bgCanvas.parentNode&&e.appendChild(this.bgCanvas)},setVisible:function(t){this.canvas&&(this.canvas.style.display=t?"block":"none")}}),e.ConnectorRenderers.svg=function(t){var n=this,i=E.apply(this,[{cssClass:t._jsPlumb.connectorClass,originalArgs:arguments,pointerEventsSpec:"none",_jsPlumb:t._jsPlumb}]);i.renderer.paint=function(i,o,s){var r=n.getSegments(),a="",l=[0,0];if(s.xmin<0&&(l[0]=-s.xmin),s.ymin<0&&(l[1]=-s.ymin),r.length>0){a=n.getPathData();var u={d:a,transform:"translate("+l[0]+","+l[1]+")","pointer-events":t["pointer-events"]||"visibleStroke"},c=null,h=[n.x,n.y,n.w,n.h];if(i.outlineStroke){var d=i.outlineWidth||1,p=i.strokeWidth+2*d;c=e.extend({},i),delete c.gradient,c.stroke=i.outlineStroke,c.strokeWidth=p,null==n.bgPath?(n.bgPath=y("path",u),e.addClass(n.bgPath,e.connectorOutlineClass),j(n.svg,n.bgPath,0)):b(n.bgPath,u),C(n.svg,n.bgPath,c,h,n)}null==n.path?(n.path=y("path",u),j(n.svg,n.path,i.outlineStroke?1:0)):b(n.path,u),C(n.svg,n.path,i,h,n)}}},n.extend(e.ConnectorRenderers.svg,E);var S=e.SvgEndpoint=function(t){var n=E.apply(this,[{cssClass:t._jsPlumb.endpointClass,originalArgs:arguments,pointerEventsSpec:"all",useDivWrapper:!0,_jsPlumb:t._jsPlumb}]);n.renderer.paint=function(t){var n=e.extend({},t);n.outlineStroke&&(n.stroke=n.outlineStroke),null==this.node?(this.node=this.makeNode(n),this.svg.appendChild(this.node)):null!=this.updateNode&&this.updateNode(this.node),C(this.svg,this.node,n,[this.x,this.y,this.w,this.h],this),P(this.node,[this.x,this.y])}.bind(this)};n.extend(S,E),e.Endpoints.svg.Dot=function(){e.Endpoints.Dot.apply(this,arguments),S.apply(this,arguments),this.makeNode=function(t){return y("circle",{cx:this.w/2,cy:this.h/2,r:this.radius})},this.updateNode=function(t){b(t,{cx:this.w/2,cy:this.h/2,r:this.radius})}},n.extend(e.Endpoints.svg.Dot,[e.Endpoints.Dot,S]),e.Endpoints.svg.Rectangle=function(){e.Endpoints.Rectangle.apply(this,arguments),S.apply(this,arguments),this.makeNode=function(t){return y("rect",{width:this.w,height:this.h})},this.updateNode=function(t){b(t,{width:this.w,height:this.h})}},n.extend(e.Endpoints.svg.Rectangle,[e.Endpoints.Rectangle,S]),e.Endpoints.svg.Image=e.Endpoints.Image,e.Endpoints.svg.Blank=e.Endpoints.Blank,e.Overlays.svg.Label=e.Overlays.Label,e.Overlays.svg.Custom=e.Overlays.Custom;var D=function(t,n){t.apply(this,n),e.jsPlumbUIComponent.apply(this,n),this.isAppendedAtTopLevel=!1;this.path=null,this.paint=function(t,e){if(t.component.svg&&e){null==this.path&&(this.path=y("path",{"pointer-events":"all"}),t.component.svg.appendChild(this.path),this.elementCreated&&this.elementCreated(this.path,t.component),this.canvas=t.component.svg);var o=n&&1===n.length&&n[0].cssClass||"",s=[0,0];e.xmin<0&&(s[0]=-e.xmin),e.ymin<0&&(s[1]=-e.ymin),b(this.path,{d:i(t.d),class:o,stroke:t.stroke?t.stroke:null,fill:t.fill?t.fill:null,transform:"translate("+s[0]+","+s[1]+")"})}};var i=function(t){return isNaN(t.cxy.x)||isNaN(t.cxy.y)?"":"M"+t.hxy.x+","+t.hxy.y+" L"+t.tail[0].x+","+t.tail[0].y+" L"+t.cxy.x+","+t.cxy.y+" L"+t.tail[1].x+","+t.tail[1].y+" L"+t.hxy.x+","+t.hxy.y};this.transfer=function(t){t.canvas&&this.path&&this.path.parentNode&&(this.path.parentNode.removeChild(this.path),t.canvas.appendChild(this.path))}};n.extend(D,[e.jsPlumbUIComponent,e.Overlays.AbstractOverlay],{cleanup:function(t){null!=this.path&&(t?this._jsPlumb.instance.removeElement(this.path):this.path.parentNode&&this.path.parentNode.removeChild(this.path))},reattach:function(t,e){this.path&&e.canvas&&e.canvas.appendChild(this.path)},setVisible:function(t){null!=this.path&&(this.path.style.display=t?"block":"none")}}),e.Overlays.svg.Arrow=function(){D.apply(this,[e.Overlays.Arrow,arguments])},n.extend(e.Overlays.svg.Arrow,[e.Overlays.Arrow,D]),e.Overlays.svg.PlainArrow=function(){D.apply(this,[e.Overlays.PlainArrow,arguments])},n.extend(e.Overlays.svg.PlainArrow,[e.Overlays.PlainArrow,D]),e.Overlays.svg.Diamond=function(){D.apply(this,[e.Overlays.Diamond,arguments])},n.extend(e.Overlays.svg.Diamond,[e.Overlays.Diamond,D]),e.Overlays.svg.GuideLines=function(){var t,n,i=null,o=this;e.Overlays.GuideLines.apply(this,arguments),this.paint=function(e,r){null==i&&(i=y("path"),e.connector.svg.appendChild(i),o.attachListeners(i,e.connector),o.attachListeners(i,o),t=y("path"),e.connector.svg.appendChild(t),o.attachListeners(t,e.connector),o.attachListeners(t,o),n=y("path"),e.connector.svg.appendChild(n),o.attachListeners(n,e.connector),o.attachListeners(n,o));var a=[0,0];r.xmin<0&&(a[0]=-r.xmin),r.ymin<0&&(a[1]=-r.ymin),b(i,{d:s(e.head,e.tail),stroke:"red",fill:null,transform:"translate("+a[0]+","+a[1]+")"}),b(t,{d:s(e.tailLine[0],e.tailLine[1]),stroke:"blue",fill:null,transform:"translate("+a[0]+","+a[1]+")"}),b(n,{d:s(e.headLine[0],e.headLine[1]),stroke:"green",fill:null,transform:"translate("+a[0]+","+a[1]+")"})};var s=function(t,e){return"M "+t.x+","+t.y+" L"+e.x+","+e.y}},n.extend(e.Overlays.svg.GuideLines,e.Overlays.GuideLines)}.call("undefined"!==typeof window?window:this),function(){"use strict";var t=this,e=t.jsPlumb,n=t.jsPlumbUtil,i=t.Katavorio,o=t.Biltong,s=function(e){var n=e._mottle;return n||(n=e._mottle=new t.Mottle),n},r=function(t,n){n=n||"main";var s="_katavorio_"+n,r=t[s],a=t.getEventManager();return r||(r=new i({bind:a.on,unbind:a.off,getSize:e.getSize,getConstrainingRectangle:function(t){return[t.parentNode.scrollWidth,t.parentNode.scrollHeight]},getPosition:function(e,n){var i=t.getOffset(e,n,e._katavorioDrag?e.offsetParent:null);return[i.left,i.top]},setPosition:function(t,e){t.style.left=e[0]+"px",t.style.top=e[1]+"px"},addClass:e.addClass,removeClass:e.removeClass,intersects:o.intersects,indexOf:function(t,e){return t.indexOf(e)},scope:t.getDefaultScope(),css:{noSelect:t.dragSelectClass,droppable:"jtk-droppable",draggable:"jtk-draggable",drag:"jtk-drag",selected:"jtk-drag-selected",active:"jtk-drag-active",hover:"jtk-drag-hover",ghostProxy:"jtk-ghost-proxy"}}),r.setZoom(t.getZoom()),t[s]=r,t.bind("zoom",r.setZoom)),r},a=function(t){var e=t.el._jsPlumbDragOptions,n=!0;return e.canDrag&&(n=e.canDrag()),n&&(this.setHoverSuspended(!0),this.select({source:t.el}).addClass(this.elementDraggingClass+" "+this.sourceElementDraggingClass,!0),this.select({target:t.el}).addClass(this.elementDraggingClass+" "+this.targetElementDraggingClass,!0),this.setConnectionBeingDragged(!0)),n},l=function(t){var e=this.getUIPosition(arguments,this.getZoom());if(null!=e){var n=t.el._jsPlumbDragOptions;this.draw(t.el,e,null,!0),n._dragging&&this.addClass(t.el,"jtk-dragged"),n._dragging=!0}},u=function(t){for(var e,n=t.selection,i=function(t){null!=t[1]&&(e=this.getUIPosition([{el:t[2].el,pos:[t[1].left,t[1].top]}]),this.draw(t[2].el,e)),null!=t[0]._jsPlumbDragOptions&&delete t[0]._jsPlumbDragOptions._dragging,this.removeClass(t[0],"jtk-dragged"),this.select({source:t[2].el}).removeClass(this.elementDraggingClass+" "+this.sourceElementDraggingClass,!0),this.select({target:t[2].el}).removeClass(this.elementDraggingClass+" "+this.targetElementDraggingClass,!0),this.getDragManager().dragEnded(t[2].el)}.bind(this),o=0;o0?t.touches:t.changedTouches&&t.changedTouches.length>0?t.changedTouches:t.targetTouches&&t.targetTouches.length>0?t.targetTouches:[t]},v=function(t){var e={},n=[],i={},o={},s={};this.register=function(r){var a,l=t.getId(r);e[l]||(e[l]=r,n.push(r),i[l]={});var u=function e(n){if(n)for(var u=0;u0){a||(a=t.getOffset(r));var d=t.getOffset(c);i[l][h]={id:h,offset:{left:d.left-a.left,top:d.top-a.top}},s[h]=l}e(n.childNodes[u])}};u(r)},this.updateOffsets=function(e,n){if(null!=e){n=n||{};var o,r=jsPlumb.getElement(e),a=t.getId(r),l=i[a];if(l)for(var u in l)if(l.hasOwnProperty(u)){var c=jsPlumb.getElement(u),h=n[u]||t.getOffset(c);if(null==c.offsetParent&&null!=i[a][u])continue;o||(o=t.getOffset(r)),i[a][u]={id:u,offset:{left:h.left-o.left,top:h.top-o.top}},s[u]=a}}},this.endpointAdded=function(n,r){r=r||t.getId(n);var a=document.body,l=n.parentNode;o[r]=o[r]?o[r]+1:1;while(null!=l&&l!==a){var u=t.getId(l,null,!0);if(u&&e[u]){var c=t.getOffset(l);if(null==i[u][r]){var h=t.getOffset(n);i[u][r]={id:r,offset:{left:h.left-c.left,top:h.top-c.top}},s[r]=u}break}l=l.parentNode}},this.endpointDeleted=function(t){if(o[t.elementId]&&(o[t.elementId]--,o[t.elementId]<=0))for(var e in i)i.hasOwnProperty(e)&&i[e]&&(delete i[e][t.elementId],delete s[t.elementId])},this.changeId=function(t,e){i[e]=i[t],i[t]={},s[e]=s[t],s[t]=null},this.getElementsForDraggable=function(t){return i[t]},this.elementRemoved=function(t){var e=s[t];e&&(delete i[e][t],delete s[t])},this.reset=function(){e={},n=[],i={},o={}},this.dragEnded=function(e){if(null!=e.offsetParent){var n=t.getId(e),i=s[n];i&&this.updateOffsets(i)}},this.setParent=function(e,n,o,r,a){var l=s[n];i[r]||(i[r]={});var u=t.getOffset(o),c=a||t.getOffset(e);l&&i[l]&&delete i[l][n],i[r][n]={id:n,offset:{left:c.left-u.left,top:c.top-u.top}},s[n]=r},this.clearParent=function(t,e){var n=s[e];n&&(delete i[n][e],delete s[e])},this.revalidateParent=function(e,n,i){var o=s[n];if(o){var r={};r[n]=i,this.updateOffsets(o,r),t.revalidate(o)}},this.getDragAncestor=function(e){var n=jsPlumb.getElement(e),i=t.getId(n),o=s[i];return o?jsPlumb.getElement(o):null}},b=function(t,e,i){e=n.fastTrim(e),"undefined"!==typeof t.className.baseVal?t.className.baseVal=e:t.className=e;try{var o=t.classList;if(null!=o){while(o.length>0)o.remove(o.item(0));for(var s=0;s0||t.scrollLeft>0)&&(i.left-=t.scrollLeft,i.top-=t.scrollTop)}.bind(this);while(null!=o)i.left+=o.offsetLeft,i.top+=o.offsetTop,s(o),o=e?o.offsetParent:o.offsetParent===n?null:o.offsetParent;if(null!=n&&!e&&(n.scrollTop>0||n.scrollLeft>0)){var r=null!=t.offsetParent?this.getStyle(t.offsetParent,"position"):"static",a=this.getStyle(t,"position");"absolute"!==a&&"fixed"!==a&&"absolute"!==r&&"fixed"!==r&&(i.left-=n.scrollLeft,i.top-=n.scrollTop)}return i},getPositionOnElement:function(t,e,n){var i="undefined"!==typeof e.getBoundingClientRect?e.getBoundingClientRect():{left:0,top:0,width:0,height:0},o=document.body,s=document.documentElement,r=window.pageYOffset||s.scrollTop||o.scrollTop,a=window.pageXOffset||s.scrollLeft||o.scrollLeft,l=s.clientTop||o.clientTop||0,u=s.clientLeft||o.clientLeft||0,c=0,h=0,d=i.top+r-l+c*n,p=i.left+a-u+h*n,f=jsPlumb.pageLocation(t),g=i.width||e.offsetWidth*n,m=i.height||e.offsetHeight*n,v=(f[0]-p)/g,b=(f[1]-d)/m;return[v,b]},getAbsolutePosition:function(t){var e=function(e){var n=t.style[e];if(n)return parseFloat(n.substring(0,n.length-2))};return[e("left"),e("top")]},setAbsolutePosition:function(t,e,n,i){n?this.animate(t,{left:"+="+(e[0]-n[0]),top:"+="+(e[1]-n[1])},i):(t.style.left=e[0]+"px",t.style.top=e[1]+"px")},getSize:function(t){return[t.offsetWidth,t.offsetHeight]},getWidth:function(t){return t.offsetWidth},getHeight:function(t){return t.offsetHeight},getRenderMode:function(){return"svg"},draggable:function(t,e){var i;return t=n.isArray(t)||null!=t.length&&!n.isString(t)?t:[t],Array.prototype.slice.call(t).forEach(function(t){i=this.info(t),i.el&&this._initDraggableIfNecessary(i.el,!0,e,i.id,!0)}.bind(this)),this},snapToGrid:function(t,e,n){var i=[],o=function(t){var o=this.info(t);if(null!=o.el&&o.el._katavorioDrag){var s=o.el._katavorioDrag.snap(e,n);this.revalidate(o.el),i.push([o.el,s])}}.bind(this);if(1===arguments.length||3===arguments.length)o(t,e,n);else{var s=this.getManagedElements();for(var r in s)o(r,arguments[0],arguments[1])}return i},initDraggable:function(t,e,n){r(this,n).draggable(t,e),t._jsPlumbDragOptions=e},destroyDraggable:function(t,e){r(this,e).destroyDraggable(t),delete t._jsPlumbDragOptions},unbindDraggable:function(t,e,n,i){r(this,i).destroyDraggable(t,e,n)},setDraggable:function(t,e){return jsPlumb.each(t,function(t){this.isDragSupported(t)&&(this._draggableStates[this.getAttribute(t,"id")]=e,this.setElementDraggable(t,e))}.bind(this))},_draggableStates:{},toggleDraggable:function(t){var e;return jsPlumb.each(t,function(t){var n=this.getAttribute(t,"id");return e=null!=this._draggableStates[n]&&this._draggableStates[n],e=!e,this._draggableStates[n]=e,this.setDraggable(t,e),e}.bind(this)),e},_initDraggableIfNecessary:function(t,e,i,o,s){if(!jsPlumb.headless){var r=null!=e&&e;if(r&&jsPlumb.isDragSupported(t,this)){var c=i||this.Defaults.DragOptions;if(c=jsPlumb.extend({},c),jsPlumb.isAlreadyDraggable(t,this))i.force&&this.initDraggable(t,c);else{var h=jsPlumb.dragEvents.drag,d=jsPlumb.dragEvents.stop,p=jsPlumb.dragEvents.start;this.manage(o,t),c[p]=n.wrap(c[p],a.bind(this)),c[h]=n.wrap(c[h],l.bind(this)),c[d]=n.wrap(c[d],u.bind(this));var f=this.getId(t);this._draggableStates[f]=!0;var g=this._draggableStates[f];c.disabled=null!=g&&!g,this.initDraggable(t,c),this.getDragManager().register(t),s&&this.fire("elementDraggable",{el:t,options:c})}}}},animationSupported:!0,getElement:function(t){return null==t?null:(t="string"===typeof t?t:null!=t.length&&null==t.enctype?t[0]:t,"string"===typeof t?document.getElementById(t):t)},removeElement:function(t){r(this).elementRemoved(t),this.getEventManager().remove(t)},doAnimate:function(t,n,i){i=i||{};var o=this.getOffset(t),s=c(o,n),r=s[0]-o.left,a=s[1]-o.top,l=i.duration||250,u=15,h=l/u,d=u/l*r,p=u/l*a,f=0,g=setInterval((function(){e.setPosition(t,{left:o.left+d*(f+1),top:o.top+p*(f+1)}),null!=i.step&&i.step(f,Math.ceil(h)),f++,f>=h&&(window.clearInterval(g),null!=i.complete&&i.complete())}),u)},destroyDroppable:function(t,e){r(this,e).destroyDroppable(t)},unbindDroppable:function(t,e,n,i){r(this,i).destroyDroppable(t,e,n)},droppable:function(t,e){var i;return t=n.isArray(t)||null!=t.length&&!n.isString(t)?t:[t],e=e||{},e.allowLoopback=!1,Array.prototype.slice.call(t).forEach(function(t){i=this.info(t),i.el&&this.initDroppable(i.el,e)}.bind(this)),this},initDroppable:function(t,e,n){r(this,n).droppable(t,e)},isAlreadyDraggable:function(t){return null!=t._katavorioDrag},isDragSupported:function(t,e){return!0},isDropSupported:function(t,e){return!0},isElementDraggable:function(t){return t=e.getElement(t),t._katavorioDrag&&t._katavorioDrag.isEnabled()},getDragObject:function(t){return t[0].drag.getDragElement()},getDragScope:function(t){return t._katavorioDrag&&t._katavorioDrag.scopes.join(" ")||""},getDropEvent:function(t){return t[0].e},getUIPosition:function(t,e){var n=t[0].el;if(null==n.offsetParent)return null;var i=t[0].finalPos||t[0].pos,o={left:i[0],top:i[1]};if(n._katavorioDrag&&n.offsetParent!==this.getContainer()){var s=this.getOffset(n.offsetParent);o.left+=s.left,o.top+=s.top}return o},setDragFilter:function(t,e,n){t._katavorioDrag&&t._katavorioDrag.setFilter(e,n)},setElementDraggable:function(t,n){t=e.getElement(t),t._katavorioDrag&&t._katavorioDrag.setEnabled(n)},setDragScope:function(t,e){t._katavorioDrag&&t._katavorioDrag.k.setDragScope(t,e)},setDropScope:function(t,e){t._katavorioDrop&&t._katavorioDrop.length>0&&t._katavorioDrop[0].k.setDropScope(t,e)},addToPosse:function(t,n){var i=Array.prototype.slice.call(arguments,1),o=r(this);e.each(t,(function(t){t=[e.getElement(t)],t.push.apply(t,i),o.addToPosse.apply(o,t)}))},setPosse:function(t,n){var i=Array.prototype.slice.call(arguments,1),o=r(this);e.each(t,(function(t){t=[e.getElement(t)],t.push.apply(t,i),o.setPosse.apply(o,t)}))},removeFromPosse:function(t,n){var i=Array.prototype.slice.call(arguments,1),o=r(this);e.each(t,(function(t){t=[e.getElement(t)],t.push.apply(t,i),o.removeFromPosse.apply(o,t)}))},removeFromAllPosses:function(t){var n=r(this);e.each(t,(function(t){n.removeFromAllPosses(e.getElement(t))}))},setPosseState:function(t,n,i){var o=r(this);e.each(t,(function(t){o.setPosseState(e.getElement(t),n,i)}))},dragEvents:{start:"start",stop:"stop",drag:"drag",step:"step",over:"over",out:"out",drop:"drop",complete:"complete",beforeStart:"beforeStart"},animEvents:{step:"step",complete:"complete"},stopDrag:function(t){t._katavorioDrag&&t._katavorioDrag.abort()},addToDragSelection:function(t){r(this).select(t)},removeFromDragSelection:function(t){r(this).deselect(t)},clearDragSelection:function(){r(this).deselectAll()},trigger:function(t,e,n,i){this.getEventManager().trigger(t,e,n,i)},doReset:function(){for(var t in this)0===t.indexOf("_katavorio_")&&this[t].reset()},getEventManager:function(){return s(this)},on:function(t,e,n){return this.getEventManager().on.apply(this,arguments),this},off:function(t,e,n){return this.getEventManager().off.apply(this,arguments),this}});var x=function(t){var e=function e(){/complete|loaded|interactive/.test(document.readyState)&&"undefined"!==typeof document.body&&null!=document.body?t():setTimeout(e,9)};e()};x(e.init)}.call("undefined"!==typeof window?window:this)},"92f6":function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var i={name:"流程C",nodeList:[{id:"nodeA",name:"流程C-节点A",type:"task",left:"400px",top:"15px",ico:"el-icon-user-solid"},{id:"nodeB",name:"流程C-节点B",type:"task",left:"400px",top:"200px",ico:"el-icon-goods"},{id:"nodeC",name:"流程C-节点C",type:"task",left:"400px",top:"378px",ico:"el-icon-present"}],lineList:[{from:"nodeA",to:"nodeB"},{from:"nodeB",to:"nodeC"}]};function o(){return i}},b214:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var i={name:"流程D",nodeList:[{id:"nodeA",name:"流程D-节点A",type:"task",left:"18px",top:"223px",ico:"el-icon-user-solid",state:"success"},{id:"nodeB",type:"task",name:"流程D-节点B",left:"351px",top:"96px",ico:"el-icon-goods",state:"error"},{id:"nodeC",name:"流程D-节点C",type:"task",left:"354px",top:"351px",ico:"el-icon-present",state:"warning"},{id:"nodeD",name:"流程D-节点D",type:"task",left:"723px",top:"215px",ico:"el-icon-present",state:"running"}],lineList:[{from:"nodeA",to:"nodeB",label:"直线,自定义线样式,固定锚点",connector:"Straight",anchors:["Top","Bottom"],paintStyle:{strokeWidth:2,stroke:"#1879FF"}},{from:"nodeA",to:"nodeC",label:"贝塞尔曲线,固定锚点",connector:"Bezier",anchors:["Bottom","Left"]},{from:"nodeB",to:"nodeD",label:"默认连线样式,动态锚点"},{from:"nodeC",to:"nodeD",label:"默认连线样式,动态锚点"},{from:"nodeC",to:"nodeC",label:"自连接"}]};function o(){return i}},b545:function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("div",{staticClass:"ef-node-form"},[n("div",{staticClass:"ef-node-form-header"},["node"===t.type?n("span",[t._v("节点配置")]):n("span",[t._v("连线配置")])]),n("div",{staticClass:"ef-node-form-body"},[n("el-form",{directives:[{name:"show",rawName:"v-show",value:"node"===t.type,expression:"type === 'node'"}],ref:"dataForm",attrs:{model:t.node,"label-width":"80px","label-position":"top"}},[n("el-form-item",{attrs:{label:"名称:"}},[n("el-input",{attrs:{size:"mini"},model:{value:t.node.name,callback:function(e){t.$set(t.node,"name",e)},expression:"node.name"}})],1),n("el-form-item",{attrs:{label:"审批人员:"}}),n("el-form-item",{attrs:{label:"","label-width":"0px"}},[n("el-button",{attrs:{type:"text",size:"mini",icon:"el-icon-plus"},on:{click:function(e){return t.addUserSelector()}}},[t._v("添加人员")]),n("nodeUser",{attrs:{userSelectors:t.node.userSelectors}})],1),n("el-checkbox",{model:{value:t.node.isWaitingAllUser,callback:function(e){t.$set(t.node,"isWaitingAllUser",e)},expression:"node.isWaitingAllUser"}},[t._v("等待所有人员审批")]),n("br"),n("br"),n("el-form-item",{attrs:{label:"退回节点:"}}),n("el-form-item",{attrs:{label:"","label-width":"0px"}},[n("el-button",{attrs:{type:"text",size:"mini",icon:"el-icon-plus"},on:{click:function(e){return t.addRejectNode()}}},[t._v("添加节点")]),n("rejectNode",{attrs:{rejectNodes:t.node.rejectNodes,nodeList:t.data.nodeList}})],1),n("br"),n("el-form-item",[n("el-button",{attrs:{size:"mini",icon:"el-icon-close"}},[t._v("重置")]),n("el-button",{attrs:{size:"mini",type:"primary",icon:"el-icon-check"},on:{click:t.save}},[t._v("确定")])],1)],1),n("el-form",{directives:[{name:"show",rawName:"v-show",value:"line"===t.type,expression:"type === 'line'"}],ref:"dataForm",attrs:{model:t.line,"label-width":"80px","label-position":"top"}},[n("el-form-item",{attrs:{label:"条件名称:"}},[n("el-input",{attrs:{size:"mini"},model:{value:t.line.label,callback:function(e){t.$set(t.line,"label",e)},expression:"line.label"}})],1),n("el-form-item",{attrs:{label:"","label-width":"0px"}},[n("el-button",{attrs:{type:"text",size:"small",icon:"el-icon-plus"},on:{click:function(e){return t.addLineCondition()}}},[t._v("添加条件")]),n("lineCondition",{attrs:{conditions:t.line.conditions}})],1),n("el-form-item",[n("el-button",{attrs:{size:"mini",icon:"el-icon-close"}},[t._v("重置")]),n("el-button",{attrs:{size:"mini",type:"primary",icon:"el-icon-check"},on:{click:t.saveLine}},[t._v("确定")])],1)],1)],1)])])},o=[],s=(n("4de4"),n("d3b7"),n("b0c0"),n("2ef0")),r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",t._l(t.rejectNodes,(function(e,i){return n("el-card",{key:i,staticClass:"reject-card",staticStyle:{"margin-top":"10px"},attrs:{shadow:"naver"}},[n("el-button",{attrs:{type:"text",size:"small",icon:"el-icon-remove"},on:{click:function(e){return t.delRejectNode(t.rejectNodes,i)}}},[t._v("移除")]),n("br"),n("el-select",{staticStyle:{width:"100%"},attrs:{size:"mini",placeholder:"选择节点"},model:{value:e.nodeId,callback:function(n){t.$set(e,"nodeId",n)},expression:"item.nodeId"}},t._l(t.nodeList,(function(t){return n("el-option",{key:t.id,attrs:{label:t.name,value:t.id}})})),1),n("div",[n("el-button",{attrs:{type:"text",size:"small",icon:"el-icon-plus"},on:{click:function(n){return t.addRejectCondition(e)}}},[t._v("添加回退条件")]),n("lineCondition",{attrs:{conditions:e.conditions}})],1)],1)})),1)},a=[],l=(n("a434"),function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",t._l(t.conditions,(function(e,i){return n("el-card",{key:i,attrs:{shadow:"naver"}},[n("el-button",{attrs:{type:"text",size:"small",icon:"el-icon-remove"},on:{click:function(e){return t.delcondition(t.conditions,i)}}},[t._v("移除")]),n("br"),n("el-select",{staticStyle:{width:"100%"},attrs:{size:"mini",placeholder:"选择条件类型"},model:{value:e.conditionId,callback:function(n){t.$set(e,"conditionId",n)},expression:"item.conditionId"}},t._l(t.conditionSelectors,(function(t){return n("el-option",{key:t.id,attrs:{label:t.name,value:t.id}})})),1),n("p",{staticClass:"text-description"},[t._v(t._s(t.getConditionDescription(e.conditionId)))]),n("el-input",{attrs:{size:"mini",placeholder:"参数"},model:{value:e.parameter,callback:function(n){t.$set(e,"parameter",n)},expression:"item.parameter"}}),n("el-input",{attrs:{size:"mini",placeholder:"描述"},model:{value:e.description,callback:function(n){t.$set(e,"description",n)},expression:"item.description"}})],1)})),1)}),u=[],c=(n("a4d3"),n("e01a"),{props:{conditions:{type:Array,default:function(){return[]}}},data:function(){return{conditionSelectors:[]}},mounted:function(){this.loadConditionSelectors()},methods:{loadConditionSelectors:function(){var t=this;this.$store.dispatch("workflow/getAllconditions").then((function(e){console.log(e),t.conditionSelectors=e}))},delcondition:function(t,e){t.splice(e,1)},getConditionDescription:function(t){var e=this.conditionSelectors.filter((function(e){return e.id==t}));return 0==e.length?"":e[0].description}}}),h=c,d=n("2877"),p=Object(d["a"])(h,l,u,!1,null,null,null),f=p.exports,g={components:{lineCondition:f},props:{rejectNodes:{type:Array,default:function(){return[]}},nodeList:{type:Array,default:function(){return[]}}},methods:{delRejectNode:function(t,e){t.splice(e,1)},addRejectCondition:function(t){t.conditions||this.$set(t,"conditions",[]),t.conditions.push({conditionId:"",conditionName:"",parameter:"",description:""})}}},m=g,v=Object(d["a"])(m,r,a,!1,null,null,null),b=v.exports,y=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",t._l(t.userSelectors,(function(e,i){return n("el-card",{key:i,staticClass:"user-card",staticStyle:{"margin-top":"10px"},attrs:{shadow:"naver"}},[n("el-button",{attrs:{type:"text",size:"small",icon:"el-icon-remove"},on:{click:function(e){return t.delUserSelector(t.userSelectors,i)}}},[t._v("移除")]),n("br"),n("el-select",{staticStyle:{width:"100%"},attrs:{size:"mini",placeholder:"选择人员类型"},on:{change:function(n){return t.selectorChange(e)}},model:{value:e.selectorId,callback:function(n){t.$set(e,"selectorId",n)},expression:"item.selectorId"}},t._l(t.allUserSelectors,(function(t){return n("el-option",{key:t.id,attrs:{label:t.name,value:t.id}})})),1),n("p",{staticClass:"text-description"},[t._v(t._s(t.getUserSeletorDescription(e.selectorId)))]),n("userSelections",{ref:"userSelections",refInFor:!0,attrs:{index:i,selectorId:e.selectorId,selections:e.selections},on:{"ok-click":t.userSelectionsOkHandler}}),n("el-input",{attrs:{size:"mini",placeholder:"参数"},model:{value:e.parameter,callback:function(n){t.$set(e,"parameter",n)},expression:"item.parameter"}}),n("el-radio-group",{attrs:{size:"mini"},model:{value:e.handleType,callback:function(n){t.$set(e,"handleType",n)},expression:"item.handleType"}},[n("el-radio",{attrs:{label:0}},[t._v("审批")]),n("el-radio",{attrs:{label:1}},[t._v("抄送")])],1),n("el-input",{attrs:{size:"mini",placeholder:"描述"},model:{value:e.description,callback:function(n){t.$set(e,"description",n)},expression:"item.description"}})],1)})),1)},P=[],x=(n("159b"),n("a15b"),function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-select",{staticStyle:{width:"100%"},attrs:{value:t.selectedValues,multiple:"",filterable:"","allow-create":"","default-first-option":"",size:"mini",placeholder:"请选择文章标签"},on:{focus:t.onfocus,change:t.onchange}},t._l(t.allOptions,(function(t){return n("el-option",{key:t.id,attrs:{label:t.name,value:t.id}})})),1)}),_=[],C=(n("a9e3"),{props:{selections:{type:Array},index:{type:Number},selectorId:{type:String}},watch:{selectorId:function(){this.onfocus()}},computed:{allOptions:function(){var t=[];return t=0==this.options.length?this.selections.filter((function(t){return!0})):this.options,t},selectedValues:function(){var t=[];return this.selections.forEach((function(e){t.push(e.id)})),t}},data:function(){return{options:[]}},methods:{onfocus:function(){var t=this;this.$store.dispatch("workflow/getUserSelectionsOfUserSelector",{userSelectorId:this.selectorId}).then((function(e){console.log(e),t.options=e}))},onchange:function(t){this.$emit("ok-click",{index:this.index,value:this.options.filter((function(e){return t.indexOf(e.id)>-1}))})}}}),j=C,E=Object(d["a"])(j,x,_,!1,null,null,null),S=E.exports,D={components:{userSelections:S},props:{userSelectors:{type:Array,default:function(){return[]}}},filters:{getSelectionsName:function(t){if(!t)return"";var e=[];return t.forEach((function(t){e.push(t.name)})),e.join(",")}},data:function(){return{allUserSelectors:[]}},mounted:function(){this.loadUserSelectors()},methods:{loadUserSelectors:function(){var t=this;this.$store.dispatch("workflow/getAllUserSelectors").then((function(e){console.log(e),t.allUserSelectors=e}))},delUserSelector:function(t,e){t.splice(e,1)},userSelectionsOkHandler:function(t){var e=this.userSelectors[t.index];this.$set(e,"selections",[]),t.value.forEach((function(t){e.selections.push({id:t.id,name:t.name})}))},getUserSeletorDescription:function(t){var e=this.allUserSelectors.filter((function(e){return e.id==t}));return 0==e.length?"":e[0].description},selectorChange:function(t){this.$set(t,"selections",[])}}},w=D,I=(n("bbed"),Object(d["a"])(w,y,P,!1,null,null,null)),A=I.exports,k={components:{rejectNode:b,nodeUser:A,lineCondition:f},data:function(){return{visible:!0,type:"node",node:{},line:{},data:{},stateList:[{state:"success",label:"成功"},{state:"warning",label:"警告"},{state:"error",label:"错误"},{state:"running",label:"运行中"}]}},methods:{nodeInit:function(t,e){var n=this;this.type="node",this.data=t,t.nodeList.filter((function(t){t.id===e&&(n.node=Object(s["cloneDeep"])(t))}))},lineInit:function(t){this.type="line",this.line=t},saveLine:function(){this.$emit("setLineLabel",this.line.from,this.line.to,this.line.label,this.line.conditions),this.$message("操作成功")},save:function(){var t=this;this.data.nodeList.filter((function(e){e.id===t.node.id&&(e.name=t.node.name,e.left=t.node.left,e.top=t.node.top,e.ico=t.node.ico,e.state=t.node.state,e.isWaitingAllUser=t.node.isWaitingAllUser,e.userSelectors=t.node.userSelectors,e.rejectNodes=t.node.rejectNodes,t.$emit("repaintEverything"))})),this.$message("操作成功")},addUserSelector:function(){this.node.userSelectors||this.$set(this.node,"userSelectors",[]),this.node.userSelectors.push({selectorId:"",selectorName:"",selections:[],parameter:"",description:"",handleType:0})},addRejectNode:function(){this.node.rejectNodes||this.$set(this.node,"rejectNodes",[]),this.node.rejectNodes.push({nodeId:"",nodeName:"",conditions:[]})},addLineCondition:function(){this.line.conditions||this.$set(this.node,"conditions",[]),this.line.conditions.push({conditionId:"",conditionName:"",parameter:"",description:""})}}},O=k,M=(n("1a5b"),Object(d["a"])(O,i,o,!1,null,null,null));e["a"]=M.exports},bbed:function(t,e,n){"use strict";n("1958")},c069:function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{ref:"tool",staticClass:"flow-menu"},t._l(t.menuList,(function(e){return n("div",{key:e.id},[n("span",{staticClass:"ef-node-pmenu",on:{click:function(t){e.open=!e.open}}},[n("i",{class:{"el-icon-caret-bottom":e.open,"el-icon-caret-right":!e.open}}),t._v(" "+t._s(e.name))]),n("ul",{directives:[{name:"show",rawName:"v-show",value:e.open,expression:"menu.open"}],staticClass:"ef-node-menu-ul"},[n("draggable",{attrs:{options:t.draggableOptions},on:{end:t.end,start:t.move},model:{value:e.children,callback:function(n){t.$set(e,"children",n)},expression:"menu.children"}},t._l(e.children,(function(e){return n("li",{key:e.id,staticClass:"ef-node-menu-li",attrs:{type:e.type}},[n("i",{class:e.ico}),t._v(" "+t._s(e.name)+" ")])})),0)],1)])})),0)},o=[],s=n("b76a"),r=n.n(s),a={left:-1,top:-1},l={data:function(){return{activeNames:"1",draggableOptions:{preventOnFilter:!1,sort:!1,disabled:!1,ghostClass:"tt",forceFallback:!0},defaultOpeneds:["1","2"],menuList:[{id:"1",type:"group",name:"所有节点",ico:"el-icon-video-play",open:!0,children:[{id:"11",type:"Begin",name:"开始",ico:"el-icon-s-flag",style:{}},{id:"12",type:"End",name:"结束",ico:"el-icon-finished",style:{}},{id:"13",type:"Normal",name:"普通",ico:"el-icon-monitor",style:{}},{id:"15",type:"Sign",name:"会签",ico:"el-icon-edit-outline",style:{}},{id:"17",type:"SubProcess",name:"子流程",ico:"el-icon-share",style:{}},{id:"18",type:"SubNode",name:"子节点",ico:"el-icon-set-up",style:{}}]}],nodeMenu:{}}},components:{draggable:r.a},created:function(){this.isFirefox()&&(document.body.ondrop=function(t){a.left=t.layerX,a.top=t.clientY-50,t.preventDefault(),t.stopPropagation()})},methods:{getMenuByType:function(t){for(var e=0;e-1}}},u=l,c=n("2877"),h=Object(c["a"])(u,i,o,!1,null,null,null);e["a"]=h.exports},c560:function(t,e,n){},c5dc:function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-dialog",{attrs:{title:"流程数据信息",visible:t.dialogVisible,width:"70%"},on:{"update:visible":function(e){t.dialogVisible=e}}},[n("el-alert",{attrs:{title:"使用说明",type:"warning",description:"以下流程信息可以被存储起来,方便下一次流程加载","show-icon":"","close-text":"知道了"}}),n("br"),n("codemirror",{staticClass:"code",attrs:{value:t.flowJsonData,options:t.options}})],1)},o=[],s=(n("d3b7"),n("25f0"),n("e9c4"),n("a7be"),n("8f94"));n("f9d4");var r={props:{data:Object},data:function(){return{dialogVisible:!1,flowJsonData:{},options:{mode:{name:"javascript",json:!0},lineNumbers:!0}}},components:{codemirror:s["codemirror"]},methods:{init:function(){this.dialogVisible=!0,this.flowJsonData=JSON.stringify(this.data,null,4).toString()}}},a=r,l=n("2877"),u=Object(l["a"])(a,i,o,!1,null,null,null);e["a"]=u.exports},f598:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var i={name:"流程A",nodeList:[{id:"nodeA",name:"流程A-节点A",type:"task",left:"26px",top:"161px",ico:"el-icon-user-solid"},{id:"nodeB",name:"流程A-节点B",type:"task",left:"340px",top:"161px",ico:"el-icon-goods"},{id:"nodeC",name:"流程A-节点C",type:"task",left:"739px",top:"161px",ico:"el-icon-present"}],lineList:[{from:"nodeA",to:"nodeB"},{from:"nodeB",to:"nodeC"}]};function o(){return i}}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-commons.e5f54825.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-commons.e5f54825.js new file mode 100644 index 0000000000000000000000000000000000000000..2891d7dc0a91963e835cd66dedfa11d6f01293b2 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-commons.e5f54825.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-commons"],{"018b":function(t,e,n){"use strict";n.d(e,"a",(function(){return h}));var i,o=1e3,s=1e3,r=[],a=[],l={},u={},c={};function h(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i=0,r=[],a=[],l={},u={},c={};for(var e=t.nodeList,n=0;n0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.source=t,this.target=e}function p(){for(var t,e,n,o=6,s=0;s0&&n<250){var c=r[s].id;l[c]=l[c]+t/n*i*i/n*o,u[c]=u[c]+e/n*i*i/n*o}}}function f(){for(var t,e,n=3,o=0;ot&&(a=t),c<-e&&(c=-e),c>e&&(c=e),i.x=i.x+a>=o||i.x+a<=0?i.x-a:i.x+a,i.y=i.y+c>=s||i.y+c<=0?i.y-c:i.y+c}}},"0aef":function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.easyFlowVisible?n("div",{staticStyle:{height:"calc(100vh)"}},[n("div",{staticStyle:{display:"flex",height:"calc(100% - 0px)"}},[n("div",{directives:[{name:"flowDrag",rawName:"v-flowDrag"}],ref:"efContainer",staticClass:"container",attrs:{id:"efContainer"}},[t._l(t.data.nodeList,(function(e){return[n("flow-node",{key:e.id,attrs:{id:e.id,node:e,activeElement:t.activeElement},on:{changeNodeSite:t.changeNodeSite,nodeRightMenu:t.nodeRightMenu,clickNode:t.clickNode}})]})),n("div",{staticStyle:{position:"absolute",top:"2000px",left:"2000px"}})],2)]),t.flowInfoVisible?n("flow-info",{ref:"flowInfo",attrs:{data:t.data}}):t._e(),t.flowHelpVisible?n("flow-help",{ref:"flowHelp"}):t._e()],1):t._e()},o=[],s=(n("b0c0"),n("d3b7"),n("25f0"),n("159b"),n("4de4"),n("e9c4"),n("b76a")),r=n.n(s),a=(n("7aa8"),n("3301")),l=n("540a"),u=n("c069"),c=n("c5dc"),h=n("4af4"),d=n("b545"),p=n("2ef0"),f=n.n(p),m=n("f598"),g=n("6951"),v=n("92f6"),b=n("b214"),y=n("30f2"),P=n("018b"),x={props:{nodeData:{type:Object}},computed:{workflowName:function(){return this.$route.query.name}},data:function(){return{jsPlumb:null,easyFlowVisible:!0,flowInfoVisible:!1,loadEasyFlowFinish:!1,flowHelpVisible:!1,data:{},activeElement:{type:void 0,nodeId:void 0,sourceId:void 0,targetId:void 0},zoom:.5,activeLine:{from:"",to:""},nodeTypeMap:{Begin:0,End:1,Normal:2,Judge:3,Sign:4},workflowId:{}}},mixins:[a["a"]],components:{draggable:r.a,flowNode:l["a"],nodeMenu:u["a"],FlowInfo:c["a"],FlowNodeForm:d["a"],FlowHelp:h["a"]},directives:{flowDrag:{bind:function(t,e,n,i){e&&(t.onmousedown=function(e){if(2!=e.button){var n=e.clientX,i=e.clientY;t.style.cursor="move",document.onmousemove=function(e){e.preventDefault();var o=e.clientX-n;n=e.clientX,t.scrollLeft+=-o;var s=e.clientY-i;i=e.clientY,t.scrollTop+=-s},document.onmouseup=function(e){t.style.cursor="auto",document.onmousemove=null,document.onmouseup=null}}})}}},mounted:function(){this.jsPlumb=jsPlumb.getInstance(),this.keyCodeForEvent()},methods:{loadNodeData:function(){var t=this;this.$nextTick((function(){t.dataReload(t.nodeData)}))},getUUID:function(){return Math.random().toString(36).substr(3,10)},newGuid:function(){for(var t="",e=1;e<=32;e++){var n=Math.floor(16*Math.random()).toString(16);t+=n,8!=e&&12!=e&&16!=e&&20!=e||(t+="-")}return t},jsPlumbInit:function(){var t=this,e=this;this.jsPlumb.ready((function(){t.jsPlumb.importDefaults(t.jsplumbSetting),t.jsPlumb.setSuspendDrawing(!1,!0),t.loadEasyFlow(),t.jsPlumb.bind("click",(function(n,i){t.activeElement.type="line",t.activeElement.sourceId=n.sourceId,t.activeElement.targetId=n.targetId,t.$refs.nodeForm.lineInit({from:n.sourceId,to:n.targetId,label:n.getLabel(),conditions:t.getConditionsOfLine(n.sourceId,n.targetId)});var o={from:n.sourceId,to:n.targetId};e.activeLine.from==o.from&&e.activeLine.to==o.to||(e.resetOldLineStyle(),e.activeLine=o,n.setPaintStyle({stroke:"lightgray",strokeWidth:3}),console.log(t.jsplumbConnectOptions))})),t.jsPlumb.bind("connection",(function(e){var n=e.source.id,i=e.target.id;t.loadEasyFlowFinish&&t.data.lineList.push({from:n,to:i,label:"",conditions:[]})})),t.jsPlumb.bind("connectionDetached",(function(e){t.deleteLine(e.sourceId,e.targetId)})),t.jsPlumb.bind("connectionMoved",(function(e){t.changeLine(e.originalSourceId,e.originalTargetId)})),t.jsPlumb.bind("contextmenu",(function(t){console.log("contextmenu",t)})),t.jsPlumb.bind("beforeDrop",(function(e){var n=e.sourceId,i=e.targetId;return t.hasLine(n,i)?(t.$message.error("该关系已存在,不允许重复创建"),!1):(t.$message.success("连接成功"),!0)})),t.jsPlumb.bind("beforeDetach",(function(t){console.log("beforeDetach",t)})),t.jsPlumb.setContainer(t.$refs.efContainer)}))},loadEasyFlow:function(){for(var t=0;tr.width+r.x||lr.y+r.height)this.$message.error("请把节点拖入到画布中");else{a=a-r.x+s.scrollLeft,l=l-r.y+s.scrollTop,a-=85,l-=16;var u=this.newGuid(),c=e.name,h=c,d=1;while(d<1e4){for(var p=!1,f=0;f=1||(this.zoom=this.zoom+.1,this.$refs.efContainer.style.transform="scale(".concat(this.zoom,")"),this.jsPlumb.setZoom(this.zoom))},zoomSub:function(){this.zoom<=0||(this.zoom=this.zoom-.1,this.$refs.efContainer.style.transform="scale(".concat(this.zoom,")"),this.jsPlumb.setZoom(this.zoom))},downloadData:function(){var t=this;this.$confirm("确定要下载该流程数据吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning",closeOnClickModal:!1}).then((function(){var e="data:text/json;charset=utf-8,"+encodeURIComponent(JSON.stringify(t.data,null,"\t")),n=document.createElement("a");n.setAttribute("href",e),n.setAttribute("download","data.json"),n.click(),n.remove(),t.$message.success("正在下载中,请稍后...")})).catch((function(){}))},openHelp:function(){this.flowHelpVisible=!0,this.$nextTick((function(){this.$refs.flowHelp.init()}))},keyCodeForEvent:function(){var t=this;document.getElementById("efContainer").onkeydown=function(e){console.log(e);var n=e||event,i=n.keyCode||n.which||n.charCode;8!==i&&46!==i||(t.deleteElement(),n.preventDefault())}},getConditionsOfLine:function(t,e){return this.data.lineList.filter((function(n){return n.from==t&&n.to==e}))[0].conditions},resetOldLineStyle:function(){var t=this.jsPlumb.getConnections({source:this.activeLine.from,target:this.activeLine.to});if(this.activeLine={from:"",to:""},1==t.length){var e=t[0];e.setPaintStyle(this.jsplumbSetting.PaintStyle)}},update:function(){var t=this,e={drawingInfo:JSON.stringify(this.data),workflowId:this.workflowId,workflowLines:[],workflowNodes:[]};this.data.nodeList.forEach((function(n){n.nodeType=t.nodeTypeMap[n.type],e.workflowNodes.push(n)})),this.data.lineList.forEach((function(t){t.name=t.label,t.fromNodeId=t.from,t.toNodeId=t.to,e.workflowLines.push(t)})),console.log(e),this.$emit("update",e)}}},_=x,C=n("2877"),j=Object(C["a"])(_,i,o,!1,null,null,null);e["a"]=j.exports},1958:function(t,e,n){},"1a5b":function(t,e,n){"use strict";n("6f7a")},"1ef9":function(t,e,n){"use strict";n("c560")},"30f2":function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var i={name:"流程E,力导图",nodeList:[{id:"nodeA",name:"流程D-节点A",type:"task",ico:"el-icon-user-solid",state:"success"},{id:"nodeB",type:"task",name:"流程D-节点B",ico:"el-icon-goods",state:"error"},{id:"nodeC",name:"流程D-节点C",type:"task",ico:"el-icon-present",state:"warning"},{id:"nodeD",name:"流程D-节点D",type:"task",ico:"el-icon-present",state:"running"}],lineList:[{from:"nodeA",to:"nodeB"},{from:"nodeA",to:"nodeC",label:"hello"},{from:"nodeB",to:"nodeD"},{from:"nodeC",to:"nodeD"},{from:"nodeC",to:"nodeC"}]};function o(){return i}},3301:function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));var i={data:function(){return{jsplumbSetting:{Anchors:["Top","TopCenter","TopRight","TopLeft","Right","RightMiddle","Bottom","BottomCenter","BottomRight","BottomLeft","Left","LeftMiddle"],Container:"efContainer",Connector:["Flowchart",{stub:30,gap:1,alwaysRespectStubs:!1,midpoint:.5,cornerRadius:10}],ConnectionsDetachable:!1,DeleteEndpointsOnDetach:!1,Endpoint:["Blank",{Overlays:""}],EndpointStyle:{fill:"#1879ffa1",outlineWidth:1},LogEnabled:!0,PaintStyle:{stroke:"#E0E3E7",strokeWidth:1,outlineStroke:"transparent",outlineWidth:10},DragOptions:{cursor:"pointer",zIndex:2e3},Overlays:[["Arrow",{width:10,length:8,location:1,direction:1,foldback:.623}],["Label",{label:"",location:.1,cssClass:"aLabel"}]],RenderMode:"svg",HoverPaintStyle:{stroke:"#b0b2b5",strokeWidth:1},Scope:"jsPlumb_DefaultScope"},jsplumbConnectOptions:{isSource:!0,isTarget:!0,anchor:"Continuous",labelStyle:{cssClass:"flowLabel"},emptyLabelStyle:{cssClass:"emptyFlowLabel"}},jsplumbSourceOptions:{filter:".flow-node-drag",filterExclude:!1,anchor:"Continuous",allowLoopback:!0,maxConnections:-1,onMaxConnections:function(t,e){console.log("超过了最大值连线: ".concat(t.maxConnections))}},jsplumbSourceOptions2:{filter:".flow-node-drag",filterExclude:!1,allowLoopback:!0,connector:["Flowchart",{curviness:50}],connectorStyle:{stroke:"red",strokeWidth:1,outlineStroke:"transparent",outlineWidth:10},connectorHoverStyle:{stroke:"red",strokeWidth:2}},jsplumbTargetOptions:{filter:".flow-node-drag",filterExclude:!1,anchor:"Continuous",allowLoopback:!0,dropOptions:{hoverClass:"ef-drop-hover"}}}}}},"4af4":function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-dialog",{attrs:{title:"帮助",visible:t.dialogVisible,width:"70%",customClass:"flowHelp"},on:{"update:visible":function(e){t.dialogVisible=e}}},[n("el-tabs",{attrs:{"tab-position":"left"}},[n("el-tab-pane",{attrs:{label:"如何新增"}},[n("el-divider",{attrs:{"content-position":"left"}},[t._v("如何新增")]),n("div",[t._v("按住鼠标拖拽左侧组件到中间画布中松开鼠标即可")])],1),n("el-tab-pane",{attrs:{label:"如何删除"}},[n("el-divider",{attrs:{"content-position":"left"}},[t._v("页面删除")]),n("div",[t._v(" 鼠标点中需要删除的节点,点击左上角的删除图标 ")]),n("el-divider",{attrs:{"content-position":"left"}},[t._v("通过代码删除")]),n("pre",[t._v("this.deleteNode(nodeId)")])],1),n("el-tab-pane",{attrs:{label:"如何移动"}},[n("el-divider",{attrs:{"content-position":"left"}},[t._v("如何移动")]),n("div",[t._v("鼠标移动到节点中,当鼠标变为可拖拽的图标时按下鼠标移动到新的位置松开鼠标")])],1),n("el-tab-pane",{attrs:{label:"如何连线"}},[n("el-divider",{attrs:{"content-position":"left"}},[t._v("如何连线")]),n("div",[t._v("鼠标移动到节点中左侧的图标上,当鼠标变为+时按下鼠标移动到另一个节点中松开鼠标")])],1),n("el-tab-pane",{attrs:{label:"如何添加条件"}},[n("el-divider",{attrs:{"content-position":"left"}},[t._v("如何添加条件")]),n("div",[t._v("点击画布中的连线,在页面右侧会出现一个表单,输入新的条件,点击【保存】")])],1),n("el-tab-pane",{attrs:{label:"如何进行后端交互存储"}},[n("el-divider",{attrs:{"content-position":"left"}},[t._v("如何进行后端交互存储")]),n("div",[t._v("参考: https://gitee.com/xiaoka2017/easy-flow-sdk")])],1)],1)],1)},o=[],s={data:function(){return{dialogVisible:!1}},components:{},methods:{init:function(){this.dialogVisible=!0}}},r=s,a=(n("1ef9"),n("2877")),l=Object(a["a"])(r,i,o,!1,null,null,null);e["a"]=l.exports},"540a":function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{ref:"node",class:t.nodeContainerClass,style:t.nodeContainerStyle,on:{click:t.clickNode,mouseup:t.changeNodeSite}},[n("div",{staticClass:"ef-node-left"}),n("div",{staticClass:"ef-node-left-ico flow-node-drag"},[n("i",{class:t.nodeIcoClass})]),n("div",{staticClass:"ef-node-text",attrs:{"show-overflow-tooltip":!0}},[t._v(" "+t._s(t.node.name)+" ")]),n("div",{staticClass:"ef-node-right-ico"},[n("i",{directives:[{name:"show",rawName:"v-show",value:"success"===t.node.state,expression:"node.state === 'success'"}],staticClass:"el-icon-circle-check el-node-state-success"}),n("i",{directives:[{name:"show",rawName:"v-show",value:"error"===t.node.state,expression:"node.state === 'error'"}],staticClass:"el-icon-circle-close el-node-state-error"}),n("i",{directives:[{name:"show",rawName:"v-show",value:"warning"===t.node.state,expression:"node.state === 'warning'"}],staticClass:"el-icon-warning-outline el-node-state-warning"}),n("i",{directives:[{name:"show",rawName:"v-show",value:"running"===t.node.state,expression:"node.state === 'running'"}],staticClass:"el-icon-loading el-node-state-running"})])])},o=[],s={props:{node:Object,activeElement:Object},data:function(){return{}},computed:{nodeContainerClass:function(){return{"ef-node-container":!0,"ef-node-active":"node"==this.activeElement.type&&this.activeElement.nodeId===this.node.id}},nodeContainerStyle:function(){return{top:this.node.top,left:this.node.left}},nodeIcoClass:function(){var t={};return t[this.node.ico]=!0,t["flow-node-drag"]=!this.node.viewOnly,t}},methods:{clickNode:function(){this.$emit("clickNode",this.node.id)},changeNodeSite:function(){this.node.left==this.$refs.node.style.left&&this.node.top==this.$refs.node.style.top||this.$emit("changeNodeSite",{nodeId:this.node.id,left:this.$refs.node.style.left,top:this.$refs.node.style.top})}}},r=s,a=n("2877"),l=Object(a["a"])(r,i,o,!1,null,null,null);e["a"]=l.exports},6951:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var i={name:"流程B",nodeList:[{id:"nodeA",name:"节点A-不可拖拽",type:"task",left:"18px",top:"223px",ico:"el-icon-user-solid",state:"success",viewOnly:!0},{id:"nodeB",type:"task",name:"流程B-节点B",left:"351px",top:"96px",ico:"el-icon-goods",state:"error"},{id:"nodeC",name:"流程B-节点C",type:"task",left:"354px",top:"351px",ico:"el-icon-present",state:"warning"},{id:"nodeD",name:"流程B-节点D",type:"task",left:"723px",top:"215px",ico:"el-icon-present",state:"running"}],lineList:[{from:"nodeA",to:"nodeB",label:"条件A"},{from:"nodeA",to:"nodeC",label:"条件B"},{from:"nodeB",to:"nodeD"},{from:"nodeC",to:"nodeD"}]};function o(){return i}},"6f7a":function(t,e,n){},"7aa8":function(t,e,n){var i=n("7037").default;n("fb6a"),n("d3b7"),n("a434"),n("ac1f"),n("1276"),n("4d63"),n("2c3e"),n("25f0"),n("5319"),n("4de4"),n("4e82"),n("b0c0"),n("466d"),n("00b4"),n("d81d"),n("a15b"),n("18a5"),n("cb29"),n("159b"),function(){"undefined"==typeof Math.sgn&&(Math.sgn=function(t){return 0==t?0:t>0?1:-1});var t={subtract:function(t,e){return{x:t.x-e.x,y:t.y-e.y}},dotProduct:function(t,e){return t.x*e.x+t.y*e.y},square:function(t){return Math.sqrt(t.x*t.x+t.y*t.y)},scale:function(t,e){return{x:t.x*e,y:t.y*e}}},n=64,i=Math.pow(2,-n-1),o=function(e,n){for(var i=[],o=r(e,n),s=n.length-1,l=2*s-1,u=a(o,l,i,0),c=t.subtract(e,n[0]),d=t.square(c),p=0,f=0;f=n)return o[0]=(e[0].x+e[i].x)/2,1;if(u(e,i))return o[0]=c(e,i),1;break}h(e,i,.5,d,p),r=t(d,i,f,s+1),a=t(p,i,m,s+1);for(var g=0;gy?y=_:_0?1:-1,a=null;while(o1&&(i.location=1),i.location<0&&(i.location=0),x(t,i.location)},C=function(t,e,n,i){i=null==i?0:i;var o=v(t,e,i),s=x(t,o.location),r=Math.atan(-1/s),a=n/2*Math.sin(r),l=n/2*Math.cos(r);return[{x:o.point.x+l,y:o.point.y+a},{x:o.point.x-l,y:o.point.y-a}]},j=function(t,e,n,i,o){var s=i-e,r=t-n,a=t*(e-i)+e*(n-t),l=w(o),u=[s*l[0][0]+r*l[1][0],s*l[0][1]+r*l[1][1],s*l[0][2]+r*l[1][2],s*l[0][3]+r*l[1][3]+a],c=k.apply(null,u),h=[];if(null!=c)for(var d=0;d<3;d++){var p,f=c[d],m=Math.pow(f,2),g=Math.pow(f,3),v=[l[0][0]*g+l[0][1]*m+l[0][2]*f+l[0][3],l[1][0]*g+l[1][1]*m+l[1][2]*f+l[1][3]];p=n-t!==0?(v[0]-t)/(n-t):(v[1]-e)/(i-e),f>=0&&f<=1&&p>=0&&p<=1&&h.push(v)}return h},E=function(t,e,n,i,o){var s=[];return s.push.apply(s,j(t,e,t+n,e,o)),s.push.apply(s,j(t+n,e,t+n,e+i,o)),s.push.apply(s,j(t+n,e+i,t,e+i,o)),s.push.apply(s,j(t,e+i,t,e,o)),s},S=function(t,e){var n=[];return n.push.apply(n,j(t.x,t.y,t.x+t.w,t.y,e)),n.push.apply(n,j(t.x+t.w,t.y,t.x+t.w,t.y+t.h,e)),n.push.apply(n,j(t.x+t.w,t.y+t.h,t.x,t.y+t.h,e)),n.push.apply(n,j(t.x,t.y+t.h,t.x,t.y,e)),n};function D(t,e){return[-t[0][e]+3*t[1][e]+-3*t[2][e]+t[3][e],3*t[0][e]-6*t[1][e]+3*t[2][e],-3*t[0][e]+3*t[1][e],t[0][e]]}function w(t){return[D(t,"x"),D(t,"y")]}function I(t){return t<0?-1:t>0?1:0}function k(t,e,n,i){var o,s,r=e/t,a=n/t,l=i/t,u=(3*a-Math.pow(r,2))/9,c=(9*r*a-27*l-2*Math.pow(r,3))/54,h=Math.pow(u,3)+Math.pow(c,2),d=[];if(h>=0)o=I(c+Math.sqrt(h))*Math.pow(Math.abs(c+Math.sqrt(h)),1/3),s=I(c-Math.sqrt(h))*Math.pow(Math.abs(c-Math.sqrt(h)),1/3),d[0]=-r/3+(o+s),d[1]=-r/3-(o+s)/2,d[2]=-r/3-(o+s)/2,0!==Math.abs(Math.sqrt(3)*(o-s)/2)&&(d[1]=-1,d[2]=-1);else{var p=Math.acos(c/Math.sqrt(-Math.pow(u,3)));d[0]=2*Math.sqrt(-u)*Math.cos(p/3)-r/3,d[1]=2*Math.sqrt(-u)*Math.cos((p+2*Math.PI)/3)-r/3,d[2]=2*Math.sqrt(-u)*Math.cos((p+4*Math.PI)/3)-r/3}for(var f=0;f<3;f++)(d[f]<0||d[f]>1)&&(d[f]=-1);return d}var A=this.jsBezier={distanceFromCurve:o,gradientAtPoint:x,gradientAtPointAlongCurveFrom:_,nearestPointOnCurve:s,pointOnCurve:f,pointAlongCurveFrom:y,perpendicularToCurveAt:C,locationAlongCurveFrom:P,getLength:b,lineIntersection:j,boxIntersection:E,boundingBoxIntersection:S,version:"0.9.0"};e.jsBezier=A}.call("undefined"!==typeof window?window:this),function(){"use strict";var t=this,n=t.Biltong={version:"0.4.0"};e.Biltong=n;var i=function(t){return"[object Array]"===Object.prototype.toString.call(t)},o=function(t,e,n){return t=i(t)?t:[t.x,t.y],e=i(e)?e:[e.x,e.y],n(t,e)},s=n.gradient=function(t,e){return o(t,e,(function(t,e){return e[0]==t[0]?e[1]>t[1]?1/0:-1/0:e[1]==t[1]?e[0]>t[0]?0:-0:(e[1]-t[1])/(e[0]-t[0])}))},r=(n.normal=function(t,e){return-1/s(t,e)},n.lineLength=function(t,e){return o(t,e,(function(t,e){return Math.sqrt(Math.pow(e[1]-t[1],2)+Math.pow(e[0]-t[0],2))}))},n.quadrant=function(t,e){return o(t,e,(function(t,e){return e[0]>t[0]||e[0]==t[0]?e[1]>t[1]?2:1:e[1]>t[1]?3:4}))}),a=(n.theta=function(t,e){return o(t,e,(function(t,e){var n=s(t,e),i=Math.atan(n),o=r(t,e);return 4!=o&&3!=o||(i+=Math.PI),i<0&&(i+=2*Math.PI),i}))},n.intersects=function(t,e){var n=t.x,i=t.x+t.w,o=t.y,s=t.y+t.h,r=e.x,a=e.x+e.w,l=e.y,u=e.y+e.h;return n<=r&&r<=i&&o<=l&&l<=s||n<=a&&a<=i&&o<=l&&l<=s||n<=r&&r<=i&&o<=u&&u<=s||n<=a&&r<=i&&o<=u&&u<=s||r<=n&&n<=a&&l<=o&&o<=u||r<=i&&i<=a&&l<=o&&o<=u||r<=n&&n<=a&&l<=s&&s<=u||r<=i&&n<=a&&l<=s&&s<=u},n.encloses=function(t,e,n){var i=t.x,o=t.x+t.w,s=t.y,r=t.y+t.h,a=e.x,l=e.x+e.w,u=e.y,c=e.y+e.h,h=function(t,e,i,o){return n?t<=e&&i>=o:to};return h(i,a,o,l)&&h(s,u,r,c)},[null,[1,-1],[1,1],[-1,1],[-1,-1]]),l=[null,[-1,-1],[-1,1],[1,1],[1,-1]];n.pointOnLine=function(t,e,n){var i=s(t,e),o=r(t,e),u=n>0?a[o]:l[o],c=Math.atan(i),h=Math.abs(n*Math.sin(c))*u[1],d=Math.abs(n*Math.cos(c))*u[0];return{x:t.x+d,y:t.y+h}},n.perpendicularLineTo=function(t,e,n){var i=s(t,e),o=Math.atan(-1/i),r=n/2*Math.sin(o),a=n/2*Math.cos(o);return[{x:e.x+a,y:e.y+r},{x:e.x-a,y:e.y-r}]}}.call("undefined"!==typeof window?window:this),function(){"use strict";function t(t,e,n,i,o,s,r,a){return new Touch({target:e,identifier:F(),pageX:n,pageY:i,screenX:o,screenY:s,clientX:r||o,clientY:a||s})}function n(){var t=[];return Array.prototype.push.apply(t,arguments),t.item=function(t){return this[t]},t}function i(e,i,o,s,r,a,l,u){return n(t.apply(null,arguments))}var o=this,s=function(t,e,n){n=n||t.parentNode;for(var i=n.querySelectorAll(e),o=0;o-1&&j<9,S=function(t,e){if(null==t)return[0,0];var n=A(t),i=k(n,0);return[i[e+"X"],i[e+"Y"]]},D=function(t){return null==t?[0,0]:E?[t.clientX+document.documentElement.scrollLeft,t.clientY+document.documentElement.scrollTop]:S(t,"page")},w=function(t){return S(t,"screen")},I=function(t){return S(t,"client")},k=function(t,e){return t.item?t.item(e):t[e]},A=function(t){return t.touches&&t.touches.length>0?t.touches:t.changedTouches&&t.changedTouches.length>0?t.changedTouches:t.targetTouches&&t.targetTouches.length>0?t.targetTouches:[t]},O=function(t){return A(t).length},M=function(t,e,n,i){if(h(t,e,n),i.__tauid=n.__tauid,t.addEventListener)t.addEventListener(e,n,!1);else if(t.attachEvent){var o=e+n.__tauid;t["e"+o]=n,t[o]=function(){t["e"+o]&&t["e"+o](window.event)},t.attachEvent("on"+e,t[o])}},T=function t(e,n,i){null!=i&&L(e,(function(){var o=r(this);if(d(o,n,i),null!=i.__tauid)if(o.removeEventListener)o.removeEventListener(n,i,!1),x&&C[n]&&o.removeEventListener(C[n],i,!1);else if(this.detachEvent){var s=n+i.__tauid;o[s]&&o.detachEvent("on"+n,o[s]),o[s]=null,o["e"+s]=null}i.__taTouchProxy&&t(e,i.__taTouchProxy[1],i.__taTouchProxy[0])}))},L=function(t,e){if(null!=t){t="undefined"!==typeof Window&&"unknown"!==typeof t.top&&t==t.top?[t]:"string"!==typeof t&&null==t.tagName&&null!=t.length?t:"string"===typeof t?document.querySelectorAll(t):[t];for(var n=0;n-1&&c<9,f=9===c,m=function(t){if(p)return[t.clientX+document.documentElement.scrollLeft,t.clientY+document.documentElement.scrollTop];var e=v(t),n=g(e,0);return f?[n.pageX||n.clientX,n.pageY||n.clientY]:[n.pageX,n.pageY]},g=function(t,e){return t.item?t.item(e):t[e]},v=function(t){return t.touches&&t.touches.length>0?t.touches:t.changedTouches&&t.changedTouches.length>0?t.changedTouches:t.targetTouches&&t.targetTouches.length>0?t.targetTouches:[t]},b={delegatedDraggable:"katavorio-delegated-draggable",draggable:"katavorio-draggable",droppable:"katavorio-droppable",drag:"katavorio-drag",selected:"katavorio-drag-selected",active:"katavorio-drag-active",hover:"katavorio-drag-hover",noSelect:"katavorio-drag-no-select",ghostProxy:"katavorio-ghost-proxy",clonedDrag:"katavorio-clone-drag"},y="katavorio-drag-scope",P=["stop","start","drag","drop","over","out","beforeStart"],x=function(){},_=function(){return!0},C=function(t,e,n){for(var i=0;i0){var s=u(R,this.el,t.target||t.srcElement);if(null!=s&&(G=s[0],U=s[1]),null==U)return}else U=this.el;if(O)if(D=U.cloneNode(!0),this.params.addClass(D,b.clonedDrag),D.setAttribute("id",null),D.style.position="absolute",null!=this.params.parent){var a=this.params.getPosition(this.el);D.style.left=a[0]+"px",D.style.top=a[1]+"px",this.params.parent.appendChild(D)}else{var l=r(U);D.style.left=l.left+"px",D.style.top=l.top+"px",document.body.appendChild(D)}else D=U;E&&S(t),g=m(t),D&&D.parentNode&&(C=[D.parentNode.scrollLeft,D.parentNode.scrollTop]),this.params.bind(document,"mousemove",this.moveListener),this.params.bind(document,"mouseup",this.upListener),o.markSelection(this),o.markPosses(this),this.params.addClass(document.body,n.noSelect),st("beforeStart",{el:this.el,pos:v,e:t,drag:this})}else this.params.consumeFilteredEvents&&S(t)}}}.bind(this),this.moveListener=function(t){if(g){if(!x){var e=st("start",{el:this.el,pos:v,e:t,drag:this});if(!1!==e){if(!g)return;this.mark(!0),x=!0}else this.abort()}if(g){nt.length=0;var n=m(t),i=n[0]-g[0],s=n[1]-g[1],r=this.params.ignoreZoom?1:o.getZoom();D&&D.parentNode&&(i+=D.parentNode.scrollLeft-C[0],s+=D.parentNode.scrollTop-C[1]),i/=r,s/=r,this.moveBy(i,s,t),o.updateSelection(i,s,this),o.updatePosses(i,s,this)}}}.bind(this),this.upListener=function(t){g&&(g=null,this.params.unbind(document,"mousemove",this.moveListener),this.params.unbind(document,"mouseup",this.upListener),this.params.removeClass(document.body,n.noSelect),this.unmark(t),o.unmarkSelection(this,t),o.unmarkPosses(this,t),this.stop(t),o.notifyPosseDragStop(this,t),x=!1,nt.length=0,O?(D&&D.parentNode&&D.parentNode.removeChild(D),D=null):V&&!0===V(D,this.params.getPosition(D))&&(this.params.setPosition(D,v),st("revert",D)))}.bind(this),this.getFilters=function(){return Z},this.abort=function(){null!=g&&this.upListener()},this.getDragElement=function(t){return t?U||this.el:D||this.el};var it={start:[],drag:[],stop:[],over:[],out:[],beforeStart:[],revert:[]};e.events.start&&it.start.push(e.events.start),e.events.beforeStart&&it.beforeStart.push(e.events.beforeStart),e.events.stop&&it.stop.push(e.events.stop),e.events.drag&&it.drag.push(e.events.drag),e.events.revert&&it.revert.push(e.events.revert),this.on=function(t,e){it[t]&&it[t].push(e)},this.off=function(t,e){if(it[t]){for(var n=[],i=0;i0)for(var r=0;r0&&ot&&e.setPosition(U,ot),nt.sort(L);for(var o=0;oe.rank?-1:0},F=function(t){return null==t?null:(t="string"===typeof t||t.constructor===String?document.getElementById(t):t,null==t?null:(t._katavorio=t._katavorio||T(),t))};t.Katavorio=function(t){var e=[],r={};this._dragsByScope={},this._dropsByScope={};var a=1,l=function(t,e){E(t,(function(t){for(var n=0;n0},c=(this.getMatchingDroppables=function(t){for(var e=[],n={},i=0;i=0&&e.splice(o,1),u(t[n],i)&&E(t[n],(function(t){t.destroy()})),delete t[n]}},S=function(t,e,n,i){t=F(t),t[e]&&t[e].off(n,i)};this.elementRemoved=function(t){this.destroyDraggable(t),this.destroyDroppable(t)},this.destroyDraggable=function(t,e,n){1===arguments.length?j(t,"_katavorioDrag",this._dragsByScope):S(t,"_katavorioDrag",e,n)},this.destroyDroppable=function(t,e,n){1===arguments.length?j(t,"_katavorioDrop",this._dropsByScope):S(t,"_katavorioDrop",e,n)},this.reset=function(){this._dragsByScope={},this._dropsByScope={},e=[],r={},w={}};var w={},I=function(t,e,i){var o=s(e)?e:e.id,r=!!s(e)||!1!==e.active,a=w[o]||function(){var t={name:o,members:[]};return w[o]=t,t}();return E(t,(function(t){if(t._katavorioDrag){if(i&&null!=t._katavorioDrag.posseRoles[a.name])return;n(a.members,t._katavorioDrag),n(t._katavorioDrag.posses,a.name),t._katavorioDrag.posseRoles[a.name]=r}})),a};this.addToPosse=function(t,e){for(var n=[],i=1;i0}function d(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0}function p(t){if(s(t))return""+t;if(r(t))return!!t;if(u(t))return new Date(t.getTime());if(c(t))return t;if(i(t)){for(var e=[],n=0;n=s.length,l=function(){return o[r[1]]||function(){return o[r[1]]=[],o[r[1]]}()};if(a)r?l()[r[3]]=n:o[t]=n;else if(r){var u=l();o=u[r[3]]||function(){return u[r[3]]={},u[r[3]]}()}else o=o[t]||function(){return o[t]={},o[t]}();return""})),t}}function g(t,e,n){for(var i=0;i-1&&t.splice(n,1),-1!==n}function P(t,e){var n=t.indexOf(e);return n>-1&&t.splice(n,1),-1!==n}function x(t,e,n){-1===b(t,n)&&t.push(e)}function _(t,e,n,i){var o=t[e];return null==o&&(o=[],t[e]=o),o[i?"unshift":"push"](n),o}function C(t,e,n){return-1===t.indexOf(e)&&(n?t.unshift(e):t.push(e),!0)}function j(t,e,n){var o;e=i(e)?e:[e];var s=function(e){var n=e.__proto__;while(null!=n)if(null!=n.prototype){for(var i in n.prototype)n.prototype.hasOwnProperty(i)&&!t.prototype.hasOwnProperty(i)&&(t.prototype[i]=n.prototype[i]);n=n.prototype.__proto__}else n=null};for(o=0;o2)for(o=2;oe.scrollTop+e.offsetHeight)i[l]._jsPlumbProxies||(i[l]._jsPlumbProxies=i[l]._jsPlumbProxies||[],t.select({source:i[l]}).each((function(n){t.proxyConnection(n,0,e,a,(function(){return s("bottom",0,n.endpoints[0],n)}),(function(){return o("bottom",0,n.endpoints[0],n)})),i[l]._jsPlumbProxies.push([n,0])})),t.select({target:i[l]}).each((function(n){t.proxyConnection(n,1,e,a,(function(){return s("bottom",1,n.endpoints[1],n)}),(function(){return o("bottom",1,n.endpoints[1],n)})),i[l]._jsPlumbProxies.push([n,1])})));else if(i[l]._jsPlumbProxies){for(var u=0;u0)for(var t=0;t0){var r=Array.prototype.slice.call(arguments,1);try{for(var a=0,l=i.length;a0?-1!==t.indexOf(e):!n)};this.getConnections=function(t,e){t?t.constructor===String&&(t={scope:t}):t={};for(var n=t.scope||s.getDefaultScope(),i=ot(n,!0),o=ot(t.source),r=ot(t.target),a=!e&&i.length>1?{}:[],l=function(t,n){if(!e&&i.length>1){var o=a[t];null==o&&(o=a[t]=[]),o.push(n)}else a.push(n)},u=0,c=P.length;u0&&!m.isSource,v=d&&o.length>0&&!m.isTarget;if(g||v)continue t;r.push(m)}}}return ct(r)},this.getAllConnections=function(){return P},this.getDefaultScope=function(){return k},this.getEndpoint=L,this.getEndpoints=function(t){return x[d(t).id]||[]},this.getDefaultEndpointType=function(){return g.Endpoint},this.getDefaultConnectionType=function(){return g.Connection},this.getId=W,this.draw=T,this.info=d,this.appendElement=M;var ht=!1;this.isHoverSuspended=function(){return ht},this.setHoverSuspended=function(t){ht=t},this.hide=function(t,e){return z(t,"none",e),s},this.idstamp=O;var dt=function(t){if(!m&&t){var e=s.getElement(t);e.offsetParent&&s.setContainer(e.offsetParent)}},pt=function(){s.Defaults.Container&&s.setContainer(s.Defaults.Container)},ft=s.manage=function(t,e,n){return C[t]||(C[t]={el:e,endpoints:[],connections:[]},C[t].info=mt({elId:t,timestamp:I}),s.addClass(e,"jtk-managed"),n||s.fire("manageElement",{id:t,info:C[t].info,el:e})),C[t]},mt=(s.unmanage=function(t){if(C[t]){var e=C[t].el;s.removeClass(e,"jtk-managed"),delete C[t],s.fire("unmanageElement",{id:t,el:e})}},function(t){var e,n=t.timestamp,i=t.recalc,o=t.offset,r=t.elId;return w&&!n&&(n=I),!i&&n&&n===E[r]?{o:t.offset||j[r],s:D[r]}:(i||!o&&null==j[r]?(e=C[r]?C[r].el:null,null!=e&&(D[r]=s.getSize(e),j[r]=s.getOffset(e),E[r]=n)):(j[r]=o||j[r],null==D[r]&&(e=C[r].el,null!=e&&(D[r]=s.getSize(e))),E[r]=n),j[r]&&!j[r].right&&(j[r].right=j[r].left+D[r][0],j[r].bottom=j[r].top+D[r][1],j[r].width=D[r][0],j[r].height=D[r][1],j[r].centerx=j[r].left+j[r].width/2,j[r].centery=j[r].top+j[r].height/2),{o:j[r],s:D[r]})});this.updateOffset=mt,this.init=function(){y||(pt(),s.anchorManager=new t.jsPlumb.AnchorManager({jsPlumbInstance:s}),y=!0,s.fire("ready",s))}.bind(this),this.log=b,this.jsPlumbUIComponent=h,this.makeAnchor=function(){var e,i=function(e,n){if(t.jsPlumb.Anchors[e])return new t.jsPlumb.Anchors[e](n);if(!s.Defaults.DoNotThrowErrors)throw{msg:"jsPlumb: unknown anchor type '"+e+"'"}};if(0===arguments.length)return null;var o=arguments[0],r=arguments[1],a=null;if(o.compute&&o.getOrientation)return o;if("string"===typeof o)a=i(arguments[0],{elementId:r,jsPlumbInstance:s});else if(n.isArray(o))if(n.isArray(o[0])||n.isString(o[0]))2===o.length&&n.isObject(o[1])?n.isString(o[0])?(e=t.jsPlumb.extend({elementId:r,jsPlumbInstance:s},o[1]),a=i(o[0],e)):(e=t.jsPlumb.extend({elementId:r,jsPlumbInstance:s,anchors:o[0]},o[1]),a=new t.jsPlumb.DynamicAnchor(e)):a=new g.DynamicAnchor({anchors:o,selector:null,elementId:r,jsPlumbInstance:s});else{var l={x:o[0],y:o[1],orientation:o.length>=4?[o[2],o[3]]:[0,0],offsets:o.length>=6?[o[4],o[5]]:[0,0],elementId:r,jsPlumbInstance:s,cssClass:7===o.length?o[6]:null};a=new t.jsPlumb.Anchor(l),a.clone=function(){return new t.jsPlumb.Anchor(l)}}return a.id||(a.id="anchor_"+O()),a},this.makeAnchors=function(e,i,o){for(var r=[],a=0,l=e.length;a0&&t>=e.def.maxConnections},element:e.el,elementId:e.id,isSource:r,isTarget:a,addClass:function(t){s.addClass(e.el,t)},removeClass:function(t){s.removeClass(e.el,t)},onDrop:function(t){var e=t.endpoints[0];e.anchor.unlock()},isDropAllowed:function(){return l.isDropAllowed.apply(l,arguments)},isRedrop:function(t){return null!=t.suspendedElement&&null!=t.suspendedEndpoint&&t.suspendedEndpoint.element===e.el},getEndpoint:function(n){var o=e.def.endpoint;if(null==o||null==o._jsPlumb){var r=s.deriveEndpointAndAnchorSpec(n.getType().join(" "),!0),a=r.endpoints?t.jsPlumb.extend(i,{endpoint:e.def.def.endpoint||r.endpoints[1]}):i;r.anchors&&(a=t.jsPlumb.extend(a,{anchor:e.def.def.anchor||r.anchors[1]})),o=s.addEndpoint(e.el,a),o._mtNew=!0}if(i.uniqueEndpoint&&(e.def.endpoint=o),o.setDeleteOnEmpty(!0),n.isDetachable()&&o.initDraggable(),null!=o.anchor.positionFinder){var l=s.getUIPosition(arguments,s.getZoom()),u=s.getOffset(e.el),c=s.getSize(e.el),h=null==l?[0,0]:o.anchor.positionFinder(l,u,c,o.anchor.constructorParams);o.anchor.x=h[0],o.anchor.y=h[1]}return o},maybeCleanup:function(t){t._mtNew&&0===t.connections.length?s.deleteObject({endpoint:t}):delete t._mtNew}}),c=t.jsPlumb.dragEvents.drop;return o.scope=o.scope||i.scope||s.Defaults.Scope,o[c]=n.wrap(o[c],u,!0),o.rank=i.rank||0,a&&(o[t.jsPlumb.dragEvents.over]=function(){return!0}),!1===i.allowLoopback&&(o.canDrop=function(t){var n=t.getDragElement()._jsPlumbRelatedElement;return n!==e.el}),s.initDroppable(e.el,o,"internal"),u};this.makeTarget=function(e,n,i){var o=t.jsPlumb.extend({_jsPlumb:this},i);t.jsPlumb.extend(o,n);for(var r=o.maxConnections||-1,a=function(e){var n=d(e),i=n.id,a=t.jsPlumb.extend({},o.dropOptions||{}),l=o.connectionType||"default";this.targetEndpointDefinitions[i]=this.targetEndpointDefinitions[i]||{},dt(i),n.el._isJsPlumbGroup&&null==a.rank&&(a.rank=-1);var u={def:t.jsPlumb.extend({},o),uniqueEndpoint:o.uniqueEndpoint,maxConnections:r,enabled:!0};o.createEndpoint&&(u.uniqueEndpoint=!0,u.endpoint=s.addEndpoint(e,u.def),u.endpoint.setDeleteOnEmpty(!1)),n.def=u,this.targetEndpointDefinitions[i][l]=u,vt(n,o,a,!0===o.isSource,!0),n.el._katavorioDrop[n.el._katavorioDrop.length-1].targetDef=u}.bind(this),l=e.length&&e.constructor!==String?e:[e],u=0,c=l.length;u=0&&f>=d.maxConnections)return h&&h({element:i.el,maxConnections:u},e),!1;var g=t.jsPlumb.getPositionOnElement(e,l,c),v={};t.jsPlumb.extend(v,d.def),v.isTemporarySource=!0,v.anchor=[g[0],g[1],0,0],v.dragOptions=m,d.def.scope&&(v.scope=d.def.scope),b=this.addEndpoint(o,v),y=!0,b.setDeleteOnEmpty(!0),d.uniqueEndpoint&&(d.endpoint?b.finalEndpoint=d.endpoint:(d.endpoint=b,b.setDeleteOnEmpty(!1)));var P=function t(){s.off(b.canvas,"mouseup",t),s.off(i.el,"mouseup",t),y&&(y=!1,s.deleteEndpoint(b))};s.on(b.canvas,"mouseup",P),s.on(i.el,"mouseup",P);var x={};if(d.def.extract)for(var _ in d.def.extract){var C=(e.srcElement||e.target).getAttribute(_);C&&(x[d.def.extract[_]]=C)}s.trigger(b.canvas,"mousedown",e,x),n.consume(e)}}}.bind(this);this.on(i.el,"mousedown",P),d.trigger=P,r.filter&&(n.isString(r.filter)||n.isFunction(r.filter))&&s.setDragFilter(i.el,r.filter);var x=t.jsPlumb.extend({},r.dropOptions||{});vt(i,r,x,!0,!0===r.isTarget)}.bind(this),f=e.length&&e.constructor!==String?e:[e],m=0,g=f.length;m0)t(o.el.childNodes[0]);i||Ct(o,n)}};return s.batch((function(){i(t,!0)}),!1===e),s},this.reset=function(t){s.silently(function(){ht=!1,s.removeAllGroups(),s.removeGroupManager(),s.deleteEveryEndpoint(),t||s.unbind(),this.targetEndpointDefinitions={},this.sourceEndpointDefinitions={},P.length=0,this.doReset&&this.doReset()}.bind(this))};var jt=function(t){t.canvas&&t.canvas.parentNode&&t.canvas.parentNode.removeChild(t.canvas),t.cleanup(),t.destroy()};this.clear=function(){s.select().each(jt),s.selectEndpoints().each(jt),x={},_={}},this.setDefaultScope=function(t){return k=t,s},this.deriveEndpointAndAnchorSpec=function(t,e){for(var n=((e?"":"default ")+t).split(/[\s]/),i=null,o=null,r=null,a=null,l=0;l0)for(var e=0;e0?"add":"remove")+"Class"](u.endpointConnectedClass),this[(this.isFull()?"add":"remove")+"Class"](u.endpointFullClass)},this.detachFromConnection=function(t,e,n){e=null==e?this.connections.indexOf(t):e,e>=0&&(this.connections.splice(e,1),this[(this.connections.length>0?"add":"remove")+"Class"](u.endpointConnectedClass),this[(this.isFull()?"add":"remove")+"Class"](u.endpointFullClass)),!n&&p&&0===this.connections.length&&u.deleteObject({endpoint:this,fireEvent:!1,deleteAttachedObjects:!0!==n})},this.deleteEveryConnection=function(t){for(var e=this.connections.length,n=0;n0){var h=l(this,t.elementWithPrecedence),d=h.endpoints[0]===this?1:0,p=0===d?h.sourceId:h.targetId,f=u.getCachedData(p),m=f.o,g=f.s;c.index=0===d?1:0,c.connection=h,c.txy=[m.left,m.top],c.twh=g,c.tElement=h.endpoints[d]}else this.connections.length>0&&(c.connection=this.connections[0]);s=this.anchor.compute(c)}for(var v in this.endpoint.compute(s,this.anchor.getOrientation(this),this._jsPlumb.paintStyleInUse,r||this.paintStyleInUse),this.endpoint.paint(this._jsPlumb.paintStyleInUse,this.anchor),this.timestamp=e,this._jsPlumb.overlays)if(this._jsPlumb.overlays.hasOwnProperty(v)){var b=this._jsPlumb.overlays[v];b.isVisible()&&(this._jsPlumb.overlayPlacements[v]=b.draw(this.endpoint,this._jsPlumb.paintStyleInUse),b.paint(this._jsPlumb.overlayPlacements[v]))}}}},this.getTypeDescriptor=function(){return"endpoint"},this.isVisible=function(){return this._jsPlumb.visible},this.repaint=this.paint;var g=!1;this.initDraggable=function(){if(!g&&e.isDragSupported(this.element)){var a,l={id:null,element:null},p=null,f=!1,m=null,v=o(this,l,u),b=t.dragOptions||{},y={},P=e.dragEvents.start,x=e.dragEvents.stop,_=e.dragEvents.drag,C=e.dragEvents.beforeStart,j=function(t){a=t.e.payload||{}},E=function(n){p=this.connectorSelector();var o=!0;this.isEnabled()||(o=!1),null!=p||this.isSource||this.isTemporarySource||(o=!1),!this.isSource||!this.isFull()||null!=p&&this.dragAllowedWhenFull||(o=!1),null==p||p.isDetachable(this)||(this.isFull()?o=!1:p=null);var d=u.checkCondition(null==p?"beforeDrag":"beforeStartDetach",{endpoint:this,source:this.element,sourceId:this.elementId,connection:p});if(!1===d?o=!1:"object"===i(d)?e.extend(d,a||{}):d=a||{},!1===o)return u.stopDrag&&u.stopDrag(this.canvas),v.stopDrag(),!1;for(var g=0;g0&&!1!==this.connectionsDetachable}.bind(this),u.initDraggable(this.canvas,b,"internal"),this.canvas._jsPlumbRelatedElement=this.element,g=!0}};var v=t.endpoint||this._jsPlumb.instance.Defaults.Endpoint||e.Defaults.Endpoint;this.setEndpoint(v,!0);var b=t.anchor?t.anchor:t.anchors?t.anchors:u.Defaults.Anchor||"Top";this.setAnchor(b,!0);var y=["default",t.type||""].join(" ");this.addType(y,t.data,!0),this.canvas=this.endpoint.canvas,this.canvas._jsPlumb=this,this.initDraggable();var P=function(i,o,s,r){if(e.isDropSupported(this.element)){var a=t.dropOptions||u.Defaults.DropOptions||e.Defaults.DropOptions;a=e.extend({},a),a.scope=a.scope||this.scope;var l=e.dragEvents.drop,c=e.dragEvents.over,h=e.dragEvents.out,d=this,p=u.EndpointDropHandler({getEndpoint:function(){return d},jsPlumb:u,enabled:function(){return null==s||s.isEnabled()},isFull:function(){return s.isFull()},element:this.element,elementId:this.elementId,isSource:this.isSource,isTarget:this.isTarget,addClass:function(t){d.addClass(t)},removeClass:function(t){d.removeClass(t)},isDropAllowed:function(){return d.isDropAllowed.apply(d,arguments)},reference:r,isRedrop:function(t,e){return t.suspendedEndpoint&&e.reference&&t.suspendedEndpoint.id===e.reference.id}});a[l]=n.wrap(a[l],p,!0),a[c]=n.wrap(a[c],function(){var t=e.getDragObject(arguments),n=u.getAttribute(e.getElement(t),"dragId"),i=u.getFloatingConnectionFor(n);if(null!=i){var o=u.getFloatingAnchorIndex(i),s=this.isTarget&&0!==o||i.suspendedEndpoint&&this.referenceEndpoint&&this.referenceEndpoint.id===i.suspendedEndpoint.id;if(s){var r=u.checkCondition("checkDropAllowed",{sourceEndpoint:i.endpoints[o],targetEndpoint:this,connection:i});this[(r?"add":"remove")+"Class"](u.endpointDropAllowedClass),this[(r?"remove":"add")+"Class"](u.endpointDropForbiddenClass),i.endpoints[o].anchor.over(this.anchor,this)}}}.bind(this)),a[h]=n.wrap(a[h],function(){var t=e.getDragObject(arguments),n=null==t?null:u.getAttribute(e.getElement(t),"dragId"),i=n?u.getFloatingConnectionFor(n):null;if(null!=i){var o=u.getFloatingAnchorIndex(i),s=this.isTarget&&0!==o||i.suspendedEndpoint&&this.referenceEndpoint&&this.referenceEndpoint.id===i.suspendedEndpoint.id;s&&(this.removeClass(u.endpointDropAllowedClass),this.removeClass(u.endpointDropForbiddenClass),i.endpoints[o].anchor.out())}}.bind(this)),u.initDroppable(i,a,"internal",o)}}.bind(this);return this.anchor.isFloating||P(this.canvas,!(t._transient||this.anchor.isFloating),this,t.reference),this},n.extend(e.Endpoint,e.OverlayCapableJsPlumbUIComponent,{setVisible:function(t,e,n){if(this._jsPlumb.visible=t,this.canvas&&(this.canvas.style.display=t?"block":"none"),this[t?"showOverlays":"hideOverlays"](),!e)for(var i=0;in[0][0],!1===i?-1:1}},p=function(t,e){var n=t[0][0]<0?-Math.PI-t[0][0]:Math.PI-t[0][0],i=e[0][0]<0?-Math.PI-e[0][0]:Math.PI-e[0][0];return n>i?1:-1},f={top:function(t,e){return t[0]>e[0]?1:-1},right:d(!0),bottom:d(!0),left:p},m=function(t,e){return t.sort(e)},g=function(t,e){var n=u.getCachedData(t),i=n.s,r=n.o,a=function(e,n,i,r,a,l,u){if(r.length>0)for(var c=m(r,f[e]),d="right"===e||"top"===e,p=h(e,n,i,c,a,l,d),g=function(t,e){o[t.id]=[e[0],e[1],e[2],e[3]],s[t.id]=u},v=0;v-1&&(r[i].splice(l,1),e.addToList(r,o,[s,s.endpoints[0],s.endpoints[0].anchor.constructor===n.DynamicAnchor])),s.updateConnectedClass()},this.sourceChanged=function(t,i,o,s){if(t!==i){o.sourceId=i,o.source=s,e.removeWithFunction(r[t],(function(t){return t[0].id===o.id}));var a=e.findWithFunction(r[o.targetId],(function(t){return t[0].id===o.id}));a>-1&&(r[o.targetId][a][0]=o,r[o.targetId][a][1]=o.endpoints[0],r[o.targetId][a][2]=o.endpoints[0].anchor.constructor===n.DynamicAnchor),e.addToList(r,i,[o,o.endpoints[1],o.endpoints[1].anchor.constructor===n.DynamicAnchor]),o.endpoints[1].anchor.isContinuous&&(o.source===o.target?o._jsPlumb.instance.removeElement(o.endpoints[1].canvas):null==o.endpoints[1].canvas.parentNode&&o._jsPlumb.instance.appendElement(o.endpoints[1].canvas)),o.updateConnectedClass()}},this.rehomeEndpoint=function(t,e,n){var o=i[e]||[],s=u.getId(n);if(s!==e){var r=o.indexOf(t);if(r>-1){var l=o.splice(r,1)[0];a.add(l,s)}}for(var c=0;ce.dist?1:0}));for(var f=c[0].source,m=c[0].target,g=0;g0?this.anchors[0]:null,s=o,r=this,a=function(t,e,n,i,o){var s=i[0]+t.x*o[0],r=i[1]+t.y*o[1],a=i[0]+o[0]/2,l=i[1]+o[1]/2;return Math.sqrt(Math.pow(e-s,2)+Math.pow(n-r,2))+Math.sqrt(Math.pow(a-s,2)+Math.pow(l-r,2))},l=t.selector||function(t,e,n,i,o){for(var s=n[0]+i[0]/2,r=n[1]+i[1]/2,l=-1,u=1/0,c=0;c0?t:n+t:t*n;return i.pointOnLine({x:r,y:l},{x:a,y:u},o)}return{x:a,y:u}}return{x:r,y:l}},this.gradientAtPoint=function(t){return o},this.pointAlongPathFrom=function(t,e,n){var o=this.pointOnPath(t,n),s=e<=0?{x:r,y:l}:{x:a,y:u};return e<=0&&Math.abs(e)>1&&(e*=-1),i.pointOnLine(o,s,e)};var h=function(t,e,n){return n>=Math.min(t,e)&&n<=Math.max(t,e)},d=function(t,e,n){return Math.abs(n-t)e?e<=t&&t<=n:e>=t&&t>=n},f=p;this.lineIntersection=function(t,e,n,s){var c=Math.abs(i.gradient({x:t,y:e},{x:n,y:s})),h=Math.abs(o),d=h===1/0?r:l-h*r,p=[],m=c===1/0?t:e-c*t;if(c!==h)if(c===1/0&&0===h)f(t,r,a)&&f(l,e,s)&&(p=[t,l]);else if(0===c&&h===1/0)f(e,l,u)&&f(r,t,n)&&(p=[r,e]);else{var g,v;c===1/0?(g=t,f(g,r,a)&&(v=h*t+d,f(v,e,s)&&(p=[g,v]))):0===c?(v=e,f(v,l,u)&&(g=(e-d)/h,f(g,t,n)&&(p=[g,v]))):(g=(m-d)/(h-c),v=h*g+d,f(g,r,a)&&f(v,l,u)&&(p=[g,v]))}return p},this.boxIntersection=function(t,e,n,i){var o=[];return o.push.apply(o,this.lineIntersection(t,e,t+n,e)),o.push.apply(o,this.lineIntersection(t+n,e,t+n,e+i)),o.push.apply(o,this.lineIntersection(t+n,e+i,t,e+i)),o.push.apply(o,this.lineIntersection(t,e+i,t,e)),o},this.boundingBoxIntersection=function(t){return this.boxIntersection(t.x,t.y,t.w,t.h)}},Arc:function(t){e.Segments.AbstractSegment.apply(this,arguments);var n=function(e,n){return i.theta([t.cx,t.cy],[e,n])},o=function(t,e){if(t.anticlockwise){var n=t.startAngle0?0:1,n)),n};this.pointOnPath=function(e,n){return e=i(this.curve,e,n),t.jsBezier.pointOnCurve(this.curve,e)},this.gradientAtPoint=function(e,n){return e=i(this.curve,e,n),t.jsBezier.gradientAtPoint(this.curve,e)},this.pointAlongPathFrom=function(e,n,o){return e=i(this.curve,e,o),t.jsBezier.pointAlongCurveFrom(this.curve,e,n)},this.getLength=function(){return t.jsBezier.getLength(this.curve)},this.getBounds=function(){return this.bounds},this.findClosestPointOnPath=function(e,n){var i=t.jsBezier.nearestPointOnCurve({x:e,y:n},this.curve);return{d:Math.sqrt(Math.pow(i.point.x-e,2)+Math.pow(i.point.y-n,2)),x:i.point.x,y:i.point.y,l:1-i.location,s:this}},this.lineIntersection=function(e,n,i,o){return t.jsBezier.lineIntersection(e,n,i,o,this.curve)}}},e.SegmentRenderer={getPath:function(t,e){return{Straight:function(e){var n=t.getCoordinates();return(e?"M "+n.x1+" "+n.y1+" ":"")+"L "+n.x2+" "+n.y2},Bezier:function(e){var n=t.params;return(e?"M "+n.x2+" "+n.y2+" ":"")+"C "+n.cp2x+" "+n.cp2y+" "+n.cp1x+" "+n.cp1y+" "+n.x1+" "+n.y1},Arc:function(e){var n=t.params,i=t.sweep>Math.PI?1:0,o=t.anticlockwise?0:1;return(e?"M"+t.x1+" "+t.y1+" ":"")+"A "+t.radius+" "+n.r+" 0 "+i+","+o+" "+t.x2+" "+t.y2}}[t.type](e)}};var o=function(){this.resetBounds=function(){this.bounds={minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}},this.resetBounds()};e.Connectors.AbstractConnector=function(t){o.apply(this,arguments);var s=[],r=0,a=[],l=[],u=t.stub||0,c=n.isArray(u)?u[0]:u,h=n.isArray(u)?u[1]:u,d=t.gap||0,p=n.isArray(d)?d[0]:d,f=n.isArray(d)?d[1]:d,m=null,g=null;this.getPathData=function(){for(var t="",n=0;n0?t/r:(r+t)/r);for(var n=a.length-1,i=1,o=0;o=t){n=o,i=1===t?1:0===t?0:(t-a[o][0])/l[o];break}return{segment:s[n],proportion:i,index:n}},y=function(t,n,i){if(i.x1!==i.x2||i.y1!==i.y2){var o=new e.Segments[n](i);s.push(o),r+=o.getLength(),t.updateBounds(o)}},P=function(){r=s.length=a.length=l.length=0};this.setSegments=function(t){m=[],r=0;for(var e=0;em?0:1,v=[1,0][g];r=[],a=[],r[g]=t.sourcePos[g]>t.targetPos[g]?-1:1,a[g]=t.sourcePos[g]>t.targetPos[g]?1:-1,r[v]=0,a[v]=0}var b=n?d+p*r[0]:p*r[0],y=o?m+p*r[1]:p*r[1],P=n?f*a[0]:d+f*a[0],x=o?f*a[1]:m+f*a[1],_=r[0]*a[0]+r[1]*a[1],C={sx:b,sy:y,tx:P,ty:x,lw:s,xSpan:Math.abs(P-b),ySpan:Math.abs(x-y),mx:(b+P)/2,my:(y+x)/2,so:r,to:a,x:l,y:u,w:d,h:m,segment:e,startStubX:b+r[0]*c,startStubY:y+r[1]*c,endStubX:P+a[0]*h,endStubY:x+a[1]*h,isXGreaterThanStubTimes2:Math.abs(b-P)>c+h,isYGreaterThanStubTimes2:Math.abs(y-x)>c+h,opposite:-1===_,perpendicular:0===_,orthogonal:1===_,sourceAxis:0===r[0]?"y":"x",points:[l,u,d,m,b,y,P,x],stubs:[c,h]};return C.anchorOrientation=C.opposite?"opposite":C.orthogonal?"orthogonal":"perpendicular",C};this.getSegments=function(){return s},this.updateBounds=function(t){var e=t.getBounds();this.bounds.minX=Math.min(this.bounds.minX,e.minX),this.bounds.maxX=Math.max(this.bounds.maxX,e.maxX),this.bounds.minY=Math.min(this.bounds.minY,e.minY),this.bounds.maxY=Math.max(this.bounds.maxY,e.maxY)};return this.pointOnPath=function(t,e){var n=b(t,e);return n.segment&&n.segment.pointOnPath(n.proportion,!1)||[0,0]},this.gradientAtPoint=function(t,e){var n=b(t,e);return n.segment&&n.segment.gradientAtPoint(n.proportion,!1)||0},this.pointAlongPathFrom=function(t,e,n){var i=b(t,n);return i.segment&&i.segment.pointAlongPathFrom(i.proportion,e,!1)||[0,0]},this.compute=function(t){g=x.call(this,t),P(),this._compute(g,t),this.x=g.points[0],this.y=g.points[1],this.w=g.points[2],this.h=g.points[3],this.segment=g.segment,v()},{addSegment:y,prepareCompute:x,sourceStub:c,targetStub:h,maxStub:Math.max(c,h),sourceGap:p,targetGap:f,maxGap:Math.max(p,f)}},n.extend(e.Connectors.AbstractConnector,o),e.Endpoints.AbstractEndpoint=function(t){o.apply(this,arguments);var e=this.compute=function(t,e,n,i){var o=this._compute.apply(this,arguments);return this.x=o[0],this.y=o[1],this.w=o[2],this.h=o[3],this.bounds.minX=this.x,this.bounds.minY=this.y,this.bounds.maxX=this.x+this.w,this.bounds.maxY=this.y+this.h,o};return{compute:e,cssClass:t.cssClass}},n.extend(e.Endpoints.AbstractEndpoint,o),e.Endpoints.Dot=function(t){this.type="Dot";e.Endpoints.AbstractEndpoint.apply(this,arguments);t=t||{},this.radius=t.radius||10,this.defaultOffset=.5*this.radius,this.defaultInnerRadius=this.radius/3,this._compute=function(t,e,n,i){this.radius=n.radius||this.radius;var o=t[0]-this.radius,s=t[1]-this.radius,r=2*this.radius,a=2*this.radius;if(n.stroke){var l=n.strokeWidth||1;o-=l,s-=l,r+=2*l,a+=2*l}return[o,s,r,a,this.radius]}},n.extend(e.Endpoints.Dot,e.Endpoints.AbstractEndpoint),e.Endpoints.Rectangle=function(t){this.type="Rectangle";e.Endpoints.AbstractEndpoint.apply(this,arguments);t=t||{},this.width=t.width||20,this.height=t.height||20,this._compute=function(t,e,n,i){var o=n.width||this.width,s=n.height||this.height,r=t[0]-o/2,a=t[1]-s/2;return[r,a,o,s]}},n.extend(e.Endpoints.Rectangle,e.Endpoints.AbstractEndpoint);var s=function(t){e.jsPlumbUIComponent.apply(this,arguments),this._jsPlumb.displayElements=[]};n.extend(s,e.jsPlumbUIComponent,{getDisplayElements:function(){return this._jsPlumb.displayElements},appendDisplayElement:function(t){this._jsPlumb.displayElements.push(t)}}),e.Endpoints.Image=function(i){this.type="Image",s.apply(this,arguments),e.Endpoints.AbstractEndpoint.apply(this,arguments);var o=i.onload,r=i.src||i.url,a=i.cssClass?" "+i.cssClass:"";this._jsPlumb.img=new Image,this._jsPlumb.ready=!1,this._jsPlumb.initialized=!1,this._jsPlumb.deleted=!1,this._jsPlumb.widthToUse=i.width,this._jsPlumb.heightToUse=i.height,this._jsPlumb.endpoint=i.endpoint,this._jsPlumb.img.onload=function(){null!=this._jsPlumb&&(this._jsPlumb.ready=!0,this._jsPlumb.widthToUse=this._jsPlumb.widthToUse||this._jsPlumb.img.width,this._jsPlumb.heightToUse=this._jsPlumb.heightToUse||this._jsPlumb.img.height,o&&o(this))}.bind(this),this._jsPlumb.endpoint.setImage=function(t,e){var n=t.constructor===String?t:t.src;o=e,this._jsPlumb.img.src=n,null!=this.canvas&&this.canvas.setAttribute("src",this._jsPlumb.img.src)}.bind(this),this._jsPlumb.endpoint.setImage(r,o),this._compute=function(t,e,n,i){return this.anchorPoint=t,this._jsPlumb.ready?[t[0]-this._jsPlumb.widthToUse/2,t[1]-this._jsPlumb.heightToUse/2,this._jsPlumb.widthToUse,this._jsPlumb.heightToUse]:[0,0,0,0]},this.canvas=e.createElement("img",{position:"absolute",margin:0,padding:0,outline:0},this._jsPlumb.instance.endpointClass+a),this._jsPlumb.widthToUse&&this.canvas.setAttribute("width",this._jsPlumb.widthToUse),this._jsPlumb.heightToUse&&this.canvas.setAttribute("height",this._jsPlumb.heightToUse),this._jsPlumb.instance.appendElement(this.canvas),this.actuallyPaint=function(t,e,i){if(!this._jsPlumb.deleted){this._jsPlumb.initialized||(this.canvas.setAttribute("src",this._jsPlumb.img.src),this.appendDisplayElement(this.canvas),this._jsPlumb.initialized=!0);var o=this.anchorPoint[0]-this._jsPlumb.widthToUse/2,s=this.anchorPoint[1]-this._jsPlumb.heightToUse/2;n.sizeElement(this.canvas,o,s,this._jsPlumb.widthToUse,this._jsPlumb.heightToUse)}},this.paint=function(e,n){null!=this._jsPlumb&&(this._jsPlumb.ready?this.actuallyPaint(e,n):t.setTimeout(function(){this.paint(e,n)}.bind(this),200))}},n.extend(e.Endpoints.Image,[s,e.Endpoints.AbstractEndpoint],{cleanup:function(t){t&&(this._jsPlumb.deleted=!0,this.canvas&&this.canvas.parentNode.removeChild(this.canvas),this.canvas=null)}}),e.Endpoints.Blank=function(t){e.Endpoints.AbstractEndpoint.apply(this,arguments);this.type="Blank",s.apply(this,arguments),this._compute=function(t,e,n,i){return[t[0],t[1],10,0]};var i=t.cssClass?" "+t.cssClass:"";this.canvas=e.createElement("div",{display:"block",width:"1px",height:"1px",background:"transparent",position:"absolute"},this._jsPlumb.instance.endpointClass+i),this._jsPlumb.instance.appendElement(this.canvas),this.paint=function(t,e){n.sizeElement(this.canvas,this.x,this.y,this.w,this.h)}},n.extend(e.Endpoints.Blank,[e.Endpoints.AbstractEndpoint,s],{cleanup:function(){this.canvas&&this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas)}}),e.Endpoints.Triangle=function(t){this.type="Triangle",e.Endpoints.AbstractEndpoint.apply(this,arguments);var n=this;t=t||{},t.width=t.width||55,t.height=t.height||55,this.width=t.width,this.height=t.height,this._compute=function(t,e,i,o){var s=i.width||n.width,r=i.height||n.height,a=t[0]-s/2,l=t[1]-r/2;return[a,l,s,r]}};var r=e.Overlays.AbstractOverlay=function(t){this.visible=!0,this.isAppendedAtTopLevel=!0,this.component=t.component,this.loc=null==t.location?.5:t.location,this.endpointLoc=null==t.endpointLocation?[.5,.5]:t.endpointLocation,this.visible=!1!==t.visible};r.prototype={cleanup:function(t){t&&(this.component=null,this.canvas=null,this.endpointLoc=null)},reattach:function(t,e){},setVisible:function(t){this.visible=t,this.component.repaint()},isVisible:function(){return this.visible},hide:function(){this.setVisible(!1)},show:function(){this.setVisible(!0)},incrementLocation:function(t){this.loc+=t,this.component.repaint()},setLocation:function(t){this.loc=t,this.component.repaint()},getLocation:function(){return this.loc},updateFrom:function(){}},e.Overlays.Arrow=function(t){this.type="Arrow",r.apply(this,arguments),this.isAppendedAtTopLevel=!1,t=t||{};var o=this;this.length=t.length||20,this.width=t.width||20,this.id=t.id,this.direction=(t.direction||1)<0?-1:1;var s=t.paintStyle||{"stroke-width":1},a=t.foldback||.623;this.computeMaxSize=function(){return 1.5*o.width},this.elementCreated=function(n,i){if(this.path=n,t.events)for(var o in t.events)e.on(n,o,t.events[o])},this.draw=function(t,e){var o,r,l,u,c;if(t.pointAlongPathFrom){if(n.isString(this.loc)||this.loc>1||this.loc<0){var h=parseInt(this.loc,10),d=this.loc<0?1:0;o=t.pointAlongPathFrom(d,h,!1),r=t.pointAlongPathFrom(d,h-this.direction*this.length/2,!1),l=i.pointOnLine(o,r,this.length)}else if(1===this.loc){if(o=t.pointOnPath(this.loc),r=t.pointAlongPathFrom(this.loc,-this.length),l=i.pointOnLine(o,r,this.length),-1===this.direction){var p=l;l=o,o=p}}else if(0===this.loc){if(l=t.pointOnPath(this.loc),r=t.pointAlongPathFrom(this.loc,this.length),o=i.pointOnLine(l,r,this.length),-1===this.direction){var f=l;l=o,o=f}}else o=t.pointAlongPathFrom(this.loc,this.direction*this.length/2),r=t.pointOnPath(this.loc),l=i.pointOnLine(o,r,this.length);u=i.perpendicularLineTo(o,l,this.width),c=i.pointOnLine(o,l,a*this.length);var m={hxy:o,tail:u,cxy:c},g=s.stroke||e.stroke,v=s.fill||e.stroke,b=s.strokeWidth||e.strokeWidth;return{component:t,d:m,"stroke-width":b,stroke:g,fill:v,minX:Math.min(o.x,u[0].x,u[1].x),maxX:Math.max(o.x,u[0].x,u[1].x),minY:Math.min(o.y,u[0].y,u[1].y),maxY:Math.max(o.y,u[0].y,u[1].y)}}return{component:t,minX:0,maxX:0,minY:0,maxY:0}}},n.extend(e.Overlays.Arrow,r,{updateFrom:function(t){this.length=t.length||this.length,this.width=t.width||this.width,this.direction=null!=t.direction?t.direction:this.direction,this.foldback=t.foldback||this.foldback},cleanup:function(){this.path&&this.canvas&&this.canvas.removeChild(this.path)}}),e.Overlays.PlainArrow=function(t){t=t||{};var n=e.extend(t,{foldback:1});e.Overlays.Arrow.call(this,n),this.type="PlainArrow"},n.extend(e.Overlays.PlainArrow,e.Overlays.Arrow),e.Overlays.Diamond=function(t){t=t||{};var n=t.length||40,i=e.extend(t,{length:n/2,foldback:2});e.Overlays.Arrow.call(this,i),this.type="Diamond"},n.extend(e.Overlays.Diamond,e.Overlays.Arrow);var a=function(t,e){return(null==t._jsPlumb.cachedDimensions||e)&&(t._jsPlumb.cachedDimensions=t.getDimensions()),t._jsPlumb.cachedDimensions},l=function(t){e.jsPlumbUIComponent.apply(this,arguments),r.apply(this,arguments);var i=this.fire;this.fire=function(){i.apply(this,arguments),this.component&&this.component.fire.apply(this.component,arguments)},this.detached=!1,this.id=t.id,this._jsPlumb.div=null,this._jsPlumb.initialised=!1,this._jsPlumb.component=t.component,this._jsPlumb.cachedDimensions=null,this._jsPlumb.create=t.create,this._jsPlumb.initiallyInvisible=!1===t.visible,this.getElement=function(){if(null==this._jsPlumb.div){var n=this._jsPlumb.div=e.getElement(this._jsPlumb.create(this._jsPlumb.component));n.style.position="absolute",jsPlumb.addClass(n,this._jsPlumb.instance.overlayClass+" "+(this.cssClass?this.cssClass:t.cssClass?t.cssClass:"")),this._jsPlumb.instance.appendElement(n),this._jsPlumb.instance.getId(n),this.canvas=n;var i="translate(-50%, -50%)";n.style.webkitTransform=i,n.style.mozTransform=i,n.style.msTransform=i,n.style.oTransform=i,n.style.transform=i,n._jsPlumb=this,!1===t.visible&&(n.style.display="none")}return this._jsPlumb.div},this.draw=function(t,e,i){var o=a(this);if(null!=o&&2===o.length){var s={x:0,y:0};if(i)s={x:i[0],y:i[1]};else if(t.pointOnPath){var r=this.loc,l=!1;(n.isString(this.loc)||this.loc<0||this.loc>1)&&(r=parseInt(this.loc,10),l=!0),s=t.pointOnPath(r,l)}else{var u=this.loc.constructor===Array?this.loc:this.endpointLoc;s={x:u[0]*t.w,y:u[1]*t.h}}var c=s.x-o[0]/2,h=s.y-o[1]/2;return{component:t,d:{minx:c,miny:h,td:o,cxy:s},minX:c,maxX:c+o[0],minY:h,maxY:h+o[1]}}return{minX:0,maxX:0,minY:0,maxY:0}}};n.extend(l,[e.jsPlumbUIComponent,r],{getDimensions:function(){return[1,1]},setVisible:function(t){this._jsPlumb.div&&(this._jsPlumb.div.style.display=t?"block":"none",t&&this._jsPlumb.initiallyInvisible&&(a(this,!0),this.component.repaint(),this._jsPlumb.initiallyInvisible=!1))},clearCachedDimensions:function(){this._jsPlumb.cachedDimensions=null},cleanup:function(t){t?null!=this._jsPlumb.div&&(this._jsPlumb.div._jsPlumb=null,this._jsPlumb.instance.removeElement(this._jsPlumb.div)):(this._jsPlumb&&this._jsPlumb.div&&this._jsPlumb.div.parentNode&&this._jsPlumb.div.parentNode.removeChild(this._jsPlumb.div),this.detached=!0)},reattach:function(t,e){null!=this._jsPlumb.div&&t.getContainer().appendChild(this._jsPlumb.div),this.detached=!1},computeMaxSize:function(){var t=a(this);return Math.max(t[0],t[1])},paint:function(t,e){this._jsPlumb.initialised||(this.getElement(),t.component.appendDisplayElement(this._jsPlumb.div),this._jsPlumb.initialised=!0,this.detached&&this._jsPlumb.div.parentNode.removeChild(this._jsPlumb.div)),this._jsPlumb.div.style.left=t.component.x+t.d.minx+"px",this._jsPlumb.div.style.top=t.component.y+t.d.miny+"px"}}),e.Overlays.Custom=function(t){this.type="Custom",l.apply(this,arguments)},n.extend(e.Overlays.Custom,l),e.Overlays.GuideLines=function(){var t=this;t.length=50,t.strokeWidth=5,this.type="GuideLines",r.apply(this,arguments),e.jsPlumbUIComponent.apply(this,arguments),this.draw=function(e,n){var o=e.pointAlongPathFrom(t.loc,t.length/2),s=e.pointOnPath(t.loc),r=i.pointOnLine(o,s,t.length),a=i.perpendicularLineTo(o,r,40),l=i.perpendicularLineTo(r,o,20);return{connector:e,head:o,tail:r,headLine:l,tailLine:a,minX:Math.min(o.x,r.x,l[0].x,l[1].x),minY:Math.min(o.y,r.y,l[0].y,l[1].y),maxX:Math.max(o.x,r.x,l[0].x,l[1].x),maxY:Math.max(o.y,r.y,l[0].y,l[1].y)}}},e.Overlays.Label=function(t){this.labelStyle=t.labelStyle;this.cssClass=null!=this.labelStyle?this.labelStyle.cssClass:null;var n=e.extend({create:function(){return e.createElement("div")}},t);if(e.Overlays.Custom.call(this,n),this.type="Label",this.label=t.label||"",this.labelText=null,this.labelStyle){var i=this.getElement();if(this.labelStyle.font=this.labelStyle.font||"12px sans-serif",i.style.font=this.labelStyle.font,i.style.color=this.labelStyle.color||"black",this.labelStyle.fill&&(i.style.background=this.labelStyle.fill),this.labelStyle.borderWidth>0){var o=this.labelStyle.borderStyle?this.labelStyle.borderStyle:"black";i.style.border=this.labelStyle.borderWidth+"px solid "+o}this.labelStyle.padding&&(i.style.padding=this.labelStyle.padding)}},n.extend(e.Overlays.Label,e.Overlays.Custom,{cleanup:function(t){t&&(this.div=null,this.label=null,this.labelText=null,this.cssClass=null,this.labelStyle=null)},getLabel:function(){return this.label},setLabel:function(t){this.label=t,this.labelText=null,this.clearCachedDimensions(),this.update(),this.component.repaint()},getDimensions:function(){return this.update(),l.prototype.getDimensions.apply(this,arguments)},update:function(){if("function"===typeof this.label){var t=this.label(this);this.getElement().innerHTML=t.replace(/\r\n/g,"
")}else null==this.labelText&&(this.labelText=this.label,this.getElement().innerHTML=this.labelText.replace(/\r\n/g,"
"))},updateFrom:function(t){null!=t.label&&this.setLabel(t.label)}})}.call("undefined"!==typeof window?window:this),function(){"use strict";var t=this,e=t.jsPlumbUtil,n=t.jsPlumbInstance,i="jtk-group-collapsed",o="jtk-group-expanded",s="[jtk-group-content]",r="elementDraggable",a="stop",l="revert",u="_groupManager",c="_jsPlumbGroup",h="_jsPlumbGroupDrag",d="group:addMember",p="group:removeMember",f="group:add",m="group:remove",g="group:expand",v="group:collapse",b="groupDragStop",y="connectionMoved",P="internal.connectionDetached",x="removeAll",_="orphanAll",C="show",j="hide",E=function(t){var n={},s={},r={},a=this;function l(t){delete t.proxies;var n,i=s[t.id];null!=i&&(n=function(e){return e.id===t.id},e.removeWithFunction(i.connections.source,n),e.removeWithFunction(i.connections.target,n),delete s[t.id]),i=r[t.id],null!=i&&(n=function(e){return e.id===t.id},e.removeWithFunction(i.connections.source,n),e.removeWithFunction(i.connections.target,n),delete r[t.id])}function u(e,n){for(var i=e.getMembers(),o=0;o0?t[0]:u},f=!0===i.ghost,m=f||!0===i.constrain,g=!1!==i.revert,v=!0===i.orphan,y=!0===i.prune,P=!0===i.dropOverride,x=!1!==i.proxied,_=[];if(this.connections={source:[],target:[],internal:[]},this.getAnchor=function(t,e){return i.anchor||"Continuous"},this.getEndpoint=function(t,e){return i.endpoint||["Dot",{radius:10}]},this.collapsed=!1,!1!==i.draggable){var C={stop:function(t){n.fire(b,jsPlumb.extend(t,{group:o}))},scope:h};i.dragOptions&&t.jsPlumb.extend(C,i.dragOptions),n.draggable(i.el,C)}!1!==i.droppable&&n.droppable(i.el,{drop:function(t){var e=t.drag.el;if(!e._isJsPlumbGroup){var i=e._jsPlumbGroup;if(i!==o){if(null!=i&&i.overrideDrop(e,o))return;n.getGroupManager().addToGroup(o,e,!1)}}}});var j=function(t,e){for(var n=null==t.nodeType?t:[t],i=0;i0&&r0&&l0&&u[4]!==r[4]){var p=Math.min(f(u),f(r)),g=Math.min(c,p/2);u[2]-=a[0]*g,u[3]-=a[1]*g,r[0]+=l[0]*g,r[1]+=l[1]*g;var v=a[1]===l[0]&&1===l[0]||a[1]===l[0]&&0===l[0]&&a[0]!==l[1]||a[1]===l[0]&&-1===l[0],b=r[1]>u[3]?1:-1,y=r[0]>u[2]?1:-1,P=b===y,x=P&&v||!P&&!v?r[0]:u[2],_=P&&v||!P&&!v?u[3]:r[1];s.addSegment(t,i,{x1:u[0],y1:u[1],x2:u[2],y2:u[3]}),s.addSegment(t,o,{r:g,x1:u[2],y1:u[3],x2:r[0],y2:r[1],cx:x,cy:_,ac:v})}else{var C=u[2]===u[0]?0:u[2]>u[0]?n.lw/2:-n.lw/2,j=u[3]===u[1]?0:u[3]>u[1]?n.lw/2:-n.lw/2;s.addSegment(t,i,{x1:u[0]-C,y1:u[1]-j,x2:u[2]+C,y2:u[3]+j})}u=r}null!=r&&s.addSegment(t,i,{x1:r[0],y1:r[1],x2:r[2],y2:r[3]})};this._compute=function(t,e){n=[],l=null,u=null,null;var i=function(){return[t.startStubX,t.startStubY,t.endStubX,t.endStubY]},o={perpendicular:i,orthogonal:i,opposite:function(e){var n=t,i="x"===e?0:1,o={x:function(){return 1===n.so[i]&&(n.startStubX>n.endStubX&&n.tx>n.startStubX||n.sx>n.endStubX&&n.tx>n.sx)||-1===n.so[i]&&(n.startStubXn.endStubY&&n.ty>n.startStubY||n.sy>n.endStubY&&n.ty>n.sy)||-1===n.so[i]&&(n.startStubYu[e][0],m=o[e][d][0],g=o[e][d][1],v=i[e][d][p];return n.segment===v[3]||n.segment===v[2]&&f?s[e]:n.segment===v[2]&&g=m||n.segment===v[1]&&!f?l[e]:n.segment===v[0]||n.segment===v[1]&&f?a[e]:void 0},orthogonal:function(e,n,i,o,s){var r=t,a={x:-1===r.so[0]?Math.min(n,o):Math.max(n,o),y:-1===r.so[1]?Math.min(n,o):Math.max(n,o)}[e];return{x:[[a,i],[a,s],[o,s]],y:[[i,a],[s,a],[s,o]]}[e]},opposite:function(n,i,o,r){var a=t,l={x:"y",y:"x"}[n],u={x:"height",y:"width"}[n],c=a["is"+n.toUpperCase()+"GreaterThanStubTimes2"];if(e.sourceEndpoint.elementId===e.targetEndpoint.elementId){var d=o+(1-e.sourceEndpoint.anchor[l])*e.sourceInfo[u]+s.maxStub;return{x:[[i,d],[r,d]],y:[[d,i],[d,r]]}[n]}return!c||1===a.so[h]&&i>r||-1===a.so[h]&&ir?{x:[[y,a.sy],[y,a.ty]],y:[[a.sx,P],[a.tx,P]]}[n]:void 0}},C=_[t.anchorOrientation](t.sourceAxis,f,m,v,b);if(C)for(var j=0;j=e?3:4},o=function(t,e,n,i,o,s,r,a,l){return a<=l?[t,e]:1===n?i[3]<=0&&o[3]>=1?[t+(i[2]<.5?-1*s:s),e]:i[2]>=1&&o[2]<=0?[t,e+(i[3]<.5?-1*r:r)]:[t+-1*s,e+-1*r]:2===n?i[3]>=1&&o[3]<=0?[t+(i[2]<.5?-1*s:s),e]:i[2]>=1&&o[2]<=0?[t,e+(i[3]<.5?-1*r:r)]:[t+s,e+-1*r]:3===n?i[3]>=1&&o[3]<=0?[t+(i[2]<.5?-1*s:s),e]:i[2]<=0&&o[2]>=1?[t,e+(i[3]<.5?-1*r:r)]:[t+-1*s,e+-1*r]:4===n?i[3]<=0&&o[3]>=1?[t+(i[2]<.5?-1*s:s),e]:i[2]<=0&&o[2]>=1?[t,e+(i[3]<.5?-1*r:r)]:[t+s,e+-1*r]:void 0},s=function(t){t=t||{},this.type="StateMachine";var n,s=e.Connectors.AbstractBezierConnector.apply(this,arguments),r=t.curviness||10,a=t.margin||5,l=t.proximityLimit||80;t.orientation&&t.orientation;this._computeBezier=function(t,e,u,c,h,d){var p=e.sourcePos[0]n?t.insertBefore(e,t.childNodes[n]):t.appendChild(e)};n.svg={node:y,attr:b,pos:P};var E=function(t){var i=t.pointerEventsSpec||"all",o={};e.jsPlumbUIComponent.apply(this,t.originalArgs),this.canvas=null,this.path=null,this.svg=null,this.bgCanvas=null;var s=t.cssClass+" "+(t.originalArgs[0].cssClass||""),r={style:"",width:0,height:0,"pointer-events":i,position:"absolute"};this.svg=y("svg",r),t.useDivWrapper?(this.canvas=e.createElement("div",{position:"absolute"}),n.sizeElement(this.canvas,0,0,1,1),this.canvas.className=s):(b(this.svg,{class:s}),this.canvas=this.svg),t._jsPlumb.appendElement(this.canvas,t.originalArgs[0].parent),t.useDivWrapper&&this.canvas.appendChild(this.svg);var a=[this.canvas];return this.getDisplayElements=function(){return a},this.appendDisplayElement=function(t){a.push(t)},this.paint=function(e,i,s){if(null!=e){var r,a=[this.x,this.y],l=[this.w,this.h];null!=s&&(s.xmin<0&&(a[0]+=s.xmin),s.ymin<0&&(a[1]+=s.ymin),l[0]=s.xmax+(s.xmin<0?-s.xmin:0),l[1]=s.ymax+(s.ymin<0?-s.ymin:0)),t.useDivWrapper?(n.sizeElement(this.canvas,a[0],a[1],l[0],l[1]),a[0]=0,a[1]=0,r=P([0,0])):r=P([a[0],a[1]]),o.paint.apply(this,arguments),b(this.svg,{style:r,width:l[0]||0,height:l[1]||0})}},{renderer:o}};n.extend(E,e.jsPlumbUIComponent,{cleanup:function(t){t||null==this.typeId?(this.canvas&&(this.canvas._jsPlumb=null),this.svg&&(this.svg._jsPlumb=null),this.bgCanvas&&(this.bgCanvas._jsPlumb=null),this.canvas&&this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas),this.bgCanvas&&this.bgCanvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas),this.svg=null,this.canvas=null,this.path=null,this.group=null):(this.canvas&&this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas),this.bgCanvas&&this.bgCanvas.parentNode&&this.bgCanvas.parentNode.removeChild(this.bgCanvas))},reattach:function(t){var e=t.getContainer();this.canvas&&null==this.canvas.parentNode&&e.appendChild(this.canvas),this.bgCanvas&&null==this.bgCanvas.parentNode&&e.appendChild(this.bgCanvas)},setVisible:function(t){this.canvas&&(this.canvas.style.display=t?"block":"none")}}),e.ConnectorRenderers.svg=function(t){var n=this,i=E.apply(this,[{cssClass:t._jsPlumb.connectorClass,originalArgs:arguments,pointerEventsSpec:"none",_jsPlumb:t._jsPlumb}]);i.renderer.paint=function(i,o,s){var r=n.getSegments(),a="",l=[0,0];if(s.xmin<0&&(l[0]=-s.xmin),s.ymin<0&&(l[1]=-s.ymin),r.length>0){a=n.getPathData();var u={d:a,transform:"translate("+l[0]+","+l[1]+")","pointer-events":t["pointer-events"]||"visibleStroke"},c=null,h=[n.x,n.y,n.w,n.h];if(i.outlineStroke){var d=i.outlineWidth||1,p=i.strokeWidth+2*d;c=e.extend({},i),delete c.gradient,c.stroke=i.outlineStroke,c.strokeWidth=p,null==n.bgPath?(n.bgPath=y("path",u),e.addClass(n.bgPath,e.connectorOutlineClass),j(n.svg,n.bgPath,0)):b(n.bgPath,u),C(n.svg,n.bgPath,c,h,n)}null==n.path?(n.path=y("path",u),j(n.svg,n.path,i.outlineStroke?1:0)):b(n.path,u),C(n.svg,n.path,i,h,n)}}},n.extend(e.ConnectorRenderers.svg,E);var S=e.SvgEndpoint=function(t){var n=E.apply(this,[{cssClass:t._jsPlumb.endpointClass,originalArgs:arguments,pointerEventsSpec:"all",useDivWrapper:!0,_jsPlumb:t._jsPlumb}]);n.renderer.paint=function(t){var n=e.extend({},t);n.outlineStroke&&(n.stroke=n.outlineStroke),null==this.node?(this.node=this.makeNode(n),this.svg.appendChild(this.node)):null!=this.updateNode&&this.updateNode(this.node),C(this.svg,this.node,n,[this.x,this.y,this.w,this.h],this),P(this.node,[this.x,this.y])}.bind(this)};n.extend(S,E),e.Endpoints.svg.Dot=function(){e.Endpoints.Dot.apply(this,arguments),S.apply(this,arguments),this.makeNode=function(t){return y("circle",{cx:this.w/2,cy:this.h/2,r:this.radius})},this.updateNode=function(t){b(t,{cx:this.w/2,cy:this.h/2,r:this.radius})}},n.extend(e.Endpoints.svg.Dot,[e.Endpoints.Dot,S]),e.Endpoints.svg.Rectangle=function(){e.Endpoints.Rectangle.apply(this,arguments),S.apply(this,arguments),this.makeNode=function(t){return y("rect",{width:this.w,height:this.h})},this.updateNode=function(t){b(t,{width:this.w,height:this.h})}},n.extend(e.Endpoints.svg.Rectangle,[e.Endpoints.Rectangle,S]),e.Endpoints.svg.Image=e.Endpoints.Image,e.Endpoints.svg.Blank=e.Endpoints.Blank,e.Overlays.svg.Label=e.Overlays.Label,e.Overlays.svg.Custom=e.Overlays.Custom;var D=function(t,n){t.apply(this,n),e.jsPlumbUIComponent.apply(this,n),this.isAppendedAtTopLevel=!1;this.path=null,this.paint=function(t,e){if(t.component.svg&&e){null==this.path&&(this.path=y("path",{"pointer-events":"all"}),t.component.svg.appendChild(this.path),this.elementCreated&&this.elementCreated(this.path,t.component),this.canvas=t.component.svg);var o=n&&1===n.length&&n[0].cssClass||"",s=[0,0];e.xmin<0&&(s[0]=-e.xmin),e.ymin<0&&(s[1]=-e.ymin),b(this.path,{d:i(t.d),class:o,stroke:t.stroke?t.stroke:null,fill:t.fill?t.fill:null,transform:"translate("+s[0]+","+s[1]+")"})}};var i=function(t){return isNaN(t.cxy.x)||isNaN(t.cxy.y)?"":"M"+t.hxy.x+","+t.hxy.y+" L"+t.tail[0].x+","+t.tail[0].y+" L"+t.cxy.x+","+t.cxy.y+" L"+t.tail[1].x+","+t.tail[1].y+" L"+t.hxy.x+","+t.hxy.y};this.transfer=function(t){t.canvas&&this.path&&this.path.parentNode&&(this.path.parentNode.removeChild(this.path),t.canvas.appendChild(this.path))}};n.extend(D,[e.jsPlumbUIComponent,e.Overlays.AbstractOverlay],{cleanup:function(t){null!=this.path&&(t?this._jsPlumb.instance.removeElement(this.path):this.path.parentNode&&this.path.parentNode.removeChild(this.path))},reattach:function(t,e){this.path&&e.canvas&&e.canvas.appendChild(this.path)},setVisible:function(t){null!=this.path&&(this.path.style.display=t?"block":"none")}}),e.Overlays.svg.Arrow=function(){D.apply(this,[e.Overlays.Arrow,arguments])},n.extend(e.Overlays.svg.Arrow,[e.Overlays.Arrow,D]),e.Overlays.svg.PlainArrow=function(){D.apply(this,[e.Overlays.PlainArrow,arguments])},n.extend(e.Overlays.svg.PlainArrow,[e.Overlays.PlainArrow,D]),e.Overlays.svg.Diamond=function(){D.apply(this,[e.Overlays.Diamond,arguments])},n.extend(e.Overlays.svg.Diamond,[e.Overlays.Diamond,D]),e.Overlays.svg.GuideLines=function(){var t,n,i=null,o=this;e.Overlays.GuideLines.apply(this,arguments),this.paint=function(e,r){null==i&&(i=y("path"),e.connector.svg.appendChild(i),o.attachListeners(i,e.connector),o.attachListeners(i,o),t=y("path"),e.connector.svg.appendChild(t),o.attachListeners(t,e.connector),o.attachListeners(t,o),n=y("path"),e.connector.svg.appendChild(n),o.attachListeners(n,e.connector),o.attachListeners(n,o));var a=[0,0];r.xmin<0&&(a[0]=-r.xmin),r.ymin<0&&(a[1]=-r.ymin),b(i,{d:s(e.head,e.tail),stroke:"red",fill:null,transform:"translate("+a[0]+","+a[1]+")"}),b(t,{d:s(e.tailLine[0],e.tailLine[1]),stroke:"blue",fill:null,transform:"translate("+a[0]+","+a[1]+")"}),b(n,{d:s(e.headLine[0],e.headLine[1]),stroke:"green",fill:null,transform:"translate("+a[0]+","+a[1]+")"})};var s=function(t,e){return"M "+t.x+","+t.y+" L"+e.x+","+e.y}},n.extend(e.Overlays.svg.GuideLines,e.Overlays.GuideLines)}.call("undefined"!==typeof window?window:this),function(){"use strict";var t=this,e=t.jsPlumb,n=t.jsPlumbUtil,i=t.Katavorio,o=t.Biltong,s=function(e){var n=e._mottle;return n||(n=e._mottle=new t.Mottle),n},r=function(t,n){n=n||"main";var s="_katavorio_"+n,r=t[s],a=t.getEventManager();return r||(r=new i({bind:a.on,unbind:a.off,getSize:e.getSize,getConstrainingRectangle:function(t){return[t.parentNode.scrollWidth,t.parentNode.scrollHeight]},getPosition:function(e,n){var i=t.getOffset(e,n,e._katavorioDrag?e.offsetParent:null);return[i.left,i.top]},setPosition:function(t,e){t.style.left=e[0]+"px",t.style.top=e[1]+"px"},addClass:e.addClass,removeClass:e.removeClass,intersects:o.intersects,indexOf:function(t,e){return t.indexOf(e)},scope:t.getDefaultScope(),css:{noSelect:t.dragSelectClass,droppable:"jtk-droppable",draggable:"jtk-draggable",drag:"jtk-drag",selected:"jtk-drag-selected",active:"jtk-drag-active",hover:"jtk-drag-hover",ghostProxy:"jtk-ghost-proxy"}}),r.setZoom(t.getZoom()),t[s]=r,t.bind("zoom",r.setZoom)),r},a=function(t){var e=t.el._jsPlumbDragOptions,n=!0;return e.canDrag&&(n=e.canDrag()),n&&(this.setHoverSuspended(!0),this.select({source:t.el}).addClass(this.elementDraggingClass+" "+this.sourceElementDraggingClass,!0),this.select({target:t.el}).addClass(this.elementDraggingClass+" "+this.targetElementDraggingClass,!0),this.setConnectionBeingDragged(!0)),n},l=function(t){var e=this.getUIPosition(arguments,this.getZoom());if(null!=e){var n=t.el._jsPlumbDragOptions;this.draw(t.el,e,null,!0),n._dragging&&this.addClass(t.el,"jtk-dragged"),n._dragging=!0}},u=function(t){for(var e,n=t.selection,i=function(t){null!=t[1]&&(e=this.getUIPosition([{el:t[2].el,pos:[t[1].left,t[1].top]}]),this.draw(t[2].el,e)),null!=t[0]._jsPlumbDragOptions&&delete t[0]._jsPlumbDragOptions._dragging,this.removeClass(t[0],"jtk-dragged"),this.select({source:t[2].el}).removeClass(this.elementDraggingClass+" "+this.sourceElementDraggingClass,!0),this.select({target:t[2].el}).removeClass(this.elementDraggingClass+" "+this.targetElementDraggingClass,!0),this.getDragManager().dragEnded(t[2].el)}.bind(this),o=0;o0?t.touches:t.changedTouches&&t.changedTouches.length>0?t.changedTouches:t.targetTouches&&t.targetTouches.length>0?t.targetTouches:[t]},v=function(t){var e={},n=[],i={},o={},s={};this.register=function(r){var a,l=t.getId(r);e[l]||(e[l]=r,n.push(r),i[l]={});var u=function e(n){if(n)for(var u=0;u0){a||(a=t.getOffset(r));var d=t.getOffset(c);i[l][h]={id:h,offset:{left:d.left-a.left,top:d.top-a.top}},s[h]=l}e(n.childNodes[u])}};u(r)},this.updateOffsets=function(e,n){if(null!=e){n=n||{};var o,r=jsPlumb.getElement(e),a=t.getId(r),l=i[a];if(l)for(var u in l)if(l.hasOwnProperty(u)){var c=jsPlumb.getElement(u),h=n[u]||t.getOffset(c);if(null==c.offsetParent&&null!=i[a][u])continue;o||(o=t.getOffset(r)),i[a][u]={id:u,offset:{left:h.left-o.left,top:h.top-o.top}},s[u]=a}}},this.endpointAdded=function(n,r){r=r||t.getId(n);var a=document.body,l=n.parentNode;o[r]=o[r]?o[r]+1:1;while(null!=l&&l!==a){var u=t.getId(l,null,!0);if(u&&e[u]){var c=t.getOffset(l);if(null==i[u][r]){var h=t.getOffset(n);i[u][r]={id:r,offset:{left:h.left-c.left,top:h.top-c.top}},s[r]=u}break}l=l.parentNode}},this.endpointDeleted=function(t){if(o[t.elementId]&&(o[t.elementId]--,o[t.elementId]<=0))for(var e in i)i.hasOwnProperty(e)&&i[e]&&(delete i[e][t.elementId],delete s[t.elementId])},this.changeId=function(t,e){i[e]=i[t],i[t]={},s[e]=s[t],s[t]=null},this.getElementsForDraggable=function(t){return i[t]},this.elementRemoved=function(t){var e=s[t];e&&(delete i[e][t],delete s[t])},this.reset=function(){e={},n=[],i={},o={}},this.dragEnded=function(e){if(null!=e.offsetParent){var n=t.getId(e),i=s[n];i&&this.updateOffsets(i)}},this.setParent=function(e,n,o,r,a){var l=s[n];i[r]||(i[r]={});var u=t.getOffset(o),c=a||t.getOffset(e);l&&i[l]&&delete i[l][n],i[r][n]={id:n,offset:{left:c.left-u.left,top:c.top-u.top}},s[n]=r},this.clearParent=function(t,e){var n=s[e];n&&(delete i[n][e],delete s[e])},this.revalidateParent=function(e,n,i){var o=s[n];if(o){var r={};r[n]=i,this.updateOffsets(o,r),t.revalidate(o)}},this.getDragAncestor=function(e){var n=jsPlumb.getElement(e),i=t.getId(n),o=s[i];return o?jsPlumb.getElement(o):null}},b=function(t,e,i){e=n.fastTrim(e),"undefined"!==typeof t.className.baseVal?t.className.baseVal=e:t.className=e;try{var o=t.classList;if(null!=o){while(o.length>0)o.remove(o.item(0));for(var s=0;s0||t.scrollLeft>0)&&(i.left-=t.scrollLeft,i.top-=t.scrollTop)}.bind(this);while(null!=o)i.left+=o.offsetLeft,i.top+=o.offsetTop,s(o),o=e?o.offsetParent:o.offsetParent===n?null:o.offsetParent;if(null!=n&&!e&&(n.scrollTop>0||n.scrollLeft>0)){var r=null!=t.offsetParent?this.getStyle(t.offsetParent,"position"):"static",a=this.getStyle(t,"position");"absolute"!==a&&"fixed"!==a&&"absolute"!==r&&"fixed"!==r&&(i.left-=n.scrollLeft,i.top-=n.scrollTop)}return i},getPositionOnElement:function(t,e,n){var i="undefined"!==typeof e.getBoundingClientRect?e.getBoundingClientRect():{left:0,top:0,width:0,height:0},o=document.body,s=document.documentElement,r=window.pageYOffset||s.scrollTop||o.scrollTop,a=window.pageXOffset||s.scrollLeft||o.scrollLeft,l=s.clientTop||o.clientTop||0,u=s.clientLeft||o.clientLeft||0,c=0,h=0,d=i.top+r-l+c*n,p=i.left+a-u+h*n,f=jsPlumb.pageLocation(t),m=i.width||e.offsetWidth*n,g=i.height||e.offsetHeight*n,v=(f[0]-p)/m,b=(f[1]-d)/g;return[v,b]},getAbsolutePosition:function(t){var e=function(e){var n=t.style[e];if(n)return parseFloat(n.substring(0,n.length-2))};return[e("left"),e("top")]},setAbsolutePosition:function(t,e,n,i){n?this.animate(t,{left:"+="+(e[0]-n[0]),top:"+="+(e[1]-n[1])},i):(t.style.left=e[0]+"px",t.style.top=e[1]+"px")},getSize:function(t){return[t.offsetWidth,t.offsetHeight]},getWidth:function(t){return t.offsetWidth},getHeight:function(t){return t.offsetHeight},getRenderMode:function(){return"svg"},draggable:function(t,e){var i;return t=n.isArray(t)||null!=t.length&&!n.isString(t)?t:[t],Array.prototype.slice.call(t).forEach(function(t){i=this.info(t),i.el&&this._initDraggableIfNecessary(i.el,!0,e,i.id,!0)}.bind(this)),this},snapToGrid:function(t,e,n){var i=[],o=function(t){var o=this.info(t);if(null!=o.el&&o.el._katavorioDrag){var s=o.el._katavorioDrag.snap(e,n);this.revalidate(o.el),i.push([o.el,s])}}.bind(this);if(1===arguments.length||3===arguments.length)o(t,e,n);else{var s=this.getManagedElements();for(var r in s)o(r,arguments[0],arguments[1])}return i},initDraggable:function(t,e,n){r(this,n).draggable(t,e),t._jsPlumbDragOptions=e},destroyDraggable:function(t,e){r(this,e).destroyDraggable(t),delete t._jsPlumbDragOptions},unbindDraggable:function(t,e,n,i){r(this,i).destroyDraggable(t,e,n)},setDraggable:function(t,e){return jsPlumb.each(t,function(t){this.isDragSupported(t)&&(this._draggableStates[this.getAttribute(t,"id")]=e,this.setElementDraggable(t,e))}.bind(this))},_draggableStates:{},toggleDraggable:function(t){var e;return jsPlumb.each(t,function(t){var n=this.getAttribute(t,"id");return e=null!=this._draggableStates[n]&&this._draggableStates[n],e=!e,this._draggableStates[n]=e,this.setDraggable(t,e),e}.bind(this)),e},_initDraggableIfNecessary:function(t,e,i,o,s){if(!jsPlumb.headless){var r=null!=e&&e;if(r&&jsPlumb.isDragSupported(t,this)){var c=i||this.Defaults.DragOptions;if(c=jsPlumb.extend({},c),jsPlumb.isAlreadyDraggable(t,this))i.force&&this.initDraggable(t,c);else{var h=jsPlumb.dragEvents.drag,d=jsPlumb.dragEvents.stop,p=jsPlumb.dragEvents.start;this.manage(o,t),c[p]=n.wrap(c[p],a.bind(this)),c[h]=n.wrap(c[h],l.bind(this)),c[d]=n.wrap(c[d],u.bind(this));var f=this.getId(t);this._draggableStates[f]=!0;var m=this._draggableStates[f];c.disabled=null!=m&&!m,this.initDraggable(t,c),this.getDragManager().register(t),s&&this.fire("elementDraggable",{el:t,options:c})}}}},animationSupported:!0,getElement:function(t){return null==t?null:(t="string"===typeof t?t:null!=t.length&&null==t.enctype?t[0]:t,"string"===typeof t?document.getElementById(t):t)},removeElement:function(t){r(this).elementRemoved(t),this.getEventManager().remove(t)},doAnimate:function(t,n,i){i=i||{};var o=this.getOffset(t),s=c(o,n),r=s[0]-o.left,a=s[1]-o.top,l=i.duration||250,u=15,h=l/u,d=u/l*r,p=u/l*a,f=0,m=setInterval((function(){e.setPosition(t,{left:o.left+d*(f+1),top:o.top+p*(f+1)}),null!=i.step&&i.step(f,Math.ceil(h)),f++,f>=h&&(window.clearInterval(m),null!=i.complete&&i.complete())}),u)},destroyDroppable:function(t,e){r(this,e).destroyDroppable(t)},unbindDroppable:function(t,e,n,i){r(this,i).destroyDroppable(t,e,n)},droppable:function(t,e){var i;return t=n.isArray(t)||null!=t.length&&!n.isString(t)?t:[t],e=e||{},e.allowLoopback=!1,Array.prototype.slice.call(t).forEach(function(t){i=this.info(t),i.el&&this.initDroppable(i.el,e)}.bind(this)),this},initDroppable:function(t,e,n){r(this,n).droppable(t,e)},isAlreadyDraggable:function(t){return null!=t._katavorioDrag},isDragSupported:function(t,e){return!0},isDropSupported:function(t,e){return!0},isElementDraggable:function(t){return t=e.getElement(t),t._katavorioDrag&&t._katavorioDrag.isEnabled()},getDragObject:function(t){return t[0].drag.getDragElement()},getDragScope:function(t){return t._katavorioDrag&&t._katavorioDrag.scopes.join(" ")||""},getDropEvent:function(t){return t[0].e},getUIPosition:function(t,e){var n=t[0].el;if(null==n.offsetParent)return null;var i=t[0].finalPos||t[0].pos,o={left:i[0],top:i[1]};if(n._katavorioDrag&&n.offsetParent!==this.getContainer()){var s=this.getOffset(n.offsetParent);o.left+=s.left,o.top+=s.top}return o},setDragFilter:function(t,e,n){t._katavorioDrag&&t._katavorioDrag.setFilter(e,n)},setElementDraggable:function(t,n){t=e.getElement(t),t._katavorioDrag&&t._katavorioDrag.setEnabled(n)},setDragScope:function(t,e){t._katavorioDrag&&t._katavorioDrag.k.setDragScope(t,e)},setDropScope:function(t,e){t._katavorioDrop&&t._katavorioDrop.length>0&&t._katavorioDrop[0].k.setDropScope(t,e)},addToPosse:function(t,n){var i=Array.prototype.slice.call(arguments,1),o=r(this);e.each(t,(function(t){t=[e.getElement(t)],t.push.apply(t,i),o.addToPosse.apply(o,t)}))},setPosse:function(t,n){var i=Array.prototype.slice.call(arguments,1),o=r(this);e.each(t,(function(t){t=[e.getElement(t)],t.push.apply(t,i),o.setPosse.apply(o,t)}))},removeFromPosse:function(t,n){var i=Array.prototype.slice.call(arguments,1),o=r(this);e.each(t,(function(t){t=[e.getElement(t)],t.push.apply(t,i),o.removeFromPosse.apply(o,t)}))},removeFromAllPosses:function(t){var n=r(this);e.each(t,(function(t){n.removeFromAllPosses(e.getElement(t))}))},setPosseState:function(t,n,i){var o=r(this);e.each(t,(function(t){o.setPosseState(e.getElement(t),n,i)}))},dragEvents:{start:"start",stop:"stop",drag:"drag",step:"step",over:"over",out:"out",drop:"drop",complete:"complete",beforeStart:"beforeStart"},animEvents:{step:"step",complete:"complete"},stopDrag:function(t){t._katavorioDrag&&t._katavorioDrag.abort()},addToDragSelection:function(t){r(this).select(t)},removeFromDragSelection:function(t){r(this).deselect(t)},clearDragSelection:function(){r(this).deselectAll()},trigger:function(t,e,n,i){this.getEventManager().trigger(t,e,n,i)},doReset:function(){for(var t in this)0===t.indexOf("_katavorio_")&&this[t].reset()},getEventManager:function(){return s(this)},on:function(t,e,n){return this.getEventManager().on.apply(this,arguments),this},off:function(t,e,n){return this.getEventManager().off.apply(this,arguments),this}});var x=function(t){var e=function e(){/complete|loaded|interactive/.test(document.readyState)&&"undefined"!==typeof document.body&&null!=document.body?t():setTimeout(e,9)};e()};x(e.init)}.call("undefined"!==typeof window?window:this)},"92f6":function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var i={name:"流程C",nodeList:[{id:"nodeA",name:"流程C-节点A",type:"task",left:"400px",top:"15px",ico:"el-icon-user-solid"},{id:"nodeB",name:"流程C-节点B",type:"task",left:"400px",top:"200px",ico:"el-icon-goods"},{id:"nodeC",name:"流程C-节点C",type:"task",left:"400px",top:"378px",ico:"el-icon-present"}],lineList:[{from:"nodeA",to:"nodeB"},{from:"nodeB",to:"nodeC"}]};function o(){return i}},b214:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var i={name:"流程D",nodeList:[{id:"nodeA",name:"流程D-节点A",type:"task",left:"18px",top:"223px",ico:"el-icon-user-solid",state:"success"},{id:"nodeB",type:"task",name:"流程D-节点B",left:"351px",top:"96px",ico:"el-icon-goods",state:"error"},{id:"nodeC",name:"流程D-节点C",type:"task",left:"354px",top:"351px",ico:"el-icon-present",state:"warning"},{id:"nodeD",name:"流程D-节点D",type:"task",left:"723px",top:"215px",ico:"el-icon-present",state:"running"}],lineList:[{from:"nodeA",to:"nodeB",label:"直线,自定义线样式,固定锚点",connector:"Straight",anchors:["Top","Bottom"],paintStyle:{strokeWidth:2,stroke:"#1879FF"}},{from:"nodeA",to:"nodeC",label:"贝塞尔曲线,固定锚点",connector:"Bezier",anchors:["Bottom","Left"]},{from:"nodeB",to:"nodeD",label:"默认连线样式,动态锚点"},{from:"nodeC",to:"nodeD",label:"默认连线样式,动态锚点"},{from:"nodeC",to:"nodeC",label:"自连接"}]};function o(){return i}},b545:function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("div",{staticClass:"ef-node-form"},[n("div",{staticClass:"ef-node-form-header"},["node"===t.type?n("span",[t._v("节点配置")]):n("span",[t._v("连线配置")])]),n("div",{staticClass:"ef-node-form-body"},[n("el-form",{directives:[{name:"show",rawName:"v-show",value:"node"===t.type,expression:"type === 'node'"}],ref:"dataForm",attrs:{model:t.node,"label-width":"80px","label-position":"top"}},[n("el-form-item",{attrs:{label:"名称:"}},[n("el-input",{attrs:{size:"mini"},model:{value:t.node.name,callback:function(e){t.$set(t.node,"name",e)},expression:"node.name"}})],1),n("el-form-item",{attrs:{label:"审批人员:"}}),n("el-form-item",{attrs:{label:"","label-width":"0px"}},[n("el-button",{attrs:{type:"text",size:"mini",icon:"el-icon-plus"},on:{click:function(e){return t.addUserSelector()}}},[t._v("添加人员")]),n("nodeUser",{attrs:{userSelectors:t.node.userSelectors}})],1),n("el-checkbox",{model:{value:t.node.isWaitingAllUser,callback:function(e){t.$set(t.node,"isWaitingAllUser",e)},expression:"node.isWaitingAllUser"}},[t._v("等待所有人员审批")]),n("br"),n("br"),n("el-form-item",{attrs:{label:"退回节点:"}}),n("el-form-item",{attrs:{label:"","label-width":"0px"}},[n("el-button",{attrs:{type:"text",size:"mini",icon:"el-icon-plus"},on:{click:function(e){return t.addRejectNode()}}},[t._v("添加节点")]),n("rejectNode",{attrs:{rejectNodes:t.node.rejectNodes,nodeList:t.data.nodeList}})],1),n("br"),n("el-form-item",[n("el-button",{attrs:{size:"mini",icon:"el-icon-close"}},[t._v("重置")]),n("el-button",{attrs:{size:"mini",type:"primary",icon:"el-icon-check"},on:{click:t.save}},[t._v("确定")])],1)],1),n("el-form",{directives:[{name:"show",rawName:"v-show",value:"line"===t.type,expression:"type === 'line'"}],ref:"dataForm",attrs:{model:t.line,"label-width":"80px","label-position":"top"}},[n("el-form-item",{attrs:{label:"条件名称:"}},[n("el-input",{attrs:{size:"mini"},model:{value:t.line.label,callback:function(e){t.$set(t.line,"label",e)},expression:"line.label"}})],1),n("el-form-item",{attrs:{label:"","label-width":"0px"}},[n("el-button",{attrs:{type:"text",size:"small",icon:"el-icon-plus"},on:{click:function(e){return t.addLineCondition()}}},[t._v("添加条件")]),n("lineCondition",{attrs:{conditions:t.line.conditions}})],1),n("el-form-item",[n("el-button",{attrs:{size:"mini",icon:"el-icon-close"}},[t._v("重置")]),n("el-button",{attrs:{size:"mini",type:"primary",icon:"el-icon-check"},on:{click:t.saveLine}},[t._v("确定")])],1)],1)],1)])])},o=[],s=(n("4de4"),n("d3b7"),n("b0c0"),n("2ef0")),r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",t._l(t.rejectNodes,(function(e,i){return n("el-card",{key:i,staticClass:"reject-card",staticStyle:{"margin-top":"10px"},attrs:{shadow:"naver"}},[n("el-button",{attrs:{type:"text",size:"small",icon:"el-icon-remove"},on:{click:function(e){return t.delRejectNode(t.rejectNodes,i)}}},[t._v("移除")]),n("br"),n("el-select",{staticStyle:{width:"100%"},attrs:{size:"mini",placeholder:"选择节点"},model:{value:e.nodeId,callback:function(n){t.$set(e,"nodeId",n)},expression:"item.nodeId"}},t._l(t.nodeList,(function(t){return n("el-option",{key:t.id,attrs:{label:t.name,value:t.id}})})),1),n("div",[n("el-button",{attrs:{type:"text",size:"small",icon:"el-icon-plus"},on:{click:function(n){return t.addRejectCondition(e)}}},[t._v("添加回退条件")]),n("lineCondition",{attrs:{conditions:e.conditions}})],1)],1)})),1)},a=[],l=(n("a434"),function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",t._l(t.conditions,(function(e,i){return n("el-card",{key:i,attrs:{shadow:"naver"}},[n("el-button",{attrs:{type:"text",size:"small",icon:"el-icon-remove"},on:{click:function(e){return t.delcondition(t.conditions,i)}}},[t._v("移除")]),n("br"),n("el-select",{staticStyle:{width:"100%"},attrs:{size:"mini",placeholder:"选择条件类型"},model:{value:e.conditionId,callback:function(n){t.$set(e,"conditionId",n)},expression:"item.conditionId"}},t._l(t.conditionSelectors,(function(t){return n("el-option",{key:t.id,attrs:{label:t.name,value:t.id}})})),1),n("p",{staticClass:"text-description"},[t._v(t._s(t.getConditionDescription(e.conditionId)))]),n("el-input",{attrs:{size:"mini",placeholder:"参数"},model:{value:e.parameter,callback:function(n){t.$set(e,"parameter",n)},expression:"item.parameter"}}),n("el-input",{attrs:{size:"mini",placeholder:"描述"},model:{value:e.description,callback:function(n){t.$set(e,"description",n)},expression:"item.description"}})],1)})),1)}),u=[],c=(n("a4d3"),n("e01a"),{props:{conditions:{type:Array,default:function(){return[]}}},data:function(){return{conditionSelectors:[]}},mounted:function(){this.loadConditionSelectors()},methods:{loadConditionSelectors:function(){var t=this;this.$store.dispatch("workflow/getAllconditions").then((function(e){console.log(e),t.conditionSelectors=e}))},delcondition:function(t,e){t.splice(e,1)},getConditionDescription:function(t){var e=this.conditionSelectors.filter((function(e){return e.id==t}));return 0==e.length?"":e[0].description}}}),h=c,d=n("2877"),p=Object(d["a"])(h,l,u,!1,null,null,null),f=p.exports,m={components:{lineCondition:f},props:{rejectNodes:{type:Array,default:function(){return[]}},nodeList:{type:Array,default:function(){return[]}}},methods:{delRejectNode:function(t,e){t.splice(e,1)},addRejectCondition:function(t){t.conditions||this.$set(t,"conditions",[]),t.conditions.push({conditionId:"",conditionName:"",parameter:"",description:""})}}},g=m,v=Object(d["a"])(g,r,a,!1,null,null,null),b=v.exports,y=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",t._l(t.userSelectors,(function(e,i){return n("el-card",{key:i,staticClass:"user-card",staticStyle:{"margin-top":"10px"},attrs:{shadow:"naver"}},[n("el-button",{attrs:{type:"text",size:"small",icon:"el-icon-remove"},on:{click:function(e){return t.delUserSelector(t.userSelectors,i)}}},[t._v("移除")]),n("br"),n("el-select",{staticStyle:{width:"100%"},attrs:{size:"mini",placeholder:"选择人员类型"},on:{change:function(n){return t.selectorChange(e)}},model:{value:e.selectorId,callback:function(n){t.$set(e,"selectorId",n)},expression:"item.selectorId"}},t._l(t.allUserSelectors,(function(t){return n("el-option",{key:t.id,attrs:{label:t.name,value:t.id}})})),1),n("p",{staticClass:"text-description"},[t._v(t._s(t.getUserSeletorDescription(e.selectorId)))]),n("userSelections",{ref:"userSelections",refInFor:!0,attrs:{index:i,selectorId:e.selectorId,selections:e.selections},on:{"ok-click":t.userSelectionsOkHandler}}),n("el-input",{attrs:{size:"mini",placeholder:"参数"},model:{value:e.parameter,callback:function(n){t.$set(e,"parameter",n)},expression:"item.parameter"}}),n("el-radio-group",{attrs:{size:"mini"},model:{value:e.handleType,callback:function(n){t.$set(e,"handleType",n)},expression:"item.handleType"}},[n("el-radio",{attrs:{label:0}},[t._v("审批")]),n("el-radio",{attrs:{label:1}},[t._v("抄送")])],1),n("el-input",{attrs:{size:"mini",placeholder:"描述"},model:{value:e.description,callback:function(n){t.$set(e,"description",n)},expression:"item.description"}})],1)})),1)},P=[],x=(n("159b"),n("a15b"),function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-select",{staticStyle:{width:"100%"},attrs:{value:t.selectedValues,multiple:"",filterable:"","allow-create":"","default-first-option":"",size:"mini",placeholder:"请选择人员项"},on:{focus:t.onfocus,change:t.onchange}},t._l(t.allOptions,(function(t){return n("el-option",{key:t.id,attrs:{label:t.name,value:t.id}})})),1)}),_=[],C=(n("a9e3"),{props:{selections:{type:Array},index:{type:Number},selectorId:{type:String}},watch:{selectorId:function(){this.onfocus()}},computed:{allOptions:function(){var t=[];return t=0==this.options.length?this.selections.filter((function(t){return!0})):this.options,t},selectedValues:function(){var t=[];return this.selections.forEach((function(e){t.push(e.id)})),t}},data:function(){return{options:[]}},methods:{onfocus:function(){var t=this;this.$store.dispatch("workflow/getUserSelectionsOfUserSelector",{userSelectorId:this.selectorId}).then((function(e){console.log(e),t.options=e}))},onchange:function(t){this.$emit("ok-click",{index:this.index,value:this.options.filter((function(e){return t.indexOf(e.id)>-1}))})}}}),j=C,E=Object(d["a"])(j,x,_,!1,null,null,null),S=E.exports,D={components:{userSelections:S},props:{userSelectors:{type:Array,default:function(){return[]}}},filters:{getSelectionsName:function(t){if(!t)return"";var e=[];return t.forEach((function(t){e.push(t.name)})),e.join(",")}},data:function(){return{allUserSelectors:[]}},mounted:function(){this.loadUserSelectors()},methods:{loadUserSelectors:function(){var t=this;this.$store.dispatch("workflow/getAllUserSelectors").then((function(e){console.log(e),t.allUserSelectors=e}))},delUserSelector:function(t,e){t.splice(e,1)},userSelectionsOkHandler:function(t){var e=this.userSelectors[t.index];this.$set(e,"selections",[]),t.value.forEach((function(t){e.selections.push({id:t.id,name:t.name})}))},getUserSeletorDescription:function(t){var e=this.allUserSelectors.filter((function(e){return e.id==t}));return 0==e.length?"":e[0].description},selectorChange:function(t){this.$set(t,"selections",[])}}},w=D,I=(n("bbed"),Object(d["a"])(w,y,P,!1,null,null,null)),k=I.exports,A={components:{rejectNode:b,nodeUser:k,lineCondition:f},data:function(){return{visible:!0,type:"node",node:{},line:{},data:{},stateList:[{state:"success",label:"成功"},{state:"warning",label:"警告"},{state:"error",label:"错误"},{state:"running",label:"运行中"}]}},methods:{nodeInit:function(t,e){var n=this;this.type="node",this.data=t,t.nodeList.filter((function(t){t.id===e&&(n.node=Object(s["cloneDeep"])(t))}))},lineInit:function(t){this.type="line",this.line=t},saveLine:function(){this.$emit("setLineLabel",this.line.from,this.line.to,this.line.label,this.line.conditions),this.$message("操作成功")},save:function(){var t=this;this.data.nodeList.filter((function(e){e.id===t.node.id&&(e.name=t.node.name,e.left=t.node.left,e.top=t.node.top,e.ico=t.node.ico,e.state=t.node.state,e.isWaitingAllUser=t.node.isWaitingAllUser,e.userSelectors=t.node.userSelectors,e.rejectNodes=t.node.rejectNodes,t.$emit("repaintEverything"))})),this.$message("操作成功")},addUserSelector:function(){this.node.userSelectors||this.$set(this.node,"userSelectors",[]),this.node.userSelectors.push({selectorId:"",selectorName:"",selections:[],parameter:"",description:"",handleType:0})},addRejectNode:function(){this.node.rejectNodes||this.$set(this.node,"rejectNodes",[]),this.node.rejectNodes.push({nodeId:"",nodeName:"",conditions:[]})},addLineCondition:function(){this.line.conditions||this.$set(this.node,"conditions",[]),this.line.conditions.push({conditionId:"",conditionName:"",parameter:"",description:""})}}},O=A,M=(n("1a5b"),Object(d["a"])(O,i,o,!1,null,null,null));e["a"]=M.exports},bbed:function(t,e,n){"use strict";n("1958")},c069:function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{ref:"tool",staticClass:"flow-menu"},t._l(t.menuList,(function(e){return n("div",{key:e.id},[n("span",{staticClass:"ef-node-pmenu",on:{click:function(t){e.open=!e.open}}},[n("i",{class:{"el-icon-caret-bottom":e.open,"el-icon-caret-right":!e.open}}),t._v(" "+t._s(e.name))]),n("ul",{directives:[{name:"show",rawName:"v-show",value:e.open,expression:"menu.open"}],staticClass:"ef-node-menu-ul"},[n("draggable",{attrs:{options:t.draggableOptions},on:{end:t.end,start:t.move},model:{value:e.children,callback:function(n){t.$set(e,"children",n)},expression:"menu.children"}},t._l(e.children,(function(e){return n("li",{key:e.id,staticClass:"ef-node-menu-li",attrs:{type:e.type}},[n("i",{class:e.ico}),t._v(" "+t._s(e.name)+" ")])})),0)],1)])})),0)},o=[],s=n("b76a"),r=n.n(s),a={left:-1,top:-1},l={data:function(){return{activeNames:"1",draggableOptions:{preventOnFilter:!1,sort:!1,disabled:!1,ghostClass:"tt",forceFallback:!0},defaultOpeneds:["1","2"],menuList:[{id:"1",type:"group",name:"所有节点",ico:"el-icon-video-play",open:!0,children:[{id:"11",type:"Begin",name:"开始",ico:"el-icon-s-flag",style:{}},{id:"12",type:"End",name:"结束",ico:"el-icon-finished",style:{}},{id:"13",type:"Normal",name:"普通",ico:"el-icon-monitor",style:{}},{id:"15",type:"Sign",name:"会签",ico:"el-icon-edit-outline",style:{}},{id:"17",type:"SubProcess",name:"子流程",ico:"el-icon-share",style:{}},{id:"18",type:"SubNode",name:"子节点",ico:"el-icon-set-up",style:{}}]}],nodeMenu:{}}},components:{draggable:r.a},created:function(){this.isFirefox()&&(document.body.ondrop=function(t){a.left=t.layerX,a.top=t.clientY-50,t.preventDefault(),t.stopPropagation()})},methods:{getMenuByType:function(t){for(var e=0;e-1}}},u=l,c=n("2877"),h=Object(c["a"])(u,i,o,!1,null,null,null);e["a"]=h.exports},c560:function(t,e,n){},c5dc:function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("el-dialog",{attrs:{title:"流程数据信息",visible:t.dialogVisible,width:"70%"},on:{"update:visible":function(e){t.dialogVisible=e}}},[n("el-alert",{attrs:{title:"使用说明",type:"warning",description:"以下流程信息可以被存储起来,方便下一次流程加载","show-icon":"","close-text":"知道了"}}),n("br"),n("codemirror",{ref:"codeEditor",staticClass:"code",attrs:{options:t.options},model:{value:t.flowJsonData,callback:function(e){t.flowJsonData=e},expression:"flowJsonData"}}),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.updateInfo}},[t._v("更 新")])],1)],1)},o=[],s=(n("d3b7"),n("25f0"),n("e9c4"),n("a7be"),n("8f94"));n("f9d4");var r={props:{data:Object},data:function(){return{dialogVisible:!1,flowJsonData:{},options:{mode:{name:"javascript",json:!0},lineNumbers:!0}}},components:{codemirror:s["codemirror"]},methods:{init:function(){this.dialogVisible=!0,this.flowJsonData=JSON.stringify(this.data,null,4).toString()},updateInfo:function(){this.$emit("update",JSON.parse(this.flowJsonData))}}},a=r,l=n("2877"),u=Object(l["a"])(a,i,o,!1,null,null,null);e["a"]=u.exports},f598:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var i={name:"流程A",nodeList:[{id:"nodeA",name:"流程A-节点A",type:"task",left:"26px",top:"161px",ico:"el-icon-user-solid"},{id:"nodeB",name:"流程A-节点B",type:"task",left:"340px",top:"161px",ico:"el-icon-goods"},{id:"nodeC",name:"流程A-节点C",type:"task",left:"739px",top:"161px",ico:"el-icon-present"}],lineList:[{from:"nodeA",to:"nodeB"},{from:"nodeB",to:"nodeC"}]};function o(){return i}}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-d28833c2.34ca8dc8.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-d28833c2.34ca8dc8.js new file mode 100644 index 0000000000000000000000000000000000000000..c0896f979df631947ad9831acd88f3c4d20df179 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-d28833c2.34ca8dc8.js @@ -0,0 +1,9 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-d28833c2"],{"18a5":function(t,e,n){"use strict";var r=n("23e7"),i=n("857a"),o=n("af03");r({target:"String",proto:!0,forced:o("anchor")},{anchor:function(t){return i(this,"a","name",t)}})},"2c3e":function(t,e,n){var r=n("83ab"),i=n("9f7f").UNSUPPORTED_Y,o=n("9bf2").f,a=n("69f3").get,l=RegExp.prototype;r&&i&&o(RegExp.prototype,"sticky",{configurable:!0,get:function(){if(this!==l){if(this instanceof RegExp)return!!a(this).sticky;throw TypeError("Incompatible receiver, RegExp required")}}})},"2ef0":function(t,e,n){(function(t,r){var i; +/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */(function(){var o,a="4.17.21",l=200,u="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",s="Expected a function",c="Invalid `variable` option passed into `_.template`",f="__lodash_hash_undefined__",h=500,d="__lodash_placeholder__",p=1,v=2,g=4,m=1,y=2,w=1,b=2,x=4,C=8,k=16,_=32,S=64,L=128,T=256,M=512,A=30,O="...",N=800,E=16,W=1,D=2,I=3,R=1/0,z=9007199254740991,P=17976931348623157e292,F=NaN,H=4294967295,j=H-1,B=H>>>1,U=[["ary",L],["bind",w],["bindKey",b],["curry",C],["curryRight",k],["flip",M],["partial",_],["partialRight",S],["rearg",T]],$="[object Arguments]",V="[object Array]",G="[object AsyncFunction]",K="[object Boolean]",q="[object Date]",X="[object DOMException]",Y="[object Error]",Z="[object Function]",J="[object GeneratorFunction]",Q="[object Map]",tt="[object Number]",et="[object Null]",nt="[object Object]",rt="[object Promise]",it="[object Proxy]",ot="[object RegExp]",at="[object Set]",lt="[object String]",ut="[object Symbol]",st="[object Undefined]",ct="[object WeakMap]",ft="[object WeakSet]",ht="[object ArrayBuffer]",dt="[object DataView]",pt="[object Float32Array]",vt="[object Float64Array]",gt="[object Int8Array]",mt="[object Int16Array]",yt="[object Int32Array]",wt="[object Uint8Array]",bt="[object Uint8ClampedArray]",xt="[object Uint16Array]",Ct="[object Uint32Array]",kt=/\b__p \+= '';/g,_t=/\b(__p \+=) '' \+/g,St=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Lt=/&(?:amp|lt|gt|quot|#39);/g,Tt=/[&<>"']/g,Mt=RegExp(Lt.source),At=RegExp(Tt.source),Ot=/<%-([\s\S]+?)%>/g,Nt=/<%([\s\S]+?)%>/g,Et=/<%=([\s\S]+?)%>/g,Wt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Dt=/^\w*$/,It=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Rt=/[\\^$.*+?()[\]{}|]/g,zt=RegExp(Rt.source),Pt=/^\s+/,Ft=/\s/,Ht=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,jt=/\{\n\/\* \[wrapped with (.+)\] \*/,Bt=/,? & /,Ut=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,$t=/[()=,{}\[\]\/\s]/,Vt=/\\(\\)?/g,Gt=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Kt=/\w*$/,qt=/^[-+]0x[0-9a-f]+$/i,Xt=/^0b[01]+$/i,Yt=/^\[object .+?Constructor\]$/,Zt=/^0o[0-7]+$/i,Jt=/^(?:0|[1-9]\d*)$/,Qt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,te=/($^)/,ee=/['\n\r\u2028\u2029\\]/g,ne="\\ud800-\\udfff",re="\\u0300-\\u036f",ie="\\ufe20-\\ufe2f",oe="\\u20d0-\\u20ff",ae=re+ie+oe,le="\\u2700-\\u27bf",ue="a-z\\xdf-\\xf6\\xf8-\\xff",se="\\xac\\xb1\\xd7\\xf7",ce="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",fe="\\u2000-\\u206f",he=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",de="A-Z\\xc0-\\xd6\\xd8-\\xde",pe="\\ufe0e\\ufe0f",ve=se+ce+fe+he,ge="['’]",me="["+ne+"]",ye="["+ve+"]",we="["+ae+"]",be="\\d+",xe="["+le+"]",Ce="["+ue+"]",ke="[^"+ne+ve+be+le+ue+de+"]",_e="\\ud83c[\\udffb-\\udfff]",Se="(?:"+we+"|"+_e+")",Le="[^"+ne+"]",Te="(?:\\ud83c[\\udde6-\\uddff]){2}",Me="[\\ud800-\\udbff][\\udc00-\\udfff]",Ae="["+de+"]",Oe="\\u200d",Ne="(?:"+Ce+"|"+ke+")",Ee="(?:"+Ae+"|"+ke+")",We="(?:"+ge+"(?:d|ll|m|re|s|t|ve))?",De="(?:"+ge+"(?:D|LL|M|RE|S|T|VE))?",Ie=Se+"?",Re="["+pe+"]?",ze="(?:"+Oe+"(?:"+[Le,Te,Me].join("|")+")"+Re+Ie+")*",Pe="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Fe="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",He=Re+Ie+ze,je="(?:"+[xe,Te,Me].join("|")+")"+He,Be="(?:"+[Le+we+"?",we,Te,Me,me].join("|")+")",Ue=RegExp(ge,"g"),$e=RegExp(we,"g"),Ve=RegExp(_e+"(?="+_e+")|"+Be+He,"g"),Ge=RegExp([Ae+"?"+Ce+"+"+We+"(?="+[ye,Ae,"$"].join("|")+")",Ee+"+"+De+"(?="+[ye,Ae+Ne,"$"].join("|")+")",Ae+"?"+Ne+"+"+We,Ae+"+"+De,Fe,Pe,be,je].join("|"),"g"),Ke=RegExp("["+Oe+ne+ae+pe+"]"),qe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Xe=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Ye=-1,Ze={};Ze[pt]=Ze[vt]=Ze[gt]=Ze[mt]=Ze[yt]=Ze[wt]=Ze[bt]=Ze[xt]=Ze[Ct]=!0,Ze[$]=Ze[V]=Ze[ht]=Ze[K]=Ze[dt]=Ze[q]=Ze[Y]=Ze[Z]=Ze[Q]=Ze[tt]=Ze[nt]=Ze[ot]=Ze[at]=Ze[lt]=Ze[ct]=!1;var Je={};Je[$]=Je[V]=Je[ht]=Je[dt]=Je[K]=Je[q]=Je[pt]=Je[vt]=Je[gt]=Je[mt]=Je[yt]=Je[Q]=Je[tt]=Je[nt]=Je[ot]=Je[at]=Je[lt]=Je[ut]=Je[wt]=Je[bt]=Je[xt]=Je[Ct]=!0,Je[Y]=Je[Z]=Je[ct]=!1;var Qe={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"},tn={"&":"&","<":"<",">":">",'"':""","'":"'"},en={"&":"&","<":"<",">":">",""":'"',"'":"'"},nn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},rn=parseFloat,on=parseInt,an="object"==typeof t&&t&&t.Object===Object&&t,ln="object"==typeof self&&self&&self.Object===Object&&self,un=an||ln||Function("return this")(),sn=e&&!e.nodeType&&e,cn=sn&&"object"==typeof r&&r&&!r.nodeType&&r,fn=cn&&cn.exports===sn,hn=fn&&an.process,dn=function(){try{var t=cn&&cn.require&&cn.require("util").types;return t||hn&&hn.binding&&hn.binding("util")}catch(e){}}(),pn=dn&&dn.isArrayBuffer,vn=dn&&dn.isDate,gn=dn&&dn.isMap,mn=dn&&dn.isRegExp,yn=dn&&dn.isSet,wn=dn&&dn.isTypedArray;function bn(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function xn(t,e,n,r){var i=-1,o=null==t?0:t.length;while(++i-1}function Tn(t,e,n){var r=-1,i=null==t?0:t.length;while(++r-1);return n}function tr(t,e){var n=t.length;while(n--&&Pn(e,t[n],0)>-1);return n}function er(t,e){var n=t.length,r=0;while(n--)t[n]===e&&++r;return r}var nr=Un(Qe),rr=Un(tn);function ir(t){return"\\"+nn[t]}function or(t,e){return null==t?o:t[e]}function ar(t){return Ke.test(t)}function lr(t){return qe.test(t)}function ur(t){var e,n=[];while(!(e=t.next()).done)n.push(e.value);return n}function sr(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}function cr(t,e){return function(n){return t(e(n))}}function fr(t,e){var n=-1,r=t.length,i=0,o=[];while(++n-1}function Br(t,e){var n=this.__data__,r=ci(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this}function Ur(t){var e=-1,n=null==t?0:t.length;this.clear();while(++e=e?t:e)),t}function mi(t,e,n,r,i,a){var l,u=e&p,s=e&v,c=e&g;if(n&&(l=i?n(t,r,i,a):n(t)),l!==o)return l;if(!_c(t))return t;var f=uc(t);if(f){if(l=el(t),!u)return ia(t,l)}else{var h=Za(t),d=h==Z||h==J;if(dc(t))return qo(t,u);if(h==nt||h==$||d&&!i){if(l=s||d?{}:nl(t),!u)return s?la(t,di(l,t)):aa(t,hi(l,t))}else{if(!Je[h])return i?t:{};l=rl(t,h,u)}}a||(a=new Jr);var m=a.get(t);if(m)return m;a.set(t,l),zc(t)?t.forEach((function(r){l.add(mi(r,e,n,r,t,a))})):Lc(t)&&t.forEach((function(r,i){l.set(i,mi(r,e,n,i,t,a))}));var y=c?s?Ha:Fa:s?_f:kf,w=f?o:y(t);return Cn(w||t,(function(r,i){w&&(i=r,r=t[i]),si(l,i,mi(r,e,n,i,t,a))})),l}function yi(t){var e=kf(t);return function(n){return wi(n,t,e)}}function wi(t,e,n){var r=n.length;if(null==t)return!r;t=ne(t);while(r--){var i=n[r],a=e[i],l=t[i];if(l===o&&!(i in t)||!a(l))return!1}return!0}function bi(t,e,n){if("function"!=typeof t)throw new oe(s);return Sl((function(){t.apply(o,n)}),e)}function xi(t,e,n,r){var i=-1,o=Ln,a=!0,u=t.length,s=[],c=e.length;if(!u)return s;n&&(e=Mn(e,Yn(n))),r?(o=Tn,a=!1):e.length>=l&&(o=Jn,a=!1,e=new Xr(e));t:while(++ii?0:i+n),r=r===o||r>i?i:qc(r),r<0&&(r+=i),r=n>r?0:Xc(r);while(n0&&n(l)?e>1?Mi(l,e-1,n,r,i):An(i,l):r||(i[i.length]=l)}return i}var Ai=fa(),Oi=fa(!0);function Ni(t,e){return t&&Ai(t,e,kf)}function Ei(t,e){return t&&Oi(t,e,kf)}function Wi(t,e){return Sn(e,(function(e){return xc(t[e])}))}function Di(t,e){e=$o(e,t);var n=0,r=e.length;while(null!=t&&ne}function Pi(t,e){return null!=t&&fe.call(t,e)}function Fi(t,e){return null!=t&&e in ne(t)}function Hi(t,e,n){return t>=je(e,n)&&t=120&&h.length>=120)?new Xr(u&&h):o}h=t[0];var d=-1,p=s[0];t:while(++d-1)l!==t&&Se.call(l,u,1),Se.call(t,u,1)}return t}function mo(t,e){var n=t?e.length:0,r=n-1;while(n--){var i=e[n];if(n==r||i!==o){var o=i;al(i)?Se.call(t,i,1):Ro(t,i)}}return t}function yo(t,e){return t+De(Ge()*(e-t+1))}function wo(t,e,r,i){var o=-1,a=He(We((e-t)/(r||1)),0),l=n(a);while(a--)l[i?a:++o]=t,t+=r;return l}function bo(t,e){var n="";if(!t||e<1||e>z)return n;do{e%2&&(n+=t),e=De(e/2),e&&(t+=t)}while(e);return n}function xo(t,e){return Ll(bl(t,e,Nh),t+"")}function Co(t){return oi(Bf(t))}function ko(t,e){var n=Bf(t);return Al(n,gi(e,0,n.length))}function _o(t,e,n,r){if(!_c(t))return t;e=$o(e,t);var i=-1,a=e.length,l=a-1,u=t;while(null!=u&&++io?0:o+e),r=r>o?o:r,r<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;var a=n(o);while(++i>>1,a=t[o];null!==a&&!Fc(a)&&(n?a<=e:a=l){var c=e?null:Aa(t);if(c)return hr(c);a=!1,i=Jn,s=new Xr}else s=e?[]:u;t:while(++r=r?t:Mo(t,e,n)}var Ko=Oe||function(t){return un.clearTimeout(t)};function qo(t,e){if(e)return t.slice();var n=t.length,r=xe?xe(n):new t.constructor(n);return t.copy(r),r}function Xo(t){var e=new t.constructor(t.byteLength);return new be(e).set(new be(t)),e}function Yo(t,e){var n=e?Xo(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}function Zo(t){var e=new t.constructor(t.source,Kt.exec(t));return e.lastIndex=t.lastIndex,e}function Jo(t){return pr?ne(pr.call(t)):{}}function Qo(t,e){var n=e?Xo(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function ta(t,e){if(t!==e){var n=t!==o,r=null===t,i=t===t,a=Fc(t),l=e!==o,u=null===e,s=e===e,c=Fc(e);if(!u&&!c&&!a&&t>e||a&&l&&s&&!u&&!c||r&&l&&s||!n&&s||!i)return 1;if(!r&&!a&&!c&&t=l)return u;var s=n[r];return u*("desc"==s?-1:1)}}return t.index-e.index}function na(t,e,r,i){var o=-1,a=t.length,l=r.length,u=-1,s=e.length,c=He(a-l,0),f=n(s+c),h=!i;while(++u1?n[i-1]:o,l=i>2?n[2]:o;a=t.length>3&&"function"==typeof a?(i--,a):o,l&&ll(n[0],n[1],l)&&(a=i<3?o:a,i=1),e=ne(e);while(++r-1?i[a?e[l]:l]:o}}function ya(t){return Pa((function(e){var n=e.length,r=n,i=Lr.prototype.thru;t&&e.reverse();while(r--){var a=e[r];if("function"!=typeof a)throw new oe(s);if(i&&!l&&"wrapper"==Ba(a))var l=new Lr([],!0)}r=l?r:n;while(++r1&&w.reverse(),h&&cu))return!1;var c=a.get(t),f=a.get(e);if(c&&f)return c==e&&f==t;var h=-1,d=!0,p=n&y?new Xr:o;a.set(t,e),a.set(e,t);while(++h1?"& ":"")+e[r],e=e.join(n>2?", ":" "),t.replace(Ht,"{\n/* [wrapped with "+e+"] */\n")}function ol(t){return uc(t)||lc(t)||!!(Le&&t&&t[Le])}function al(t,e){var n=typeof t;return e=null==e?z:e,!!e&&("number"==n||"symbol"!=n&&Jt.test(t))&&t>-1&&t%1==0&&t0){if(++e>=N)return arguments[0]}else e=0;return t.apply(o,arguments)}}function Al(t,e){var n=-1,r=t.length,i=r-1;e=e===o?r:e;while(++n1?t[e-1]:o;return n="function"==typeof n?(t.pop(),n):o,Ru(t,n)}));function Vu(t){var e=xr(t);return e.__chain__=!0,e}function Gu(t,e){return e(t),t}function Ku(t,e){return e(t)}var qu=Pa((function(t){var e=t.length,n=e?t[0]:0,r=this.__wrapped__,i=function(e){return vi(e,t)};return!(e>1||this.__actions__.length)&&r instanceof Tr&&al(n)?(r=r.slice(n,+n+(e?1:0)),r.__actions__.push({func:Ku,args:[i],thisArg:o}),new Lr(r,this.__chain__).thru((function(t){return e&&!t.length&&t.push(o),t}))):this.thru(i)}));function Xu(){return Vu(this)}function Yu(){return new Lr(this.value(),this.__chain__)}function Zu(){this.__values__===o&&(this.__values__=Gc(this.value()));var t=this.__index__>=this.__values__.length,e=t?o:this.__values__[this.__index__++];return{done:t,value:e}}function Ju(){return this}function Qu(t){var e,n=this;while(n instanceof Sr){var r=Dl(n);r.__index__=0,r.__values__=o,e?i.__wrapped__=r:e=r;var i=r;n=n.__wrapped__}return i.__wrapped__=t,e}function ts(){var t=this.__wrapped__;if(t instanceof Tr){var e=t;return this.__actions__.length&&(e=new Tr(this)),e=e.reverse(),e.__actions__.push({func:Ku,args:[pu],thisArg:o}),new Lr(e,this.__chain__)}return this.thru(pu)}function es(){return Fo(this.__wrapped__,this.__actions__)}var ns=ua((function(t,e,n){fe.call(t,n)?++t[n]:pi(t,n,1)}));function rs(t,e,n){var r=uc(t)?_n:_i;return n&&ll(t,e,n)&&(e=o),r(t,$a(e,3))}function is(t,e){var n=uc(t)?Sn:Ti;return n(t,$a(e,3))}var os=ma(Gl),as=ma(Kl);function ls(t,e){return Mi(gs(t,e),1)}function us(t,e){return Mi(gs(t,e),R)}function ss(t,e,n){return n=n===o?1:qc(n),Mi(gs(t,e),n)}function cs(t,e){var n=uc(t)?Cn:Ci;return n(t,$a(e,3))}function fs(t,e){var n=uc(t)?kn:ki;return n(t,$a(e,3))}var hs=ua((function(t,e,n){fe.call(t,n)?t[n].push(e):pi(t,n,[e])}));function ds(t,e,n,r){t=cc(t)?t:Bf(t),n=n&&!r?qc(n):0;var i=t.length;return n<0&&(n=He(i+n,0)),Pc(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&Pn(t,e,n)>-1}var ps=xo((function(t,e,r){var i=-1,o="function"==typeof e,a=cc(t)?n(t.length):[];return Ci(t,(function(t){a[++i]=o?bn(e,t,r):Ui(t,e,r)})),a})),vs=ua((function(t,e,n){pi(t,n,e)}));function gs(t,e){var n=uc(t)?Mn:oo;return n(t,$a(e,3))}function ms(t,e,n,r){return null==t?[]:(uc(e)||(e=null==e?[]:[e]),n=r?o:n,uc(n)||(n=null==n?[]:[n]),fo(t,e,n))}var ys=ua((function(t,e,n){t[n?0:1].push(e)}),(function(){return[[],[]]}));function ws(t,e,n){var r=uc(t)?On:$n,i=arguments.length<3;return r(t,$a(e,4),n,i,Ci)}function bs(t,e,n){var r=uc(t)?Nn:$n,i=arguments.length<3;return r(t,$a(e,4),n,i,ki)}function xs(t,e){var n=uc(t)?Sn:Ti;return n(t,js($a(e,3)))}function Cs(t){var e=uc(t)?oi:Co;return e(t)}function ks(t,e,n){e=(n?ll(t,e,n):e===o)?1:qc(e);var r=uc(t)?ai:ko;return r(t,e)}function _s(t){var e=uc(t)?li:To;return e(t)}function Ss(t){if(null==t)return 0;if(cc(t))return Pc(t)?gr(t):t.length;var e=Za(t);return e==Q||e==at?t.size:no(t).length}function Ls(t,e,n){var r=uc(t)?En:Ao;return n&&ll(t,e,n)&&(e=o),r(t,$a(e,3))}var Ts=xo((function(t,e){if(null==t)return[];var n=e.length;return n>1&&ll(t,e[0],e[1])?e=[]:n>2&&ll(e[0],e[1],e[2])&&(e=[e[0]]),fo(t,Mi(e,1),[])})),Ms=Ne||function(){return un.Date.now()};function As(t,e){if("function"!=typeof e)throw new oe(s);return t=qc(t),function(){if(--t<1)return e.apply(this,arguments)}}function Os(t,e,n){return e=n?o:e,e=t&&null==e?t.length:e,Na(t,L,o,o,o,o,e)}function Ns(t,e){var n;if("function"!=typeof e)throw new oe(s);return t=qc(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=o),n}}var Es=xo((function(t,e,n){var r=w;if(n.length){var i=fr(n,Ua(Es));r|=_}return Na(t,r,e,n,i)})),Ws=xo((function(t,e,n){var r=w|b;if(n.length){var i=fr(n,Ua(Ws));r|=_}return Na(e,r,t,n,i)}));function Ds(t,e,n){e=n?o:e;var r=Na(t,C,o,o,o,o,o,e);return r.placeholder=Ds.placeholder,r}function Is(t,e,n){e=n?o:e;var r=Na(t,k,o,o,o,o,o,e);return r.placeholder=Is.placeholder,r}function Rs(t,e,n){var r,i,a,l,u,c,f=0,h=!1,d=!1,p=!0;if("function"!=typeof t)throw new oe(s);function v(e){var n=r,a=i;return r=i=o,f=e,l=t.apply(a,n),l}function g(t){return f=t,u=Sl(w,e),h?v(t):l}function m(t){var n=t-c,r=t-f,i=e-n;return d?je(i,a-r):i}function y(t){var n=t-c,r=t-f;return c===o||n>=e||n<0||d&&r>=a}function w(){var t=Ms();if(y(t))return b(t);u=Sl(w,m(t))}function b(t){return u=o,p&&r?v(t):(r=i=o,l)}function x(){u!==o&&Ko(u),f=0,r=c=i=u=o}function C(){return u===o?l:b(Ms())}function k(){var t=Ms(),n=y(t);if(r=arguments,i=this,c=t,n){if(u===o)return g(c);if(d)return Ko(u),u=Sl(w,e),v(c)}return u===o&&(u=Sl(w,e)),l}return e=Yc(e)||0,_c(n)&&(h=!!n.leading,d="maxWait"in n,a=d?He(Yc(n.maxWait)||0,e):a,p="trailing"in n?!!n.trailing:p),k.cancel=x,k.flush=C,k}var zs=xo((function(t,e){return bi(t,1,e)})),Ps=xo((function(t,e,n){return bi(t,Yc(e)||0,n)}));function Fs(t){return Na(t,M)}function Hs(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new oe(s);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(Hs.Cache||Ur),n}function js(t){if("function"!=typeof t)throw new oe(s);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}function Bs(t){return Ns(2,t)}Hs.Cache=Ur;var Us=Vo((function(t,e){e=1==e.length&&uc(e[0])?Mn(e[0],Yn($a())):Mn(Mi(e,1),Yn($a()));var n=e.length;return xo((function(r){var i=-1,o=je(r.length,n);while(++i=e})),lc=$i(function(){return arguments}())?$i:function(t){return Sc(t)&&fe.call(t,"callee")&&!_e.call(t,"callee")},uc=n.isArray,sc=pn?Yn(pn):Vi;function cc(t){return null!=t&&kc(t.length)&&!xc(t)}function fc(t){return Sc(t)&&cc(t)}function hc(t){return!0===t||!1===t||Sc(t)&&Ri(t)==K}var dc=Re||Xh,pc=vn?Yn(vn):Gi;function vc(t){return Sc(t)&&1===t.nodeType&&!Dc(t)}function gc(t){if(null==t)return!0;if(cc(t)&&(uc(t)||"string"==typeof t||"function"==typeof t.splice||dc(t)||Hc(t)||lc(t)))return!t.length;var e=Za(t);if(e==Q||e==at)return!t.size;if(dl(t))return!no(t).length;for(var n in t)if(fe.call(t,n))return!1;return!0}function mc(t,e){return Ki(t,e)}function yc(t,e,n){n="function"==typeof n?n:o;var r=n?n(t,e):o;return r===o?Ki(t,e,o,n):!!r}function wc(t){if(!Sc(t))return!1;var e=Ri(t);return e==Y||e==X||"string"==typeof t.message&&"string"==typeof t.name&&!Dc(t)}function bc(t){return"number"==typeof t&&ze(t)}function xc(t){if(!_c(t))return!1;var e=Ri(t);return e==Z||e==J||e==G||e==it}function Cc(t){return"number"==typeof t&&t==qc(t)}function kc(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=z}function _c(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Sc(t){return null!=t&&"object"==typeof t}var Lc=gn?Yn(gn):Xi;function Tc(t,e){return t===e||Yi(t,e,Ga(e))}function Mc(t,e,n){return n="function"==typeof n?n:o,Yi(t,e,Ga(e),n)}function Ac(t){return Wc(t)&&t!=+t}function Oc(t){if(hl(t))throw new i(u);return Zi(t)}function Nc(t){return null===t}function Ec(t){return null==t}function Wc(t){return"number"==typeof t||Sc(t)&&Ri(t)==tt}function Dc(t){if(!Sc(t)||Ri(t)!=nt)return!1;var e=Ce(t);if(null===e)return!0;var n=fe.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&ce.call(n)==ve}var Ic=mn?Yn(mn):Ji;function Rc(t){return Cc(t)&&t>=-z&&t<=z}var zc=yn?Yn(yn):Qi;function Pc(t){return"string"==typeof t||!uc(t)&&Sc(t)&&Ri(t)==lt}function Fc(t){return"symbol"==typeof t||Sc(t)&&Ri(t)==ut}var Hc=wn?Yn(wn):to;function jc(t){return t===o}function Bc(t){return Sc(t)&&Za(t)==ct}function Uc(t){return Sc(t)&&Ri(t)==ft}var $c=La(io),Vc=La((function(t,e){return t<=e}));function Gc(t){if(!t)return[];if(cc(t))return Pc(t)?mr(t):ia(t);if(Te&&t[Te])return ur(t[Te]());var e=Za(t),n=e==Q?sr:e==at?hr:Bf;return n(t)}function Kc(t){if(!t)return 0===t?t:0;if(t=Yc(t),t===R||t===-R){var e=t<0?-1:1;return e*P}return t===t?t:0}function qc(t){var e=Kc(t),n=e%1;return e===e?n?e-n:e:0}function Xc(t){return t?gi(qc(t),0,H):0}function Yc(t){if("number"==typeof t)return t;if(Fc(t))return F;if(_c(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=_c(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Xn(t);var n=Xt.test(t);return n||Zt.test(t)?on(t.slice(2),n?2:8):qt.test(t)?F:+t}function Zc(t){return oa(t,_f(t))}function Jc(t){return t?gi(qc(t),-z,z):0===t?t:0}function Qc(t){return null==t?"":Do(t)}var tf=sa((function(t,e){if(dl(e)||cc(e))oa(e,kf(e),t);else for(var n in e)fe.call(e,n)&&si(t,n,e[n])})),ef=sa((function(t,e){oa(e,_f(e),t)})),nf=sa((function(t,e,n,r){oa(e,_f(e),t,r)})),rf=sa((function(t,e,n,r){oa(e,kf(e),t,r)})),of=Pa(vi);function af(t,e){var n=kr(t);return null==e?n:hi(n,e)}var lf=xo((function(t,e){t=ne(t);var n=-1,r=e.length,i=r>2?e[2]:o;i&&ll(e[0],e[1],i)&&(r=1);while(++n1),e})),oa(t,Ha(t),n),r&&(n=mi(n,p|v|g,Da));var i=e.length;while(i--)Ro(n,e[i]);return n}));function Of(t,e){return Ef(t,js($a(e)))}var Nf=Pa((function(t,e){return null==t?{}:ho(t,e)}));function Ef(t,e){if(null==t)return{};var n=Mn(Ha(t),(function(t){return[t]}));return e=$a(e),po(t,n,(function(t,n){return e(t,n[0])}))}function Wf(t,e,n){e=$o(e,t);var r=-1,i=e.length;i||(i=1,t=o);while(++re){var r=t;t=e,e=r}if(n||t%1||e%1){var i=Ge();return je(t+i*(e-t+rn("1e-"+((i+"").length-1))),e)}return yo(t,e)}var Kf=pa((function(t,e,n){return e=e.toLowerCase(),t+(n?qf(e):e)}));function qf(t){return xh(Qc(t).toLowerCase())}function Xf(t){return t=Qc(t),t&&t.replace(Qt,nr).replace($e,"")}function Yf(t,e,n){t=Qc(t),e=Do(e);var r=t.length;n=n===o?r:gi(qc(n),0,r);var i=n;return n-=e.length,n>=0&&t.slice(n,i)==e}function Zf(t){return t=Qc(t),t&&At.test(t)?t.replace(Tt,rr):t}function Jf(t){return t=Qc(t),t&&zt.test(t)?t.replace(Rt,"\\$&"):t}var Qf=pa((function(t,e,n){return t+(n?"-":"")+e.toLowerCase()})),th=pa((function(t,e,n){return t+(n?" ":"")+e.toLowerCase()})),eh=da("toLowerCase");function nh(t,e,n){t=Qc(t),e=qc(e);var r=e?gr(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return ka(De(i),n)+t+ka(We(i),n)}function rh(t,e,n){t=Qc(t),e=qc(e);var r=e?gr(t):0;return e&&r>>0,n?(t=Qc(t),t&&("string"==typeof e||null!=e&&!Ic(e))&&(e=Do(e),!e&&ar(t))?Go(mr(t),0,n):t.split(e,n)):[]}var ch=pa((function(t,e,n){return t+(n?" ":"")+xh(e)}));function fh(t,e,n){return t=Qc(t),n=null==n?0:gi(qc(n),0,t.length),e=Do(e),t.slice(n,n+e.length)==e}function hh(t,e,n){var r=xr.templateSettings;n&&ll(t,e,n)&&(e=o),t=Qc(t),e=nf({},e,r,Ea);var a,l,u=nf({},e.imports,r.imports,Ea),s=kf(u),f=Zn(u,s),h=0,d=e.interpolate||te,p="__p += '",v=re((e.escape||te).source+"|"+d.source+"|"+(d===Et?Gt:te).source+"|"+(e.evaluate||te).source+"|$","g"),g="//# sourceURL="+(fe.call(e,"sourceURL")?(e.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Ye+"]")+"\n";t.replace(v,(function(e,n,r,i,o,u){return r||(r=i),p+=t.slice(h,u).replace(ee,ir),n&&(a=!0,p+="' +\n__e("+n+") +\n'"),o&&(l=!0,p+="';\n"+o+";\n__p += '"),r&&(p+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),h=u+e.length,e})),p+="';\n";var m=fe.call(e,"variable")&&e.variable;if(m){if($t.test(m))throw new i(c)}else p="with (obj) {\n"+p+"\n}\n";p=(l?p.replace(kt,""):p).replace(_t,"$1").replace(St,"$1;"),p="function("+(m||"obj")+") {\n"+(m?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(a?", __e = _.escape":"")+(l?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+p+"return __p\n}";var y=kh((function(){return Ft(s,g+"return "+p).apply(o,f)}));if(y.source=p,wc(y))throw y;return y}function dh(t){return Qc(t).toLowerCase()}function ph(t){return Qc(t).toUpperCase()}function vh(t,e,n){if(t=Qc(t),t&&(n||e===o))return Xn(t);if(!t||!(e=Do(e)))return t;var r=mr(t),i=mr(e),a=Qn(r,i),l=tr(r,i)+1;return Go(r,a,l).join("")}function gh(t,e,n){if(t=Qc(t),t&&(n||e===o))return t.slice(0,yr(t)+1);if(!t||!(e=Do(e)))return t;var r=mr(t),i=tr(r,mr(e))+1;return Go(r,0,i).join("")}function mh(t,e,n){if(t=Qc(t),t&&(n||e===o))return t.replace(Pt,"");if(!t||!(e=Do(e)))return t;var r=mr(t),i=Qn(r,mr(e));return Go(r,i).join("")}function yh(t,e){var n=A,r=O;if(_c(e)){var i="separator"in e?e.separator:i;n="length"in e?qc(e.length):n,r="omission"in e?Do(e.omission):r}t=Qc(t);var a=t.length;if(ar(t)){var l=mr(t);a=l.length}if(n>=a)return t;var u=n-gr(r);if(u<1)return r;var s=l?Go(l,0,u).join(""):t.slice(0,u);if(i===o)return s+r;if(l&&(u+=s.length-u),Ic(i)){if(t.slice(u).search(i)){var c,f=s;i.global||(i=re(i.source,Qc(Kt.exec(i))+"g")),i.lastIndex=0;while(c=i.exec(f))var h=c.index;s=s.slice(0,h===o?u:h)}}else if(t.indexOf(Do(i),u)!=u){var d=s.lastIndexOf(i);d>-1&&(s=s.slice(0,d))}return s+r}function wh(t){return t=Qc(t),t&&Mt.test(t)?t.replace(Lt,wr):t}var bh=pa((function(t,e,n){return t+(n?" ":"")+e.toUpperCase()})),xh=da("toUpperCase");function Ch(t,e,n){return t=Qc(t),e=n?o:e,e===o?lr(t)?Cr(t):In(t):t.match(e)||[]}var kh=xo((function(t,e){try{return bn(t,o,e)}catch(n){return wc(n)?n:new i(n)}})),_h=Pa((function(t,e){return Cn(e,(function(e){e=Nl(e),pi(t,e,Es(t[e],t))})),t}));function Sh(t){var e=null==t?0:t.length,n=$a();return t=e?Mn(t,(function(t){if("function"!=typeof t[1])throw new oe(s);return[n(t[0]),t[1]]})):[],xo((function(n){var r=-1;while(++rz)return[];var n=H,r=je(t,H);e=$a(e),t-=H;var i=Kn(r,e);while(++n0||e<0)?new Tr(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==o&&(e=qc(e),n=e<0?n.dropRight(-e):n.take(e-t)),n)},Tr.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Tr.prototype.toArray=function(){return this.take(H)},Ni(Tr.prototype,(function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),i=xr[r?"take"+("last"==e?"Right":""):e],a=r||/^find/.test(e);i&&(xr.prototype[e]=function(){var e=this.__wrapped__,l=r?[1]:arguments,u=e instanceof Tr,s=l[0],c=u||uc(e),f=function(t){var e=i.apply(xr,An([t],l));return r&&h?e[0]:e};c&&n&&"function"==typeof s&&1!=s.length&&(u=c=!1);var h=this.__chain__,d=!!this.__actions__.length,p=a&&!h,v=u&&!d;if(!a&&c){e=v?e:new Tr(this);var g=t.apply(e,l);return g.__actions__.push({func:Ku,args:[f],thisArg:o}),new Lr(g,h)}return p&&v?t.apply(this,l):(g=this.thru(f),p?r?g.value()[0]:g.value():g)})})),Cn(["pop","push","shift","sort","splice","unshift"],(function(t){var e=ae[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);xr.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var i=this.value();return e.apply(uc(i)?i:[],t)}return this[n]((function(n){return e.apply(uc(n)?n:[],t)}))}})),Ni(Tr.prototype,(function(t,e){var n=xr[e];if(n){var r=n.name+"";fe.call(sn,r)||(sn[r]=[]),sn[r].push({name:e,func:n})}})),sn[wa(o,b).name]=[{name:"wrapper",func:o}],Tr.prototype.clone=Mr,Tr.prototype.reverse=Ar,Tr.prototype.value=Or,xr.prototype.at=qu,xr.prototype.chain=Xu,xr.prototype.commit=Yu,xr.prototype.next=Zu,xr.prototype.plant=Qu,xr.prototype.reverse=ts,xr.prototype.toJSON=xr.prototype.valueOf=xr.prototype.value=es,xr.prototype.first=xr.prototype.head,Te&&(xr.prototype[Te]=Ju),xr},_r=kr();un._=_r,i=function(){return _r}.call(e,n,e,r),i===o||(r.exports=i)}).call(this)}).call(this,n("c8ba"),n("62e4")(t))},"466d":function(t,e,n){"use strict";var r=n("d784"),i=n("825a"),o=n("50c4"),a=n("1d80"),l=n("8aa5"),u=n("14c3");r("match",1,(function(t,e,n){return[function(e){var n=a(this),r=void 0==e?void 0:e[t];return void 0!==r?r.call(e,n):new RegExp(e)[t](String(n))},function(t){var r=n(e,t,this);if(r.done)return r.value;var a=i(t),s=String(this);if(!a.global)return u(a,s);var c=a.unicode;a.lastIndex=0;var f,h=[],d=0;while(null!==(f=u(a,s))){var p=String(f[0]);h[d]=p,""===p&&(a.lastIndex=l(s,o(a.lastIndex),c)),d++}return 0===d?null:h}]}))},"4d63":function(t,e,n){var r=n("83ab"),i=n("da84"),o=n("94ca"),a=n("7156"),l=n("9bf2").f,u=n("241c").f,s=n("44e7"),c=n("ad6d"),f=n("9f7f"),h=n("6eeb"),d=n("d039"),p=n("69f3").set,v=n("2626"),g=n("b622"),m=g("match"),y=i.RegExp,w=y.prototype,b=/a/g,x=/a/g,C=new y(b)!==b,k=f.UNSUPPORTED_Y,_=r&&o("RegExp",!C||k||d((function(){return x[m]=!1,y(b)!=b||y(x)==x||"/a/i"!=y(b,"i")})));if(_){var S=function(t,e){var n,r=this instanceof S,i=s(t),o=void 0===e;if(!r&&i&&t.constructor===S&&o)return t;C?i&&!o&&(t=t.source):t instanceof S&&(o&&(e=c.call(t)),t=t.source),k&&(n=!!e&&e.indexOf("y")>-1,n&&(e=e.replace(/y/g,"")));var l=a(C?new y(t,e):y(t,e),r?this:w,S);return k&&n&&p(l,{sticky:n}),l},L=function(t){t in S||l(S,t,{configurable:!0,get:function(){return y[t]},set:function(e){y[t]=e}})},T=u(y),M=0;while(T.length>M)L(T[M++]);w.constructor=S,S.prototype=w,h(i,"RegExp",S)}v("RegExp")},"4e82":function(t,e,n){"use strict";var r=n("23e7"),i=n("1c0b"),o=n("7b0b"),a=n("d039"),l=n("a640"),u=[],s=u.sort,c=a((function(){u.sort(void 0)})),f=a((function(){u.sort(null)})),h=l("sort"),d=c||!f||!h;r({target:"Array",proto:!0,forced:d},{sort:function(t){return void 0===t?s.call(o(this)):s.call(o(this),i(t))}})},5319:function(t,e,n){"use strict";var r=n("d784"),i=n("825a"),o=n("7b0b"),a=n("50c4"),l=n("a691"),u=n("1d80"),s=n("8aa5"),c=n("14c3"),f=Math.max,h=Math.min,d=Math.floor,p=/\$([$&'`]|\d\d?|<[^>]*>)/g,v=/\$([$&'`]|\d\d?)/g,g=function(t){return void 0===t?t:String(t)};r("replace",2,(function(t,e,n,r){var m=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,y=r.REPLACE_KEEPS_$0,w=m?"$":"$0";return[function(n,r){var i=u(this),o=void 0==n?void 0:n[t];return void 0!==o?o.call(n,i,r):e.call(String(i),n,r)},function(t,r){if(!m&&y||"string"===typeof r&&-1===r.indexOf(w)){var o=n(e,t,this,r);if(o.done)return o.value}var u=i(t),d=String(this),p="function"===typeof r;p||(r=String(r));var v=u.global;if(v){var x=u.unicode;u.lastIndex=0}var C=[];while(1){var k=c(u,d);if(null===k)break;if(C.push(k),!v)break;var _=String(k[0]);""===_&&(u.lastIndex=s(d,a(u.lastIndex),x))}for(var S="",L=0,T=0;T=L&&(S+=d.slice(L,A)+D,L=A+M.length)}return S+d.slice(L)}];function b(t,n,r,i,a,l){var u=r+t.length,s=i.length,c=v;return void 0!==a&&(a=o(a),c=p),e.call(l,c,(function(e,o){var l;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return n.slice(0,r);case"'":return n.slice(u);case"<":l=a[o.slice(1,-1)];break;default:var c=+o;if(0===c)return e;if(c>s){var f=d(c/10);return 0===f?e:f<=s?void 0===i[f-1]?o.charAt(1):i[f-1]+o.charAt(1):e}l=i[c-1]}return void 0===l?"":l}))}}))},"56b3":function(t,e,n){(function(e,n){t.exports=n()})(0,(function(){"use strict";var t=navigator.userAgent,e=navigator.platform,n=/gecko\/\d/i.test(t),r=/MSIE \d/.test(t),i=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(t),o=/Edge\/(\d+)/.exec(t),a=r||i||o,l=a&&(r?document.documentMode||6:+(o||i)[1]),u=!o&&/WebKit\//.test(t),s=u&&/Qt\/\d+\.\d+/.test(t),c=!o&&/Chrome\//.test(t),f=/Opera\//.test(t),h=/Apple Computer/.test(navigator.vendor),d=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(t),p=/PhantomJS/.test(t),v=h&&(/Mobile\/\w+/.test(t)||navigator.maxTouchPoints>2),g=/Android/.test(t),m=v||g||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(t),y=v||/Mac/.test(e),w=/\bCrOS\b/.test(t),b=/win/i.test(e),x=f&&t.match(/Version\/(\d*\.\d*)/);x&&(x=Number(x[1])),x&&x>=15&&(f=!1,u=!0);var C=y&&(s||f&&(null==x||x<12.11)),k=n||a&&l>=9;function _(t){return new RegExp("(^|\\s)"+t+"(?:$|\\s)\\s*")}var S,L=function(t,e){var n=t.className,r=_(e).exec(n);if(r){var i=n.slice(r.index+r[0].length);t.className=n.slice(0,r.index)+(i?r[1]+i:"")}};function T(t){for(var e=t.childNodes.length;e>0;--e)t.removeChild(t.firstChild);return t}function M(t,e){return T(t).appendChild(e)}function A(t,e,n,r){var i=document.createElement(t);if(n&&(i.className=n),r&&(i.style.cssText=r),"string"==typeof e)i.appendChild(document.createTextNode(e));else if(e)for(var o=0;o=e)return a+(e-o);a+=l-o,a+=n-a%n,o=l+1}}v?I=function(t){t.selectionStart=0,t.selectionEnd=t.value.length}:a&&(I=function(t){try{t.select()}catch(e){}});var F=function(){this.id=null,this.f=null,this.time=0,this.handler=R(this.onTimeout,this)};function H(t,e){for(var n=0;n=e)return r+Math.min(a,e-i);if(i+=o-r,i+=n-i%n,r=o+1,i>=e)return r}}var K=[""];function q(t){while(K.length<=t)K.push(X(K)+" ");return K[t]}function X(t){return t[t.length-1]}function Y(t,e){for(var n=[],r=0;r"€"&&(t.toUpperCase()!=t.toLowerCase()||tt.test(t))}function nt(t,e){return e?!!(e.source.indexOf("\\w")>-1&&et(t))||e.test(t):et(t)}function rt(t){for(var e in t)if(t.hasOwnProperty(e)&&t[e])return!1;return!0}var it=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function ot(t){return t.charCodeAt(0)>=768&&it.test(t)}function at(t,e,n){while((n<0?e>0:en?-1:1;;){if(e==n)return e;var i=(e+n)/2,o=r<0?Math.ceil(i):Math.floor(i);if(o==e)return t(o)?e:n;t(o)?n=o:e=o+r}}function ut(t,e,n,r){if(!t)return r(e,n,"ltr",0);for(var i=!1,o=0;oe||e==n&&a.to==e)&&(r(Math.max(a.from,e),Math.min(a.to,n),1==a.level?"rtl":"ltr",o),i=!0)}i||r(e,n,"ltr")}var st=null;function ct(t,e,n){var r;st=null;for(var i=0;ie)return i;o.to==e&&(o.from!=o.to&&"before"==n?r=i:st=i),o.from==e&&(o.from!=o.to&&"before"!=n?r=i:st=i)}return null!=r?r:st}var ft=function(){var t="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",e="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111";function n(n){return n<=247?t.charAt(n):1424<=n&&n<=1524?"R":1536<=n&&n<=1785?e.charAt(n-1536):1774<=n&&n<=2220?"r":8192<=n&&n<=8203?"w":8204==n?"b":"L"}var r=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,i=/[stwN]/,o=/[LRr]/,a=/[Lb1n]/,l=/[1n]/;function u(t,e,n){this.level=t,this.from=e,this.to=n}return function(t,e){var s="ltr"==e?"L":"R";if(0==t.length||"ltr"==e&&!r.test(t))return!1;for(var c=t.length,f=[],h=0;h-1&&(r[e]=i.slice(0,o).concat(i.slice(o+1)))}}}function mt(t,e){var n=vt(t,e);if(n.length)for(var r=Array.prototype.slice.call(arguments,2),i=0;i0}function xt(t){t.prototype.on=function(t,e){pt(this,t,e)},t.prototype.off=function(t,e){gt(this,t,e)}}function Ct(t){t.preventDefault?t.preventDefault():t.returnValue=!1}function kt(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0}function _t(t){return null!=t.defaultPrevented?t.defaultPrevented:0==t.returnValue}function St(t){Ct(t),kt(t)}function Lt(t){return t.target||t.srcElement}function Tt(t){var e=t.which;return null==e&&(1&t.button?e=1:2&t.button?e=3:4&t.button&&(e=2)),y&&t.ctrlKey&&1==e&&(e=3),e}var Mt,At,Ot=function(){if(a&&l<9)return!1;var t=A("div");return"draggable"in t||"dragDrop"in t}();function Nt(t){if(null==Mt){var e=A("span","​");M(t,A("span",[e,document.createTextNode("x")])),0!=t.firstChild.offsetHeight&&(Mt=e.offsetWidth<=1&&e.offsetHeight>2&&!(a&&l<8))}var n=Mt?A("span","​"):A("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return n.setAttribute("cm-text",""),n}function Et(t){if(null!=At)return At;var e=M(t,document.createTextNode("AخA")),n=S(e,0,1).getBoundingClientRect(),r=S(e,1,2).getBoundingClientRect();return T(t),!(!n||n.left==n.right)&&(At=r.right-n.right<3)}var Wt=3!="\n\nb".split(/\n/).length?function(t){var e=0,n=[],r=t.length;while(e<=r){var i=t.indexOf("\n",e);-1==i&&(i=t.length);var o=t.slice(e,"\r"==t.charAt(i-1)?i-1:i),a=o.indexOf("\r");-1!=a?(n.push(o.slice(0,a)),e+=a+1):(n.push(o),e=i+1)}return n}:function(t){return t.split(/\r\n?|\n/)},Dt=window.getSelection?function(t){try{return t.selectionStart!=t.selectionEnd}catch(e){return!1}}:function(t){var e;try{e=t.ownerDocument.selection.createRange()}catch(n){}return!(!e||e.parentElement()!=t)&&0!=e.compareEndPoints("StartToEnd",e)},It=function(){var t=A("div");return"oncopy"in t||(t.setAttribute("oncopy","return;"),"function"==typeof t.oncopy)}(),Rt=null;function zt(t){if(null!=Rt)return Rt;var e=M(t,A("span","x")),n=e.getBoundingClientRect(),r=S(e,0,1).getBoundingClientRect();return Rt=Math.abs(n.left-r.left)>1}var Pt={},Ft={};function Ht(t,e){arguments.length>2&&(e.dependencies=Array.prototype.slice.call(arguments,2)),Pt[t]=e}function jt(t,e){Ft[t]=e}function Bt(t){if("string"==typeof t&&Ft.hasOwnProperty(t))t=Ft[t];else if(t&&"string"==typeof t.name&&Ft.hasOwnProperty(t.name)){var e=Ft[t.name];"string"==typeof e&&(e={name:e}),t=Q(e,t),t.name=e.name}else{if("string"==typeof t&&/^[\w\-]+\/[\w\-]+\+xml$/.test(t))return Bt("application/xml");if("string"==typeof t&&/^[\w\-]+\/[\w\-]+\+json$/.test(t))return Bt("application/json")}return"string"==typeof t?{name:t}:t||{name:"null"}}function Ut(t,e){e=Bt(e);var n=Pt[e.name];if(!n)return Ut(t,"text/plain");var r=n(t,e);if($t.hasOwnProperty(e.name)){var i=$t[e.name];for(var o in i)i.hasOwnProperty(o)&&(r.hasOwnProperty(o)&&(r["_"+o]=r[o]),r[o]=i[o])}if(r.name=e.name,e.helperType&&(r.helperType=e.helperType),e.modeProps)for(var a in e.modeProps)r[a]=e.modeProps[a];return r}var $t={};function Vt(t,e){var n=$t.hasOwnProperty(t)?$t[t]:$t[t]={};z(e,n)}function Gt(t,e){if(!0===e)return e;if(t.copyState)return t.copyState(e);var n={};for(var r in e){var i=e[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n}function Kt(t,e){var n;while(t.innerMode){if(n=t.innerMode(e),!n||n.mode==t)break;e=n.state,t=n.mode}return n||{mode:t,state:e}}function qt(t,e,n){return!t.startState||t.startState(e,n)}var Xt=function(t,e,n){this.pos=this.start=0,this.string=t,this.tabSize=e||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};function Yt(t,e){if(e-=t.first,e<0||e>=t.size)throw new Error("There is no line "+(e+t.first)+" in the document.");var n=t;while(!n.lines)for(var r=0;;++r){var i=n.children[r],o=i.chunkSize();if(e=t.first&&en?ie(n,Yt(t,n).text.length):he(e,Yt(t,e.line).text.length)}function he(t,e){var n=t.ch;return null==n||n>e?ie(t.line,e):n<0?ie(t.line,0):t}function de(t,e){for(var n=[],r=0;r=this.string.length},Xt.prototype.sol=function(){return this.pos==this.lineStart},Xt.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},Xt.prototype.next=function(){if(this.pose},Xt.prototype.eatSpace=function(){var t=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos)))++this.pos;return this.pos>t},Xt.prototype.skipToEnd=function(){this.pos=this.string.length},Xt.prototype.skipTo=function(t){var e=this.string.indexOf(t,this.pos);if(e>-1)return this.pos=e,!0},Xt.prototype.backUp=function(t){this.pos-=t},Xt.prototype.column=function(){return this.lastColumnPos0?null:(r&&!1!==e&&(this.pos+=r[0].length),r)}var i=function(t){return n?t.toLowerCase():t},o=this.string.substr(this.pos,t.length);if(i(o)==i(t))return!1!==e&&(this.pos+=t.length),!0},Xt.prototype.current=function(){return this.string.slice(this.start,this.pos)},Xt.prototype.hideFirstChars=function(t,e){this.lineStart+=t;try{return e()}finally{this.lineStart-=t}},Xt.prototype.lookAhead=function(t){var e=this.lineOracle;return e&&e.lookAhead(t)},Xt.prototype.baseToken=function(){var t=this.lineOracle;return t&&t.baseToken(this.pos)};var pe=function(t,e){this.state=t,this.lookAhead=e},ve=function(t,e,n,r){this.state=e,this.doc=t,this.line=n,this.maxLookAhead=r||0,this.baseTokens=null,this.baseTokenPos=1};function ge(t,e,n,r){var i=[t.state.modeGen],o={};Se(t,e.text,t.doc.mode,n,(function(t,e){return i.push(t,e)}),o,r);for(var a=n.state,l=function(r){n.baseTokens=i;var l=t.state.overlays[r],u=1,s=0;n.state=!0,Se(t,e.text,l.mode,n,(function(t,e){var n=u;while(st&&i.splice(u,1,t,i[u+1],r),u+=2,s=Math.min(t,r)}if(e)if(l.opaque)i.splice(n,u-n,t,"overlay "+e),u=n+2;else for(;nt.options.maxHighlightLength&&Gt(t.doc.mode,r.state),o=ge(t,e,r);i&&(r.state=i),e.stateAfter=r.save(!i),e.styles=o.styles,o.classes?e.styleClasses=o.classes:e.styleClasses&&(e.styleClasses=null),n===t.doc.highlightFrontier&&(t.doc.modeFrontier=Math.max(t.doc.modeFrontier,++t.doc.highlightFrontier))}return e.styles}function ye(t,e,n){var r=t.doc,i=t.display;if(!r.mode.startState)return new ve(r,!0,e);var o=Le(t,e,n),a=o>r.first&&Yt(r,o-1).stateAfter,l=a?ve.fromSaved(r,a,o):new ve(r,qt(r.mode),o);return r.iter(o,e,(function(n){we(t,n.text,l);var r=l.line;n.stateAfter=r==e-1||r%5==0||r>=i.viewFrom&&re.start)return o}throw new Error("Mode "+t.name+" failed to advance stream.")}ve.prototype.lookAhead=function(t){var e=this.doc.getLine(this.line+t);return null!=e&&t>this.maxLookAhead&&(this.maxLookAhead=t),e},ve.prototype.baseToken=function(t){if(!this.baseTokens)return null;while(this.baseTokens[this.baseTokenPos]<=t)this.baseTokenPos+=2;var e=this.baseTokens[this.baseTokenPos+1];return{type:e&&e.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-t}},ve.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},ve.fromSaved=function(t,e,n){return e instanceof pe?new ve(t,Gt(t.mode,e.state),n,e.lookAhead):new ve(t,Gt(t.mode,e),n)},ve.prototype.save=function(t){var e=!1!==t?Gt(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new pe(e,this.maxLookAhead):e};var Ce=function(t,e,n){this.start=t.start,this.end=t.pos,this.string=t.current(),this.type=e||null,this.state=n};function ke(t,e,n,r){var i,o=t.doc,a=o.mode;e=fe(o,e);var l,u=Yt(o,e.line),s=ye(t,e.line,n),c=new Xt(u.text,t.options.tabSize,s);r&&(l=[]);while((r||c.post.options.maxHighlightLength?(l=!1,a&&we(t,e,r,f.pos),f.pos=e.length,u=null):u=_e(xe(n,f,r.state,h),o),h){var d=h[0].name;d&&(u="m-"+(u?d+" "+u:d))}if(!l||c!=u){while(sa;--l){if(l<=o.first)return o.first;var u=Yt(o,l-1),s=u.stateAfter;if(s&&(!n||l+(s instanceof pe?s.lookAhead:0)<=o.modeFrontier))return l;var c=P(u.text,null,t.options.tabSize);(null==i||r>c)&&(i=l-1,r=c)}return i}function Te(t,e){if(t.modeFrontier=Math.min(t.modeFrontier,e),!(t.highlightFrontiern;r--){var i=Yt(t,r).stateAfter;if(i&&(!(i instanceof pe)||r+i.lookAhead=e:o.to>e);(r||(r=[])).push(new Ee(a,o.from,u?null:o.to))}}return r}function ze(t,e,n){var r;if(t)for(var i=0;i=e:o.to>e);if(l||o.from==e&&"bookmark"==a.type&&(!n||o.marker.insertLeft)){var u=null==o.from||(a.inclusiveLeft?o.from<=e:o.from0&&l)for(var b=0;b0)){var c=[u,1],f=oe(s.from,l.from),h=oe(s.to,l.to);(f<0||!a.inclusiveLeft&&!f)&&c.push({from:s.from,to:l.from}),(h>0||!a.inclusiveRight&&!h)&&c.push({from:l.to,to:s.to}),i.splice.apply(i,c),u+=c.length-3}}return i}function je(t){var e=t.markedSpans;if(e){for(var n=0;ne)&&(!n||Ve(n,o.marker)<0)&&(n=o.marker)}return n}function Ye(t,e,n,r,i){var o=Yt(t,e),a=Ae&&o.markedSpans;if(a)for(var l=0;l=0&&f<=0||c<=0&&f>=0)&&(c<=0&&(u.marker.inclusiveRight&&i.inclusiveLeft?oe(s.to,n)>=0:oe(s.to,n)>0)||c>=0&&(u.marker.inclusiveRight&&i.inclusiveLeft?oe(s.from,r)<=0:oe(s.from,r)<0)))return!0}}}function Ze(t){var e;while(e=Ke(t))t=e.find(-1,!0).line;return t}function Je(t){var e;while(e=qe(t))t=e.find(1,!0).line;return t}function Qe(t){var e,n;while(e=qe(t))t=e.find(1,!0).line,(n||(n=[])).push(t);return n}function tn(t,e){var n=Yt(t,e),r=Ze(n);return n==r?e:te(r)}function en(t,e){if(e>t.lastLine())return e;var n,r=Yt(t,e);if(!nn(t,r))return e;while(n=qe(r))r=n.find(1,!0).line;return te(r)+1}function nn(t,e){var n=Ae&&e.markedSpans;if(n)for(var r=void 0,i=0;ie.maxLineLength&&(e.maxLineLength=n,e.maxLine=t)}))}var un=function(t,e,n){this.text=t,Be(this,e),this.height=n?n(this):1};function sn(t,e,n,r){t.text=e,t.stateAfter&&(t.stateAfter=null),t.styles&&(t.styles=null),null!=t.order&&(t.order=null),je(t),Be(t,n);var i=r?r(t):1;i!=t.height&&Qt(t,i)}function cn(t){t.parent=null,je(t)}un.prototype.lineNo=function(){return te(this)},xt(un);var fn={},hn={};function dn(t,e){if(!t||/^\s*$/.test(t))return null;var n=e.addModeClass?hn:fn;return n[t]||(n[t]=t.replace(/\S+/g,"cm-$&"))}function pn(t,e){var n=O("span",null,null,u?"padding-right: .1px":null),r={pre:O("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:t,trailingSpace:!1,splitSpaces:t.getOption("lineWrapping")};e.measure={};for(var i=0;i<=(e.rest?e.rest.length:0);i++){var o=i?e.rest[i-1]:e.line,a=void 0;r.pos=0,r.addToken=gn,Et(t.display.measure)&&(a=ht(o,t.doc.direction))&&(r.addToken=yn(r.addToken,a)),r.map=[];var l=e!=t.display.externalMeasured&&te(o);bn(o,r,me(t,o,l)),o.styleClasses&&(o.styleClasses.bgClass&&(r.bgClass=D(o.styleClasses.bgClass,r.bgClass||"")),o.styleClasses.textClass&&(r.textClass=D(o.styleClasses.textClass,r.textClass||""))),0==r.map.length&&r.map.push(0,0,r.content.appendChild(Nt(t.display.measure))),0==i?(e.measure.map=r.map,e.measure.cache={}):((e.measure.maps||(e.measure.maps=[])).push(r.map),(e.measure.caches||(e.measure.caches=[])).push({}))}if(u){var s=r.content.lastChild;(/\bcm-tab\b/.test(s.className)||s.querySelector&&s.querySelector(".cm-tab"))&&(r.content.className="cm-tab-wrap-hack")}return mt(t,"renderLine",t,e.line,r.pre),r.pre.className&&(r.textClass=D(r.pre.className,r.textClass||"")),r}function vn(t){var e=A("span","•","cm-invalidchar");return e.title="\\u"+t.charCodeAt(0).toString(16),e.setAttribute("aria-label",e.title),e}function gn(t,e,n,r,i,o,u){if(e){var s,c=t.splitSpaces?mn(e,t.trailingSpace):e,f=t.cm.state.specialChars,h=!1;if(f.test(e)){s=document.createDocumentFragment();var d=0;while(1){f.lastIndex=d;var p=f.exec(e),v=p?p.index-d:e.length-d;if(v){var g=document.createTextNode(c.slice(d,d+v));a&&l<9?s.appendChild(A("span",[g])):s.appendChild(g),t.map.push(t.pos,t.pos+v,g),t.col+=v,t.pos+=v}if(!p)break;d+=v+1;var m=void 0;if("\t"==p[0]){var y=t.cm.options.tabSize,w=y-t.col%y;m=s.appendChild(A("span",q(w),"cm-tab")),m.setAttribute("role","presentation"),m.setAttribute("cm-text","\t"),t.col+=w}else"\r"==p[0]||"\n"==p[0]?(m=s.appendChild(A("span","\r"==p[0]?"␍":"␤","cm-invalidchar")),m.setAttribute("cm-text",p[0]),t.col+=1):(m=t.cm.options.specialCharPlaceholder(p[0]),m.setAttribute("cm-text",p[0]),a&&l<9?s.appendChild(A("span",[m])):s.appendChild(m),t.col+=1);t.map.push(t.pos,t.pos+1,m),t.pos++}}else t.col+=e.length,s=document.createTextNode(c),t.map.push(t.pos,t.pos+e.length,s),a&&l<9&&(h=!0),t.pos+=e.length;if(t.trailingSpace=32==c.charCodeAt(e.length-1),n||r||i||h||o||u){var b=n||"";r&&(b+=r),i&&(b+=i);var x=A("span",[s],b,o);if(u)for(var C in u)u.hasOwnProperty(C)&&"style"!=C&&"class"!=C&&x.setAttribute(C,u[C]);return t.content.appendChild(x)}t.content.appendChild(s)}}function mn(t,e){if(t.length>1&&!/ /.test(t))return t;for(var n=e,r="",i=0;is&&f.from<=s)break;if(f.to>=c)return t(n,r,i,o,a,l,u);t(n,r.slice(0,f.to-s),i,o,null,l,u),o=null,r=r.slice(f.to-s),s=f.to}}}function wn(t,e,n,r){var i=!r&&n.widgetNode;i&&t.map.push(t.pos,t.pos+e,i),!r&&t.cm.display.input.needsContentAttribute&&(i||(i=t.content.appendChild(document.createElement("span"))),i.setAttribute("cm-marker",n.id)),i&&(t.cm.display.input.setUneditable(i),t.content.appendChild(i)),t.pos+=e,t.trailingSpace=!1}function bn(t,e,n){var r=t.markedSpans,i=t.text,o=0;if(r)for(var a,l,u,s,c,f,h,d=i.length,p=0,v=1,g="",m=0;;){if(m==p){u=s=c=l="",h=null,f=null,m=1/0;for(var y=[],w=void 0,b=0;bp||C.collapsed&&x.to==p&&x.from==p)){if(null!=x.to&&x.to!=p&&m>x.to&&(m=x.to,s=""),C.className&&(u+=" "+C.className),C.css&&(l=(l?l+";":"")+C.css),C.startStyle&&x.from==p&&(c+=" "+C.startStyle),C.endStyle&&x.to==m&&(w||(w=[])).push(C.endStyle,x.to),C.title&&((h||(h={})).title=C.title),C.attributes)for(var k in C.attributes)(h||(h={}))[k]=C.attributes[k];C.collapsed&&(!f||Ve(f.marker,C)<0)&&(f=x)}else x.from>p&&m>x.from&&(m=x.from)}if(w)for(var _=0;_=d)break;var L=Math.min(d,m);while(1){if(g){var T=p+g.length;if(!f){var M=T>L?g.slice(0,L-p):g;e.addToken(e,M,a?a+u:u,c,p+M.length==m?s:"",l,h)}if(T>=L){g=g.slice(L-p),p=L;break}p=T,c=""}g=i.slice(o,o=n[v++]),a=dn(n[v++],e.cm.options)}}else for(var A=1;A2&&o.push((u.bottom+s.top)/2-n.top)}}o.push(n.bottom-n.top)}}function Zn(t,e,n){if(t.line==e)return{map:t.measure.map,cache:t.measure.cache};if(t.rest){for(var r=0;rn)return{map:t.measure.maps[i],cache:t.measure.caches[i],before:!0}}}function Jn(t,e){e=Ze(e);var n=te(e),r=t.display.externalMeasured=new xn(t.doc,e,n);r.lineN=n;var i=r.built=pn(t,r);return r.text=i.pre,M(t.display.lineMeasure,i.pre),r}function Qn(t,e,n,r){return nr(t,er(t,e),n,r)}function tr(t,e){if(e>=t.display.viewFrom&&e=n.lineN&&ee)&&(o=u-l,i=o-1,e>=u&&(a="right")),null!=i){if(r=t[s+2],l==u&&n==(r.insertLeft?"left":"right")&&(a=n),"left"==n&&0==i)while(s&&t[s-2]==t[s-3]&&t[s-1].insertLeft)r=t[2+(s-=3)],a="left";if("right"==n&&i==u-l)while(s=0;i--)if((n=t[i]).left!=n.right)break;return n}function lr(t,e,n,r){var i,o=or(e.map,n,r),u=o.node,s=o.start,c=o.end,f=o.collapse;if(3==u.nodeType){for(var h=0;h<4;h++){while(s&&ot(e.line.text.charAt(o.coverStart+s)))--s;while(o.coverStart+c0&&(f=r="right"),i=t.options.lineWrapping&&(d=u.getClientRects()).length>1?d["right"==r?d.length-1:0]:u.getBoundingClientRect()}if(a&&l<9&&!s&&(!i||!i.left&&!i.right)){var p=u.parentNode.getClientRects()[0];i=p?{left:p.left,right:p.left+Ar(t.display),top:p.top,bottom:p.bottom}:ir}for(var v=i.top-e.rect.top,g=i.bottom-e.rect.top,m=(v+g)/2,y=e.view.measure.heights,w=0;w=r.text.length?(u=r.text.length,s="before"):u<=0&&(u=0,s="after"),!l)return a("before"==s?u-1:u,"before"==s);function c(t,e,n){var r=l[e],i=1==r.level;return a(n?t-1:t,i!=n)}var f=ct(l,u,s),h=st,d=c(u,f,"before"==s);return null!=h&&(d.other=c(u,h,"before"!=s)),d}function wr(t,e){var n=0;e=fe(t.doc,e),t.options.lineWrapping||(n=Ar(t.display)*e.ch);var r=Yt(t.doc,e.line),i=on(r)+$n(t.display);return{left:n,right:n,top:i,bottom:i+r.height}}function br(t,e,n,r,i){var o=ie(t,e,n);return o.xRel=i,r&&(o.outside=r),o}function xr(t,e,n){var r=t.doc;if(n+=t.display.viewOffset,n<0)return br(r.first,0,null,-1,-1);var i=ee(r,n),o=r.first+r.size-1;if(i>o)return br(r.first+r.size-1,Yt(r,o).text.length,null,1,1);e<0&&(e=0);for(var a=Yt(r,i);;){var l=Sr(t,a,i,e,n),u=Xe(a,l.ch+(l.xRel>0||l.outside>0?1:0));if(!u)return l;var s=u.find(1);if(s.line==i)return s;a=Yt(r,i=s.line)}}function Cr(t,e,n,r){r-=pr(e);var i=e.text.length,o=lt((function(e){return nr(t,n,e-1).bottom<=r}),i,0);return i=lt((function(e){return nr(t,n,e).top>r}),o,i),{begin:o,end:i}}function kr(t,e,n,r){n||(n=er(t,e));var i=vr(t,e,nr(t,n,r),"line").top;return Cr(t,e,n,i)}function _r(t,e,n,r){return!(t.bottom<=n)&&(t.top>n||(r?t.left:t.right)>e)}function Sr(t,e,n,r,i){i-=on(e);var o=er(t,e),a=pr(e),l=0,u=e.text.length,s=!0,c=ht(e,t.doc.direction);if(c){var f=(t.options.lineWrapping?Tr:Lr)(t,e,n,o,c,r,i);s=1!=f.level,l=s?f.from:f.to-1,u=s?f.to:f.from-1}var h,d,p=null,v=null,g=lt((function(e){var n=nr(t,o,e);return n.top+=a,n.bottom+=a,!!_r(n,r,i,!1)&&(n.top<=i&&n.left<=r&&(p=e,v=n),!0)}),l,u),m=!1;if(v){var y=r-v.left=b.bottom?1:0}return g=at(e.text,g,1),br(n,g,d,m,r-h)}function Lr(t,e,n,r,i,o,a){var l=lt((function(l){var u=i[l],s=1!=u.level;return _r(yr(t,ie(n,s?u.to:u.from,s?"before":"after"),"line",e,r),o,a,!0)}),0,i.length-1),u=i[l];if(l>0){var s=1!=u.level,c=yr(t,ie(n,s?u.from:u.to,s?"after":"before"),"line",e,r);_r(c,o,a,!0)&&c.top>a&&(u=i[l-1])}return u}function Tr(t,e,n,r,i,o,a){var l=Cr(t,e,r,a),u=l.begin,s=l.end;/\s/.test(e.text.charAt(s-1))&&s--;for(var c=null,f=null,h=0;h=s||d.to<=u)){var p=1!=d.level,v=nr(t,r,p?Math.min(s,d.to)-1:Math.max(u,d.from)).right,g=vg)&&(c=d,f=g)}}return c||(c=i[i.length-1]),c.froms&&(c={from:c.from,to:s,level:c.level}),c}function Mr(t){if(null!=t.cachedTextHeight)return t.cachedTextHeight;if(null==rr){rr=A("pre",null,"CodeMirror-line-like");for(var e=0;e<49;++e)rr.appendChild(document.createTextNode("x")),rr.appendChild(A("br"));rr.appendChild(document.createTextNode("x"))}M(t.measure,rr);var n=rr.offsetHeight/50;return n>3&&(t.cachedTextHeight=n),T(t.measure),n||1}function Ar(t){if(null!=t.cachedCharWidth)return t.cachedCharWidth;var e=A("span","xxxxxxxxxx"),n=A("pre",[e],"CodeMirror-line-like");M(t.measure,n);var r=e.getBoundingClientRect(),i=(r.right-r.left)/10;return i>2&&(t.cachedCharWidth=i),i||10}function Or(t){for(var e=t.display,n={},r={},i=e.gutters.clientLeft,o=e.gutters.firstChild,a=0;o;o=o.nextSibling,++a){var l=t.display.gutterSpecs[a].className;n[l]=o.offsetLeft+o.clientLeft+i,r[l]=o.clientWidth}return{fixedPos:Nr(e),gutterTotalWidth:e.gutters.offsetWidth,gutterLeft:n,gutterWidth:r,wrapperWidth:e.wrapper.clientWidth}}function Nr(t){return t.scroller.getBoundingClientRect().left-t.sizer.getBoundingClientRect().left}function Er(t){var e=Mr(t.display),n=t.options.lineWrapping,r=n&&Math.max(5,t.display.scroller.clientWidth/Ar(t.display)-3);return function(i){if(nn(t.doc,i))return 0;var o=0;if(i.widgets)for(var a=0;a0&&(u=Yt(t.doc,s.line).text).length==s.ch){var c=P(u,u.length,t.options.tabSize)-u.length;s=ie(s.line,Math.max(0,Math.round((o-Gn(t.display).left)/Ar(t.display))-c))}return s}function Ir(t,e){if(e>=t.display.viewTo)return null;if(e-=t.display.viewFrom,e<0)return null;for(var n=t.display.view,r=0;re)&&(i.updateLineNumbers=e),t.curOp.viewChanged=!0,e>=i.viewTo)Ae&&tn(t.doc,e)i.viewFrom?Pr(t):(i.viewFrom+=r,i.viewTo+=r);else if(e<=i.viewFrom&&n>=i.viewTo)Pr(t);else if(e<=i.viewFrom){var o=Fr(t,n,n+r,1);o?(i.view=i.view.slice(o.index),i.viewFrom=o.lineN,i.viewTo+=r):Pr(t)}else if(n>=i.viewTo){var a=Fr(t,e,e,-1);a?(i.view=i.view.slice(0,a.index),i.viewTo=a.lineN):Pr(t)}else{var l=Fr(t,e,e,-1),u=Fr(t,n,n+r,1);l&&u?(i.view=i.view.slice(0,l.index).concat(Cn(t,l.lineN,u.lineN)).concat(i.view.slice(u.index)),i.viewTo+=r):Pr(t)}var s=i.externalMeasured;s&&(n=i.lineN&&e=r.viewTo)){var o=r.view[Ir(t,e)];if(null!=o.node){var a=o.changes||(o.changes=[]);-1==H(a,n)&&a.push(n)}}}function Pr(t){t.display.viewFrom=t.display.viewTo=t.doc.first,t.display.view=[],t.display.viewOffset=0}function Fr(t,e,n,r){var i,o=Ir(t,e),a=t.display.view;if(!Ae||n==t.doc.first+t.doc.size)return{index:o,lineN:n};for(var l=t.display.viewFrom,u=0;u0){if(o==a.length-1)return null;i=l+a[o].size-e,o++}else i=l-e;e+=i,n+=i}while(tn(t.doc,n)!=n){if(o==(r<0?0:a.length-1))return null;n+=r*a[o-(r<0?1:0)].size,o+=r}return{index:o,lineN:n}}function Hr(t,e,n){var r=t.display,i=r.view;0==i.length||e>=r.viewTo||n<=r.viewFrom?(r.view=Cn(t,e,n),r.viewFrom=e):(r.viewFrom>e?r.view=Cn(t,e,r.viewFrom).concat(r.view):r.viewFromn&&(r.view=r.view.slice(0,Ir(t,n)))),r.viewTo=n}function jr(t){for(var e=t.display.view,n=0,r=0;r=t.display.viewTo||u.to().line0?a:t.defaultCharWidth())+"px"}if(r.other){var l=n.appendChild(A("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"));l.style.display="",l.style.left=r.other.left+"px",l.style.top=r.other.top+"px",l.style.height=.85*(r.other.bottom-r.other.top)+"px"}}function Vr(t,e){return t.top-e.top||t.left-e.left}function Gr(t,e,n){var r=t.display,i=t.doc,o=document.createDocumentFragment(),a=Gn(t.display),l=a.left,u=Math.max(r.sizerWidth,qn(t)-r.sizer.offsetLeft)-a.right,s="ltr"==i.direction;function c(t,e,n,r){e<0&&(e=0),e=Math.round(e),r=Math.round(r),o.appendChild(A("div",null,"CodeMirror-selected","position: absolute; left: "+t+"px;\n top: "+e+"px; width: "+(null==n?u-t:n)+"px;\n height: "+(r-e)+"px"))}function f(e,n,r){var o,a,f=Yt(i,e),h=f.text.length;function d(n,r){return mr(t,ie(e,n),"div",f,r)}function p(e,n,r){var i=kr(t,f,null,e),o="ltr"==n==("after"==r)?"left":"right",a="after"==r?i.begin:i.end-(/\s/.test(f.text.charAt(i.end-1))?2:1);return d(a,o)[o]}var v=ht(f,i.direction);return ut(v,n||0,null==r?h:r,(function(t,e,i,f){var g="ltr"==i,m=d(t,g?"left":"right"),y=d(e-1,g?"right":"left"),w=null==n&&0==t,b=null==r&&e==h,x=0==f,C=!v||f==v.length-1;if(y.top-m.top<=3){var k=(s?w:b)&&x,_=(s?b:w)&&C,S=k?l:(g?m:y).left,L=_?u:(g?y:m).right;c(S,m.top,L-S,m.bottom)}else{var T,M,A,O;g?(T=s&&w&&x?l:m.left,M=s?u:p(t,i,"before"),A=s?l:p(e,i,"after"),O=s&&b&&C?u:y.right):(T=s?p(t,i,"before"):l,M=!s&&w&&x?u:m.right,A=!s&&b&&C?l:y.left,O=s?p(e,i,"after"):u),c(T,m.top,M-T,m.bottom),m.bottom0?e.blinker=setInterval((function(){t.hasFocus()||Zr(t),e.cursorDiv.style.visibility=(n=!n)?"":"hidden"}),t.options.cursorBlinkRate):t.options.cursorBlinkRate<0&&(e.cursorDiv.style.visibility="hidden")}}function qr(t){t.hasFocus()||(t.display.input.focus(),t.state.focused||Yr(t))}function Xr(t){t.state.delayingBlurEvent=!0,setTimeout((function(){t.state.delayingBlurEvent&&(t.state.delayingBlurEvent=!1,t.state.focused&&Zr(t))}),100)}function Yr(t,e){t.state.delayingBlurEvent&&!t.state.draggingText&&(t.state.delayingBlurEvent=!1),"nocursor"!=t.options.readOnly&&(t.state.focused||(mt(t,"focus",t,e),t.state.focused=!0,W(t.display.wrapper,"CodeMirror-focused"),t.curOp||t.display.selForContextMenu==t.doc.sel||(t.display.input.reset(),u&&setTimeout((function(){return t.display.input.reset(!0)}),20)),t.display.input.receivedFocus()),Kr(t))}function Zr(t,e){t.state.delayingBlurEvent||(t.state.focused&&(mt(t,"blur",t,e),t.state.focused=!1,L(t.display.wrapper,"CodeMirror-focused")),clearInterval(t.display.blinker),setTimeout((function(){t.state.focused||(t.display.shift=!1)}),150))}function Jr(t){for(var e=t.display,n=e.lineDiv.offsetTop,r=Math.max(0,e.scroller.getBoundingClientRect().top),i=e.lineDiv.getBoundingClientRect().top,o=0,u=0;u.005||v<-.005)&&(it.display.sizerWidth){var m=Math.ceil(h/Ar(t.display));m>t.display.maxLineLength&&(t.display.maxLineLength=m,t.display.maxLine=s.line,t.display.maxLineChanged=!0)}}}Math.abs(o)>2&&(e.scroller.scrollTop+=o)}function Qr(t){if(t.widgets)for(var e=0;e=a&&(o=ee(e,on(Yt(e,u))-t.wrapper.clientHeight),a=u)}return{from:o,to:Math.max(a,o+1)}}function ei(t,e){if(!yt(t,"scrollCursorIntoView")){var n=t.display,r=n.sizer.getBoundingClientRect(),i=null;if(e.top+r.top<0?i=!0:e.bottom+r.top>(window.innerHeight||document.documentElement.clientHeight)&&(i=!1),null!=i&&!p){var o=A("div","​",null,"position: absolute;\n top: "+(e.top-n.viewOffset-$n(t.display))+"px;\n height: "+(e.bottom-e.top+Kn(t)+n.barHeight)+"px;\n left: "+e.left+"px; width: "+Math.max(2,e.right-e.left)+"px;");t.display.lineSpace.appendChild(o),o.scrollIntoView(i),t.display.lineSpace.removeChild(o)}}}function ni(t,e,n,r){var i;null==r&&(r=0),t.options.lineWrapping||e!=n||(n="before"==e.sticky?ie(e.line,e.ch+1,"before"):e,e=e.ch?ie(e.line,"before"==e.sticky?e.ch-1:e.ch,"after"):e);for(var o=0;o<5;o++){var a=!1,l=yr(t,e),u=n&&n!=e?yr(t,n):l;i={left:Math.min(l.left,u.left),top:Math.min(l.top,u.top)-r,right:Math.max(l.left,u.left),bottom:Math.max(l.bottom,u.bottom)+r};var s=ii(t,i),c=t.doc.scrollTop,f=t.doc.scrollLeft;if(null!=s.scrollTop&&(fi(t,s.scrollTop),Math.abs(t.doc.scrollTop-c)>1&&(a=!0)),null!=s.scrollLeft&&(di(t,s.scrollLeft),Math.abs(t.doc.scrollLeft-f)>1&&(a=!0)),!a)break}return i}function ri(t,e){var n=ii(t,e);null!=n.scrollTop&&fi(t,n.scrollTop),null!=n.scrollLeft&&di(t,n.scrollLeft)}function ii(t,e){var n=t.display,r=Mr(t.display);e.top<0&&(e.top=0);var i=t.curOp&&null!=t.curOp.scrollTop?t.curOp.scrollTop:n.scroller.scrollTop,o=Xn(t),a={};e.bottom-e.top>o&&(e.bottom=e.top+o);var l=t.doc.height+Vn(n),u=e.topl-r;if(e.topi+o){var c=Math.min(e.top,(s?l:e.bottom)-o);c!=i&&(a.scrollTop=c)}var f=t.options.fixedGutter?0:n.gutters.offsetWidth,h=t.curOp&&null!=t.curOp.scrollLeft?t.curOp.scrollLeft:n.scroller.scrollLeft-f,d=qn(t)-n.gutters.offsetWidth,p=e.right-e.left>d;return p&&(e.right=e.left+d),e.left<10?a.scrollLeft=0:e.leftd+h-3&&(a.scrollLeft=e.right+(p?0:10)-d),a}function oi(t,e){null!=e&&(si(t),t.curOp.scrollTop=(null==t.curOp.scrollTop?t.doc.scrollTop:t.curOp.scrollTop)+e)}function ai(t){si(t);var e=t.getCursor();t.curOp.scrollToPos={from:e,to:e,margin:t.options.cursorScrollMargin}}function li(t,e,n){null==e&&null==n||si(t),null!=e&&(t.curOp.scrollLeft=e),null!=n&&(t.curOp.scrollTop=n)}function ui(t,e){si(t),t.curOp.scrollToPos=e}function si(t){var e=t.curOp.scrollToPos;if(e){t.curOp.scrollToPos=null;var n=wr(t,e.from),r=wr(t,e.to);ci(t,n,r,e.margin)}}function ci(t,e,n,r){var i=ii(t,{left:Math.min(e.left,n.left),top:Math.min(e.top,n.top)-r,right:Math.max(e.right,n.right),bottom:Math.max(e.bottom,n.bottom)+r});li(t,i.scrollLeft,i.scrollTop)}function fi(t,e){Math.abs(t.doc.scrollTop-e)<2||(n||Bi(t,{top:e}),hi(t,e,!0),n&&Bi(t),Di(t,100))}function hi(t,e,n){e=Math.max(0,Math.min(t.display.scroller.scrollHeight-t.display.scroller.clientHeight,e)),(t.display.scroller.scrollTop!=e||n)&&(t.doc.scrollTop=e,t.display.scrollbars.setScrollTop(e),t.display.scroller.scrollTop!=e&&(t.display.scroller.scrollTop=e))}function di(t,e,n,r){e=Math.max(0,Math.min(e,t.display.scroller.scrollWidth-t.display.scroller.clientWidth)),(n?e==t.doc.scrollLeft:Math.abs(t.doc.scrollLeft-e)<2)&&!r||(t.doc.scrollLeft=e,Gi(t),t.display.scroller.scrollLeft!=e&&(t.display.scroller.scrollLeft=e),t.display.scrollbars.setScrollLeft(e))}function pi(t){var e=t.display,n=e.gutters.offsetWidth,r=Math.round(t.doc.height+Vn(t.display));return{clientHeight:e.scroller.clientHeight,viewHeight:e.wrapper.clientHeight,scrollWidth:e.scroller.scrollWidth,clientWidth:e.scroller.clientWidth,viewWidth:e.wrapper.clientWidth,barLeft:t.options.fixedGutter?n:0,docHeight:r,scrollHeight:r+Kn(t)+e.barHeight,nativeBarWidth:e.nativeBarWidth,gutterWidth:n}}var vi=function(t,e,n){this.cm=n;var r=this.vert=A("div",[A("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),i=this.horiz=A("div",[A("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");r.tabIndex=i.tabIndex=-1,t(r),t(i),pt(r,"scroll",(function(){r.clientHeight&&e(r.scrollTop,"vertical")})),pt(i,"scroll",(function(){i.clientWidth&&e(i.scrollLeft,"horizontal")})),this.checkedZeroWidth=!1,a&&l<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};vi.prototype.update=function(t){var e=t.scrollWidth>t.clientWidth+1,n=t.scrollHeight>t.clientHeight+1,r=t.nativeBarWidth;if(n){this.vert.style.display="block",this.vert.style.bottom=e?r+"px":"0";var i=t.viewHeight-(e?r:0);this.vert.firstChild.style.height=Math.max(0,t.scrollHeight-t.clientHeight+i)+"px"}else this.vert.scrollTop=0,this.vert.style.display="",this.vert.firstChild.style.height="0";if(e){this.horiz.style.display="block",this.horiz.style.right=n?r+"px":"0",this.horiz.style.left=t.barLeft+"px";var o=t.viewWidth-t.barLeft-(n?r:0);this.horiz.firstChild.style.width=Math.max(0,t.scrollWidth-t.clientWidth+o)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&t.clientHeight>0&&(0==r&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?r:0,bottom:e?r:0}},vi.prototype.setScrollLeft=function(t){this.horiz.scrollLeft!=t&&(this.horiz.scrollLeft=t),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},vi.prototype.setScrollTop=function(t){this.vert.scrollTop!=t&&(this.vert.scrollTop=t),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},vi.prototype.zeroWidthHack=function(){var t=y&&!d?"12px":"18px";this.horiz.style.height=this.vert.style.width=t,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new F,this.disableVert=new F},vi.prototype.enableZeroWidthBar=function(t,e,n){function r(){var i=t.getBoundingClientRect(),o="vert"==n?document.elementFromPoint(i.right-1,(i.top+i.bottom)/2):document.elementFromPoint((i.right+i.left)/2,i.bottom-1);o!=t?t.style.pointerEvents="none":e.set(1e3,r)}t.style.pointerEvents="auto",e.set(1e3,r)},vi.prototype.clear=function(){var t=this.horiz.parentNode;t.removeChild(this.horiz),t.removeChild(this.vert)};var gi=function(){};function mi(t,e){e||(e=pi(t));var n=t.display.barWidth,r=t.display.barHeight;yi(t,e);for(var i=0;i<4&&n!=t.display.barWidth||r!=t.display.barHeight;i++)n!=t.display.barWidth&&t.options.lineWrapping&&Jr(t),yi(t,pi(t)),n=t.display.barWidth,r=t.display.barHeight}function yi(t,e){var n=t.display,r=n.scrollbars.update(e);n.sizer.style.paddingRight=(n.barWidth=r.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=r.bottom)+"px",n.heightForcer.style.borderBottom=r.bottom+"px solid transparent",r.right&&r.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=r.bottom+"px",n.scrollbarFiller.style.width=r.right+"px"):n.scrollbarFiller.style.display="",r.bottom&&t.options.coverGutterNextToScrollbar&&t.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=r.bottom+"px",n.gutterFiller.style.width=e.gutterWidth+"px"):n.gutterFiller.style.display=""}gi.prototype.update=function(){return{bottom:0,right:0}},gi.prototype.setScrollLeft=function(){},gi.prototype.setScrollTop=function(){},gi.prototype.clear=function(){};var wi={native:vi,null:gi};function bi(t){t.display.scrollbars&&(t.display.scrollbars.clear(),t.display.scrollbars.addClass&&L(t.display.wrapper,t.display.scrollbars.addClass)),t.display.scrollbars=new wi[t.options.scrollbarStyle]((function(e){t.display.wrapper.insertBefore(e,t.display.scrollbarFiller),pt(e,"mousedown",(function(){t.state.focused&&setTimeout((function(){return t.display.input.focus()}),0)})),e.setAttribute("cm-not-content","true")}),(function(e,n){"horizontal"==n?di(t,e):fi(t,e)}),t),t.display.scrollbars.addClass&&W(t.display.wrapper,t.display.scrollbars.addClass)}var xi=0;function Ci(t){t.curOp={cm:t,viewChanged:!1,startHeight:t.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++xi,markArrays:null},_n(t.curOp)}function ki(t){var e=t.curOp;e&&Ln(e,(function(t){for(var e=0;e=n.viewTo)||n.maxLineChanged&&e.options.lineWrapping,t.update=t.mustUpdate&&new Ri(e,t.mustUpdate&&{top:t.scrollTop,ensure:t.scrollToPos},t.forceUpdate)}function Li(t){t.updatedDisplay=t.mustUpdate&&Hi(t.cm,t.update)}function Ti(t){var e=t.cm,n=e.display;t.updatedDisplay&&Jr(e),t.barMeasure=pi(e),n.maxLineChanged&&!e.options.lineWrapping&&(t.adjustWidthTo=Qn(e,n.maxLine,n.maxLine.text.length).left+3,e.display.sizerWidth=t.adjustWidthTo,t.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+t.adjustWidthTo+Kn(e)+e.display.barWidth),t.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+t.adjustWidthTo-qn(e))),(t.updatedDisplay||t.selectionChanged)&&(t.preparedSelection=n.input.prepareSelection())}function Mi(t){var e=t.cm;null!=t.adjustWidthTo&&(e.display.sizer.style.minWidth=t.adjustWidthTo+"px",t.maxScrollLeft=t.display.viewTo)){var n=+new Date+t.options.workTime,r=ye(t,e.highlightFrontier),i=[];e.iter(r.line,Math.min(e.first+e.size,t.display.viewTo+500),(function(o){if(r.line>=t.display.viewFrom){var a=o.styles,l=o.text.length>t.options.maxHighlightLength?Gt(e.mode,r.state):null,u=ge(t,o,r,!0);l&&(r.state=l),o.styles=u.styles;var s=o.styleClasses,c=u.classes;c?o.styleClasses=c:s&&(o.styleClasses=null);for(var f=!a||a.length!=o.styles.length||s!=c&&(!s||!c||s.bgClass!=c.bgClass||s.textClass!=c.textClass),h=0;!f&&hn)return Di(t,t.options.workDelay),!0})),e.highlightFrontier=r.line,e.modeFrontier=Math.max(e.modeFrontier,r.line),i.length&&Oi(t,(function(){for(var e=0;e=n.viewFrom&&e.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==jr(t))return!1;Ki(t)&&(Pr(t),e.dims=Or(t));var i=r.first+r.size,o=Math.max(e.visible.from-t.options.viewportMargin,r.first),a=Math.min(i,e.visible.to+t.options.viewportMargin);n.viewFroma&&n.viewTo-a<20&&(a=Math.min(i,n.viewTo)),Ae&&(o=tn(t.doc,o),a=en(t.doc,a));var l=o!=n.viewFrom||a!=n.viewTo||n.lastWrapHeight!=e.wrapperHeight||n.lastWrapWidth!=e.wrapperWidth;Hr(t,o,a),n.viewOffset=on(Yt(t.doc,n.viewFrom)),t.display.mover.style.top=n.viewOffset+"px";var u=jr(t);if(!l&&0==u&&!e.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var s=Pi(t);return u>4&&(n.lineDiv.style.display="none"),Ui(t,n.updateLineNumbers,e.dims),u>4&&(n.lineDiv.style.display=""),n.renderedView=n.view,Fi(s),T(n.cursorDiv),T(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,l&&(n.lastWrapHeight=e.wrapperHeight,n.lastWrapWidth=e.wrapperWidth,Di(t,400)),n.updateLineNumbers=null,!0}function ji(t,e){for(var n=e.viewport,r=!0;;r=!1){if(r&&t.options.lineWrapping&&e.oldDisplayWidth!=qn(t))r&&(e.visible=ti(t.display,t.doc,n));else if(n&&null!=n.top&&(n={top:Math.min(t.doc.height+Vn(t.display)-Xn(t),n.top)}),e.visible=ti(t.display,t.doc,n),e.visible.from>=t.display.viewFrom&&e.visible.to<=t.display.viewTo)break;if(!Hi(t,e))break;Jr(t);var i=pi(t);Br(t),mi(t,i),Vi(t,i),e.force=!1}e.signal(t,"update",t),t.display.viewFrom==t.display.reportedViewFrom&&t.display.viewTo==t.display.reportedViewTo||(e.signal(t,"viewportChange",t,t.display.viewFrom,t.display.viewTo),t.display.reportedViewFrom=t.display.viewFrom,t.display.reportedViewTo=t.display.viewTo)}function Bi(t,e){var n=new Ri(t,e);if(Hi(t,n)){Jr(t),ji(t,n);var r=pi(t);Br(t),mi(t,r),Vi(t,r),n.finish()}}function Ui(t,e,n){var r=t.display,i=t.options.lineNumbers,o=r.lineDiv,a=o.firstChild;function l(e){var n=e.nextSibling;return u&&y&&t.display.currentWheelTarget==e?e.style.display="none":e.parentNode.removeChild(e),n}for(var s=r.view,c=r.viewFrom,f=0;f-1&&(d=!1),On(t,h,c,n)),d&&(T(h.lineNumber),h.lineNumber.appendChild(document.createTextNode(re(t.options,c)))),a=h.node.nextSibling}else{var p=Pn(t,h,c,n);o.insertBefore(p,a)}c+=h.size}while(a)a=l(a)}function $i(t){var e=t.gutters.offsetWidth;t.sizer.style.marginLeft=e+"px",Mn(t,"gutterChanged",t)}function Vi(t,e){t.display.sizer.style.minHeight=e.docHeight+"px",t.display.heightForcer.style.top=e.docHeight+"px",t.display.gutters.style.height=e.docHeight+t.display.barHeight+Kn(t)+"px"}function Gi(t){var e=t.display,n=e.view;if(e.alignWidgets||e.gutters.firstChild&&t.options.fixedGutter){for(var r=Nr(e)-e.scroller.scrollLeft+t.doc.scrollLeft,i=e.gutters.offsetWidth,o=r+"px",a=0;as.clientWidth,h=s.scrollHeight>s.clientHeight;if(i&&c||o&&h){if(o&&y&&u)t:for(var d=e.target,p=l.view;d!=s;d=d.parentNode)for(var v=0;v=0&&oe(t,r.to())<=0)return n}return-1};var io=function(t,e){this.anchor=t,this.head=e};function oo(t,e,n){var r=t&&t.options.selectionsMayTouch,i=e[n];e.sort((function(t,e){return oe(t.from(),e.from())})),n=H(e,i);for(var o=1;o0:u>=0){var s=se(l.from(),a.from()),c=ue(l.to(),a.to()),f=l.empty()?a.from()==a.head:l.from()==l.head;o<=n&&--n,e.splice(--o,2,new io(f?c:s,f?s:c))}}return new ro(e,n)}function ao(t,e){return new ro([new io(t,e||t)],0)}function lo(t){return t.text?ie(t.from.line+t.text.length-1,X(t.text).length+(1==t.text.length?t.from.ch:0)):t.to}function uo(t,e){if(oe(t,e.from)<0)return t;if(oe(t,e.to)<=0)return lo(e);var n=t.line+e.text.length-(e.to.line-e.from.line)-1,r=t.ch;return t.line==e.to.line&&(r+=lo(e).ch-e.to.ch),ie(n,r)}function so(t,e){for(var n=[],r=0;r1&&t.remove(l.line+1,p-1),t.insert(l.line+1,m)}Mn(t,"change",t,e)}function mo(t,e,n){function r(t,i,o){if(t.linked)for(var a=0;a1&&!t.done[t.done.length-2].ranges?(t.done.pop(),X(t.done)):void 0}function So(t,e,n,r){var i=t.history;i.undone.length=0;var o,a,l=+new Date;if((i.lastOp==r||i.lastOrigin==e.origin&&e.origin&&("+"==e.origin.charAt(0)&&i.lastModTime>l-(t.cm?t.cm.options.historyEventDelay:500)||"*"==e.origin.charAt(0)))&&(o=_o(i,i.lastOp==r)))a=X(o.changes),0==oe(e.from,e.to)&&0==oe(e.from,a.to)?a.to=lo(e):o.changes.push(Co(t,e));else{var u=X(i.done);u&&u.ranges||Mo(t.sel,i.done),o={changes:[Co(t,e)],generation:i.generation},i.done.push(o);while(i.done.length>i.undoDepth)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(n),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=l,i.lastOp=i.lastSelOp=r,i.lastOrigin=i.lastSelOrigin=e.origin,a||mt(t,"historyAdded")}function Lo(t,e,n,r){var i=e.charAt(0);return"*"==i||"+"==i&&n.ranges.length==r.ranges.length&&n.somethingSelected()==r.somethingSelected()&&new Date-t.history.lastSelTime<=(t.cm?t.cm.options.historyEventDelay:500)}function To(t,e,n,r){var i=t.history,o=r&&r.origin;n==i.lastSelOp||o&&i.lastSelOrigin==o&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==o||Lo(t,o,X(i.done),e))?i.done[i.done.length-1]=e:Mo(e,i.done),i.lastSelTime=+new Date,i.lastSelOrigin=o,i.lastSelOp=n,r&&!1!==r.clearRedo&&ko(i.undone)}function Mo(t,e){var n=X(e);n&&n.ranges&&n.equals(t)||e.push(t)}function Ao(t,e,n,r){var i=e["spans_"+t.id],o=0;t.iter(Math.max(t.first,n),Math.min(t.first+t.size,r),(function(n){n.markedSpans&&((i||(i=e["spans_"+t.id]={}))[o]=n.markedSpans),++o}))}function Oo(t){if(!t)return null;for(var e,n=0;n-1&&(X(l)[f]=s[f],delete s[f])}}}return r}function Do(t,e,n,r){if(r){var i=t.anchor;if(n){var o=oe(e,i)<0;o!=oe(n,i)<0?(i=e,e=n):o!=oe(e,n)<0&&(e=n)}return new io(i,e)}return new io(n||e,e)}function Io(t,e,n,r,i){null==i&&(i=t.cm&&(t.cm.display.shift||t.extend)),jo(t,new ro([Do(t.sel.primary(),e,n,i)],0),r)}function Ro(t,e,n){for(var r=[],i=t.cm&&(t.cm.display.shift||t.extend),o=0;o=e.ch:l.to>e.ch))){if(i&&(mt(u,"beforeCursorEnter"),u.explicitlyCleared)){if(o.markedSpans){--a;continue}break}if(!u.atomic)continue;if(n){var f=u.find(r<0?1:-1),h=void 0;if((r<0?c:s)&&(f=qo(t,f,-r,f&&f.line==e.line?o:null)),f&&f.line==e.line&&(h=oe(f,n))&&(r<0?h<0:h>0))return Go(t,f,e,r,i)}var d=u.find(r<0?-1:1);return(r<0?s:c)&&(d=qo(t,d,r,d.line==e.line?o:null)),d?Go(t,d,e,r,i):null}}return e}function Ko(t,e,n,r,i){var o=r||1,a=Go(t,e,n,o,i)||!i&&Go(t,e,n,o,!0)||Go(t,e,n,-o,i)||!i&&Go(t,e,n,-o,!0);return a||(t.cantEdit=!0,ie(t.first,0))}function qo(t,e,n,r){return n<0&&0==e.ch?e.line>t.first?fe(t,ie(e.line-1)):null:n>0&&e.ch==(r||Yt(t,e.line)).text.length?e.line=0;--i)Jo(t,{from:r[i].from,to:r[i].to,text:i?[""]:e.text,origin:e.origin});else Jo(t,e)}}function Jo(t,e){if(1!=e.text.length||""!=e.text[0]||0!=oe(e.from,e.to)){var n=so(t,e);So(t,e,n,t.cm?t.cm.curOp.id:NaN),ea(t,e,n,Pe(t,e));var r=[];mo(t,(function(t,n){n||-1!=H(r,t.history)||(aa(t.history,e),r.push(t.history)),ea(t,e,null,Pe(t,e))}))}}function Qo(t,e,n){var r=t.cm&&t.cm.state.suppressEdits;if(!r||n){for(var i,o=t.history,a=t.sel,l="undo"==e?o.done:o.undone,u="undo"==e?o.undone:o.done,s=0;s=0;--d){var p=h(d);if(p)return p.v}}}}function ta(t,e){if(0!=e&&(t.first+=e,t.sel=new ro(Y(t.sel.ranges,(function(t){return new io(ie(t.anchor.line+e,t.anchor.ch),ie(t.head.line+e,t.head.ch))})),t.sel.primIndex),t.cm)){Rr(t.cm,t.first,t.first-e,e);for(var n=t.cm.display,r=n.viewFrom;rt.lastLine())){if(e.from.lineo&&(e={from:e.from,to:ie(o,Yt(t,o).text.length),text:[e.text[0]],origin:e.origin}),e.removed=Zt(t,e.from,e.to),n||(n=so(t,e)),t.cm?na(t.cm,e,r):go(t,e,r),Bo(t,n,U),t.cantEdit&&Ko(t,ie(t.firstLine(),0))&&(t.cantEdit=!1)}}function na(t,e,n){var r=t.doc,i=t.display,o=e.from,a=e.to,l=!1,u=o.line;t.options.lineWrapping||(u=te(Ze(Yt(r,o.line))),r.iter(u,a.line+1,(function(t){if(t==i.maxLine)return l=!0,!0}))),r.sel.contains(e.from,e.to)>-1&&wt(t),go(r,e,n,Er(t)),t.options.lineWrapping||(r.iter(u,o.line+e.text.length,(function(t){var e=an(t);e>i.maxLineLength&&(i.maxLine=t,i.maxLineLength=e,i.maxLineChanged=!0,l=!1)})),l&&(t.curOp.updateMaxLine=!0)),Te(r,o.line),Di(t,400);var s=e.text.length-(a.line-o.line)-1;e.full?Rr(t):o.line!=a.line||1!=e.text.length||vo(t.doc,e)?Rr(t,o.line,a.line+1,s):zr(t,o.line,"text");var c=bt(t,"changes"),f=bt(t,"change");if(f||c){var h={from:o,to:a,text:e.text,removed:e.removed,origin:e.origin};f&&Mn(t,"change",t,h),c&&(t.curOp.changeObjs||(t.curOp.changeObjs=[])).push(h)}t.display.selForContextMenu=null}function ra(t,e,n,r,i){var o;r||(r=n),oe(r,n)<0&&(o=[r,n],n=o[0],r=o[1]),"string"==typeof e&&(e=t.splitLines(e)),Zo(t,{from:n,to:r,text:e,origin:i})}function ia(t,e,n,r){n1||!(this.children[0]instanceof ua))){var l=[];this.collapse(l),this.children=[new ua(l)],this.children[0].parent=this}},collapse:function(t){for(var e=0;e50){for(var a=i.lines.length%25+25,l=a;l10);t.parent.maybeSpill()}},iterN:function(t,e,n){for(var r=0;r0||0==a&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=O("span",[o.replacedWith],"CodeMirror-widget"),r.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),r.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(Ye(t,e.line,e,n,o)||e.line!=n.line&&Ye(t,n.line,e,n,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");Ne()}o.addToHistory&&So(t,{from:e,to:n,origin:"markText"},t.sel,NaN);var l,u=e.line,s=t.cm;if(t.iter(u,n.line+1,(function(r){s&&o.collapsed&&!s.options.lineWrapping&&Ze(r)==s.display.maxLine&&(l=!0),o.collapsed&&u!=e.line&&Qt(r,0),Ie(r,new Ee(o,u==e.line?e.ch:null,u==n.line?n.ch:null),t.cm&&t.cm.curOp),++u})),o.collapsed&&t.iter(e.line,n.line+1,(function(e){nn(t,e)&&Qt(e,0)})),o.clearOnEnter&&pt(o,"beforeCursorEnter",(function(){return o.clear()})),o.readOnly&&(Oe(),(t.history.done.length||t.history.undone.length)&&t.clearHistory()),o.collapsed&&(o.id=++da,o.atomic=!0),s){if(l&&(s.curOp.updateMaxLine=!0),o.collapsed)Rr(s,e.line,n.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var c=e.line;c<=n.line;c++)zr(s,c,"text");o.atomic&&$o(s.doc),Mn(s,"markerAdded",s,o)}return o}pa.prototype.clear=function(){if(!this.explicitlyCleared){var t=this.doc.cm,e=t&&!t.curOp;if(e&&Ci(t),bt(this,"clear")){var n=this.find();n&&Mn(this,"clear",n.from,n.to)}for(var r=null,i=null,o=0;ot.display.maxLineLength&&(t.display.maxLine=s,t.display.maxLineLength=c,t.display.maxLineChanged=!0)}null!=r&&t&&this.collapsed&&Rr(t,r,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,t&&$o(t.doc)),t&&Mn(t,"markerCleared",t,this,r,i),e&&ki(t),this.parent&&this.parent.clear()}},pa.prototype.find=function(t,e){var n,r;null==t&&"bookmark"==this.type&&(t=1);for(var i=0;i=0;u--)Zo(this,r[u]);l?Ho(this,l):this.cm&&ai(this.cm)})),undo:Wi((function(){Qo(this,"undo")})),redo:Wi((function(){Qo(this,"redo")})),undoSelection:Wi((function(){Qo(this,"undo",!0)})),redoSelection:Wi((function(){Qo(this,"redo",!0)})),setExtending:function(t){this.extend=t},getExtending:function(){return this.extend},historySize:function(){for(var t=this.history,e=0,n=0,r=0;r=t.ch)&&e.push(i.marker.parent||i.marker)}return e},findMarks:function(t,e,n){t=fe(this,t),e=fe(this,e);var r=[],i=t.line;return this.iter(t.line,e.line+1,(function(o){var a=o.markedSpans;if(a)for(var l=0;l=u.to||null==u.from&&i!=t.line||null!=u.from&&i==e.line&&u.from>=e.ch||n&&!n(u.marker)||r.push(u.marker.parent||u.marker)}++i})),r},getAllMarks:function(){var t=[];return this.iter((function(e){var n=e.markedSpans;if(n)for(var r=0;rt)return e=t,!0;t-=o,++n})),fe(this,ie(n,e))},indexFromPos:function(t){t=fe(this,t);var e=t.ch;if(t.linee&&(e=t.from),null!=t.to&&t.to-1)return e.state.draggingText(t),void setTimeout((function(){return e.display.input.focus()}),20);try{var f=t.dataTransfer.getData("Text");if(f){var h;if(e.state.draggingText&&!e.state.draggingText.copy&&(h=e.listSelections()),Bo(e.doc,ao(n,n)),h)for(var d=0;d=0;e--)ra(t.doc,"",r[e].from,r[e].to,"+delete");ai(t)}))}function Ga(t,e,n){var r=at(t.text,e+n,n);return r<0||r>t.text.length?null:r}function Ka(t,e,n){var r=Ga(t,e.ch,n);return null==r?null:new ie(e.line,r,n<0?"after":"before")}function qa(t,e,n,r,i){if(t){"rtl"==e.doc.direction&&(i=-i);var o=ht(n,e.doc.direction);if(o){var a,l=i<0?X(o):o[0],u=i<0==(1==l.level),s=u?"after":"before";if(l.level>0||"rtl"==e.doc.direction){var c=er(e,n);a=i<0?n.text.length-1:0;var f=nr(e,c,a).top;a=lt((function(t){return nr(e,c,t).top==f}),i<0==(1==l.level)?l.from:l.to-1,a),"before"==s&&(a=Ga(n,a,1))}else a=i<0?l.to:l.from;return new ie(r,a,s)}}return new ie(r,i<0?n.text.length:0,i<0?"before":"after")}function Xa(t,e,n,r){var i=ht(e,t.doc.direction);if(!i)return Ka(e,n,r);n.ch>=e.text.length?(n.ch=e.text.length,n.sticky="before"):n.ch<=0&&(n.ch=0,n.sticky="after");var o=ct(i,n.ch,n.sticky),a=i[o];if("ltr"==t.doc.direction&&a.level%2==0&&(r>0?a.to>n.ch:a.from=a.from&&h>=c.begin)){var d=f?"before":"after";return new ie(n.line,h,d)}}var p=function(t,e,r){for(var o=function(t,e){return e?new ie(n.line,u(t,1),"before"):new ie(n.line,t,"after")};t>=0&&t0==(1!=a.level),s=l?r.begin:u(r.end,-1);if(a.from<=s&&s0?c.end:u(c.begin,-1);return null==g||r>0&&g==e.text.length||(v=p(r>0?0:i.length-1,r,s(g)),!v)?null:v}za.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},za.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},za.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},za.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},za["default"]=y?za.macDefault:za.pcDefault;var Ya={selectAll:Xo,singleSelection:function(t){return t.setSelection(t.getCursor("anchor"),t.getCursor("head"),U)},killLine:function(t){return Va(t,(function(e){if(e.empty()){var n=Yt(t.doc,e.head.line).text.length;return e.head.ch==n&&e.head.line0)i=new ie(i.line,i.ch+1),t.replaceRange(o.charAt(i.ch-1)+o.charAt(i.ch-2),ie(i.line,i.ch-2),i,"+transpose");else if(i.line>t.doc.first){var a=Yt(t.doc,i.line-1).text;a&&(i=new ie(i.line,1),t.replaceRange(o.charAt(0)+t.doc.lineSeparator()+a.charAt(a.length-1),ie(i.line-1,a.length-1),i,"+transpose"))}n.push(new io(i,i))}t.setSelections(n)}))},newlineAndIndent:function(t){return Oi(t,(function(){for(var e=t.listSelections(),n=e.length-1;n>=0;n--)t.replaceRange(t.doc.lineSeparator(),e[n].anchor,e[n].head,"+input");e=t.listSelections();for(var r=0;r-1&&(oe((i=l.ranges[i]).from(),e)<0||e.xRel>0)&&(oe(i.to(),e)>0||e.xRel<0)?xl(t,r,e,o):kl(t,r,e,o)}function xl(t,e,n,r){var i=t.display,o=!1,s=Ni(t,(function(e){u&&(i.scroller.draggable=!1),t.state.draggingText=!1,t.state.delayingBlurEvent&&(t.hasFocus()?t.state.delayingBlurEvent=!1:Xr(t)),gt(i.wrapper.ownerDocument,"mouseup",s),gt(i.wrapper.ownerDocument,"mousemove",c),gt(i.scroller,"dragstart",f),gt(i.scroller,"drop",s),o||(Ct(e),r.addNew||Io(t.doc,n,null,null,r.extend),u&&!h||a&&9==l?setTimeout((function(){i.wrapper.ownerDocument.body.focus({preventScroll:!0}),i.input.focus()}),20):i.input.focus())})),c=function(t){o=o||Math.abs(e.clientX-t.clientX)+Math.abs(e.clientY-t.clientY)>=10},f=function(){return o=!0};u&&(i.scroller.draggable=!0),t.state.draggingText=s,s.copy=!r.moveOnDrag,pt(i.wrapper.ownerDocument,"mouseup",s),pt(i.wrapper.ownerDocument,"mousemove",c),pt(i.scroller,"dragstart",f),pt(i.scroller,"drop",s),t.state.delayingBlurEvent=!0,setTimeout((function(){return i.input.focus()}),20),i.scroller.dragDrop&&i.scroller.dragDrop()}function Cl(t,e,n){if("char"==n)return new io(e,e);if("word"==n)return t.findWordAt(e);if("line"==n)return new io(ie(e.line,0),fe(t.doc,ie(e.line+1,0)));var r=n(t,e);return new io(r.from,r.to)}function kl(t,e,n,r){a&&Xr(t);var i=t.display,o=t.doc;Ct(e);var l,u,s=o.sel,c=s.ranges;if(r.addNew&&!r.extend?(u=o.sel.contains(n),l=u>-1?c[u]:new io(n,n)):(l=o.sel.primary(),u=o.sel.primIndex),"rectangle"==r.unit)r.addNew||(l=new io(n,n)),n=Dr(t,e,!0,!0),u=-1;else{var f=Cl(t,n,r.unit);l=r.extend?Do(l,f.anchor,f.head,r.extend):f}r.addNew?-1==u?(u=c.length,jo(o,oo(t,c.concat([l]),u),{scroll:!1,origin:"*mouse"})):c.length>1&&c[u].empty()&&"char"==r.unit&&!r.extend?(jo(o,oo(t,c.slice(0,u).concat(c.slice(u+1)),0),{scroll:!1,origin:"*mouse"}),s=o.sel):zo(o,u,l,$):(u=0,jo(o,new ro([l],0),$),s=o.sel);var h=n;function d(e){if(0!=oe(h,e))if(h=e,"rectangle"==r.unit){for(var i=[],a=t.options.tabSize,c=P(Yt(o,n.line).text,n.ch,a),f=P(Yt(o,e.line).text,e.ch,a),d=Math.min(c,f),p=Math.max(c,f),v=Math.min(n.line,e.line),g=Math.min(t.lastLine(),Math.max(n.line,e.line));v<=g;v++){var m=Yt(o,v).text,y=G(m,d,a);d==p?i.push(new io(ie(v,y),ie(v,y))):m.length>y&&i.push(new io(ie(v,y),ie(v,G(m,p,a))))}i.length||i.push(new io(n,n)),jo(o,oo(t,s.ranges.slice(0,u).concat(i),u),{origin:"*mouse",scroll:!1}),t.scrollIntoView(e)}else{var w,b=l,x=Cl(t,e,r.unit),C=b.anchor;oe(x.anchor,C)>0?(w=x.head,C=se(b.from(),x.anchor)):(w=x.anchor,C=ue(b.to(),x.head));var k=s.ranges.slice(0);k[u]=_l(t,new io(fe(o,C),w)),jo(o,oo(t,k,u),$)}}var p=i.wrapper.getBoundingClientRect(),v=0;function g(e){var n=++v,a=Dr(t,e,!0,"rectangle"==r.unit);if(a)if(0!=oe(a,h)){t.curOp.focus=E(),d(a);var l=ti(i,o);(a.line>=l.to||a.linep.bottom?20:0;u&&setTimeout(Ni(t,(function(){v==n&&(i.scroller.scrollTop+=u,g(e))})),50)}}function m(e){t.state.selectingText=!1,v=1/0,e&&(Ct(e),i.input.focus()),gt(i.wrapper.ownerDocument,"mousemove",y),gt(i.wrapper.ownerDocument,"mouseup",w),o.history.lastSelOrigin=null}var y=Ni(t,(function(t){0!==t.buttons&&Tt(t)?g(t):m(t)})),w=Ni(t,m);t.state.selectingText=w,pt(i.wrapper.ownerDocument,"mousemove",y),pt(i.wrapper.ownerDocument,"mouseup",w)}function _l(t,e){var n=e.anchor,r=e.head,i=Yt(t.doc,n.line);if(0==oe(n,r)&&n.sticky==r.sticky)return e;var o=ht(i);if(!o)return e;var a=ct(o,n.ch,n.sticky),l=o[a];if(l.from!=n.ch&&l.to!=n.ch)return e;var u,s=a+(l.from==n.ch==(1!=l.level)?0:1);if(0==s||s==o.length)return e;if(r.line!=n.line)u=(r.line-n.line)*("ltr"==t.doc.direction?1:-1)>0;else{var c=ct(o,r.ch,r.sticky),f=c-a||(r.ch-n.ch)*(1==l.level?-1:1);u=c==s-1||c==s?f<0:f>0}var h=o[s+(u?-1:0)],d=u==(1==h.level),p=d?h.from:h.to,v=d?"after":"before";return n.ch==p&&n.sticky==v?e:new io(new ie(n.line,p,v),r)}function Sl(t,e,n,r){var i,o;if(e.touches)i=e.touches[0].clientX,o=e.touches[0].clientY;else try{i=e.clientX,o=e.clientY}catch(h){return!1}if(i>=Math.floor(t.display.gutters.getBoundingClientRect().right))return!1;r&&Ct(e);var a=t.display,l=a.lineDiv.getBoundingClientRect();if(o>l.bottom||!bt(t,n))return _t(e);o-=l.top-a.viewOffset;for(var u=0;u=i){var c=ee(t.doc,o),f=t.display.gutterSpecs[u];return mt(t,n,t,c,f.className,e),_t(e)}}}function Ll(t,e){return Sl(t,e,"gutterClick",!0)}function Tl(t,e){Un(t.display,e)||Ml(t,e)||yt(t,e,"contextmenu")||k||t.display.input.onContextMenu(e)}function Ml(t,e){return!!bt(t,"gutterContextMenu")&&Sl(t,e,"gutterContextMenu",!1)}function Al(t){t.display.wrapper.className=t.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+t.options.theme.replace(/(^|\s)\s*/g," cm-s-"),fr(t)}vl.prototype.compare=function(t,e,n){return this.time+pl>t&&0==oe(e,this.pos)&&n==this.button};var Ol={toString:function(){return"CodeMirror.Init"}},Nl={},El={};function Wl(t){var e=t.optionHandlers;function n(n,r,i,o){t.defaults[n]=r,i&&(e[n]=o?function(t,e,n){n!=Ol&&i(t,e,n)}:i)}t.defineOption=n,t.Init=Ol,n("value","",(function(t,e){return t.setValue(e)}),!0),n("mode",null,(function(t,e){t.doc.modeOption=e,ho(t)}),!0),n("indentUnit",2,ho,!0),n("indentWithTabs",!1),n("smartIndent",!0),n("tabSize",4,(function(t){po(t),fr(t),Rr(t)}),!0),n("lineSeparator",null,(function(t,e){if(t.doc.lineSep=e,e){var n=[],r=t.doc.first;t.doc.iter((function(t){for(var i=0;;){var o=t.text.indexOf(e,i);if(-1==o)break;i=o+e.length,n.push(ie(r,o))}r++}));for(var i=n.length-1;i>=0;i--)ra(t.doc,e,n[i],ie(n[i].line,n[i].ch+e.length))}})),n("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\ufeff\ufff9-\ufffc]/g,(function(t,e,n){t.state.specialChars=new RegExp(e.source+(e.test("\t")?"":"|\t"),"g"),n!=Ol&&t.refresh()})),n("specialCharPlaceholder",vn,(function(t){return t.refresh()}),!0),n("electricChars",!0),n("inputStyle",m?"contenteditable":"textarea",(function(){throw new Error("inputStyle can not (yet) be changed in a running editor")}),!0),n("spellcheck",!1,(function(t,e){return t.getInputField().spellcheck=e}),!0),n("autocorrect",!1,(function(t,e){return t.getInputField().autocorrect=e}),!0),n("autocapitalize",!1,(function(t,e){return t.getInputField().autocapitalize=e}),!0),n("rtlMoveVisually",!b),n("wholeLineUpdateBefore",!0),n("theme","default",(function(t){Al(t),Yi(t)}),!0),n("keyMap","default",(function(t,e,n){var r=$a(e),i=n!=Ol&&$a(n);i&&i.detach&&i.detach(t,r),r.attach&&r.attach(t,i||null)})),n("extraKeys",null),n("configureMouse",null),n("lineWrapping",!1,Il,!0),n("gutters",[],(function(t,e){t.display.gutterSpecs=qi(e,t.options.lineNumbers),Yi(t)}),!0),n("fixedGutter",!0,(function(t,e){t.display.gutters.style.left=e?Nr(t.display)+"px":"0",t.refresh()}),!0),n("coverGutterNextToScrollbar",!1,(function(t){return mi(t)}),!0),n("scrollbarStyle","native",(function(t){bi(t),mi(t),t.display.scrollbars.setScrollTop(t.doc.scrollTop),t.display.scrollbars.setScrollLeft(t.doc.scrollLeft)}),!0),n("lineNumbers",!1,(function(t,e){t.display.gutterSpecs=qi(t.options.gutters,e),Yi(t)}),!0),n("firstLineNumber",1,Yi,!0),n("lineNumberFormatter",(function(t){return t}),Yi,!0),n("showCursorWhenSelecting",!1,Br,!0),n("resetSelectionOnContextMenu",!0),n("lineWiseCopyCut",!0),n("pasteLinesPerSelection",!0),n("selectionsMayTouch",!1),n("readOnly",!1,(function(t,e){"nocursor"==e&&(Zr(t),t.display.input.blur()),t.display.input.readOnlyChanged(e)})),n("screenReaderLabel",null,(function(t,e){e=""===e?null:e,t.display.input.screenReaderLabelChanged(e)})),n("disableInput",!1,(function(t,e){e||t.display.input.reset()}),!0),n("dragDrop",!0,Dl),n("allowDropFileTypes",null),n("cursorBlinkRate",530),n("cursorScrollMargin",0),n("cursorHeight",1,Br,!0),n("singleCursorHeightPerLine",!0,Br,!0),n("workTime",100),n("workDelay",100),n("flattenSpans",!0,po,!0),n("addModeClass",!1,po,!0),n("pollInterval",100),n("undoDepth",200,(function(t,e){return t.doc.history.undoDepth=e})),n("historyEventDelay",1250),n("viewportMargin",10,(function(t){return t.refresh()}),!0),n("maxHighlightLength",1e4,po,!0),n("moveInputWithCursor",!0,(function(t,e){e||t.display.input.resetPosition()})),n("tabindex",null,(function(t,e){return t.display.input.getField().tabIndex=e||""})),n("autofocus",null),n("direction","ltr",(function(t,e){return t.doc.setDirection(e)}),!0),n("phrases",null)}function Dl(t,e,n){var r=n&&n!=Ol;if(!e!=!r){var i=t.display.dragFunctions,o=e?pt:gt;o(t.display.scroller,"dragstart",i.start),o(t.display.scroller,"dragenter",i.enter),o(t.display.scroller,"dragover",i.over),o(t.display.scroller,"dragleave",i.leave),o(t.display.scroller,"drop",i.drop)}}function Il(t){t.options.lineWrapping?(W(t.display.wrapper,"CodeMirror-wrap"),t.display.sizer.style.minWidth="",t.display.sizerWidth=null):(L(t.display.wrapper,"CodeMirror-wrap"),ln(t)),Wr(t),Rr(t),fr(t),setTimeout((function(){return mi(t)}),100)}function Rl(t,e){var n=this;if(!(this instanceof Rl))return new Rl(t,e);this.options=e=e?z(e):{},z(Nl,e,!1);var r=e.value;"string"==typeof r?r=new Ca(r,e.mode,null,e.lineSeparator,e.direction):e.mode&&(r.modeOption=e.mode),this.doc=r;var i=new Rl.inputStyles[e.inputStyle](this),o=this.display=new Zi(t,r,i,e);for(var s in o.wrapper.CodeMirror=this,Al(this),e.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),bi(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new F,keySeq:null,specialChars:null},e.autofocus&&!m&&o.input.focus(),a&&l<11&&setTimeout((function(){return n.display.input.reset(!0)}),20),zl(this),Oa(),Ci(this),this.curOp.forceUpdate=!0,yo(this,r),e.autofocus&&!m||this.hasFocus()?setTimeout((function(){n.hasFocus()&&!n.state.focused&&Yr(n)}),20):Zr(this),El)El.hasOwnProperty(s)&&El[s](this,e[s],Ol);Ki(this),e.finishInit&&e.finishInit(this);for(var c=0;c400}pt(e.scroller,"touchstart",(function(i){if(!yt(t,i)&&!o(i)&&!Ll(t,i)){e.input.ensurePolled(),clearTimeout(n);var a=+new Date;e.activeTouch={start:a,moved:!1,prev:a-r.end<=300?r:null},1==i.touches.length&&(e.activeTouch.left=i.touches[0].pageX,e.activeTouch.top=i.touches[0].pageY)}})),pt(e.scroller,"touchmove",(function(){e.activeTouch&&(e.activeTouch.moved=!0)})),pt(e.scroller,"touchend",(function(n){var r=e.activeTouch;if(r&&!Un(e,n)&&null!=r.left&&!r.moved&&new Date-r.start<300){var o,a=t.coordsChar(e.activeTouch,"page");o=!r.prev||u(r,r.prev)?new io(a,a):!r.prev.prev||u(r,r.prev.prev)?t.findWordAt(a):new io(ie(a.line,0),fe(t.doc,ie(a.line+1,0))),t.setSelection(o.anchor,o.head),t.focus(),Ct(n)}i()})),pt(e.scroller,"touchcancel",i),pt(e.scroller,"scroll",(function(){e.scroller.clientHeight&&(fi(t,e.scroller.scrollTop),di(t,e.scroller.scrollLeft,!0),mt(t,"scroll",t))})),pt(e.scroller,"mousewheel",(function(e){return no(t,e)})),pt(e.scroller,"DOMMouseScroll",(function(e){return no(t,e)})),pt(e.wrapper,"scroll",(function(){return e.wrapper.scrollTop=e.wrapper.scrollLeft=0})),e.dragFunctions={enter:function(e){yt(t,e)||St(e)},over:function(e){yt(t,e)||(La(t,e),St(e))},start:function(e){return Sa(t,e)},drop:Ni(t,_a),leave:function(e){yt(t,e)||Ta(t)}};var s=e.input.getField();pt(s,"keyup",(function(e){return cl.call(t,e)})),pt(s,"keydown",Ni(t,ul)),pt(s,"keypress",Ni(t,fl)),pt(s,"focus",(function(e){return Yr(t,e)})),pt(s,"blur",(function(e){return Zr(t,e)}))}Rl.defaults=Nl,Rl.optionHandlers=El;var Pl=[];function Fl(t,e,n,r){var i,o=t.doc;null==n&&(n="add"),"smart"==n&&(o.mode.indent?i=ye(t,e).state:n="prev");var a=t.options.tabSize,l=Yt(o,e),u=P(l.text,null,a);l.stateAfter&&(l.stateAfter=null);var s,c=l.text.match(/^\s*/)[0];if(r||/\S/.test(l.text)){if("smart"==n&&(s=o.mode.indent(i,l.text.slice(c.length),l.text),s==B||s>150)){if(!r)return;n="prev"}}else s=0,n="not";"prev"==n?s=e>o.first?P(Yt(o,e-1).text,null,a):0:"add"==n?s=u+t.options.indentUnit:"subtract"==n?s=u-t.options.indentUnit:"number"==typeof n&&(s=u+n),s=Math.max(0,s);var f="",h=0;if(t.options.indentWithTabs)for(var d=Math.floor(s/a);d;--d)h+=a,f+="\t";if(ha,u=Wt(e),s=null;if(l&&r.ranges.length>1)if(Hl&&Hl.text.join("\n")==e){if(r.ranges.length%Hl.text.length==0){s=[];for(var c=0;c=0;h--){var d=r.ranges[h],p=d.from(),v=d.to();d.empty()&&(n&&n>0?p=ie(p.line,p.ch-n):t.state.overwrite&&!l?v=ie(v.line,Math.min(Yt(o,v.line).text.length,v.ch+X(u).length)):l&&Hl&&Hl.lineWise&&Hl.text.join("\n")==u.join("\n")&&(p=v=ie(p.line,0)));var g={from:p,to:v,text:s?s[h%s.length]:u,origin:i||(l?"paste":t.state.cutIncoming>a?"cut":"+input")};Zo(t.doc,g),Mn(t,"inputRead",t,g)}e&&!l&&$l(t,e),ai(t),t.curOp.updateInput<2&&(t.curOp.updateInput=f),t.curOp.typing=!0,t.state.pasteIncoming=t.state.cutIncoming=-1}function Ul(t,e){var n=t.clipboardData&&t.clipboardData.getData("Text");if(n)return t.preventDefault(),e.isReadOnly()||e.options.disableInput||Oi(e,(function(){return Bl(e,n,0,null,"paste")})),!0}function $l(t,e){if(t.options.electricChars&&t.options.smartIndent)for(var n=t.doc.sel,r=n.ranges.length-1;r>=0;r--){var i=n.ranges[r];if(!(i.head.ch>100||r&&n.ranges[r-1].head.line==i.head.line)){var o=t.getModeAt(i.head),a=!1;if(o.electricChars){for(var l=0;l-1){a=Fl(t,i.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(Yt(t.doc,i.head.line).text.slice(0,i.head.ch))&&(a=Fl(t,i.head.line,"smart"));a&&Mn(t,"electricInput",t,i.head.line)}}}function Vl(t){for(var e=[],n=[],r=0;rn&&(Fl(this,i.head.line,t,!0),n=i.head.line,r==this.doc.sel.primIndex&&ai(this));else{var o=i.from(),a=i.to(),l=Math.max(n,o.line);n=Math.min(this.lastLine(),a.line-(a.ch?0:1))+1;for(var u=l;u0&&zo(this.doc,r,new io(o,s[r].to()),U)}}})),getTokenAt:function(t,e){return ke(this,t,e)},getLineTokens:function(t,e){return ke(this,ie(t),e,!0)},getTokenTypeAt:function(t){t=fe(this.doc,t);var e,n=me(this,Yt(this.doc,t.line)),r=0,i=(n.length-1)/2,o=t.ch;if(0==o)e=n[2];else for(;;){var a=r+i>>1;if((a?n[2*a-1]:0)>=o)i=a;else{if(!(n[2*a+1]o&&(t=o,i=!0),r=Yt(this.doc,t)}else r=t;return vr(this,r,{top:0,left:0},e||"page",n||i).top+(i?this.doc.height-on(r):0)},defaultTextHeight:function(){return Mr(this.display)},defaultCharWidth:function(){return Ar(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(t,e,n,r,i){var o=this.display;t=yr(this,fe(this.doc,t));var a=t.bottom,l=t.left;if(e.style.position="absolute",e.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(e),o.sizer.appendChild(e),"over"==r)a=t.top;else if("above"==r||"near"==r){var u=Math.max(o.wrapper.clientHeight,this.doc.height),s=Math.max(o.sizer.clientWidth,o.lineSpace.clientWidth);("above"==r||t.bottom+e.offsetHeight>u)&&t.top>e.offsetHeight?a=t.top-e.offsetHeight:t.bottom+e.offsetHeight<=u&&(a=t.bottom),l+e.offsetWidth>s&&(l=s-e.offsetWidth)}e.style.top=a+"px",e.style.left=e.style.right="","right"==i?(l=o.sizer.clientWidth-e.offsetWidth,e.style.right="0px"):("left"==i?l=0:"middle"==i&&(l=(o.sizer.clientWidth-e.offsetWidth)/2),e.style.left=l+"px"),n&&ri(this,{left:l,top:a,right:l+e.offsetWidth,bottom:a+e.offsetHeight})},triggerOnKeyDown:Ei(ul),triggerOnKeyPress:Ei(fl),triggerOnKeyUp:cl,triggerOnMouseDown:Ei(ml),execCommand:function(t){if(Ya.hasOwnProperty(t))return Ya[t].call(null,this)},triggerElectric:Ei((function(t){$l(this,t)})),findPosH:function(t,e,n,r){var i=1;e<0&&(i=-1,e=-e);for(var o=fe(this.doc,t),a=0;a0&&l(n.charAt(r-1)))--r;while(i.5||this.options.lineWrapping)&&Wr(this),mt(this,"refresh",this)})),swapDoc:Ei((function(t){var e=this.doc;return e.cm=null,this.state.selectingText&&this.state.selectingText(),yo(this,t),fr(this),this.display.input.reset(),li(this,t.scrollLeft,t.scrollTop),this.curOp.forceScroll=!0,Mn(this,"swapDoc",this,e),e})),phrase:function(t){var e=this.options.phrases;return e&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:t},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},xt(t),t.registerHelper=function(e,r,i){n.hasOwnProperty(e)||(n[e]=t[e]={_global:[]}),n[e][r]=i},t.registerGlobalHelper=function(e,r,i,o){t.registerHelper(e,r,o),n[e]._global.push({pred:i,val:o})}}function Xl(t,e,n,r,i){var o=e,a=n,l=Yt(t,e.line),u=i&&"rtl"==t.direction?-n:n;function s(){var n=e.line+u;return!(n=t.first+t.size)&&(e=new ie(n,e.ch,e.sticky),l=Yt(t,n))}function c(o){var a;if("codepoint"==r){var c=l.text.charCodeAt(e.ch+(n>0?0:-1));if(isNaN(c))a=null;else{var f=n>0?c>=55296&&c<56320:c>=56320&&c<57343;a=new ie(e.line,Math.max(0,Math.min(l.text.length,e.ch+n*(f?2:1))),-n)}}else a=i?Xa(t.cm,l,e,n):Ka(l,e,n);if(null==a){if(o||!s())return!1;e=qa(i,t.cm,l,e.line,u)}else e=a;return!0}if("char"==r||"codepoint"==r)c();else if("column"==r)c(!0);else if("word"==r||"group"==r)for(var f=null,h="group"==r,d=t.cm&&t.cm.getHelper(e,"wordChars"),p=!0;;p=!1){if(n<0&&!c(!p))break;var v=l.text.charAt(e.ch)||"\n",g=nt(v,d)?"w":h&&"\n"==v?"n":!h||/\s/.test(v)?null:"p";if(!h||p||g||(g="s"),f&&f!=g){n<0&&(n=1,c(),e.sticky="after");break}if(g&&(f=g),n>0&&!c(!p))break}var m=Ko(t,e,o,a,!0);return ae(o,m)&&(m.hitSide=!0),m}function Yl(t,e,n,r){var i,o,a=t.doc,l=e.left;if("page"==r){var u=Math.min(t.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),s=Math.max(u-.5*Mr(t.display),3);i=(n>0?e.bottom:e.top)+n*s}else"line"==r&&(i=n>0?e.bottom+3:e.top-3);for(;;){if(o=xr(t,l,i),!o.outside)break;if(n<0?i<=0:i>=a.height){o.hitSide=!0;break}i+=5*n}return o}var Zl=function(t){this.cm=t,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new F,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function Jl(t,e){var n=tr(t,e.line);if(!n||n.hidden)return null;var r=Yt(t.doc,e.line),i=Zn(n,r,e.line),o=ht(r,t.doc.direction),a="left";if(o){var l=ct(o,e.ch);a=l%2?"right":"left"}var u=or(i.map,e.ch,a);return u.offset="right"==u.collapse?u.end:u.start,u}function Ql(t){for(var e=t;e;e=e.parentNode)if(/CodeMirror-gutter-wrapper/.test(e.className))return!0;return!1}function tu(t,e){return e&&(t.bad=!0),t}function eu(t,e,n,r,i){var o="",a=!1,l=t.doc.lineSeparator(),u=!1;function s(t){return function(e){return e.id==t}}function c(){a&&(o+=l,u&&(o+=l),a=u=!1)}function f(t){t&&(c(),o+=t)}function h(e){if(1==e.nodeType){var n=e.getAttribute("cm-text");if(n)return void f(n);var o,d=e.getAttribute("cm-marker");if(d){var p=t.findMarks(ie(r,0),ie(i+1,0),s(+d));return void(p.length&&(o=p[0].find(0))&&f(Zt(t.doc,o.from,o.to).join(l)))}if("false"==e.getAttribute("contenteditable"))return;var v=/^(pre|div|p|li|table|br)$/i.test(e.nodeName);if(!/^br$/i.test(e.nodeName)&&0==e.textContent.length)return;v&&c();for(var g=0;g=e.display.viewTo||o.line=e.display.viewFrom&&Jl(e,i)||{node:u[0].measure.map[2],offset:0},c=o.liner.firstLine()&&(a=ie(a.line-1,Yt(r.doc,a.line-1).length)),l.ch==Yt(r.doc,l.line).text.length&&l.linei.viewTo-1)return!1;a.line==i.viewFrom||0==(t=Ir(r,a.line))?(e=te(i.view[0].line),n=i.view[0].node):(e=te(i.view[t].line),n=i.view[t-1].node.nextSibling);var u,s,c=Ir(r,l.line);if(c==i.view.length-1?(u=i.viewTo-1,s=i.lineDiv.lastChild):(u=te(i.view[c+1].line)-1,s=i.view[c+1].node.previousSibling),!n)return!1;var f=r.doc.splitLines(eu(r,n,s,e,u)),h=Zt(r.doc,ie(e,0),ie(u,Yt(r.doc,u).text.length));while(f.length>1&&h.length>1)if(X(f)==X(h))f.pop(),h.pop(),u--;else{if(f[0]!=h[0])break;f.shift(),h.shift(),e++}var d=0,p=0,v=f[0],g=h[0],m=Math.min(v.length,g.length);while(da.ch&&y.charCodeAt(y.length-p-1)==w.charCodeAt(w.length-p-1))d--,p++;f[f.length-1]=y.slice(0,y.length-p).replace(/^\u200b+/,""),f[0]=f[0].slice(d).replace(/\u200b+$/,"");var x=ie(e,d),C=ie(u,h.length?X(h).length-p:0);return f.length>1||f[0]||oe(x,C)?(ra(r.doc,f,x,C,"+input"),!0):void 0},Zl.prototype.ensurePolled=function(){this.forceCompositionEnd()},Zl.prototype.reset=function(){this.forceCompositionEnd()},Zl.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Zl.prototype.readFromDOMSoon=function(){var t=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout((function(){if(t.readDOMTimeout=null,t.composing){if(!t.composing.done)return;t.composing=null}t.updateFromDOM()}),80))},Zl.prototype.updateFromDOM=function(){var t=this;!this.cm.isReadOnly()&&this.pollContent()||Oi(this.cm,(function(){return Rr(t.cm)}))},Zl.prototype.setUneditable=function(t){t.contentEditable="false"},Zl.prototype.onKeyPress=function(t){0==t.charCode||this.composing||(t.preventDefault(),this.cm.isReadOnly()||Ni(this.cm,Bl)(this.cm,String.fromCharCode(null==t.charCode?t.keyCode:t.charCode),0))},Zl.prototype.readOnlyChanged=function(t){this.div.contentEditable=String("nocursor"!=t)},Zl.prototype.onContextMenu=function(){},Zl.prototype.resetPosition=function(){},Zl.prototype.needsContentAttribute=!0;var iu=function(t){this.cm=t,this.prevInput="",this.pollingFast=!1,this.polling=new F,this.hasSelection=!1,this.composing=null};function ou(t,e){if(e=e?z(e):{},e.value=t.value,!e.tabindex&&t.tabIndex&&(e.tabindex=t.tabIndex),!e.placeholder&&t.placeholder&&(e.placeholder=t.placeholder),null==e.autofocus){var n=E();e.autofocus=n==t||null!=t.getAttribute("autofocus")&&n==document.body}function r(){t.value=l.getValue()}var i;if(t.form&&(pt(t.form,"submit",r),!e.leaveSubmitMethodAlone)){var o=t.form;i=o.submit;try{var a=o.submit=function(){r(),o.submit=i,o.submit(),o.submit=a}}catch(u){}}e.finishInit=function(n){n.save=r,n.getTextArea=function(){return t},n.toTextArea=function(){n.toTextArea=isNaN,r(),t.parentNode.removeChild(n.getWrapperElement()),t.style.display="",t.form&&(gt(t.form,"submit",r),e.leaveSubmitMethodAlone||"function"!=typeof t.form.submit||(t.form.submit=i))}},t.style.display="none";var l=Rl((function(e){return t.parentNode.insertBefore(e,t.nextSibling)}),e);return l}function au(t){t.off=gt,t.on=pt,t.wheelEventPixels=eo,t.Doc=Ca,t.splitLines=Wt,t.countColumn=P,t.findColumn=G,t.isWordChar=et,t.Pass=B,t.signal=mt,t.Line=un,t.changeEnd=lo,t.scrollbarModel=wi,t.Pos=ie,t.cmpPos=oe,t.modes=Pt,t.mimeModes=Ft,t.resolveMode=Bt,t.getMode=Ut,t.modeExtensions=$t,t.extendMode=Vt,t.copyState=Gt,t.startState=qt,t.innerMode=Kt,t.commands=Ya,t.keyMap=za,t.keyName=Ua,t.isModifierKey=ja,t.lookupKey=Ha,t.normalizeKeyMap=Fa,t.StringStream=Xt,t.SharedTextMarker=ga,t.TextMarker=pa,t.LineWidget=ca,t.e_preventDefault=Ct,t.e_stopPropagation=kt,t.e_stop=St,t.addClass=W,t.contains=N,t.rmClass=L,t.keyNames=Wa}iu.prototype.init=function(t){var e=this,n=this,r=this.cm;this.createField(t);var i=this.textarea;function o(t){if(!yt(r,t)){if(r.somethingSelected())jl({lineWise:!1,text:r.getSelections()});else{if(!r.options.lineWiseCopyCut)return;var e=Vl(r);jl({lineWise:!0,text:e.text}),"cut"==t.type?r.setSelections(e.ranges,null,U):(n.prevInput="",i.value=e.text.join("\n"),I(i))}"cut"==t.type&&(r.state.cutIncoming=+new Date)}}t.wrapper.insertBefore(this.wrapper,t.wrapper.firstChild),v&&(i.style.width="0px"),pt(i,"input",(function(){a&&l>=9&&e.hasSelection&&(e.hasSelection=null),n.poll()})),pt(i,"paste",(function(t){yt(r,t)||Ul(t,r)||(r.state.pasteIncoming=+new Date,n.fastPoll())})),pt(i,"cut",o),pt(i,"copy",o),pt(t.scroller,"paste",(function(e){if(!Un(t,e)&&!yt(r,e)){if(!i.dispatchEvent)return r.state.pasteIncoming=+new Date,void n.focus();var o=new Event("paste");o.clipboardData=e.clipboardData,i.dispatchEvent(o)}})),pt(t.lineSpace,"selectstart",(function(e){Un(t,e)||Ct(e)})),pt(i,"compositionstart",(function(){var t=r.getCursor("from");n.composing&&n.composing.range.clear(),n.composing={start:t,range:r.markText(t,r.getCursor("to"),{className:"CodeMirror-composing"})}})),pt(i,"compositionend",(function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)}))},iu.prototype.createField=function(t){this.wrapper=Kl(),this.textarea=this.wrapper.firstChild},iu.prototype.screenReaderLabelChanged=function(t){t?this.textarea.setAttribute("aria-label",t):this.textarea.removeAttribute("aria-label")},iu.prototype.prepareSelection=function(){var t=this.cm,e=t.display,n=t.doc,r=Ur(t);if(t.options.moveInputWithCursor){var i=yr(t,n.sel.primary().head,"div"),o=e.wrapper.getBoundingClientRect(),a=e.lineDiv.getBoundingClientRect();r.teTop=Math.max(0,Math.min(e.wrapper.clientHeight-10,i.top+a.top-o.top)),r.teLeft=Math.max(0,Math.min(e.wrapper.clientWidth-10,i.left+a.left-o.left))}return r},iu.prototype.showSelection=function(t){var e=this.cm,n=e.display;M(n.cursorDiv,t.cursors),M(n.selectionDiv,t.selection),null!=t.teTop&&(this.wrapper.style.top=t.teTop+"px",this.wrapper.style.left=t.teLeft+"px")},iu.prototype.reset=function(t){if(!this.contextMenuPending&&!this.composing){var e=this.cm;if(e.somethingSelected()){this.prevInput="";var n=e.getSelection();this.textarea.value=n,e.state.focused&&I(this.textarea),a&&l>=9&&(this.hasSelection=n)}else t||(this.prevInput=this.textarea.value="",a&&l>=9&&(this.hasSelection=null))}},iu.prototype.getField=function(){return this.textarea},iu.prototype.supportsTouch=function(){return!1},iu.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!m||E()!=this.textarea))try{this.textarea.focus()}catch(t){}},iu.prototype.blur=function(){this.textarea.blur()},iu.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},iu.prototype.receivedFocus=function(){this.slowPoll()},iu.prototype.slowPoll=function(){var t=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,(function(){t.poll(),t.cm.state.focused&&t.slowPoll()}))},iu.prototype.fastPoll=function(){var t=!1,e=this;function n(){var r=e.poll();r||t?(e.pollingFast=!1,e.slowPoll()):(t=!0,e.polling.set(60,n))}e.pollingFast=!0,e.polling.set(20,n)},iu.prototype.poll=function(){var t=this,e=this.cm,n=this.textarea,r=this.prevInput;if(this.contextMenuPending||!e.state.focused||Dt(n)&&!r&&!this.composing||e.isReadOnly()||e.options.disableInput||e.state.keySeq)return!1;var i=n.value;if(i==r&&!e.somethingSelected())return!1;if(a&&l>=9&&this.hasSelection===i||y&&/[\uf700-\uf7ff]/.test(i))return e.display.input.reset(),!1;if(e.doc.sel==e.display.selForContextMenu){var o=i.charCodeAt(0);if(8203!=o||r||(r="​"),8666==o)return this.reset(),this.cm.execCommand("undo")}var u=0,s=Math.min(r.length,i.length);while(u1e3||i.indexOf("\n")>-1?n.value=t.prevInput="":t.prevInput=i,t.composing&&(t.composing.range.clear(),t.composing.range=e.markText(t.composing.start,e.getCursor("to"),{className:"CodeMirror-composing"}))})),!0},iu.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},iu.prototype.onKeyPress=function(){a&&l>=9&&(this.hasSelection=null),this.fastPoll()},iu.prototype.onContextMenu=function(t){var e=this,n=e.cm,r=n.display,i=e.textarea;e.contextMenuPending&&e.contextMenuPending();var o=Dr(n,t),s=r.scroller.scrollTop;if(o&&!f){var c=n.options.resetSelectionOnContextMenu;c&&-1==n.doc.sel.contains(o)&&Ni(n,jo)(n.doc,ao(o),U);var h,d=i.style.cssText,p=e.wrapper.style.cssText,v=e.wrapper.offsetParent.getBoundingClientRect();if(e.wrapper.style.cssText="position: static",i.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(t.clientY-v.top-5)+"px; left: "+(t.clientX-v.left-5)+"px;\n z-index: 1000; background: "+(a?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",u&&(h=window.scrollY),r.input.focus(),u&&window.scrollTo(null,h),r.input.reset(),n.somethingSelected()||(i.value=e.prevInput=" "),e.contextMenuPending=y,r.selForContextMenu=n.doc.sel,clearTimeout(r.detectingSelectAll),a&&l>=9&&m(),k){St(t);var g=function(){gt(window,"mouseup",g),setTimeout(y,20)};pt(window,"mouseup",g)}else setTimeout(y,50)}function m(){if(null!=i.selectionStart){var t=n.somethingSelected(),o="​"+(t?i.value:"");i.value="⇚",i.value=o,e.prevInput=t?"":"​",i.selectionStart=1,i.selectionEnd=o.length,r.selForContextMenu=n.doc.sel}}function y(){if(e.contextMenuPending==y&&(e.contextMenuPending=!1,e.wrapper.style.cssText=p,i.style.cssText=d,a&&l<9&&r.scrollbars.setScrollTop(r.scroller.scrollTop=s),null!=i.selectionStart)){(!a||a&&l<9)&&m();var t=0,o=function(){r.selForContextMenu==n.doc.sel&&0==i.selectionStart&&i.selectionEnd>0&&"​"==e.prevInput?Ni(n,Xo)(n):t++<10?r.detectingSelectAll=setTimeout(o,500):(r.selForContextMenu=null,r.input.reset())};r.detectingSelectAll=setTimeout(o,200)}}},iu.prototype.readOnlyChanged=function(t){t||this.reset(),this.textarea.disabled="nocursor"==t,this.textarea.readOnly=!!t},iu.prototype.setUneditable=function(){},iu.prototype.needsContentAttribute=!1,Wl(Rl),ql(Rl);var lu="iter insert remove copy getEditor constructor".split(" ");for(var uu in Ca.prototype)Ca.prototype.hasOwnProperty(uu)&&H(lu,uu)<0&&(Rl.prototype[uu]=function(t){return function(){return t.apply(this.doc,arguments)}}(Ca.prototype[uu]));return xt(Ca),Rl.inputStyles={textarea:iu,contenteditable:Zl},Rl.defineMode=function(t){Rl.defaults.mode||"null"==t||(Rl.defaults.mode=t),Ht.apply(this,arguments)},Rl.defineMIME=jt,Rl.defineMode("null",(function(){return{token:function(t){return t.skipToEnd()}}})),Rl.defineMIME("text/plain","null"),Rl.defineExtension=function(t,e){Rl.prototype[t]=e},Rl.defineDocExtension=function(t,e){Ca.prototype[t]=e},Rl.fromTextArea=ou,au(Rl),Rl.version="5.65.0",Rl}))},"62e4":function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},7037:function(t,e,n){function r(e){return t.exports=r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports["default"]=t.exports,r(e)}n("a4d3"),n("e01a"),n("d3b7"),n("d28b"),n("3ca3"),n("ddb0"),t.exports=r,t.exports.__esModule=!0,t.exports["default"]=t.exports},"81d5":function(t,e,n){"use strict";var r=n("7b0b"),i=n("23cb"),o=n("50c4");t.exports=function(t){var e=r(this),n=o(e.length),a=arguments.length,l=i(a>1?arguments[1]:void 0,n),u=a>2?arguments[2]:void 0,s=void 0===u?n:i(u,n);while(s>l)e[l++]=t;return e}},"857a":function(t,e,n){var r=n("1d80"),i=/"/g;t.exports=function(t,e,n,o){var a=String(r(t)),l="<"+e;return""!==n&&(l+=" "+n+'="'+String(o).replace(i,""")+'"'),l+">"+a+""}},"8f94":function(t,e,n){!function(e,r){t.exports=r(n("56b3"))}(0,(function(t){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/",e(e.s=3)}([function(e,n){e.exports=t},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(0),i=function(t){return t&&t.__esModule?t:{default:t}}(r),o=window.CodeMirror||i.default;"function"!=typeof Object.assign&&Object.defineProperty(Object,"assign",{value:function(t,e){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var n=Object(t),r=1;r3}))}},cb29:function(t,e,n){var r=n("23e7"),i=n("81d5"),o=n("44d2");r({target:"Array",proto:!0},{fill:i}),o("fill")},d28b:function(t,e,n){var r=n("746f");r("iterator")},e01a:function(t,e,n){"use strict";var r=n("23e7"),i=n("83ab"),o=n("da84"),a=n("5135"),l=n("861d"),u=n("9bf2").f,s=n("e893"),c=o.Symbol;if(i&&"function"==typeof c&&(!("description"in c.prototype)||void 0!==c().description)){var f={},h=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),e=this instanceof h?new c(t):void 0===t?c():c(t);return""===t&&(f[e]=!0),e};s(h,c);var d=h.prototype=c.prototype;d.constructor=h;var p=d.toString,v="Symbol(test)"==String(c("test")),g=/^Symbol\((.*)\)[^)]+$/;u(d,"description",{configurable:!0,get:function(){var t=l(this)?this.valueOf():this,e=p.call(t);if(a(f,t))return"";var n=v?e.slice(7,-1):e.replace(g,"$1");return""===n?void 0:n}}),r({global:!0,forced:!0},{Symbol:h})}},f9d4:function(t,e,n){(function(t){t(n("56b3"))})((function(t){"use strict";t.defineMode("javascript",(function(e,n){var r,i,o=e.indentUnit,a=n.statementIndent,l=n.jsonld,u=n.json||l,s=!1!==n.trackScope,c=n.typescript,f=n.wordCharacters||/[\w$\xa1-\uffff]/,h=function(){function t(t){return{type:t,style:"keyword"}}var e=t("keyword a"),n=t("keyword b"),r=t("keyword c"),i=t("keyword d"),o=t("operator"),a={type:"atom",style:"atom"};return{if:t("if"),while:e,with:e,else:n,do:n,try:n,finally:n,return:i,break:i,continue:i,new:t("new"),delete:r,void:r,throw:r,debugger:t("debugger"),var:t("var"),const:t("var"),let:t("var"),function:t("function"),catch:t("catch"),for:t("for"),switch:t("switch"),case:t("case"),default:t("default"),in:o,typeof:o,instanceof:o,true:a,false:a,null:a,undefined:a,NaN:a,Infinity:a,this:t("this"),class:t("class"),super:t("atom"),yield:r,export:t("export"),import:t("import"),extends:r,await:r}}(),d=/[+\-*&%=<>!?|~^@]/,p=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function v(t){var e,n=!1,r=!1;while(null!=(e=t.next())){if(!n){if("/"==e&&!r)return;"["==e?r=!0:r&&"]"==e&&(r=!1)}n=!n&&"\\"==e}}function g(t,e,n){return r=t,i=n,e}function m(t,e){var n=t.next();if('"'==n||"'"==n)return e.tokenize=y(n),e.tokenize(t,e);if("."==n&&t.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return g("number","number");if("."==n&&t.match(".."))return g("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(n))return g(n);if("="==n&&t.eat(">"))return g("=>","operator");if("0"==n&&t.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return g("number","number");if(/\d/.test(n))return t.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),g("number","number");if("/"==n)return t.eat("*")?(e.tokenize=w,w(t,e)):t.eat("/")?(t.skipToEnd(),g("comment","comment")):ie(t,e,1)?(v(t),t.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),g("regexp","string-2")):(t.eat("="),g("operator","operator",t.current()));if("`"==n)return e.tokenize=b,b(t,e);if("#"==n&&"!"==t.peek())return t.skipToEnd(),g("meta","meta");if("#"==n&&t.eatWhile(f))return g("variable","property");if("<"==n&&t.match("!--")||"-"==n&&t.match("->")&&!/\S/.test(t.string.slice(0,t.start)))return t.skipToEnd(),g("comment","comment");if(d.test(n))return">"==n&&e.lexical&&">"==e.lexical.type||(t.eat("=")?"!"!=n&&"="!=n||t.eat("="):/[<>*+\-|&?]/.test(n)&&(t.eat(n),">"==n&&t.eat(n))),"?"==n&&t.eat(".")?g("."):g("operator","operator",t.current());if(f.test(n)){t.eatWhile(f);var r=t.current();if("."!=e.lastType){if(h.propertyIsEnumerable(r)){var i=h[r];return g(i.type,i.style,r)}if("async"==r&&t.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return g("async","keyword",r)}return g("variable","variable",r)}}function y(t){return function(e,n){var r,i=!1;if(l&&"@"==e.peek()&&e.match(p))return n.tokenize=m,g("jsonld-keyword","meta");while(null!=(r=e.next())){if(r==t&&!i)break;i=!i&&"\\"==r}return i||(n.tokenize=m),g("string","string")}}function w(t,e){var n,r=!1;while(n=t.next()){if("/"==n&&r){e.tokenize=m;break}r="*"==n}return g("comment","comment")}function b(t,e){var n,r=!1;while(null!=(n=t.next())){if(!r&&("`"==n||"$"==n&&t.eat("{"))){e.tokenize=m;break}r=!r&&"\\"==n}return g("quasi","string-2",t.current())}var x="([{}])";function C(t,e){e.fatArrowAt&&(e.fatArrowAt=null);var n=t.string.indexOf("=>",t.start);if(!(n<0)){if(c){var r=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(t.string.slice(t.start,n));r&&(n=r.index)}for(var i=0,o=!1,a=n-1;a>=0;--a){var l=t.string.charAt(a),u=x.indexOf(l);if(u>=0&&u<3){if(!i){++a;break}if(0==--i){"("==l&&(o=!0);break}}else if(u>=3&&u<6)++i;else if(f.test(l))o=!0;else if(/["'\/`]/.test(l))for(;;--a){if(0==a)return;var s=t.string.charAt(a-1);if(s==l&&"\\"!=t.string.charAt(a-2)){a--;break}}else if(o&&!i){++a;break}}o&&!i&&(e.fatArrowAt=a)}}var k={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function _(t,e,n,r,i,o){this.indented=t,this.column=e,this.type=n,this.prev=i,this.info=o,null!=r&&(this.align=r)}function S(t,e){if(!s)return!1;for(var n=t.localVars;n;n=n.next)if(n.name==e)return!0;for(var r=t.context;r;r=r.prev)for(n=r.vars;n;n=n.next)if(n.name==e)return!0}function L(t,e,n,r,i){var o=t.cc;T.state=t,T.stream=i,T.marked=null,T.cc=o,T.style=e,t.lexical.hasOwnProperty("align")||(t.lexical.align=!0);while(1){var a=o.length?o.pop():u?V:U;if(a(n,r)){while(o.length&&o[o.length-1].lex)o.pop()();return T.marked?T.marked:"variable"==n&&S(t,r)?"variable-2":e}}}var T={state:null,column:null,marked:null,cc:null};function M(){for(var t=arguments.length-1;t>=0;t--)T.cc.push(arguments[t])}function A(){return M.apply(null,arguments),!0}function O(t,e){for(var n=e;n;n=n.next)if(n.name==t)return!0;return!1}function N(t){var e=T.state;if(T.marked="def",s){if(e.context)if("var"==e.lexical.info&&e.context&&e.context.block){var r=E(t,e.context);if(null!=r)return void(e.context=r)}else if(!O(t,e.localVars))return void(e.localVars=new I(t,e.localVars));n.globalVars&&!O(t,e.globalVars)&&(e.globalVars=new I(t,e.globalVars))}}function E(t,e){if(e){if(e.block){var n=E(t,e.prev);return n?n==e.prev?e:new D(n,e.vars,!0):null}return O(t,e.vars)?e:new D(e.prev,new I(t,e.vars),!1)}return null}function W(t){return"public"==t||"private"==t||"protected"==t||"abstract"==t||"readonly"==t}function D(t,e,n){this.prev=t,this.vars=e,this.block=n}function I(t,e){this.name=t,this.next=e}var R=new I("this",new I("arguments",null));function z(){T.state.context=new D(T.state.context,T.state.localVars,!1),T.state.localVars=R}function P(){T.state.context=new D(T.state.context,T.state.localVars,!0),T.state.localVars=null}function F(){T.state.localVars=T.state.context.vars,T.state.context=T.state.context.prev}function H(t,e){var n=function(){var n=T.state,r=n.indented;if("stat"==n.lexical.type)r=n.lexical.indented;else for(var i=n.lexical;i&&")"==i.type&&i.align;i=i.prev)r=i.indented;n.lexical=new _(r,T.stream.column(),t,null,n.lexical,e)};return n.lex=!0,n}function j(){var t=T.state;t.lexical.prev&&(")"==t.lexical.type&&(t.indented=t.lexical.indented),t.lexical=t.lexical.prev)}function B(t){function e(n){return n==t?A():";"==t||"}"==n||")"==n||"]"==n?M():A(e)}return e}function U(t,e){return"var"==t?A(H("vardef",e),Mt,B(";"),j):"keyword a"==t?A(H("form"),K,U,j):"keyword b"==t?A(H("form"),U,j):"keyword d"==t?T.stream.match(/^\s*$/,!1)?A():A(H("stat"),X,B(";"),j):"debugger"==t?A(B(";")):"{"==t?A(H("}"),P,ht,j,F):";"==t?A():"if"==t?("else"==T.state.lexical.info&&T.state.cc[T.state.cc.length-1]==j&&T.state.cc.pop()(),A(H("form"),K,U,j,Dt)):"function"==t?A(Pt):"for"==t?A(H("form"),P,It,U,F,j):"class"==t||c&&"interface"==e?(T.marked="keyword",A(H("form","class"==t?t:e),Ut,j)):"variable"==t?c&&"declare"==e?(T.marked="keyword",A(U)):c&&("module"==e||"enum"==e||"type"==e)&&T.stream.match(/^\s*\w/,!1)?(T.marked="keyword","enum"==e?A(ee):"type"==e?A(Ht,B("operator"),mt,B(";")):A(H("form"),At,B("{"),H("}"),ht,j,j)):c&&"namespace"==e?(T.marked="keyword",A(H("form"),V,U,j)):c&&"abstract"==e?(T.marked="keyword",A(U)):A(H("stat"),ot):"switch"==t?A(H("form"),K,B("{"),H("}","switch"),P,ht,j,j,F):"case"==t?A(V,B(":")):"default"==t?A(B(":")):"catch"==t?A(H("form"),z,$,U,j,F):"export"==t?A(H("stat"),Kt,j):"import"==t?A(H("stat"),Xt,j):"async"==t?A(U):"@"==e?A(V,U):M(H("stat"),V,B(";"),j)}function $(t){if("("==t)return A(jt,B(")"))}function V(t,e){return q(t,e,!1)}function G(t,e){return q(t,e,!0)}function K(t){return"("!=t?M():A(H(")"),X,B(")"),j)}function q(t,e,n){if(T.state.fatArrowAt==T.stream.start){var r=n?et:tt;if("("==t)return A(z,H(")"),ct(jt,")"),j,B("=>"),r,F);if("variable"==t)return M(z,At,B("=>"),r,F)}var i=n?Z:Y;return k.hasOwnProperty(t)?A(i):"function"==t?A(Pt,i):"class"==t||c&&"interface"==e?(T.marked="keyword",A(H("form"),Bt,j)):"keyword c"==t||"async"==t?A(n?G:V):"("==t?A(H(")"),X,B(")"),j,i):"operator"==t||"spread"==t?A(n?G:V):"["==t?A(H("]"),te,j,i):"{"==t?ft(lt,"}",null,i):"quasi"==t?M(J,i):"new"==t?A(nt(n)):A()}function X(t){return t.match(/[;\}\)\],]/)?M():M(V)}function Y(t,e){return","==t?A(X):Z(t,e,!1)}function Z(t,e,n){var r=0==n?Y:Z,i=0==n?V:G;return"=>"==t?A(z,n?et:tt,F):"operator"==t?/\+\+|--/.test(e)||c&&"!"==e?A(r):c&&"<"==e&&T.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?A(H(">"),ct(mt,">"),j,r):"?"==e?A(V,B(":"),i):A(i):"quasi"==t?M(J,r):";"!=t?"("==t?ft(G,")","call",r):"."==t?A(at,r):"["==t?A(H("]"),X,B("]"),j,r):c&&"as"==e?(T.marked="keyword",A(mt,r)):"regexp"==t?(T.state.lastType=T.marked="operator",T.stream.backUp(T.stream.pos-T.stream.start-1),A(i)):void 0:void 0}function J(t,e){return"quasi"!=t?M():"${"!=e.slice(e.length-2)?A(J):A(X,Q)}function Q(t){if("}"==t)return T.marked="string-2",T.state.tokenize=b,A(J)}function tt(t){return C(T.stream,T.state),M("{"==t?U:V)}function et(t){return C(T.stream,T.state),M("{"==t?U:G)}function nt(t){return function(e){return"."==e?A(t?it:rt):"variable"==e&&c?A(St,t?Z:Y):M(t?G:V)}}function rt(t,e){if("target"==e)return T.marked="keyword",A(Y)}function it(t,e){if("target"==e)return T.marked="keyword",A(Z)}function ot(t){return":"==t?A(j,U):M(Y,B(";"),j)}function at(t){if("variable"==t)return T.marked="property",A()}function lt(t,e){return"async"==t?(T.marked="property",A(lt)):"variable"==t||"keyword"==T.style?(T.marked="property","get"==e||"set"==e?A(ut):(c&&T.state.fatArrowAt==T.stream.start&&(n=T.stream.match(/^\s*:\s*/,!1))&&(T.state.fatArrowAt=T.stream.pos+n[0].length),A(st))):"number"==t||"string"==t?(T.marked=l?"property":T.style+" property",A(st)):"jsonld-keyword"==t?A(st):c&&W(e)?(T.marked="keyword",A(lt)):"["==t?A(V,dt,B("]"),st):"spread"==t?A(G,st):"*"==e?(T.marked="keyword",A(lt)):":"==t?M(st):void 0;var n}function ut(t){return"variable"!=t?M(st):(T.marked="property",A(Pt))}function st(t){return":"==t?A(G):"("==t?M(Pt):void 0}function ct(t,e,n){function r(i,o){if(n?n.indexOf(i)>-1:","==i){var a=T.state.lexical;return"call"==a.info&&(a.pos=(a.pos||0)+1),A((function(n,r){return n==e||r==e?M():M(t)}),r)}return i==e||o==e?A():n&&n.indexOf(";")>-1?M(t):A(B(e))}return function(n,i){return n==e||i==e?A():M(t,r)}}function ft(t,e,n){for(var r=3;r"),mt):"quasi"==t?M(xt,_t):void 0}function yt(t){if("=>"==t)return A(mt)}function wt(t){return t.match(/[\}\)\]]/)?A():","==t||";"==t?A(wt):M(bt,wt)}function bt(t,e){return"variable"==t||"keyword"==T.style?(T.marked="property",A(bt)):"?"==e||"number"==t||"string"==t?A(bt):":"==t?A(mt):"["==t?A(B("variable"),pt,B("]"),bt):"("==t?M(Ft,bt):t.match(/[;\}\)\],]/)?void 0:A()}function xt(t,e){return"quasi"!=t?M():"${"!=e.slice(e.length-2)?A(xt):A(mt,Ct)}function Ct(t){if("}"==t)return T.marked="string-2",T.state.tokenize=b,A(xt)}function kt(t,e){return"variable"==t&&T.stream.match(/^\s*[?:]/,!1)||"?"==e?A(kt):":"==t?A(mt):"spread"==t?A(kt):M(mt)}function _t(t,e){return"<"==e?A(H(">"),ct(mt,">"),j,_t):"|"==e||"."==t||"&"==e?A(mt):"["==t?A(mt,B("]"),_t):"extends"==e||"implements"==e?(T.marked="keyword",A(mt)):"?"==e?A(mt,B(":"),mt):void 0}function St(t,e){if("<"==e)return A(H(">"),ct(mt,">"),j,_t)}function Lt(){return M(mt,Tt)}function Tt(t,e){if("="==e)return A(mt)}function Mt(t,e){return"enum"==e?(T.marked="keyword",A(ee)):M(At,dt,Et,Wt)}function At(t,e){return c&&W(e)?(T.marked="keyword",A(At)):"variable"==t?(N(e),A()):"spread"==t?A(At):"["==t?ft(Nt,"]"):"{"==t?ft(Ot,"}"):void 0}function Ot(t,e){return"variable"!=t||T.stream.match(/^\s*:/,!1)?("variable"==t&&(T.marked="property"),"spread"==t?A(At):"}"==t?M():"["==t?A(V,B("]"),B(":"),Ot):A(B(":"),At,Et)):(N(e),A(Et))}function Nt(){return M(At,Et)}function Et(t,e){if("="==e)return A(G)}function Wt(t){if(","==t)return A(Mt)}function Dt(t,e){if("keyword b"==t&&"else"==e)return A(H("form","else"),U,j)}function It(t,e){return"await"==e?A(It):"("==t?A(H(")"),Rt,j):void 0}function Rt(t){return"var"==t?A(Mt,zt):"variable"==t?A(zt):M(zt)}function zt(t,e){return")"==t?A():";"==t?A(zt):"in"==e||"of"==e?(T.marked="keyword",A(V,zt)):M(V,zt)}function Pt(t,e){return"*"==e?(T.marked="keyword",A(Pt)):"variable"==t?(N(e),A(Pt)):"("==t?A(z,H(")"),ct(jt,")"),j,vt,U,F):c&&"<"==e?A(H(">"),ct(Lt,">"),j,Pt):void 0}function Ft(t,e){return"*"==e?(T.marked="keyword",A(Ft)):"variable"==t?(N(e),A(Ft)):"("==t?A(z,H(")"),ct(jt,")"),j,vt,F):c&&"<"==e?A(H(">"),ct(Lt,">"),j,Ft):void 0}function Ht(t,e){return"keyword"==t||"variable"==t?(T.marked="type",A(Ht)):"<"==e?A(H(">"),ct(Lt,">"),j):void 0}function jt(t,e){return"@"==e&&A(V,jt),"spread"==t?A(jt):c&&W(e)?(T.marked="keyword",A(jt)):c&&"this"==t?A(dt,Et):M(At,dt,Et)}function Bt(t,e){return"variable"==t?Ut(t,e):$t(t,e)}function Ut(t,e){if("variable"==t)return N(e),A($t)}function $t(t,e){return"<"==e?A(H(">"),ct(Lt,">"),j,$t):"extends"==e||"implements"==e||c&&","==t?("implements"==e&&(T.marked="keyword"),A(c?mt:V,$t)):"{"==t?A(H("}"),Vt,j):void 0}function Vt(t,e){return"async"==t||"variable"==t&&("static"==e||"get"==e||"set"==e||c&&W(e))&&T.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(T.marked="keyword",A(Vt)):"variable"==t||"keyword"==T.style?(T.marked="property",A(Gt,Vt)):"number"==t||"string"==t?A(Gt,Vt):"["==t?A(V,dt,B("]"),Gt,Vt):"*"==e?(T.marked="keyword",A(Vt)):c&&"("==t?M(Ft,Vt):";"==t||","==t?A(Vt):"}"==t?A():"@"==e?A(V,Vt):void 0}function Gt(t,e){if("!"==e)return A(Gt);if("?"==e)return A(Gt);if(":"==t)return A(mt,Et);if("="==e)return A(G);var n=T.state.lexical.prev,r=n&&"interface"==n.info;return M(r?Ft:Pt)}function Kt(t,e){return"*"==e?(T.marked="keyword",A(Qt,B(";"))):"default"==e?(T.marked="keyword",A(V,B(";"))):"{"==t?A(ct(qt,"}"),Qt,B(";")):M(U)}function qt(t,e){return"as"==e?(T.marked="keyword",A(B("variable"))):"variable"==t?M(G,qt):void 0}function Xt(t){return"string"==t?A():"("==t?M(V):"."==t?M(Y):M(Yt,Zt,Qt)}function Yt(t,e){return"{"==t?ft(Yt,"}"):("variable"==t&&N(e),"*"==e&&(T.marked="keyword"),A(Jt))}function Zt(t){if(","==t)return A(Yt,Zt)}function Jt(t,e){if("as"==e)return T.marked="keyword",A(Yt)}function Qt(t,e){if("from"==e)return T.marked="keyword",A(V)}function te(t){return"]"==t?A():M(ct(G,"]"))}function ee(){return M(H("form"),At,B("{"),H("}"),ct(ne,"}"),j,j)}function ne(){return M(At,Et)}function re(t,e){return"operator"==t.lastType||","==t.lastType||d.test(e.charAt(0))||/[,.]/.test(e.charAt(0))}function ie(t,e,n){return e.tokenize==m&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(e.lastType)||"quasi"==e.lastType&&/\{\s*$/.test(t.string.slice(0,t.pos-(n||0)))}return F.lex=!0,j.lex=!0,{startState:function(t){var e={tokenize:m,lastType:"sof",cc:[],lexical:new _((t||0)-o,0,"block",!1),localVars:n.localVars,context:n.localVars&&new D(null,null,!1),indented:t||0};return n.globalVars&&"object"==typeof n.globalVars&&(e.globalVars=n.globalVars),e},token:function(t,e){if(t.sol()&&(e.lexical.hasOwnProperty("align")||(e.lexical.align=!1),e.indented=t.indentation(),C(t,e)),e.tokenize!=w&&t.eatSpace())return null;var n=e.tokenize(t,e);return"comment"==r?n:(e.lastType="operator"!=r||"++"!=i&&"--"!=i?r:"incdec",L(e,n,r,i,t))},indent:function(e,r){if(e.tokenize==w||e.tokenize==b)return t.Pass;if(e.tokenize!=m)return 0;var i,l=r&&r.charAt(0),u=e.lexical;if(!/^\s*else\b/.test(r))for(var s=e.cc.length-1;s>=0;--s){var c=e.cc[s];if(c==j)u=u.prev;else if(c!=Dt&&c!=F)break}while(("stat"==u.type||"form"==u.type)&&("}"==l||(i=e.cc[e.cc.length-1])&&(i==Y||i==Z)&&!/^[,\.=+\-*:?[\(]/.test(r)))u=u.prev;a&&")"==u.type&&"stat"==u.prev.type&&(u=u.prev);var f=u.type,h=l==f;return"vardef"==f?u.indented+("operator"==e.lastType||","==e.lastType?u.info.length+1:0):"form"==f&&"{"==l?u.indented:"form"==f?u.indented+o:"stat"==f?u.indented+(re(e,r)?a||o:0):"switch"!=u.info||h||0==n.doubleIndentSwitch?u.align?u.column+(h?0:1):u.indented+(h?0:o):u.indented+(/^(?:case|default)\b/.test(r)?o:2*o)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:u?null:"/*",blockCommentEnd:u?null:"*/",blockCommentContinue:u?null:" * ",lineComment:u?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:u?"json":"javascript",jsonldMode:l,jsonMode:u,expressionAllowed:ie,skipExpression:function(e){L(e,"atom","atom","true",new t.StringStream("",2,null))}}})),t.registerHelper("wordChars","javascript",/[\w$]/),t.defineMIME("text/javascript","javascript"),t.defineMIME("text/ecmascript","javascript"),t.defineMIME("application/javascript","javascript"),t.defineMIME("application/x-javascript","javascript"),t.defineMIME("application/ecmascript","javascript"),t.defineMIME("application/json",{name:"javascript",json:!0}),t.defineMIME("application/x-json",{name:"javascript",json:!0}),t.defineMIME("application/manifest+json",{name:"javascript",json:!0}),t.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),t.defineMIME("text/typescript",{name:"javascript",typescript:!0}),t.defineMIME("application/typescript",{name:"javascript",typescript:!0})}))},fb6a:function(t,e,n){"use strict";var r=n("23e7"),i=n("861d"),o=n("e8b5"),a=n("23cb"),l=n("50c4"),u=n("fc6a"),s=n("8418"),c=n("b622"),f=n("1dde"),h=n("ae40"),d=f("slice"),p=h("slice",{ACCESSORS:!0,0:0,1:2}),v=c("species"),g=[].slice,m=Math.max;r({target:"Array",proto:!0,forced:!d||!p},{slice:function(t,e){var n,r,c,f=u(this),h=l(f.length),d=a(t,h),p=a(void 0===e?h:e,h);if(o(f)&&(n=f.constructor,"function"!=typeof n||n!==Array&&!o(n.prototype)?i(n)&&(n=n[v],null===n&&(n=void 0)):n=void 0,n===Array||void 0===n))return g.call(f,d,p);for(r=new(void 0===n?Array:n)(m(p-d,0)),c=0;d0},currentUserId:function(){return this.$store.state.user.user.id}},watch:{"workTaskForm.createdUserId":{handler:function(){var e=this,t=this.allUsers.filter((function(t){return t.id==e.workTaskForm.createdUserId}))[0];this.$store.dispatch("user/setCurrentUser",t)}},isPass:{handler:function(){this.isPass?this.workStep.rejectToNodeId=null:this.getRejectNodes()}}},data:function(){return{formData:"",loading:!1,allUsers:[],workTaskForm:{id:"",createdUserId:"",entityFullName:"",entityKeyValue:"",formData:"{}",workTaskStatus:"",name:"模拟流程",workflowId:{}},workStep:{handleUser:{id:""},userSelectors:[{selectorId:"",selectorName:"",selections:[],parameter:"",description:"",handleType:0}],rejectNodes:[{id:"",name:""}],comment:"",stepId:"",formData:"",rejectToNodeId:null},workHistories:[],isForward:!1,isPass:!0,isSimulation:!0}},mounted:function(){this.getAllUserForSimulation()},methods:{goback:function(){this.$navtab.close(this.$route.fullPath)},getAllUserForSimulation:function(){var e=this;this.$store.dispatch("workflow/GetAllUserForSimulation").then((function(t){e.allUsers=t,e.workTaskForm.createdUserId=e.allUsers[0].id}))},getUserName:function(e){var t=this.allUsers.filter((function(t){return t.id==e}));return t.length>0?t[0].name:""},startWork:function(){var e=this;this.loading=!0,this.workTaskForm.workflowId={versionId:Number(this.versionId),id:this.id},this.workTaskForm.entityFullName="Simulation",this.workTaskForm.entityKeyValue=(new Date).getTime().toString();var t=this;console.log("this.isSimulation",this.isSimulation);var r=this.isSimulation?"workflow/createSimulationWorkTask":"workflow/createWorkTask";this.$store.dispatch(r,this.workTaskForm).then((function(t){return e.workTaskForm=t,t})).then((function(r){var s={workTaskId:r.id};e.$store.dispatch("workflow/startWorkTask",s).then((function(r){t.loading=!1,e.$refs.processForm.loadHistories(e.workTaskForm)})).catch((function(t){e.loading=!1}))})).catch((function(t){e.loading=!1}))}}},l=n,c=r("2877"),d=Object(c["a"])(l,s,o,!1,null,null,null);t["default"]=d.exports},"69a1":function(e,t,r){"use strict";var s=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[e.workStep&&e.canHandle?r("el-card",{staticClass:"box-card",staticStyle:{"margin-top":"10px"}},[r("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[r("span",[e._v("审批")])]),r("el-card",{staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[r("div",[r("el-radio",{attrs:{label:!1},model:{value:e.isForward,callback:function(t){e.isForward=t},expression:"isForward"}},[e._v("处理")]),r("el-radio",{attrs:{label:!0},model:{value:e.isForward,callback:function(t){e.isForward=t},expression:"isForward"}},[e._v("转发")])],1),r("br"),e.isForward?r("div",[r("nodeUser",{attrs:{userSelectors:e.workStep.userSelectors}}),r("br"),r("el-button",{attrs:{type:"danger",size:"mini"},on:{click:e.forwardProve}},[e._v("转发/代办")])],1):r("div",[r("el-form",[r("el-form-item",{attrs:{label:"表单数据"}},[r("el-input",{attrs:{type:"textarea",rows:4,placeholder:"表单数据(与主流程不同,每一步都可能有当前的处理表单数据)"},model:{value:e.workStep.formData,callback:function(t){e.$set(e.workStep,"formData",t)},expression:"workStep.formData"}})],1),r("el-form-item",{attrs:{label:"批语"}},[r("el-input",{attrs:{type:"textarea",rows:2,placeholder:"批语 "},model:{value:e.workStep.comment,callback:function(t){e.$set(e.workStep,"comment",t)},expression:"workStep.comment"}})],1),e.isPass?e._e():r("el-form-item",{attrs:{label:"驳回节点"}},[r("el-select",{attrs:{placeholder:"驳回节点",size:"mini"},model:{value:e.workStep.rejectToNodeId,callback:function(t){e.$set(e.workStep,"rejectToNodeId",t)},expression:"workStep.rejectToNodeId"}},e._l(e.workStep.rejectNodes,(function(e){return r("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1),r("el-form-item",[r("div",[r("el-radio",{attrs:{label:!0},model:{value:e.isPass,callback:function(t){e.isPass=t},expression:"isPass"}},[e._v("通过")]),r("el-radio",{attrs:{label:!1},model:{value:e.isPass,callback:function(t){e.isPass=t},expression:"isPass"}},[e._v("驳回")])],1),r("el-button",{attrs:{type:"primary",size:"mini"},on:{click:function(){return e.isPass?e.passApprove():e.rejectApprove()}}},[e._v("确定")])],1)],1)],1)])],1):e._e(),r("el-card",{staticClass:"card-provehistory",staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[r("div",{attrs:{slot:"header"},slot:"header"},[e._v(" 审批记录 "),r("el-button",{attrs:{type:"text",size:"mini"},on:{click:e.getAllTaskStepsOfWorkTask}},[e._v("刷新")])],1),e._l(e.workHistories,(function(t){return r("el-card",{key:t.id,staticStyle:{"margin-top":"10px"},attrs:{shadow:"never"}},[r("div",{attrs:{slot:"header"},slot:"header"},[r("span",[r("span",{staticClass:"historylabel"},[e._v("节点:")]),e._v(e._s(t.nodeName))]),r("div",{staticStyle:{float:"right",padding:"3px 0"}},[0==t.workStepType?r("span",[t.isHandled?r("span",[0==t.handleType?r("el-link",{attrs:{underline:!1,type:"success"}},[e._v("通过")]):e._e(),1==t.handleType?r("el-link",{attrs:{underline:!1,type:"danger"}},[e._v("拒绝")]):e._e(),2==t.handleType?r("el-link",{attrs:{underline:!1,type:"info"}},[e._v("撤回")]):e._e(),3==t.handleType?r("el-link",{attrs:{underline:!1,type:"warning"}},[e._v("转发")]):e._e(),4==t.handleType?r("el-link",{attrs:{underline:!1}},[e._v("未处理")]):e._e()],1):r("el-link",{attrs:{underline:!1,type:"info"}},[e._v("待处理")])],1):r("span",[e._v("只读/抄送")])])]),r("div",[r("span",{staticClass:"historylabel"},[e._v("处理人:")]),e._v(" "+e._s(t.handleUser.name)+" ")]),r("div",[r("p",{staticClass:"historylabel"},[e._v("意见:")]),e._v(" "+e._s(t.comment)+" ")]),r("div",[r("p",{staticClass:"historylabel"},[e._v("附件:")]),e._v(" "+e._s(t.resourceIds)+" ")]),r("br"),r("div",{staticClass:"bottom clearfix"},[t.isHandled?r("time",{staticClass:"time"},[r("span",{staticClass:"historylabel"},[e._v("处理时间:")]),e._v(e._s(t.handlerTime))]):e._e(),1==t.isHandled&&t.handleUser.id==e.currentUserId?r("el-button",{staticStyle:{float:"right",padding:"3px 0"},attrs:{type:"text"},on:{click:function(r){return e.withdrawProve(t.id)}}},[e._v("撤回")]):e._e()],1)])}))],2)],1)},o=[],i=(r("b0c0"),r("4de4"),r("d3b7"),r("77ff")),a={components:{nodeUser:i["a"]},name:"workflow-simulation",props:{workflowName:{default:"测试流程"},workflowId:{default:"1"},workflowVersionId:{default:"1"}},computed:{id:function(){return this.$route.query.id||this.workflowId},name:function(){return this.$route.query.name||this.workflowName},versionId:function(){return this.$route.query.versionId||this.workflowVersionId},canHandle:function(){var e=this;return this.workHistories.filter((function(t){return t.handleUser.id==e.$store.state.user.user.id&&0==t.isHandled&&0==t.workStepType})).length>0},currentUserId:function(){return this.$store.state.user.user.id}},watch:{currentUserId:{handler:function(){this.getAllTaskStepsOfWorkTask()}},isPass:{handler:function(){this.isPass?this.workStep.rejectToNodeId=null:this.getRejectNodes()}}},data:function(){return{formData:"",loading:!1,allUsers:[],workTaskForm:{},workStep:{handleUser:{id:""},userSelectors:[{selectorId:"",selectorName:"",selections:[],parameter:"",description:"",handleType:0}],rejectNodes:[{id:"",name:""}],comment:"",stepId:"",formData:"",rejectToNodeId:null},workHistories:[],isForward:!1,isPass:!0,isSimulation:!0}},mounted:function(){this.getAllUserForSimulation()},methods:{loadHistories:function(e){this.workTaskForm=e,this.callback()},getAllUserForSimulation:function(){var e=this;this.$store.dispatch("workflow/GetAllUserForSimulation").then((function(t){e.allUsers=t}))},getAllTaskStepsOfWorkTask:function(){var e=this;this.workTaskForm.id&&0!=this.workTaskForm.id.length&&this.$store.dispatch("workflow/getAllTaskStepsOfWorkTask",{worktaskId:this.workTaskForm.id}).then((function(t){e.workHistories=t;var r=e.workHistories.filter((function(t){return t.handleUser.id==e.$store.state.user.user.id&&0==t.isHandled&&0==t.workStepType}))[0];e.workStep.handleUser=r.handleUser,e.workStep.id=r.id})).catch((function(t){e.loading=!1}))},getUserName:function(e){var t=this.allUsers.filter((function(t){return t.id==e}));return t.length>0?t[0].name:""},callback:function(){this.getAllTaskStepsOfWorkTask(),this.workStep.comment="",this.isPass=!0},passApprove:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:"",formData:this.workStep.formData},r=this;this.$store.dispatch("workflow/passProve",t).then((function(t){r.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},rejectApprove:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:""},r=this;this.$store.dispatch("workflow/rejectProve",t).then((function(t){r.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},forwardProve:function(){var e=this;this.loading=!0;var t={workTaskId:this.workTaskForm.id,stepId:this.workStep.id,comment:this.workStep.comment,resourceIds:"",userSelectors:this.workStep.userSelectors},r=this;this.$store.dispatch("workflow/forwardProve",t).then((function(t){r.loading=!1,e.callback()})).catch((function(t){e.loading=!1}))},withdrawProve:function(e){var t=this;this.loading=!0;var r={stepId:e,comment:this.workStep.comment},s=this;this.$store.dispatch("workflow/withdrawProve",r).then((function(e){s.loading=!1,t.callback()})).catch((function(e){t.loading=!1}))},getRejectNodes:function(){var e=this;console.log(this.workStep),this.$store.dispatch("workflow/GetRejectNodes",{workStepId:this.workStep.id}).then((function(t){e.workStep.rejectNodes=t})).catch((function(t){e.loading=!1}))}}},n=a,l=r("2877"),c=Object(l["a"])(n,s,o,!1,null,null,null);t["a"]=c.exports},"77ff":function(e,t,r){"use strict";var s=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",e._l(e.userSelectors,(function(t,s){return r("div",{key:s,staticClass:"user-card",staticStyle:{"margin-top":"10px"},attrs:{shadow:"naver"}},[r("el-form",{staticClass:"demo-form",attrs:{"label-width":"0px","label-position":"right",size:"mini"}},[r("el-form-item",{attrs:{label:"",prop:"ame"}},[r("el-select",{staticStyle:{width:"100%"},attrs:{size:"mini",placeholder:"选择人员类型"},model:{value:t.selectorId,callback:function(r){e.$set(t,"selectorId",r)},expression:"item.selectorId"}},e._l(e.allUserSelectors,(function(e){return r("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1),r("el-form-item",{attrs:{label:"",prop:"ame"}},[r("userSelections",{ref:"userSelections",refInFor:!0,attrs:{index:s,selectorId:t.selectorId,selections:t.selections},on:{"ok-click":e.userSelectionsOkHandler}})],1),r("el-form-item",{attrs:{label:"",prop:"ame"}},[r("el-input",{attrs:{size:"mini",placeholder:"参数"},model:{value:t.parameter,callback:function(r){e.$set(t,"parameter",r)},expression:"item.parameter"}})],1),r("el-form-item",{attrs:{label:"",prop:"ame"}},[r("el-input",{attrs:{size:"mini",placeholder:"描述"},model:{value:t.description,callback:function(r){e.$set(t,"description",r)},expression:"item.description"}})],1),r("el-form-item",{attrs:{label:"",prop:"ame"}})],1)],1)})),0)},o=[],i=(r("d3b7"),r("159b"),r("b0c0"),r("a15b"),r("a434"),function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("el-dialog",{attrs:{title:"选择用户",visible:e.visible,width:"40%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[r("el-table",{ref:"singleTable",staticStyle:{width:"100%",height:"40vh"},attrs:{data:e.selections},on:{"current-change":e.handleCurrentChange,"selection-change":e.handleSelectionChange}},[r("el-table-column",{attrs:{type:"selection",width:"50"}}),r("el-table-column",{attrs:{type:"index",width:"50"}}),r("el-table-column",{attrs:{property:"name",label:"名称",width:"220"}}),r("el-table-column",{attrs:{property:"id",label:"ID"}})],1),r("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[r("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),r("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)}),a=[],n={props:{},watch:{visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{name:""},rules:{name:[{required:!0,message:"请输入",trigger:"change"}]},currentRow:null,selections:[],value:{},multipleSelection:[]}},methods:{confirm:function(){this.commit()},show:function(e){this.visible=!0,this.loadData(e)},hide:function(){this.visible=!1,this.form={name:""}},loadData:function(e){var t=this;this.loading=!0,this.value=e,this.getUserSelectionsOfUserSelector(e.selectorId).then((function(){t.loading=!1}))},getUserSelectionsOfUserSelector:function(e){var t=this;return this.$store.dispatch("workflow/getUserSelectionsOfUserSelector",{userSelectorId:e}).then((function(e){console.log(e),t.selections=e}))},commit:function(){0!=this.multipleSelection.length?(this.$emit("ok-click",{index:this.value.index,value:this.multipleSelection}),this.hide()):this.$message({message:"警告,请选择!",type:"warning"})},handleCurrentChange:function(e){this.currentRow=e},handleSelectionChange:function(e){this.multipleSelection=e}}},l=n,c=r("2877"),d=Object(c["a"])(l,i,a,!1,null,null,null),u=d.exports,h={components:{userSelections:u},props:{userSelectors:{type:Array,default:function(){return[]}}},filters:{getSelectionsName:function(e){if(!e)return"";var t=[];return e.forEach((function(e){t.push(e.name)})),t.join(",")}},data:function(){return{allUserSelectors:[]}},mounted:function(){this.loadUserSelectors()},methods:{loadUserSelectors:function(){var e=this;this.$store.dispatch("workflow/getAllUserSelectors").then((function(t){console.log(t),e.allUserSelectors=t}))},delUserSelector:function(e,t){e.splice(t,1)},userSelectionsOkHandler:function(e){var t=this.userSelectors[e.index];this.$set(t,"selections",[]),e.value.forEach((function(e){t.selections.push({id:e.id,name:e.name})}))}}},m=h,p=(r("09e3"),Object(c["a"])(m,s,o,!1,null,null,null));t["a"]=p.exports}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-e5f3d598.c576e3a6.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-e5f3d598.c576e3a6.js new file mode 100644 index 0000000000000000000000000000000000000000..5bb5e33d2f6e31e8fee656009e797d1d3e7e55cb --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-e5f3d598.c576e3a6.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-e5f3d598"],{1245:function(t,e,l){"use strict";l("6216")},"1c3a":function(t,e,l){"use strict";l("cd17")},4080:function(t,e,l){"use strict";var n=function(){var t=this,e=t.$createElement,l=t._self._c||e;return l("div",{class:{"control-container":t.isEditForm}},[t._t("default")],2)},o=[],i={props:{isEditForm:{type:Boolean,default:!1}}},a=i,s=(l("fa1c"),l("2877")),r=Object(s["a"])(a,n,o,!1,null,"50490820",null);e["a"]=r.exports},"61a5":function(t,e,l){"use strict";var n=function(){var t=this,e=t.$createElement,l=t._self._c||e;return l("el-col",{attrs:{xs:24,sm:"table"==t.control.type?24:12,md:t._f("spanFileter")(t.control.span),lg:t._f("spanFileter")(t.control.span),xl:t._f("spanFileter")(t.control.span)}},[l("control",{staticClass:"dynamic-col"},[l("el-form-item",{attrs:{label:t.control.label}},[l("el-row",{staticClass:"dynamic-col",staticStyle:{"min-height":"200px"},attrs:{gutter:10}},[l("draggable",t._b({attrs:{animation:500,dragClass:"dragClass",ghostClass:"ghostClass",chosenClass:"chosenClass"},model:{value:t.orderedcontrols,callback:function(e){t.orderedcontrols=e},expression:"orderedcontrols"}},"draggable",{group:{name:"controlpanel"},sort:!0},!1),[l("transition-group",t._l(t.orderedcontrols,(function(e,n){return l("dynamicCol",{key:n,attrs:{control:e||{},isEdit:!0,isEditForm:t.isEditForm},on:{edit:function(l){return t.editCtrl(e)},remove:function(e){return t.removeCtrl(n)},copy:function(e){return t.copyCtrl(n)}},model:{value:t.bindModel(e)[e.field],callback:function(l){t.$set(t.bindModel(e),e.field,l)},expression:"bindModel(control)[control.field]"}})})),1)],1)],1),l("div",[l("el-button",{attrs:{type:"text"},on:{click:function(e){return t.$emit("edit")}}},[t._v("edit")]),l("el-button",{attrs:{type:"text"},on:{click:function(e){return t.$emit("remove")}}},[t._v("remove")]),l("el-button",{attrs:{type:"text"},on:{click:function(e){return t.$emit("copy")}}},[t._v("copy")])],1)],1)],1)],1)},o=[],i=(l("a9e3"),l("4de4"),l("d3b7"),l("e9c4"),l("a434"),l("b76a")),a=l.n(i),s=l("d27b"),r=l("4080"),c={name:"dynamicContainer",components:{draggable:a.a,dynamicCol:s["a"],control:r["a"]},props:{control:{type:Object,default:function(){return{}}},value:null,isEdit:{type:Boolean,default:!1},isEditForm:{type:Boolean,default:!1}},filters:{spanFileter:function(t){return isNaN(t)?8:Number(t)}},model:{event:"change",prop:"value"},data:function(){return{thisValue:{}}},computed:{orderedcontrols:{get:function(){return this.control.options.filter((function(t){return t}))},set:function(t){this.control.options=t}}},watch:{value:function(){this.thisValue=this.value},thisValue:{deep:!0,handler:function(){this.change(this.thisValue)}}},mounted:function(){console.log(this.control),this.thisValue=this.value},methods:{change:function(t){this.$emit("change",t)},bindModel:function(t){return t||(t={}),"empty"==t.type?{}:(this.thisValue[t.field]||this.$set(this.thisValue,t.field,t.default),this.thisValue)},editCtrl:function(t){this.currentControl=t,this.$emit("edit",this.currentControl)},copyCtrl:function(t){var e=JSON.parse(JSON.stringify(this.control.options[t]));this.control.options.splice(t,0,e)},removeCtrl:function(t){this.control.options.splice(t,1)}}},u=c,d=(l("1245"),l("2877")),h=Object(d["a"])(u,n,o,!1,null,null,null);e["a"]=h.exports},6216:function(t,e,l){},"98c2":function(t,e,l){},afbe:function(t,e,l){"use strict";var n=function(){var t=this,e=t.$createElement,l=t._self._c||e;return l("el-form",{ref:"form",staticClass:"dynamic-form",attrs:{"label-width":"auto","label-position":"top",size:"mini"}},[l("el-row",{attrs:{gutter:10}},[t.controls&&t.controls.length>0?[t._l(t.controls,(function(e,n){return["container"==e.type?l("dynamicContainer",{key:n+"container",attrs:{control:e||{},isEdit:t.isEdit,isEditForm:t.isEditForm},model:{value:t.bindModel(e)[e.field],callback:function(l){t.$set(t.bindModel(e),e.field,l)},expression:"bindModel(control)[control.field]"}}):l("dynamicCol",{key:n,attrs:{control:e||{},isEdit:t.isEdit,isEditForm:t.isEditForm},model:{value:t.bindModel(e)[e.field],callback:function(l){t.$set(t.bindModel(e),e.field,l)},expression:"bindModel(control)[control.field]"}})]}))]:l("el-input",{attrs:{readonly:!t.isEdit,type:"textarea",size:"normal",rows:5},model:{value:t.valueString,callback:function(e){t.valueString=e},expression:"valueString"}})],2)],1)},o=[],i=(l("e9c4"),l("d27b")),a=l("61a5"),s={components:{dynamicCol:i["a"],dynamicContainer:a["a"]},props:{isEdit:{type:Boolean,default:!1}},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",isEditForm:!1,value:{},valueString:"",controls:[{span:12,type:"empty",field:"field",label:"label",default:"",options:[]}]}},methods:{bindModel:function(t){return t||(t={}),this.value[t.field]||this.$set(this.value,t.field,t.default),this.value},setValue:function(t,e){var l=this;this.valueString=JSON.stringify(e),this.$set(this,"value",e),this.controls=[];this.$nextTick((function(){l.controls=t}))},getValue:function(){if(this.controls&&this.controls.length>0)return this.value;try{return JSON.parse(this.valueString)}catch(t){return{}}}}},r=s,c=l("2877"),u=Object(c["a"])(r,n,o,!1,null,null,null);e["a"]=u.exports},b3cd:function(t,e,l){"use strict";var n=function(){var t=this,e=t.$createElement,l=t._self._c||e;return l("div",["string"==t.control.type?l("el-input",{attrs:{readonly:!t.isEdit,size:"normal"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}}):t._e(),"number"==t.control.type?l("el-input",{attrs:{readonly:!t.isEdit,type:"number",size:"normal"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}}):t._e(),"textarea"==t.control.type?l("el-input",{attrs:{readonly:!t.isEdit,type:"textarea",size:"normal"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}}):t._e(),"checkbox"==t.control.type?l("el-checkbox-group",{attrs:{"aria-readonly":!t.isEdit,size:"normal"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}},t._l(t.control.options,(function(e,n){return l("el-checkbox",{key:e.value+n,attrs:{label:e.value,value:e.value}},[t._v(t._s(e.label))])})),1):t._e(),"radio"==t.control.type?l("el-radio-group",{attrs:{size:"normal"},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}},t._l(t.control.options,(function(e,n){return l("el-radio",{key:e.value+n,attrs:{"aria-readonly":!t.isEdit,label:e.value},on:{change:t.change}},[t._v(t._s(e.label))])})),1):t._e(),"select"==t.control.type?l("el-select",{staticStyle:{width:"100%"},attrs:{disabled:!t.isEdit,placeholder:"请选择",size:"normal"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}},t._l(t.control.options,(function(t,e){return l("el-option",{key:t.value+e,attrs:{label:t.label,value:t.value}})})),1):t._e(),"multipleselect"==t.control.type?l("el-select",{staticStyle:{width:"100%"},attrs:{disabled:!t.isEdit,placeholder:"请选择",multiple:"",size:"normal"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}},t._l(t.control.options,(function(t,e){return l("el-option",{key:t.value+e,attrs:{label:t.label,value:t.value}})})),1):t._e(),"date"==t.control.type?l("el-date-picker",{staticStyle:{width:"100%"},attrs:{readonly:!t.isEdit,size:"normal",type:"date",placeholder:"选择日期"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}}):t._e(),"time"==t.control.type?l("el-time-select",{staticStyle:{width:"100%"},attrs:{readonly:!t.isEdit,size:"normal",placeholder:"选择时间"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}}):t._e(),"datetime"==t.control.type?l("el-date-picker",{staticStyle:{width:"100%"},attrs:{readonly:!t.isEdit,size:"normal",type:"datetime",placeholder:"选择日期时间"},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}}):t._e()],1)},o=[],i={props:{control:{type:Object,default:function(){return{}}},value:"",isEdit:{type:Boolean,default:!1}},model:{event:"change",prop:"value"},data:function(){return{thisValue:""}},watch:{value:function(){this.updateValue()}},mounted:function(){this.updateValue()},methods:{change:function(t){this.$emit("change",t)},updateValue:function(){this.value&&(this.thisValue=this.value)}}},a=i,s=l("2877"),r=Object(s["a"])(a,n,o,!1,null,null,null);e["a"]=r.exports},cd17:function(t,e,l){},d27b:function(t,e,l){"use strict";var n=function(){var t=this,e=t.$createElement,l=t._self._c||e;return l("el-col",{attrs:{xs:24,sm:"table"==t.control.type?24:12,md:t._f("spanFileter")(t.control.span),lg:t._f("spanFileter")(t.control.span),xl:t._f("spanFileter")(t.control.span)}},["empty"==t.control.type&&t.isEditForm?l("div",{staticStyle:{height:"500px","text-align":"center",color:"#999999"}},[t._v(" 拖拽左边的组件到这里 ")]):t._e(),"empty"!=t.control.type?l("control",{class:{"dynamic-col":t.isEditForm,"dynamic-col-default":!t.isEditForm},attrs:{isEditForm:t.isEditForm}},["table"==t.control.type?[l("el-form-item",{attrs:{label:t.control.label}}),l("formItemTable",{attrs:{control:t.control,isEdit:t.isEdit},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}})]:"textarea"==t.control.type?[l("el-form-item",{attrs:{label:t.control.label}}),l("formItem",{attrs:{control:t.control,isEdit:t.isEdit},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}})]:l("el-form-item",{attrs:{label:t.control.label,prop:t.control.field}},[l("formItem",{attrs:{control:t.control,isEdit:t.isEdit},on:{change:t.change},model:{value:t.thisValue,callback:function(e){t.thisValue=e},expression:"thisValue"}})],1),t.isEditForm?l("div",[l("el-tooltip",{staticClass:"item",attrs:{effect:"dark",content:"编辑组件信息,点击编辑在右侧配置组件属性",placement:"top"}},[l("el-button",{attrs:{type:"text"},on:{click:function(e){return t.$emit("edit")}}},[t._v(" 编辑 ")])],1),l("el-tooltip",{staticClass:"item",attrs:{effect:"dark",content:"复制一个组件插入到编辑面板",placement:"top"}},[l("el-button",{attrs:{type:"text"},on:{click:function(e){return t.$emit("copy")}}},[t._v(" 复制 ")])],1),l("el-tooltip",{staticClass:"item",attrs:{effect:"dark",content:"删除组件",placement:"top"}},[l("el-button",{attrs:{type:"text"},on:{click:function(e){return t.$emit("remove")}}},[t._v(" 删除 ")])],1)],1):t._e()],2):t._e()],1)},o=[],i=(l("a9e3"),l("4080")),a=l("b3cd"),s=function(){var t=this,e=t.$createElement,l=t._self._c||e;return l("div",[l("el-table",{staticStyle:{width:"100%"},attrs:{border:"",data:t.thisValue,stripe:"",size:"mini"}},[l("el-table-column",{attrs:{type:"index",label:"序号",width:"60"}}),t._l(t.control.options,(function(e){return l("el-table-column",{key:e.field,attrs:{prop:e.field,label:e.label,width:e.width||180},scopedSlots:t._u([{key:"default",fn:function(n){return[t.isEdit?l("formItem",{attrs:{control:e,isEdit:t.isEdit},model:{value:n.row[e.field],callback:function(l){t.$set(n.row,e.field,l)},expression:"scope.row[item.field]"}}):l("span",[t._v(t._s(n.row[e.field]))])]}}],null,!0)})})),l("el-table-column"),t.isEdit?l("el-table-column",{attrs:{fixed:"right",label:"操作",width:"50"},scopedSlots:t._u([{key:"default",fn:function(e){return[l("el-button",{attrs:{type:"text",size:"small"},on:{click:function(l){return t.removeItem(e.$index)}}},[t._v("删除")])]}}],null,!1,3436078618)}):t._e()],2),t.isEdit?l("el-button",{attrs:{type:"text",size:"small"},on:{click:t.addItem}},[t._v("添加")]):t._e()],1)},r=[],c=(l("d3b7"),l("159b"),l("a434"),{components:{formItem:a["a"]},props:{control:{type:Object,default:function(){return{span:12,type:"table",field:"field",label:"label",default:"",options:[{type:"string",field:"field",label:"label",width:"180",default:""}]}}},value:null,isEdit:{type:Boolean,default:!1}},model:{event:"change",prop:"value"},data:function(){return{thisValue:[]}},watch:{value:function(){this.value instanceof Array&&(this.thisValue=this.value)},thisValue:function(){this.$emit("change",this.thisValue)}},methods:{addItem:function(){var t={};this.control.options.forEach((function(e){t[e.field]=e.default})),this.thisValue.push(t)},removeItem:function(t){this.thisValue.splice(t,1)}}}),u=c,d=l("2877"),h=Object(d["a"])(u,s,r,!1,null,null,null),p=h.exports,f={name:"dynamicCol",components:{control:i["a"],formItem:a["a"],formItemTable:p},props:{control:{type:Object,default:function(){return{}}},value:{},isEdit:{type:Boolean,default:!1},isEditForm:{type:Boolean,default:!1}},model:{event:"change",prop:"value"},filters:{spanFileter:function(t){return isNaN(t)?8:Number(t)}},watch:{value:function(){this.thisValue=this.value}},data:function(){return{thisValue:""}},mounted:function(){this.thisValue=this.value},methods:{change:function(t){this.$emit("change",t)}}},m=f,b=(l("1c3a"),Object(d["a"])(m,n,o,!1,null,null,null));e["a"]=b.exports},fa1c:function(t,e,l){"use strict";l("98c2")}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-eb25376c.d16bcba7.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-eb25376c.d16bcba7.js new file mode 100644 index 0000000000000000000000000000000000000000..ea105c24e8612aa47b0ff3055c3abd645da09f91 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-eb25376c.d16bcba7.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-eb25376c"],{3776:function(e,t,i){"use strict";i.r(t);var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{directives:[{name:"loading",rawName:"v-loading",value:e.loading.getPageList,expression:"loading.getPageList"}],staticClass:"app-container"},[i("div",[i("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.create}},[e._v("新增")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.getPageList}},[e._v("刷新")])],1),i("br"),i("el-table",{staticStyle:{width:"100%"},attrs:{data:e.tableData,border:""}},[i("el-table-column",{attrs:{type:"index",label:"序号",width:"60"}}),i("el-table-column",{attrs:{prop:"title",label:"表单名称",width:"220"}}),i("el-table-column",{attrs:{prop:"formType",label:"表单类型",width:"100"}}),i("el-table-column",{attrs:{prop:"description",label:"描述",width:"300"}}),i("el-table-column",{attrs:{prop:"activeVersion",label:"激活版本",width:"100"}}),i("el-table-column",{attrs:{prop:"workflowName",label:"关联流程",width:"150"},scopedSlots:e._u([{key:"default",fn:function(t){return[i("span",[e._v(e._s(t.row.workflowName+":"+t.row.workflowId.version))])]}}])}),i("el-table-column",{attrs:{prop:"creationTime",formatter:e.dateFormat,label:"创建时间",width:"160"}}),i("el-table-column",{attrs:{prop:"modifiedTime",formatter:e.dateFormat,label:"更新时间",width:"160"}}),i("el-table-column"),i("el-table-column",{attrs:{fixed:"right",label:"操作",width:"280"},scopedSlots:e._u([{key:"default",fn:function(t){return[i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return e.$refs.updateVersionForm.show(t.row)}}},[e._v("版本切换")]),i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return e.edit(t.row)}}},[e._v("编辑")]),i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return e.remove(t.row.id)}}},[e._v("删除")]),i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return e.$refs.viewFormDesignForm.show({id:t.row.id,version:t.row.activeVersion})}}},[e._v("查看表单")]),i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return e.$refs.workflowDesignForm.show(t.row.workflowId)}}},[e._v("流程图")])]}}])})],1),i("br"),i("el-pagination",{attrs:{background:"",layout:"sizes,prev, pager, next",total:e.page.total,"page-size":e.page.maxResultCount,"current-page":e.page.currentPage},on:{"current-change":function(t){return e.paginationChange(null,t)},"size-change":function(t){return e.paginationChange(t)}}}),i("createForm",{ref:"createForm",on:{"ok-click":e.created}}),i("editForm",{ref:"editForm",on:{"ok-click":e.getPageList}}),i("updateVersionForm",{ref:"updateVersionForm",on:{"ok-click":e.getPageList}}),i("workflowDesignForm",{ref:"workflowDesignForm"}),i("viewFormDesignForm",{ref:"viewFormDesignForm"})],1)},n=[],l=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("el-dialog",{attrs:{title:"新增",visible:e.visible,width:"40%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[i("el-form",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],ref:"form",staticClass:"demo-form",staticStyle:{width:"80%"},attrs:{model:e.form,rules:e.rules,"label-width":"100px","label-position":"right",size:"mini"}},[i("el-form-item",{attrs:{label:"关联流程","label-width":e.defaultLabelWidth,rules:e.rules["workflowId_id"]}},[i("el-select",{staticStyle:{width:"100%"},attrs:{filterable:"",value:e.workflowId,placeholder:"请选择"},on:{change:e.workflowIdChange}},e._l(e.allWorkflows,(function(e){return i("el-option",{key:e.id+e.activeVersion,attrs:{label:e.name+":Version"+e.activeVersion,value:e.id+":"+e.activeVersion}})})),1)],1),i("el-form-item",{attrs:{label:"表单名称",prop:"title","label-width":e.defaultLabelWidth}},[i("el-input",{attrs:{disabled:"",size:"mini",type:"text"},model:{value:e.form.title,callback:function(t){e.$set(e.form,"title",t)},expression:"form.title"}})],1),i("el-form-item",{attrs:{label:"表单类型",prop:"formType","label-width":e.defaultLabelWidth}},[i("el-input",{attrs:{size:"mini",type:"text"},model:{value:e.form.formType,callback:function(t){e.$set(e.form,"formType",t)},expression:"form.formType"}})],1),i("el-form-item",{attrs:{label:"描述",prop:"description","label-width":e.defaultLabelWidth}},[i("el-input",{attrs:{size:"mini",type:"text"},model:{value:e.form.description,callback:function(t){e.$set(e.form,"description",t)},expression:"form.description"}})],1)],1),i("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)},r=[],a=(i("4de4"),i("d3b7"),i("b0c0"),i("159b"),i("b64b"),i("a9e3"),i("ac1f"),i("1276"),{props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(e,t){!e&&t&&this.hide()},"form.workflowId.id":{handler:function(){var e=this;if(this.form.workflowId.id&&0!=this.form.workflowId.id.length){var t=this.allWorkflows.filter((function(t){return t.id==e.form.workflowId.id}))[0];this.form.title="表单-"+t.name+"-Version"+t.activeVersion,this.form.workflowId.version=t.activeVersion}}}},model:{prop:"value",event:"change"},computed:{workflowId:function(){var e=this.form.workflowId.id+":"+this.form.workflowId.version;return 1==e.length?"":e}},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{name:"",workflowId:{id:"",version:""}},allWorkflows:[],rules:{title:[{required:!0,message:"请输入",trigger:"change"}],workflowId_id:[{required:!0,message:"请选择",trigger:"change"}]}}},methods:{confirm:function(){this.commit()},show:function(e){this.visible=!0,this.getWorkflowDesignList(),e&&this.loadData(e)},hide:function(){this.visible=!1,this.form={name:"",workflowId:{id:"",version:""}}},loadData:function(e){var t=this;this.loading=!0,Object.keys(e).forEach((function(i){t.form[i]=e[i]})),this.loading=!1},commit:function(){var e=this;this.$refs["form"].validate((function(t){if(!t)return console.log("error submit!!"),!1;e.form.workflowId.version=Number(e.form.workflowId.version),e.$store.dispatch("dynamicFormDesign/create",e.form).then((function(t){e.$emit("ok-click",t),e.hide()}))}))},getWorkflowDesignList:function(){var e=this;this.loading=!0,this.$store.dispatch("workflow/getAllWorkflowsWithVersion",this.form).then((function(t){e.allWorkflows=t,e.loading=!1}))},workflowIdChange:function(e){var t=e.split(":");this.form.workflowId={id:t[0],version:t[1]}}}}),s=a,c=i("2877"),d=Object(c["a"])(s,l,r,!1,null,null,null),f=d.exports,u=i("fad4"),m=i("eb3e"),h=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("el-dialog",{attrs:{title:"切换版本",visible:e.visible,width:"40%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[i("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],ref:"singleTable",staticStyle:{width:"100%",height:"40vh"},attrs:{data:e.selections},on:{"current-change":e.handleCurrentChange,"selection-change":e.handleSelectionChange}},[i("el-table-column",{attrs:{type:"index",width:"50"}}),i("el-table-column",{attrs:{property:"activeVersion",label:"版本编号",width:"120"}}),i("el-table-column",{attrs:{property:"name",label:"状态"},scopedSlots:e._u([{key:"default",fn:function(t){return[t.row.activeVersion==e.value.activeVersion?i("span",[e._v("激活")]):e._e()]}}])}),i("el-table-column",{attrs:{property:"name",label:"操作"},scopedSlots:e._u([{key:"default",fn:function(t){return[t.row.activeVersion!=e.value.activeVersion?i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return e.updateActiveVersion(t.row)}}},[e._v("切换")]):e._e()]}}])})],1),i("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)},p=[],v=i("5530"),w={props:{},watch:{visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{},rules:{},currentRow:null,selections:[],value:{},multipleSelection:[]}},methods:{confirm:function(){this.commit()},show:function(e){this.visible=!0,this.value=Object(v["a"])({},e),this.loadData(this.value)},hide:function(){this.visible=!1,this.form={name:""}},loadData:function(e){var t=this;this.loading=!0,this.value=e,this.getAllFormDesignVersions(e.id).then((function(){t.loading=!1}))},getAllFormDesignVersions:function(e){var t=this;return this.$store.dispatch("dynamicFormDesign/getAllFormDesignVersions",{formDesignId:e}).then((function(e){console.log(e),t.selections=e}))},updateActiveVersion:function(e){var t=this;this.loading=!0,this.$store.dispatch("dynamicFormDesign/setActiveVersion",{id:e.id,version:e.activeVersion}).then((function(i){t.loading=!1,t.value.activeVersion=e.activeVersion}))},commit:function(){this.$emit("ok-click",{}),this.hide()},handleCurrentChange:function(e){this.currentRow=e},handleSelectionChange:function(e){this.multipleSelection=e}}},g=w,b=Object(c["a"])(g,h,p,!1,null,null,null),k=b.exports,y=i("37c0"),D=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("el-dialog",{attrs:{title:"表单预览",visible:e.visible,width:"60%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[i("controlPanel",{ref:"controlPanel",attrs:{isEdit:e.isEdit}}),i("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)},_=[],x=i("afbe"),V={components:{controlPanel:x["a"]},props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,form:{name:"",formDesignId:{}},controls:[],selections:[],rules:{},isEdit:!1,workHistories:[]}},methods:{confirm:function(){this.commit()},show:function(e){this.visible=!0,e&&this.loadData(e)},hide:function(){this.visible=!1,this.form={name:"",formDesignId:{},formData:{}}},loadData:function(e){var t=this;this.loading=!0,this.getDesign(e).then((function(e){t.loading=!1,t.$refs.controlPanel.setValue(e,{})}))},commit:function(){this.$emit("ok-click",{}),this.hide()},getDesign:function(e){return this.$store.dispatch("dynamicFormDesign/getFormDesignVersion",e).then((function(e){return e&&e.designContent?JSON.parse(e&&e.designContent):[]}))}}},I=V,F=(i("7d4d"),Object(c["a"])(I,D,_,!1,null,null,null)),$=F.exports,z={components:{createForm:f,editForm:u["a"],updateVersionForm:k,workflowDesignForm:y["a"],viewFormDesignForm:$},mixins:[m["a"]],data:function(){return{moduleName:"dynamicFormDesign",isnew:!0}},methods:{created:function(){this.getPageList(),this.$notify({title:"恭喜添加新表单设计",message:"可以通过 编辑 对表单进行编辑,自定义表单布局和绑定的字段",type:"success"})},edit:function(e){this.$router.push({path:"/workflowDesign/editPage",query:{id:e.id,version:e.activeVersion||1}})}}},W=z,C=Object(c["a"])(W,o,n,!1,null,null,null);t["default"]=C.exports},"37c0":function(e,t,i){"use strict";var o,n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("el-dialog",{attrs:{title:"流程查看",visible:e.visible,width:"60%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[i("workflowEditPanel",{ref:"workflowEditPanel",attrs:{nodeData:e.nodeData}}),i("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)},l=[],r=i("ade3"),a=i("0aef"),s={components:{workflowEditPanel:a["a"]},props:{},watch:{value:{handler:function(){},deep:!0},visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",nodeData:{},data:{}}},methods:(o={confirm:function(){this.commit()},show:function(e){this.visible=!0,this.loadData(e.version,e.id)},hide:function(){this.visible=!1,this.value={},this.control={}},loadData:function(e){},commit:function(){this.hide()}},Object(r["a"])(o,"loadData",(function(e,t){var i=this,o=this;this.$store.dispatch("workflow/getWorkflowVersion",{versionid:e,id:t}).then((function(e){o.nodeData=0==e.drawingInfo.length?i.defaultNode():JSON.parse(e.drawingInfo),o.data=e,o.$refs.workflowEditPanel.loadNodeData()}))})),Object(r["a"])(o,"defaultNode",(function(){return{name:"",nodeList:[],lineList:[]}})),o)},c=s,d=i("2877"),f=Object(d["a"])(c,n,l,!1,null,null,null);t["a"]=f.exports},"7d4d":function(e,t,i){"use strict";i("ada5")},ada5:function(e,t,i){},fad4:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("el-dialog",{attrs:{title:"编辑",visible:e.visible,width:"40%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[i("el-form",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],ref:"form",staticClass:"demo-form",staticStyle:{width:"80%"},attrs:{model:e.form,rules:e.rules,"label-width":"100px","label-position":"right",size:"mini"}},[i("el-form-item",{attrs:{label:"表单名称",prop:"title","label-width":e.defaultLabelWidth}},[i("el-input",{attrs:{disabled:"",size:"mini",type:"text"},model:{value:e.form.title,callback:function(t){e.$set(e.form,"title",t)},expression:"form.title"}})],1),i("el-form-item",{attrs:{label:"表单类型",prop:"formType","label-width":e.defaultLabelWidth}},[i("el-input",{attrs:{size:"mini",type:"text"},model:{value:e.form.formType,callback:function(t){e.$set(e.form,"formType",t)},expression:"form.formType"}})],1),i("el-form-item",{attrs:{label:"版本","label-width":e.defaultLabelWidth}},[i("el-input",{attrs:{size:"mini",type:"number"},model:{value:e.form.activeVersion,callback:function(t){e.$set(e.form,"activeVersion",t)},expression:"form.activeVersion"}})],1),i("el-form-item",{attrs:{label:"描述",prop:"description","label-width":e.defaultLabelWidth}},[i("el-input",{attrs:{size:"mini",type:"text"},model:{value:e.form.description,callback:function(t){e.$set(e.form,"description",t)},expression:"form.description"}})],1)],1),i("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)},n=[],l=(i("a9e3"),i("ac1f"),i("1276"),{props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{workflowId:{},formDesignId:{}},rules:{name:[{required:!0,message:"请输入",trigger:"change"}]},allWorkflows:[]}},methods:{confirm:function(){this.commit()},show:function(e){this.visible=!0,e&&this.loadData(e)},hide:function(){this.visible=!1,this.form={workflowId:{},formDesignId:{}}},loadData:function(e){var t=this;this.loading=!0,this.$store.dispatch("dynamicFormDesign/get",{id:e.formDesignId.id}).then((function(i){t.form=i,t.form.designContent=e.designContent,t.form.activeVersion=e.formDesignId.version,t.loading=!1}))},commit:function(){var e=this;this.$refs["form"].validate((function(t){if(!t)return console.log("error submit!!"),!1;e.form.formDesignId={id:e.form.id,version:Number(e.form.activeVersion)},e.form.workflowId.version=Number(e.form.workflowId.version),e.$store.dispatch("dynamicFormDesign/update",e.form).then((function(t){e.$emit("ok-click",t),e.hide()}))}))},getAllWorkflowsWithVersion:function(){var e=this;this.loading=!0,this.$store.dispatch("workflow/getAllWorkflowsWithVersion",this.form).then((function(t){e.allWorkflows=t,e.loading=!1}))},workflowIdChange:function(e){var t=e.split(":");this.form.workflowId={id:t[0],version:t[1]}}}}),r=l,a=i("2877"),s=Object(a["a"])(r,o,n,!1,null,null,null);t["a"]=s.exports}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-eb25376c.e17b43e4.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-eb25376c.e17b43e4.js new file mode 100644 index 0000000000000000000000000000000000000000..2f7b92e1e19bf6163b0993f84286a4ef26821fc5 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-eb25376c.e17b43e4.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-eb25376c"],{3776:function(e,t,i){"use strict";i.r(t);var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{directives:[{name:"loading",rawName:"v-loading",value:e.loading.getPageList,expression:"loading.getPageList"}],staticClass:"app-container"},[i("div",[i("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.create}},[e._v("新增")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.getPageList}},[e._v("刷新")])],1),i("br"),i("el-table",{staticStyle:{width:"100%"},attrs:{data:e.tableData,border:""}},[i("el-table-column",{attrs:{type:"index",label:"序号",width:"60"}}),i("el-table-column",{attrs:{prop:"title",label:"表单名称",width:"220"}}),i("el-table-column",{attrs:{prop:"formType",label:"表单类型",width:"100"}}),i("el-table-column",{attrs:{prop:"description",label:"描述",width:"300"}}),i("el-table-column",{attrs:{prop:"activeVersion",label:"激活版本",width:"100"}}),i("el-table-column",{attrs:{prop:"workflowName",label:"关联流程",width:"150"},scopedSlots:e._u([{key:"default",fn:function(t){return[i("span",[e._v(e._s(t.row.workflowName+":"+t.row.workflowId.version))])]}}])}),i("el-table-column",{attrs:{prop:"creationTime",formatter:e.dateFormat,label:"创建时间",width:"160"}}),i("el-table-column",{attrs:{prop:"modifiedTime",formatter:e.dateFormat,label:"更新时间",width:"160"}}),i("el-table-column"),i("el-table-column",{attrs:{fixed:"right",label:"操作",width:"280"},scopedSlots:e._u([{key:"default",fn:function(t){return[i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return e.$refs.updateVersionForm.show(t.row)}}},[e._v("版本切换")]),i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return e.edit(t.row)}}},[e._v("编辑")]),i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return e.remove(t.row.id)}}},[e._v("删除")]),i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return e.$refs.viewFormDesignForm.show({id:t.row.id,version:t.row.activeVersion})}}},[e._v("查看表单")]),i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return e.$refs.workflowDesignForm.show(t.row.workflowId)}}},[e._v("流程图")])]}}])})],1),i("br"),i("el-pagination",{attrs:{background:"",layout:"sizes,prev, pager, next",total:e.page.total,"page-size":e.page.maxResultCount,"current-page":e.page.currentPage},on:{"current-change":function(t){return e.paginationChange(null,t)},"size-change":function(t){return e.paginationChange(t)}}}),i("createForm",{ref:"createForm",on:{"ok-click":e.created}}),i("editForm",{ref:"editForm",on:{"ok-click":e.getPageList}}),i("updateVersionForm",{ref:"updateVersionForm",on:{"ok-click":e.getPageList}}),i("workflowDesignForm",{ref:"workflowDesignForm"}),i("viewFormDesignForm",{ref:"viewFormDesignForm"})],1)},n=[],l=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("el-dialog",{attrs:{title:"新增",visible:e.visible,width:"40%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[i("el-form",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],ref:"form",staticClass:"demo-form",staticStyle:{width:"80%"},attrs:{model:e.form,rules:e.rules,"label-width":"100px","label-position":"right",size:"mini"}},[i("el-form-item",{attrs:{label:"关联流程","label-width":e.defaultLabelWidth,rules:e.rules["workflowId_id"]}},[i("el-select",{staticStyle:{width:"100%"},attrs:{filterable:"",value:e.workflowId,placeholder:"请选择"},on:{change:e.workflowIdChange}},e._l(e.allWorkflows,(function(e){return i("el-option",{key:e.id+e.activeVersion,attrs:{label:e.name+":Version"+e.activeVersion,value:e.id+":"+e.activeVersion}})})),1)],1),i("el-form-item",{attrs:{label:"表单名称",prop:"title","label-width":e.defaultLabelWidth}},[i("el-input",{attrs:{disabled:"",size:"mini",type:"text"},model:{value:e.form.title,callback:function(t){e.$set(e.form,"title",t)},expression:"form.title"}})],1),i("el-form-item",{attrs:{label:"表单类型",prop:"formType","label-width":e.defaultLabelWidth}},[i("el-input",{attrs:{size:"mini",type:"text"},model:{value:e.form.formType,callback:function(t){e.$set(e.form,"formType",t)},expression:"form.formType"}})],1),i("el-form-item",{attrs:{label:"描述",prop:"description","label-width":e.defaultLabelWidth}},[i("el-input",{attrs:{size:"mini",type:"text"},model:{value:e.form.description,callback:function(t){e.$set(e.form,"description",t)},expression:"form.description"}})],1)],1),i("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)},r=[],a=(i("4de4"),i("d3b7"),i("b0c0"),i("159b"),i("b64b"),i("a9e3"),i("ac1f"),i("1276"),{props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(e,t){!e&&t&&this.hide()},"form.workflowId.id":{handler:function(){var e=this;if(this.form.workflowId.id&&0!=this.form.workflowId.id.length){var t=this.allWorkflows.filter((function(t){return t.id==e.form.workflowId.id}))[0];this.form.title="表单-"+t.name+"-Version"+t.activeVersion,this.form.workflowId.version=t.activeVersion}}}},model:{prop:"value",event:"change"},computed:{workflowId:function(){var e=this.form.workflowId.id+":"+this.form.workflowId.version;return 1==e.length?"":e}},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{name:"",workflowId:{id:"",version:""}},allWorkflows:[],rules:{workflowId_id:[{required:!0,message:"请选择",trigger:"change"}]}}},methods:{confirm:function(){this.commit()},show:function(e){this.visible=!0,this.getWorkflowDesignList(),e&&this.loadData(e)},hide:function(){this.visible=!1,this.form={name:"",workflowId:{id:"",version:""}}},loadData:function(e){var t=this;this.loading=!0,Object.keys(e).forEach((function(i){t.form[i]=e[i]})),this.loading=!1},commit:function(){var e=this;this.$refs["form"].validate((function(t){if(!t)return console.log("error submit!!"),!1;e.form.workflowId.version=Number(e.form.workflowId.version),e.$store.dispatch("dynamicFormDesign/create",e.form).then((function(t){e.$emit("ok-click",t),e.hide()}))}))},getWorkflowDesignList:function(){var e=this;this.loading=!0,this.$store.dispatch("workflow/getAllWorkflowsWithVersion",this.form).then((function(t){e.allWorkflows=t,e.loading=!1}))},workflowIdChange:function(e){var t=e.split(":");this.form.workflowId={id:t[0],version:t[1]}}}}),s=a,c=i("2877"),d=Object(c["a"])(s,l,r,!1,null,null,null),f=d.exports,u=i("fad4"),m=i("eb3e"),h=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("el-dialog",{attrs:{title:"切换版本",visible:e.visible,width:"40%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[i("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],ref:"singleTable",staticStyle:{width:"100%",height:"40vh"},attrs:{data:e.selections},on:{"current-change":e.handleCurrentChange,"selection-change":e.handleSelectionChange}},[i("el-table-column",{attrs:{type:"index",width:"50"}}),i("el-table-column",{attrs:{property:"activeVersion",label:"版本编号",width:"120"}}),i("el-table-column",{attrs:{property:"name",label:"状态"},scopedSlots:e._u([{key:"default",fn:function(t){return[t.row.activeVersion==e.value.activeVersion?i("span",[e._v("激活")]):e._e()]}}])}),i("el-table-column",{attrs:{property:"name",label:"操作"},scopedSlots:e._u([{key:"default",fn:function(t){return[t.row.activeVersion!=e.value.activeVersion?i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return e.updateActiveVersion(t.row)}}},[e._v("切换")]):e._e()]}}])})],1),i("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)},p=[],v=i("5530"),w={props:{},watch:{visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{},rules:{},currentRow:null,selections:[],value:{},multipleSelection:[]}},methods:{confirm:function(){this.commit()},show:function(e){this.visible=!0,this.value=Object(v["a"])({},e),this.loadData(this.value)},hide:function(){this.visible=!1,this.form={name:""}},loadData:function(e){var t=this;this.loading=!0,this.value=e,this.getAllFormDesignVersions(e.id).then((function(){t.loading=!1}))},getAllFormDesignVersions:function(e){var t=this;return this.$store.dispatch("dynamicFormDesign/getAllFormDesignVersions",{formDesignId:e}).then((function(e){console.log(e),t.selections=e}))},updateActiveVersion:function(e){var t=this;this.loading=!0,this.$store.dispatch("dynamicFormDesign/setActiveVersion",{id:e.id,version:e.activeVersion}).then((function(i){t.loading=!1,t.value.activeVersion=e.activeVersion}))},commit:function(){this.$emit("ok-click",{}),this.hide()},handleCurrentChange:function(e){this.currentRow=e},handleSelectionChange:function(e){this.multipleSelection=e}}},b=w,g=Object(c["a"])(b,h,p,!1,null,null,null),k=g.exports,y=i("37c0"),D=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("el-dialog",{attrs:{title:"表单预览",visible:e.visible,width:"60%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[i("controlPanel",{ref:"controlPanel",attrs:{isEdit:e.isEdit}}),i("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)},_=[],x=i("afbe"),V={components:{controlPanel:x["a"]},props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,form:{name:"",formDesignId:{}},controls:[],selections:[],rules:{},isEdit:!1,workHistories:[]}},methods:{confirm:function(){this.commit()},show:function(e){this.visible=!0,e&&this.loadData(e)},hide:function(){this.visible=!1,this.form={name:"",formDesignId:{},formData:{}}},loadData:function(e){var t=this;this.loading=!0,this.getDesign(e).then((function(e){t.loading=!1,t.$refs.controlPanel.setValue(e,{})}))},commit:function(){this.$emit("ok-click",{}),this.hide()},getDesign:function(e){return this.$store.dispatch("dynamicFormDesign/getFormDesignVersion",e).then((function(e){return e&&e.designContent?JSON.parse(e&&e.designContent):[]}))}}},I=V,F=(i("7d4d"),Object(c["a"])(I,D,_,!1,null,null,null)),$=F.exports,z={components:{createForm:f,editForm:u["a"],updateVersionForm:k,workflowDesignForm:y["a"],viewFormDesignForm:$},mixins:[m["a"]],data:function(){return{moduleName:"dynamicFormDesign",isnew:!0}},methods:{created:function(){this.getPageList(),this.$notify({title:"恭喜添加新表单设计",message:"可以通过 编辑 对表单进行编辑,自定义表单布局和绑定的字段",type:"success"})},edit:function(e){this.$router.push({path:"/workflowDesign/editPage",query:{id:e.id,version:e.activeVersion||1}})}}},W=z,C=Object(c["a"])(W,o,n,!1,null,null,null);t["default"]=C.exports},"37c0":function(e,t,i){"use strict";var o,n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("el-dialog",{attrs:{title:"流程查看",visible:e.visible,width:"60%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[i("workflowEditPanel",{ref:"workflowEditPanel",attrs:{nodeData:e.nodeData}}),i("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)},l=[],r=i("ade3"),a=i("0aef"),s={components:{workflowEditPanel:a["a"]},props:{},watch:{value:{handler:function(){},deep:!0},visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",nodeData:{},data:{}}},methods:(o={confirm:function(){this.commit()},show:function(e){this.visible=!0,this.loadData(e.version,e.id)},hide:function(){this.visible=!1,this.value={},this.control={}},loadData:function(e){},commit:function(){this.hide()}},Object(r["a"])(o,"loadData",(function(e,t){var i=this,o=this;this.$store.dispatch("workflow/getWorkflowVersion",{versionid:e,id:t}).then((function(e){o.nodeData=0==e.drawingInfo.length?i.defaultNode():JSON.parse(e.drawingInfo),o.data=e,o.$refs.workflowEditPanel.loadNodeData()}))})),Object(r["a"])(o,"defaultNode",(function(){return{name:"",nodeList:[],lineList:[]}})),o)},c=s,d=i("2877"),f=Object(d["a"])(c,n,l,!1,null,null,null);t["a"]=f.exports},"7d4d":function(e,t,i){"use strict";i("ada5")},ada5:function(e,t,i){},fad4:function(e,t,i){"use strict";var o=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",[i("el-dialog",{attrs:{title:"编辑",visible:e.visible,width:"40%","close-on-click-modal":!1},on:{close:function(t){e.visible=!1}}},[i("el-form",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],ref:"form",staticClass:"demo-form",staticStyle:{width:"80%"},attrs:{model:e.form,rules:e.rules,"label-width":"100px","label-position":"right",size:"mini"}},[i("el-form-item",{attrs:{label:"表单名称",prop:"title","label-width":e.defaultLabelWidth}},[i("el-input",{attrs:{disabled:"",size:"mini",type:"text"},model:{value:e.form.title,callback:function(t){e.$set(e.form,"title",t)},expression:"form.title"}})],1),i("el-form-item",{attrs:{label:"表单类型",prop:"formType","label-width":e.defaultLabelWidth}},[i("el-input",{attrs:{size:"mini",type:"text"},model:{value:e.form.formType,callback:function(t){e.$set(e.form,"formType",t)},expression:"form.formType"}})],1),i("el-form-item",{attrs:{label:"版本","label-width":e.defaultLabelWidth}},[i("el-input",{attrs:{size:"mini",type:"number"},model:{value:e.form.activeVersion,callback:function(t){e.$set(e.form,"activeVersion",t)},expression:"form.activeVersion"}})],1),i("el-form-item",{attrs:{label:"描述",prop:"description","label-width":e.defaultLabelWidth}},[i("el-input",{attrs:{size:"mini",type:"text"},model:{value:e.form.description,callback:function(t){e.$set(e.form,"description",t)},expression:"form.description"}})],1)],1),i("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{size:"small"},on:{click:function(t){e.visible=!1}}},[e._v("取 消")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:e.confirm}},[e._v("确 定")])],1)],1)],1)},n=[],l=(i("a9e3"),i("ac1f"),i("1276"),{props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(e,t){!e&&t&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{workflowId:{},formDesignId:{}},rules:{name:[{required:!0,message:"请输入",trigger:"change"}]},allWorkflows:[]}},methods:{confirm:function(){this.commit()},show:function(e){this.visible=!0,e&&this.loadData(e)},hide:function(){this.visible=!1,this.form={workflowId:{},formDesignId:{}}},loadData:function(e){var t=this;this.loading=!0,this.$store.dispatch("dynamicFormDesign/get",{id:e.formDesignId.id}).then((function(i){t.form=i,t.form.designContent=e.designContent,t.form.activeVersion=e.formDesignId.version,t.loading=!1}))},commit:function(){var e=this;this.$refs["form"].validate((function(t){if(!t)return console.log("error submit!!"),!1;e.form.formDesignId={id:e.form.id,version:Number(e.form.activeVersion)},e.form.workflowId.version=Number(e.form.workflowId.version),e.$store.dispatch("dynamicFormDesign/update",e.form).then((function(t){e.$emit("ok-click",t),e.hide()}))}))},getAllWorkflowsWithVersion:function(){var e=this;this.loading=!0,this.$store.dispatch("workflow/getAllWorkflowsWithVersion",this.form).then((function(t){e.allWorkflows=t,e.loading=!1}))},workflowIdChange:function(e){var t=e.split(":");this.form.workflowId={id:t[0],version:t[1]}}}}),r=l,a=i("2877"),s=Object(a["a"])(r,o,n,!1,null,null,null);t["a"]=s.exports}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-f3a2b000.9a70381c.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-f3a2b000.9a70381c.js new file mode 100644 index 0000000000000000000000000000000000000000..265bd88dfeef142d5ce9ef2b924c2233bff7da9b --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-f3a2b000.9a70381c.js @@ -0,0 +1,8 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-f3a2b000"],{7156:function(t,e,n){var o=n("861d"),r=n("d2bb");t.exports=function(t,e,n){var i,a;return r&&"function"==typeof(i=e.constructor)&&i!==n&&o(a=i.prototype)&&a!==n.prototype&&r(t,a),t}},a434:function(t,e,n){"use strict";var o=n("23e7"),r=n("23cb"),i=n("a691"),a=n("50c4"),l=n("7b0b"),s=n("65f0"),c=n("8418"),u=n("1dde"),f=n("ae40"),d=u("splice"),h=f("splice",{ACCESSORS:!0,0:0,1:2}),p=Math.max,v=Math.min,g=9007199254740991,m="Maximum allowed length exceeded";o({target:"Array",proto:!0,forced:!d||!h},{splice:function(t,e){var n,o,u,f,d,h,b=l(this),y=a(b.length),w=r(t,y),x=arguments.length;if(0===x?n=o=0:1===x?(n=0,o=y-w):(n=x-2,o=v(p(i(e),0),y-w)),y+n-o>g)throw TypeError(m);for(u=s(b,o),f=0;fy-o+n;f--)delete b[f-1]}else if(n>o)for(f=y-o;f>w;f--)d=f+o-1,h=f+n-1,d in b?b[h]=b[d]:delete b[h];for(f=0;f2)if(c=g(c),e=c.charCodeAt(0),43===e||45===e){if(n=c.charCodeAt(2),88===n||120===n)return NaN}else if(48===e){switch(c.charCodeAt(1)){case 66:case 98:o=2,r=49;break;case 79:case 111:o=8,r=55;break;default:return+c}for(i=c.slice(2),a=i.length,l=0;lr)return NaN;return parseInt(i,o)}return+c};if(i(m,!b(" 0o1")||!b("0b1")||b("+0x1"))){for(var E,S=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof S&&(w?f((function(){y.valueOf.call(n)})):s(n)!=m)?c(new b(x(e)),n,S):x(e)},D=o?h(b):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),_=0;D.length>_;_++)l(b,E=D[_])&&!l(S,E)&&v(S,E,p(b,E));S.prototype=y,y.constructor=S,a(r,m,S)}},aa47:function(t,e,n){"use strict"; +/**! + * Sortable 1.10.2 + * @author RubaXa + * @author owenm + * @license MIT + */ +function o(t){return o="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function i(){return i=Object.assign||function(t){for(var e=1;e=0||(r[n]=t[n]);return r}function s(t,e){if(null==t)return{};var n,o,r=l(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}function c(t){return u(t)||f(t)||d()}function u(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e"===e[0]&&(e=e.substring(1)),t)try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch(n){return!1}return!1}}function _(t){return t.host&&t!==document&&t.host.nodeType?t.host:t.parentNode}function O(t,e,n,o){if(t){n=n||document;do{if(null!=e&&(">"===e[0]?t.parentNode===n&&D(t,e):D(t,e))||o&&t===n)return t;if(t===n)break}while(t=_(t))}return null}var C,T=/\s+/g;function M(t,e,n){if(t&&e)if(t.classList)t.classList[n?"add":"remove"](e);else{var o=(" "+t.className+" ").replace(T," ").replace(" "+e+" "," ");t.className=(o+(n?" "+e:"")).replace(T," ")}}function I(t,e,n){var o=t&&t.style;if(o){if(void 0===n)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(t,""):t.currentStyle&&(n=t.currentStyle),void 0===e?n:n[e];e in o||-1!==e.indexOf("webkit")||(e="-webkit-"+e),o[e]=n+("string"===typeof n?"":"px")}}function A(t,e){var n="";if("string"===typeof t)n=t;else do{var o=I(t,"transform");o&&"none"!==o&&(n=o+" "+n)}while(!e&&(t=t.parentNode));var r=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return r&&new r(n)}function N(t,e,n){if(t){var o=t.getElementsByTagName(e),r=0,i=o.length;if(n)for(;r=i:r<=i,!a)return o;if(o===P())break;o=B(o,!1)}return!1}function L(t,e,n){var o=0,r=0,i=t.children;while(r2&&void 0!==arguments[2]?arguments[2]:{},o=n.evt,r=s(n,["evt"]);nt.pluginEvent.bind(Zt)(t,e,a({dragEl:at,parentEl:lt,ghostEl:st,rootEl:ct,nextEl:ut,lastDownEl:ft,cloneEl:dt,cloneHidden:ht,dragStarted:Ot,putSortable:yt,activeSortable:Zt.active,originalEvent:o,oldIndex:pt,oldDraggableIndex:gt,newIndex:vt,newDraggableIndex:mt,hideGhostForTarget:Kt,unhideGhostForTarget:zt,cloneNowHidden:function(){ht=!0},cloneNowShown:function(){ht=!1},dispatchSortableEvent:function(t){it({sortable:e,name:t,originalEvent:o})}},r))};function it(t){ot(a({putSortable:yt,cloneEl:dt,targetEl:at,rootEl:ct,oldIndex:pt,oldDraggableIndex:gt,newIndex:vt,newDraggableIndex:mt},t))}var at,lt,st,ct,ut,ft,dt,ht,pt,vt,gt,mt,bt,yt,wt,xt,Et,St,Dt,_t,Ot,Ct,Tt,Mt,It,At=!1,Nt=!1,Pt=[],kt=!1,jt=!1,Lt=[],Rt=!1,Ft=[],Xt="undefined"!==typeof document,$t=y,Bt=g||v?"cssFloat":"float",Yt=Xt&&!w&&!y&&"draggable"in document.createElement("div"),Vt=function(){if(Xt){if(v)return!1;var t=document.createElement("x");return t.style.cssText="pointer-events:auto","auto"===t.style.pointerEvents}}(),Ht=function(t,e){var n=I(t),o=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),r=L(t,0,e),i=L(t,1,e),a=r&&I(r),l=i&&I(i),s=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+k(r).width,c=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+k(i).width;if("flex"===n.display)return"column"===n.flexDirection||"column-reverse"===n.flexDirection?"vertical":"horizontal";if("grid"===n.display)return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(r&&a["float"]&&"none"!==a["float"]){var u="left"===a["float"]?"left":"right";return!i||"both"!==l.clear&&l.clear!==u?"horizontal":"vertical"}return r&&("block"===a.display||"flex"===a.display||"table"===a.display||"grid"===a.display||s>=o&&"none"===n[Bt]||i&&"none"===n[Bt]&&s+c>o)?"vertical":"horizontal"},Ut=function(t,e,n){var o=n?t.left:t.top,r=n?t.right:t.bottom,i=n?t.width:t.height,a=n?e.left:e.top,l=n?e.right:e.bottom,s=n?e.width:e.height;return o===a||r===l||o+i/2===a+s/2},Gt=function(t,e){var n;return Pt.some((function(o){if(!R(o)){var r=k(o),i=o[q].options.emptyInsertThreshold,a=t>=r.left-i&&t<=r.right+i,l=e>=r.top-i&&e<=r.bottom+i;return i&&a&&l?n=o:void 0}})),n},Wt=function(t){function e(t,n){return function(o,r,i,a){var l=o.options.group.name&&r.options.group.name&&o.options.group.name===r.options.group.name;if(null==t&&(n||l))return!0;if(null==t||!1===t)return!1;if(n&&"clone"===t)return t;if("function"===typeof t)return e(t(o,r,i,a),n)(o,r,i,a);var s=(n?o:r).options.group.name;return!0===t||"string"===typeof t&&t===s||t.join&&t.indexOf(s)>-1}}var n={},r=t.group;r&&"object"==o(r)||(r={name:r}),n.name=r.name,n.checkPull=e(r.pull,!0),n.checkPut=e(r.put),n.revertClone=r.revertClone,t.group=n},Kt=function(){!Vt&&st&&I(st,"display","none")},zt=function(){!Vt&&st&&I(st,"display","")};Xt&&document.addEventListener("click",(function(t){if(Nt)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),Nt=!1,!1}),!0);var qt=function(t){if(at){t=t.touches?t.touches[0]:t;var e=Gt(t.clientX,t.clientY);if(e){var n={};for(var o in t)t.hasOwnProperty(o)&&(n[o]=t[o]);n.target=n.rootEl=e,n.preventDefault=void 0,n.stopPropagation=void 0,e[q]._onDragOver(n)}}},Jt=function(t){at&&at.parentNode[q]._isOutsideThisEl(t.target)};function Zt(t,e){if(!t||!t.nodeType||1!==t.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t));this.el=t,this.options=e=i({},e),t[q]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Ht(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,e){t.setData("Text",e.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Zt.supportPointer&&"PointerEvent"in window,emptyInsertThreshold:5};for(var o in nt.initializePlugins(this,t,n),n)!(o in e)&&(e[o]=n[o]);for(var r in Wt(e),this)"_"===r.charAt(0)&&"function"===typeof this[r]&&(this[r]=this[r].bind(this));this.nativeDraggable=!e.forceFallback&&Yt,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?E(t,"pointerdown",this._onTapStart):(E(t,"mousedown",this._onTapStart),E(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(E(t,"dragover",this),E(t,"dragenter",this)),Pt.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),i(this,J())}function Qt(t){t.dataTransfer&&(t.dataTransfer.dropEffect="move"),t.cancelable&&t.preventDefault()}function te(t,e,n,o,r,i,a,l){var s,c,u=t[q],f=u.options.onMove;return!window.CustomEvent||v||g?(s=document.createEvent("Event"),s.initEvent("move",!0,!0)):s=new CustomEvent("move",{bubbles:!0,cancelable:!0}),s.to=e,s.from=t,s.dragged=n,s.draggedRect=o,s.related=r||e,s.relatedRect=i||k(e),s.willInsertAfter=l,s.originalEvent=a,t.dispatchEvent(s),f&&(c=f.call(u,s,a)),c}function ee(t){t.draggable=!1}function ne(){Rt=!1}function oe(t,e,n){var o=k(R(n.el,n.options.draggable)),r=10;return e?t.clientX>o.right+r||t.clientX<=o.right&&t.clientY>o.bottom&&t.clientX>=o.left:t.clientX>o.right&&t.clientY>o.top||t.clientX<=o.right&&t.clientY>o.bottom+r}function re(t,e,n,o,r,i,a,l){var s=o?t.clientY:t.clientX,c=o?n.height:n.width,u=o?n.top:n.left,f=o?n.bottom:n.right,d=!1;if(!a)if(l&&Mtu+c*i/2:sf-Mt)return-Tt}else if(s>u+c*(1-r)/2&&sf-c*i/2)?s>u+c/2?1:-1:0}function ie(t){return F(at)=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){at&&ee(at),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;S(t,"mouseup",this._disableDelayedDrag),S(t,"touchend",this._disableDelayedDrag),S(t,"touchcancel",this._disableDelayedDrag),S(t,"mousemove",this._delayedDragTouchMoveHandler),S(t,"touchmove",this._delayedDragTouchMoveHandler),S(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||"touch"==t.pointerType&&t,!this.nativeDraggable||e?this.options.supportPointer?E(document,"pointermove",this._onTouchMove):E(document,e?"touchmove":"mousemove",this._onTouchMove):(E(at,"dragend",this),E(ct,"dragstart",this._onDragStart));try{document.selection?se((function(){document.selection.empty()})):window.getSelection().removeAllRanges()}catch(n){}},_dragStarted:function(t,e){if(At=!1,ct&&at){rt("dragStarted",this,{evt:e}),this.nativeDraggable&&E(document,"dragover",Jt);var n=this.options;!t&&M(at,n.dragClass,!1),M(at,n.ghostClass,!0),Zt.active=this,t&&this._appendGhost(),it({sortable:this,name:"start",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if(xt){this._lastX=xt.clientX,this._lastY=xt.clientY,Kt();var t=document.elementFromPoint(xt.clientX,xt.clientY),e=t;while(t&&t.shadowRoot){if(t=t.shadowRoot.elementFromPoint(xt.clientX,xt.clientY),t===e)break;e=t}if(at.parentNode[q]._isOutsideThisEl(t),e)do{if(e[q]){var n=void 0;if(n=e[q]._onDragOver({clientX:xt.clientX,clientY:xt.clientY,target:t,rootEl:e}),n&&!this.options.dragoverBubble)break}t=e}while(e=e.parentNode);zt()}},_onTouchMove:function(t){if(wt){var e=this.options,n=e.fallbackTolerance,o=e.fallbackOffset,r=t.touches?t.touches[0]:t,i=st&&A(st,!0),a=st&&i&&i.a,l=st&&i&&i.d,s=$t&&It&&X(It),c=(r.clientX-wt.clientX+o.x)/(a||1)+(s?s[0]-Lt[0]:0)/(a||1),u=(r.clientY-wt.clientY+o.y)/(l||1)+(s?s[1]-Lt[1]:0)/(l||1);if(!Zt.active&&!At){if(n&&Math.max(Math.abs(r.clientX-this._lastX),Math.abs(r.clientY-this._lastY))=0&&(it({rootEl:lt,name:"add",toEl:lt,fromEl:ct,originalEvent:t}),it({sortable:this,name:"remove",toEl:lt,originalEvent:t}),it({rootEl:lt,name:"sort",toEl:lt,fromEl:ct,originalEvent:t}),it({sortable:this,name:"sort",toEl:lt,originalEvent:t})),yt&&yt.save()):vt!==pt&&vt>=0&&(it({sortable:this,name:"update",toEl:lt,originalEvent:t}),it({sortable:this,name:"sort",toEl:lt,originalEvent:t})),Zt.active&&(null!=vt&&-1!==vt||(vt=pt,mt=gt),it({sortable:this,name:"end",toEl:lt,originalEvent:t}),this.save())))),this._nulling()},_nulling:function(){rt("nulling",this),ct=at=lt=st=ut=dt=ft=ht=wt=xt=Ot=vt=mt=pt=gt=Ct=Tt=yt=bt=Zt.dragged=Zt.ghost=Zt.clone=Zt.active=null,Ft.forEach((function(t){t.checked=!0})),Ft.length=Et=St=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":at&&(this._onDragOver(t),Qt(t));break;case"selectstart":t.preventDefault();break}},toArray:function(){for(var t,e=[],n=this.el.children,o=0,r=n.length,i=this.options;o1&&(Pe.forEach((function(t){o.addAnimationState({target:t,rect:Le?k(t):r}),z(t),t.fromRect=r,e.removeAnimationState(t)})),Le=!1,Xe(!this.options.removeCloneOnHide,n))},dragOverCompleted:function(t){var e=t.sortable,n=t.isOwner,o=t.insertion,r=t.activeSortable,i=t.parentEl,a=t.putSortable,l=this.options;if(o){if(n&&r._hideClone(),je=!1,l.animation&&Pe.length>1&&(Le||!n&&!r.options.sort&&!a)){var s=k(Ie,!1,!0,!0);Pe.forEach((function(t){t!==Ie&&(K(t,s),i.appendChild(t))})),Le=!0}if(!n)if(Le||Be(),Pe.length>1){var c=Ne;r._showClone(e),r.options.animation&&!Ne&&c&&ke.forEach((function(t){r.addAnimationState({target:t,rect:Ae}),t.fromRect=Ae,t.thisAnimationDuration=null}))}else r._showClone(e)}},dragOverAnimationCapture:function(t){var e=t.dragRect,n=t.isOwner,o=t.activeSortable;if(Pe.forEach((function(t){t.thisAnimationDuration=null})),o.options.animation&&!n&&o.multiDrag.isMultiDrag){Ae=i({},e);var r=A(Ie,!0);Ae.top-=r.f,Ae.left-=r.e}},dragOverAnimationComplete:function(){Le&&(Le=!1,Be())},drop:function(t){var e=t.originalEvent,n=t.rootEl,o=t.parentEl,r=t.sortable,i=t.dispatchSortableEvent,a=t.oldIndex,l=t.putSortable,s=l||this.sortable;if(e){var c=this.options,u=o.children;if(!Re)if(c.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),M(Ie,c.selectedClass,!~Pe.indexOf(Ie)),~Pe.indexOf(Ie))Pe.splice(Pe.indexOf(Ie),1),Te=null,ot({sortable:r,rootEl:n,name:"deselect",targetEl:Ie,originalEvt:e});else{if(Pe.push(Ie),ot({sortable:r,rootEl:n,name:"select",targetEl:Ie,originalEvt:e}),e.shiftKey&&Te&&r.el.contains(Te)){var f,d,h=F(Te),p=F(Ie);if(~h&&~p&&h!==p)for(p>h?(d=h,f=p):(d=p,f=h+1);d1){var v=k(Ie),g=F(Ie,":not(."+this.options.selectedClass+")");if(!je&&c.animation&&(Ie.thisAnimationDuration=null),s.captureAnimationState(),!je&&(c.animation&&(Ie.fromRect=v,Pe.forEach((function(t){if(t.thisAnimationDuration=null,t!==Ie){var e=Le?k(t):v;t.fromRect=e,s.addAnimationState({target:t,rect:e})}}))),Be(),Pe.forEach((function(t){u[g]?o.insertBefore(t,u[g]):o.appendChild(t),g++})),a===F(Ie))){var m=!1;Pe.forEach((function(t){t.sortableIndex===F(t)||(m=!0)})),m&&i("update")}Pe.forEach((function(t){z(t)})),s.animateAll()}Me=s}(n===o||l&&"clone"!==l.lastPutMode)&&ke.forEach((function(t){t.parentNode&&t.parentNode.removeChild(t)}))}},nullingGlobal:function(){this.isMultiDrag=Re=!1,ke.length=0},destroyGlobal:function(){this._deselectMultiDrag(),S(document,"pointerup",this._deselectMultiDrag),S(document,"mouseup",this._deselectMultiDrag),S(document,"touchend",this._deselectMultiDrag),S(document,"keydown",this._checkKeyDown),S(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(t){if(("undefined"===typeof Re||!Re)&&Me===this.sortable&&(!t||!O(t.target,this.options.draggable,this.sortable.el,!1))&&(!t||0===t.button))while(Pe.length){var e=Pe[0];M(e,this.options.selectedClass,!1),Pe.shift(),ot({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:e,originalEvt:t})}},_checkKeyDown:function(t){t.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(t){t.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},i(t,{pluginName:"multiDrag",utils:{select:function(t){var e=t.parentNode[q];e&&e.options.multiDrag&&!~Pe.indexOf(t)&&(Me&&Me!==e&&(Me.multiDrag._deselectMultiDrag(),Me=e),M(t,e.options.selectedClass,!0),Pe.push(t))},deselect:function(t){var e=t.parentNode[q],n=Pe.indexOf(t);e&&e.options.multiDrag&&~n&&(M(t,e.options.selectedClass,!1),Pe.splice(n,1))}},eventProperties:function(){var t=this,e=[],n=[];return Pe.forEach((function(o){var r;e.push({multiDragElement:o,index:o.sortableIndex}),r=Le&&o!==Ie?-1:Le?F(o,":not(."+t.options.selectedClass+")"):F(o),n.push({multiDragElement:o,index:r})})),{items:c(Pe),clones:[].concat(ke),oldIndicies:e,newIndicies:n}},optionListeners:{multiDragKey:function(t){return t=t.toLowerCase(),"ctrl"===t?t="Control":t.length>1&&(t=t.charAt(0).toUpperCase()+t.substr(1)),t}}})}function Xe(t,e){Pe.forEach((function(n,o){var r=e.children[n.sortableIndex+(t?Number(o):0)];r?e.insertBefore(n,r):e.appendChild(n)}))}function $e(t,e){ke.forEach((function(n,o){var r=e.children[n.sortableIndex+(t?Number(o):0)];r?e.insertBefore(n,r):e.appendChild(n)}))}function Be(){Pe.forEach((function(t){t!==Ie&&t.parentNode&&t.parentNode.removeChild(t)}))}Zt.mount(new be),Zt.mount(_e,De),e["default"]=Zt},b76a:function(t,e,n){(function(e,o){t.exports=o(n("aa47"))})("undefined"!==typeof self&&self,(function(t){return function(t){var e={};function n(o){if(e[o])return e[o].exports;var r=e[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(o,r,function(e){return t[e]}.bind(null,r));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s="fb15")}({"01f9":function(t,e,n){"use strict";var o=n("2d00"),r=n("5ca1"),i=n("2aba"),a=n("32e9"),l=n("84f2"),s=n("41a0"),c=n("7f20"),u=n("38fd"),f=n("2b4c")("iterator"),d=!([].keys&&"next"in[].keys()),h="@@iterator",p="keys",v="values",g=function(){return this};t.exports=function(t,e,n,m,b,y,w){s(n,e,m);var x,E,S,D=function(t){if(!d&&t in T)return T[t];switch(t){case p:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},_=e+" Iterator",O=b==v,C=!1,T=t.prototype,M=T[f]||T[h]||b&&T[b],I=M||D(b),A=b?O?D("entries"):I:void 0,N="Array"==e&&T.entries||M;if(N&&(S=u(N.call(new t)),S!==Object.prototype&&S.next&&(c(S,_,!0),o||"function"==typeof S[f]||a(S,f,g))),O&&M&&M.name!==v&&(C=!0,I=function(){return M.call(this)}),o&&!w||!d&&!C&&T[f]||a(T,f,I),l[e]=I,l[_]=g,b)if(x={values:O?I:D(v),keys:y?I:D(p),entries:A},w)for(E in x)E in T||i(T,E,x[E]);else r(r.P+r.F*(d||C),e,x);return x}},"02f4":function(t,e,n){var o=n("4588"),r=n("be13");t.exports=function(t){return function(e,n){var i,a,l=String(r(e)),s=o(n),c=l.length;return s<0||s>=c?t?"":void 0:(i=l.charCodeAt(s),i<55296||i>56319||s+1===c||(a=l.charCodeAt(s+1))<56320||a>57343?t?l.charAt(s):i:t?l.slice(s,s+2):a-56320+(i-55296<<10)+65536)}}},"0390":function(t,e,n){"use strict";var o=n("02f4")(!0);t.exports=function(t,e,n){return e+(n?o(t,e).length:1)}},"0bfb":function(t,e,n){"use strict";var o=n("cb7c");t.exports=function(){var t=o(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},"0d58":function(t,e,n){var o=n("ce10"),r=n("e11e");t.exports=Object.keys||function(t){return o(t,r)}},1495:function(t,e,n){var o=n("86cc"),r=n("cb7c"),i=n("0d58");t.exports=n("9e1e")?Object.defineProperties:function(t,e){r(t);var n,a=i(e),l=a.length,s=0;while(l>s)o.f(t,n=a[s++],e[n]);return t}},"214f":function(t,e,n){"use strict";n("b0c5");var o=n("2aba"),r=n("32e9"),i=n("79e5"),a=n("be13"),l=n("2b4c"),s=n("520a"),c=l("species"),u=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$
")})),f=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var d=l(t),h=!i((function(){var e={};return e[d]=function(){return 7},7!=""[t](e)})),p=h?!i((function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[c]=function(){return n}),n[d](""),!e})):void 0;if(!h||!p||"replace"===t&&!u||"split"===t&&!f){var v=/./[d],g=n(a,d,""[t],(function(t,e,n,o,r){return e.exec===s?h&&!r?{done:!0,value:v.call(e,n,o)}:{done:!0,value:t.call(n,e,o)}:{done:!1}})),m=g[0],b=g[1];o(String.prototype,t,m),r(RegExp.prototype,d,2==e?function(t,e){return b.call(t,this,e)}:function(t){return b.call(t,this)})}}},"230e":function(t,e,n){var o=n("d3f4"),r=n("7726").document,i=o(r)&&o(r.createElement);t.exports=function(t){return i?r.createElement(t):{}}},"23c6":function(t,e,n){var o=n("2d95"),r=n("2b4c")("toStringTag"),i="Arguments"==o(function(){return arguments}()),a=function(t,e){try{return t[e]}catch(n){}};t.exports=function(t){var e,n,l;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=a(e=Object(t),r))?n:i?o(e):"Object"==(l=o(e))&&"function"==typeof e.callee?"Arguments":l}},2621:function(t,e){e.f=Object.getOwnPropertySymbols},"2aba":function(t,e,n){var o=n("7726"),r=n("32e9"),i=n("69a8"),a=n("ca5a")("src"),l=n("fa5b"),s="toString",c=(""+l).split(s);n("8378").inspectSource=function(t){return l.call(t)},(t.exports=function(t,e,n,l){var s="function"==typeof n;s&&(i(n,"name")||r(n,"name",e)),t[e]!==n&&(s&&(i(n,a)||r(n,a,t[e]?""+t[e]:c.join(String(e)))),t===o?t[e]=n:l?t[e]?t[e]=n:r(t,e,n):(delete t[e],r(t,e,n)))})(Function.prototype,s,(function(){return"function"==typeof this&&this[a]||l.call(this)}))},"2aeb":function(t,e,n){var o=n("cb7c"),r=n("1495"),i=n("e11e"),a=n("613b")("IE_PROTO"),l=function(){},s="prototype",c=function(){var t,e=n("230e")("iframe"),o=i.length,r="<",a=">";e.style.display="none",n("fab2").appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(r+"script"+a+"document.F=Object"+r+"/script"+a),t.close(),c=t.F;while(o--)delete c[s][i[o]];return c()};t.exports=Object.create||function(t,e){var n;return null!==t?(l[s]=o(t),n=new l,l[s]=null,n[a]=t):n=c(),void 0===e?n:r(n,e)}},"2b4c":function(t,e,n){var o=n("5537")("wks"),r=n("ca5a"),i=n("7726").Symbol,a="function"==typeof i,l=t.exports=function(t){return o[t]||(o[t]=a&&i[t]||(a?i:r)("Symbol."+t))};l.store=o},"2d00":function(t,e){t.exports=!1},"2d95":function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},"2fdb":function(t,e,n){"use strict";var o=n("5ca1"),r=n("d2c8"),i="includes";o(o.P+o.F*n("5147")(i),"String",{includes:function(t){return!!~r(this,t,i).indexOf(t,arguments.length>1?arguments[1]:void 0)}})},"32e9":function(t,e,n){var o=n("86cc"),r=n("4630");t.exports=n("9e1e")?function(t,e,n){return o.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},"38fd":function(t,e,n){var o=n("69a8"),r=n("4bf8"),i=n("613b")("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),o(t,i)?t[i]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},"41a0":function(t,e,n){"use strict";var o=n("2aeb"),r=n("4630"),i=n("7f20"),a={};n("32e9")(a,n("2b4c")("iterator"),(function(){return this})),t.exports=function(t,e,n){t.prototype=o(a,{next:r(1,n)}),i(t,e+" Iterator")}},"456d":function(t,e,n){var o=n("4bf8"),r=n("0d58");n("5eda")("keys",(function(){return function(t){return r(o(t))}}))},4588:function(t,e){var n=Math.ceil,o=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?o:n)(t)}},4630:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},"4bf8":function(t,e,n){var o=n("be13");t.exports=function(t){return Object(o(t))}},5147:function(t,e,n){var o=n("2b4c")("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[o]=!1,!"/./"[t](e)}catch(r){}}return!0}},"520a":function(t,e,n){"use strict";var o=n("0bfb"),r=RegExp.prototype.exec,i=String.prototype.replace,a=r,l="lastIndex",s=function(){var t=/a/,e=/b*/g;return r.call(t,"a"),r.call(e,"a"),0!==t[l]||0!==e[l]}(),c=void 0!==/()??/.exec("")[1],u=s||c;u&&(a=function(t){var e,n,a,u,f=this;return c&&(n=new RegExp("^"+f.source+"$(?!\\s)",o.call(f))),s&&(e=f[l]),a=r.call(f,t),s&&a&&(f[l]=f.global?a.index+a[0].length:e),c&&a&&a.length>1&&i.call(a[0],n,(function(){for(u=1;u1?arguments[1]:void 0)}}),n("9c6c")("includes")},6821:function(t,e,n){var o=n("626a"),r=n("be13");t.exports=function(t){return o(r(t))}},"69a8":function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},"6a99":function(t,e,n){var o=n("d3f4");t.exports=function(t,e){if(!o(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!o(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!o(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!o(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")}},7333:function(t,e,n){"use strict";var o=n("0d58"),r=n("2621"),i=n("52a7"),a=n("4bf8"),l=n("626a"),s=Object.assign;t.exports=!s||n("79e5")((function(){var t={},e={},n=Symbol(),o="abcdefghijklmnopqrst";return t[n]=7,o.split("").forEach((function(t){e[t]=t})),7!=s({},t)[n]||Object.keys(s({},e)).join("")!=o}))?function(t,e){var n=a(t),s=arguments.length,c=1,u=r.f,f=i.f;while(s>c){var d,h=l(arguments[c++]),p=u?o(h).concat(u(h)):o(h),v=p.length,g=0;while(v>g)f.call(h,d=p[g++])&&(n[d]=h[d])}return n}:s},7726:function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},"77f1":function(t,e,n){var o=n("4588"),r=Math.max,i=Math.min;t.exports=function(t,e){return t=o(t),t<0?r(t+e,0):i(t,e)}},"79e5":function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},"7f20":function(t,e,n){var o=n("86cc").f,r=n("69a8"),i=n("2b4c")("toStringTag");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,i)&&o(t,i,{configurable:!0,value:e})}},8378:function(t,e){var n=t.exports={version:"2.6.5"};"number"==typeof __e&&(__e=n)},"84f2":function(t,e){t.exports={}},"86cc":function(t,e,n){var o=n("cb7c"),r=n("c69a"),i=n("6a99"),a=Object.defineProperty;e.f=n("9e1e")?Object.defineProperty:function(t,e,n){if(o(t),e=i(e,!0),o(n),r)try{return a(t,e,n)}catch(l){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},"9b43":function(t,e,n){var o=n("d8e8");t.exports=function(t,e,n){if(o(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,o){return t.call(e,n,o)};case 3:return function(n,o,r){return t.call(e,n,o,r)}}return function(){return t.apply(e,arguments)}}},"9c6c":function(t,e,n){var o=n("2b4c")("unscopables"),r=Array.prototype;void 0==r[o]&&n("32e9")(r,o,{}),t.exports=function(t){r[o][t]=!0}},"9def":function(t,e,n){var o=n("4588"),r=Math.min;t.exports=function(t){return t>0?r(o(t),9007199254740991):0}},"9e1e":function(t,e,n){t.exports=!n("79e5")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},a352:function(e,n){e.exports=t},a481:function(t,e,n){"use strict";var o=n("cb7c"),r=n("4bf8"),i=n("9def"),a=n("4588"),l=n("0390"),s=n("5f1b"),c=Math.max,u=Math.min,f=Math.floor,d=/\$([$&`']|\d\d?|<[^>]*>)/g,h=/\$([$&`']|\d\d?)/g,p=function(t){return void 0===t?t:String(t)};n("214f")("replace",2,(function(t,e,n,v){return[function(o,r){var i=t(this),a=void 0==o?void 0:o[e];return void 0!==a?a.call(o,i,r):n.call(String(i),o,r)},function(t,e){var r=v(n,t,this,e);if(r.done)return r.value;var f=o(t),d=String(this),h="function"===typeof e;h||(e=String(e));var m=f.global;if(m){var b=f.unicode;f.lastIndex=0}var y=[];while(1){var w=s(f,d);if(null===w)break;if(y.push(w),!m)break;var x=String(w[0]);""===x&&(f.lastIndex=l(d,i(f.lastIndex),b))}for(var E="",S=0,D=0;D=S&&(E+=d.slice(S,O)+A,S=O+_.length)}return E+d.slice(S)}];function g(t,e,o,i,a,l){var s=o+t.length,c=i.length,u=h;return void 0!==a&&(a=r(a),u=d),n.call(l,u,(function(n,r){var l;switch(r.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,o);case"'":return e.slice(s);case"<":l=a[r.slice(1,-1)];break;default:var u=+r;if(0===u)return n;if(u>c){var d=f(u/10);return 0===d?n:d<=c?void 0===i[d-1]?r.charAt(1):i[d-1]+r.charAt(1):n}l=i[u-1]}return void 0===l?"":l}))}}))},aae3:function(t,e,n){var o=n("d3f4"),r=n("2d95"),i=n("2b4c")("match");t.exports=function(t){var e;return o(t)&&(void 0!==(e=t[i])?!!e:"RegExp"==r(t))}},ac6a:function(t,e,n){for(var o=n("cadf"),r=n("0d58"),i=n("2aba"),a=n("7726"),l=n("32e9"),s=n("84f2"),c=n("2b4c"),u=c("iterator"),f=c("toStringTag"),d=s.Array,h={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},p=r(h),v=0;vu)if(l=s[u++],l!=l)return!0}else for(;c>u;u++)if((t||u in s)&&s[u]===n)return t||u||0;return!t&&-1}}},c649:function(t,e,n){"use strict";(function(t){n.d(e,"c",(function(){return c})),n.d(e,"a",(function(){return l})),n.d(e,"b",(function(){return r})),n.d(e,"d",(function(){return s}));n("a481");function o(){return"undefined"!==typeof window?window.console:t.console}var r=o();function i(t){var e=Object.create(null);return function(n){var o=e[n];return o||(e[n]=t(n))}}var a=/-(\w)/g,l=i((function(t){return t.replace(a,(function(t,e){return e?e.toUpperCase():""}))}));function s(t){null!==t.parentElement&&t.parentElement.removeChild(t)}function c(t,e,n){var o=0===n?t.children[0]:t.children[n-1].nextSibling;t.insertBefore(e,o)}}).call(this,n("c8ba"))},c69a:function(t,e,n){t.exports=!n("9e1e")&&!n("79e5")((function(){return 7!=Object.defineProperty(n("230e")("div"),"a",{get:function(){return 7}}).a}))},c8ba:function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(o){"object"===typeof window&&(n=window)}t.exports=n},ca5a:function(t,e){var n=0,o=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+o).toString(36))}},cadf:function(t,e,n){"use strict";var o=n("9c6c"),r=n("d53b"),i=n("84f2"),a=n("6821");t.exports=n("01f9")(Array,"Array",(function(t,e){this._t=a(t),this._i=0,this._k=e}),(function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,r(1)):r(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},cb7c:function(t,e,n){var o=n("d3f4");t.exports=function(t){if(!o(t))throw TypeError(t+" is not an object!");return t}},ce10:function(t,e,n){var o=n("69a8"),r=n("6821"),i=n("c366")(!1),a=n("613b")("IE_PROTO");t.exports=function(t,e){var n,l=r(t),s=0,c=[];for(n in l)n!=a&&o(l,n)&&c.push(n);while(e.length>s)o(l,n=e[s++])&&(~i(c,n)||c.push(n));return c}},d2c8:function(t,e,n){var o=n("aae3"),r=n("be13");t.exports=function(t,e,n){if(o(e))throw TypeError("String#"+n+" doesn't accept regex!");return String(r(t))}},d3f4:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},d53b:function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},d8e8:function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},e11e:function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},f559:function(t,e,n){"use strict";var o=n("5ca1"),r=n("9def"),i=n("d2c8"),a="startsWith",l=""[a];o(o.P+o.F*n("5147")(a),"String",{startsWith:function(t){var e=i(this,t,a),n=r(Math.min(arguments.length>1?arguments[1]:void 0,e.length)),o=String(t);return l?l.call(e,o,n):e.slice(n,n+o.length)===o}})},f6fd:function(t,e){(function(t){var e="currentScript",n=t.getElementsByTagName("script");e in t||Object.defineProperty(t,e,{get:function(){try{throw new Error}catch(o){var t,e=(/.*at [^\(]*\((.*):.+:.+\)$/gi.exec(o.stack)||[!1])[1];for(t in n)if(n[t].src==e||"interactive"==n[t].readyState)return n[t];return null}}})})(document)},f751:function(t,e,n){var o=n("5ca1");o(o.S+o.F,"Object",{assign:n("7333")})},fa5b:function(t,e,n){t.exports=n("5537")("native-function-to-string",Function.toString)},fab2:function(t,e,n){var o=n("7726").document;t.exports=o&&o.documentElement},fb15:function(t,e,n){"use strict";var o;(n.r(e),"undefined"!==typeof window)&&(n("f6fd"),(o=window.document.currentScript)&&(o=o.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))&&(n.p=o[1]));n("f751"),n("f559"),n("ac6a"),n("cadf"),n("456d");function r(t){if(Array.isArray(t))return t}function i(t,e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(t)){var n=[],o=!0,r=!1,i=void 0;try{for(var a,l=t[Symbol.iterator]();!(o=(a=l.next()).done);o=!0)if(n.push(a.value),e&&n.length===e)break}catch(s){r=!0,i=s}finally{try{o||null==l["return"]||l["return"]()}finally{if(r)throw i}}return n}}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=i?r.length:r.indexOf(t)}));return n?a.filter((function(t){return-1!==t})):a}function w(t,e){var n=this;this.$nextTick((function(){return n.$emit(t.toLowerCase(),e)}))}function x(t){var e=this;return function(n){null!==e.realList&&e["onDrag"+t](n),w.call(e,t,n)}}function E(t){return["transition-group","TransitionGroup"].includes(t)}function S(t){if(!t||1!==t.length)return!1;var e=c(t,1),n=e[0].componentOptions;return!!n&&E(n.tag)}function D(t,e,n){return t[n]||(e[n]?e[n]():void 0)}function _(t,e,n){var o=0,r=0,i=D(e,n,"header");i&&(o=i.length,t=t?[].concat(h(i),h(t)):h(i));var a=D(e,n,"footer");return a&&(r=a.length,t=t?[].concat(h(t),h(a)):h(a)),{children:t,headerOffset:o,footerOffset:r}}function O(t,e){var n=null,o=function(t,e){n=m(n,t,e)},r=Object.keys(t).filter((function(t){return"id"===t||t.startsWith("data-")})).reduce((function(e,n){return e[n]=t[n],e}),{});if(o("attrs",r),!e)return n;var i=e.on,a=e.props,l=e.attrs;return o("on",i),o("props",a),Object.assign(n.attrs,l),n}var C=["Start","Add","Remove","Update","End"],T=["Choose","Unchoose","Sort","Filter","Clone"],M=["Move"].concat(C,T).map((function(t){return"on"+t})),I=null,A={options:Object,list:{type:Array,required:!1,default:null},value:{type:Array,required:!1,default:null},noTransitionOnDrag:{type:Boolean,default:!1},clone:{type:Function,default:function(t){return t}},element:{type:String,default:"div"},tag:{type:String,default:null},move:{type:Function,default:null},componentData:{type:Object,required:!1,default:null}},N={name:"draggable",inheritAttrs:!1,props:A,data:function(){return{transitionMode:!1,noneFunctionalComponentMode:!1}},render:function(t){var e=this.$slots.default;this.transitionMode=S(e);var n=_(e,this.$slots,this.$scopedSlots),o=n.children,r=n.headerOffset,i=n.footerOffset;this.headerOffset=r,this.footerOffset=i;var a=O(this.$attrs,this.componentData);return t(this.getTag(),a,o)},created:function(){null!==this.list&&null!==this.value&&g["b"].error("Value and list props are mutually exclusive! Please set one or another."),"div"!==this.element&&g["b"].warn("Element props is deprecated please use tag props instead. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#element-props"),void 0!==this.options&&g["b"].warn("Options props is deprecated, add sortable options directly as vue.draggable item, or use v-bind. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#options-props")},mounted:function(){var t=this;if(this.noneFunctionalComponentMode=this.getTag().toLowerCase()!==this.$el.nodeName.toLowerCase()&&!this.getIsFunctional(),this.noneFunctionalComponentMode&&this.transitionMode)throw new Error("Transition-group inside component is not supported. Please alter tag value or remove transition-group. Current tag value: ".concat(this.getTag()));var e={};C.forEach((function(n){e["on"+n]=x.call(t,n)})),T.forEach((function(n){e["on"+n]=w.bind(t,n)}));var n=Object.keys(this.$attrs).reduce((function(e,n){return e[Object(g["a"])(n)]=t.$attrs[n],e}),{}),o=Object.assign({},this.options,n,e,{onMove:function(e,n){return t.onDragMove(e,n)}});!("draggable"in o)&&(o.draggable=">*"),this._sortable=new v.a(this.rootContainer,o),this.computeIndexes()},beforeDestroy:function(){void 0!==this._sortable&&this._sortable.destroy()},computed:{rootContainer:function(){return this.transitionMode?this.$el.children[0]:this.$el},realList:function(){return this.list?this.list:this.value}},watch:{options:{handler:function(t){this.updateOptions(t)},deep:!0},$attrs:{handler:function(t){this.updateOptions(t)},deep:!0},realList:function(){this.computeIndexes()}},methods:{getIsFunctional:function(){var t=this._vnode.fnOptions;return t&&t.functional},getTag:function(){return this.tag||this.element},updateOptions:function(t){for(var e in t){var n=Object(g["a"])(e);-1===M.indexOf(n)&&this._sortable.option(n,t[e])}},getChildrenNodes:function(){if(this.noneFunctionalComponentMode)return this.$children[0].$slots.default;var t=this.$slots.default;return this.transitionMode?t[0].child.$slots.default:t},computeIndexes:function(){var t=this;this.$nextTick((function(){t.visibleIndexes=y(t.getChildrenNodes(),t.rootContainer.children,t.transitionMode,t.footerOffset)}))},getUnderlyingVm:function(t){var e=b(this.getChildrenNodes()||[],t);if(-1===e)return null;var n=this.realList[e];return{index:e,element:n}},getUnderlyingPotencialDraggableComponent:function(t){var e=t.__vue__;return e&&e.$options&&E(e.$options._componentTag)?e.$parent:!("realList"in e)&&1===e.$children.length&&"realList"in e.$children[0]?e.$children[0]:e},emitChanges:function(t){var e=this;this.$nextTick((function(){e.$emit("change",t)}))},alterList:function(t){if(this.list)t(this.list);else{var e=h(this.value);t(e),this.$emit("input",e)}},spliceList:function(){var t=arguments,e=function(e){return e.splice.apply(e,h(t))};this.alterList(e)},updatePosition:function(t,e){var n=function(n){return n.splice(e,0,n.splice(t,1)[0])};this.alterList(n)},getRelatedContextFromMoveEvent:function(t){var e=t.to,n=t.related,o=this.getUnderlyingPotencialDraggableComponent(e);if(!o)return{component:o};var r=o.realList,i={list:r,component:o};if(e!==n&&r&&o.getUnderlyingVm){var a=o.getUnderlyingVm(n);if(a)return Object.assign(a,i)}return i},getVmIndex:function(t){var e=this.visibleIndexes,n=e.length;return t>n-1?n:e[t]},getComponent:function(){return this.$slots.default[0].componentInstance},resetTransitionData:function(t){if(this.noTransitionOnDrag&&this.transitionMode){var e=this.getChildrenNodes();e[t].data=null;var n=this.getComponent();n.children=[],n.kept=void 0}},onDragStart:function(t){this.context=this.getUnderlyingVm(t.item),t.item._underlying_vm_=this.clone(this.context.element),I=t.item},onDragAdd:function(t){var e=t.item._underlying_vm_;if(void 0!==e){Object(g["d"])(t.item);var n=this.getVmIndex(t.newIndex);this.spliceList(n,0,e),this.computeIndexes();var o={element:e,newIndex:n};this.emitChanges({added:o})}},onDragRemove:function(t){if(Object(g["c"])(this.rootContainer,t.item,t.oldIndex),"clone"!==t.pullMode){var e=this.context.index;this.spliceList(e,1);var n={element:this.context.element,oldIndex:e};this.resetTransitionData(e),this.emitChanges({removed:n})}else Object(g["d"])(t.clone)},onDragUpdate:function(t){Object(g["d"])(t.item),Object(g["c"])(t.from,t.item,t.oldIndex);var e=this.context.index,n=this.getVmIndex(t.newIndex);this.updatePosition(e,n);var o={element:this.context.element,oldIndex:e,newIndex:n};this.emitChanges({moved:o})},updateProperty:function(t,e){t.hasOwnProperty(e)&&(t[e]+=this.headerOffset)},computeFutureIndex:function(t,e){if(!t.element)return 0;var n=h(e.to.children).filter((function(t){return"none"!==t.style["display"]})),o=n.indexOf(e.related),r=t.component.getVmIndex(o),i=-1!==n.indexOf(I);return i||!e.willInsertAfter?r:r+1},onDragMove:function(t,e){var n=this.move;if(!n||!this.realList)return!0;var o=this.getRelatedContextFromMoveEvent(t),r=this.context,i=this.computeFutureIndex(o,t);Object.assign(r,{futureIndex:i});var a=Object.assign({},t,{relatedContext:o,draggedContext:r});return n(a,e)},onDragEnd:function(){this.computeIndexes(),I=null}}};"undefined"!==typeof window&&"Vue"in window&&window.Vue.component("draggable",N);var P=N;e["default"]=P}})["default"]}))}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-fc3919ee.a0a78a2c.js b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-fc3919ee.a0a78a2c.js new file mode 100644 index 0000000000000000000000000000000000000000..9e83abc78e4e9e4e8efcaf403d221e147dd12a69 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Host/wwwroot/static/js/chunk-fc3919ee.a0a78a2c.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-fc3919ee"],{"37c0":function(t,e,i){"use strict";var o,n=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",[i("el-dialog",{attrs:{title:"流程查看",visible:t.visible,width:"60%","close-on-click-modal":!1},on:{close:function(e){t.visible=!1}}},[i("workflowEditPanel",{ref:"workflowEditPanel",attrs:{nodeData:t.nodeData}}),i("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{size:"small"},on:{click:function(e){t.visible=!1}}},[t._v("取 消")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirm}},[t._v("确 定")])],1)],1)],1)},a=[],l=i("ade3"),r=i("0aef"),s={components:{workflowEditPanel:r["a"]},props:{},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",nodeData:{},data:{}}},methods:(o={confirm:function(){this.commit()},show:function(t){this.visible=!0,this.loadData(t.version,t.id)},hide:function(){this.visible=!1,this.value={},this.control={}},loadData:function(t){},commit:function(){this.hide()}},Object(l["a"])(o,"loadData",(function(t,e){var i=this,o=this;this.$store.dispatch("workflow/getWorkflowVersion",{versionid:t,id:e}).then((function(t){o.nodeData=0==t.drawingInfo.length?i.defaultNode():JSON.parse(t.drawingInfo),o.data=t,o.$refs.workflowEditPanel.loadNodeData()}))})),Object(l["a"])(o,"defaultNode",(function(){return{name:"",nodeList:[],lineList:[]}})),o)},c=s,u=i("2877"),d=Object(u["a"])(c,n,a,!1,null,null,null);e["a"]=d.exports},"416f":function(t,e,i){"use strict";i.r(e);var o=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{directives:[{name:"loading",rawName:"v-loading",value:t.loading.getPageList,expression:"loading.getPageList"}],staticClass:"app-container"},[i("div",[i("el-button",{attrs:{type:"primary",size:"small"},on:{click:function(e){return t.$refs.createForm.show()}}},[t._v("新增")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.getPageList}},[t._v("刷新")])],1),i("br"),i("el-table",{staticStyle:{width:"100%"},attrs:{data:t.tableData,border:""}},[i("el-table-column",{attrs:{type:"index",label:"序号",width:"60"}}),i("el-table-column",{attrs:{prop:"name",label:"名称",width:"220"}}),i("el-table-column",{attrs:{prop:"activeVersion",label:"版本",width:"60"}}),i("el-table-column",{attrs:{prop:"description",label:"描述"}}),i("el-table-column",{attrs:{prop:"modifiedTime",label:"更新日期",formatter:t.dateFormat,width:"150"}}),i("el-table-column",{attrs:{prop:"creationTime",label:"创建日期",formatter:t.dateFormat,width:"150"}}),i("el-table-column"),i("el-table-column",{attrs:{fixed:"right",label:"操作",width:"240"},scopedSlots:t._u([{key:"default",fn:function(e){return[i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return t.$refs.updateVersionForm.show(e.row)}}},[t._v("版本切换")]),i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return t.$router.push({path:"/workflowDesign/simulation",query:{id:e.row.id,versionId:e.row.activeVersion,name:e.row.name}})}}},[t._v("模拟")]),i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return t.$router.push({path:"/editworkflow/edit",query:{id:e.row.id,versionId:e.row.activeVersion,name:e.row.name,des:e.row.description}})}}},[t._v("编辑")]),i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return t.$refs.viewWorkflowForm.show({id:e.row.id,version:e.row.activeVersion,name:e.row.name})}}},[t._v("查看")]),i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return t.remove(e.row.id)}}},[t._v("删除")])]}}])})],1),i("br"),i("el-pagination",{attrs:{background:"",layout:"sizes,prev, pager, next",total:t.page.total,"page-size":t.page.maxResultCount,"current-page":t.page.currentPage},on:{"current-change":function(e){return t.paginationChange(null,e)},"size-change":function(e){return t.paginationChange(e)}}}),i("createForm",{ref:"createForm",on:{"ok-click":function(e){return t.$router.push({path:"/editworkflow/edit",query:{id:e.id,versionId:e.activeVersion,name:e.name,des:e.description}})}}}),i("updateVersionForm",{ref:"updateVersionForm",on:{"ok-click":function(e){return t.getPageList()}}}),i("viewWorkflowForm",{ref:"viewWorkflowForm"})],1)},n=[],a=i("ade3"),l=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",[i("el-dialog",{attrs:{title:"新增流程",visible:t.visible,width:"40%","close-on-click-modal":!1},on:{close:function(e){t.visible=!1}}},[i("el-form",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],ref:"form",staticClass:"demo-form",staticStyle:{width:"80%"},attrs:{model:t.form,rules:t.rules,"label-width":"100px","label-position":"right",size:"mini"}},[i("el-form-item",{attrs:{label:"名称",prop:"name","label-width":t.defaultLabelWidth}},[i("el-input",{attrs:{size:"mini",type:"text"},model:{value:t.form.name,callback:function(e){t.$set(t.form,"name",e)},expression:"form.name"}})],1),i("el-form-item",{attrs:{label:"描述",prop:"name","label-width":t.defaultLabelWidth}},[i("el-input",{attrs:{size:"mini",type:"textarea"},model:{value:t.form.des,callback:function(e){t.$set(t.form,"des",e)},expression:"form.des"}})],1)],1),i("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{size:"small"},on:{click:function(e){t.visible=!1}}},[t._v("取 消")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirm}},[t._v("确 定")])],1)],1)],1)},r=[],s=(i("d3b7"),i("159b"),i("b64b"),{props:{value:{id:1}},watch:{value:{handler:function(){},deep:!0},visible:function(t,e){!t&&e&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{name:""},rules:{name:[{required:!0,message:"请输入",trigger:"change"}]}}},methods:{confirm:function(){this.commit()},show:function(t){this.visible=!0,t&&this.loadData(t)},hide:function(){this.visible=!1,this.form={name:""}},loadData:function(t){var e=this;this.loading=!0,Object.keys(t).forEach((function(i){e.form[i]=t[i]})),this.loading=!1},commit:function(){var t=this;this.$refs["form"].validate((function(e){if(!e)return console.log("error submit!!"),!1;t.$store.dispatch("workflow/createWorkFlow",t.form).then((function(e){t.$emit("ok-click",e),t.hide()}))}))}}}),c=s,u=i("2877"),d=Object(u["a"])(c,l,r,!1,null,null,null),f=d.exports,m=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",[i("el-dialog",{attrs:{title:"切换版本",visible:t.visible,width:"40%","close-on-click-modal":!1},on:{close:function(e){t.visible=!1}}},[i("el-table",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],ref:"singleTable",staticStyle:{width:"100%",height:"40vh"},attrs:{data:t.selections},on:{"current-change":t.handleCurrentChange,"selection-change":t.handleSelectionChange}},[i("el-table-column",{attrs:{type:"index",width:"50"}}),i("el-table-column",{attrs:{property:"versionNo",label:"版本编号",width:"120"}}),i("el-table-column",{attrs:{property:"description",label:"描述"}}),i("el-table-column",{attrs:{property:"name",label:"状态"},scopedSlots:t._u([{key:"default",fn:function(e){return[e.row.versionNo==t.value.activeVersion?i("span",[t._v("激活")]):t._e()]}}])}),i("el-table-column",{attrs:{property:"name",label:"操作"},scopedSlots:t._u([{key:"default",fn:function(e){return[e.row.versionNo!=t.value.activeVersion?i("el-button",{attrs:{type:"text",size:"small"},on:{click:function(i){return t.updateActiveVersion(e.row)}}},[t._v("切换")]):t._e()]}}])})],1),i("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{size:"small"},on:{click:function(e){t.visible=!1}}},[t._v("取 消")]),i("el-button",{attrs:{type:"primary",size:"small"},on:{click:t.confirm}},[t._v("确 定")])],1)],1)],1)},h=[],p=i("5530"),g={props:{},watch:{visible:function(t,e){!t&&e&&this.hide()}},model:{prop:"value",event:"change"},data:function(){return{loading:!1,visible:!1,defaultLabelWidth:"150px",form:{},rules:{},currentRow:null,selections:[],value:{},multipleSelection:[]}},methods:{confirm:function(){this.commit()},show:function(t){this.visible=!0,this.value=Object(p["a"])({},t),this.loadData(this.value)},hide:function(){this.visible=!1,this.form={name:""}},loadData:function(t){var e=this;this.loading=!0,this.value=t,this.getAllWorkflowVersions(t.id).then((function(){e.loading=!1}))},getAllWorkflowVersions:function(t){var e=this;return this.$store.dispatch("workflow/getAllWorkflowVersions",{workflowId:t}).then((function(t){console.log(t),e.selections=t}))},updateActiveVersion:function(t){var e=this;this.loading=!0,this.$store.dispatch("workflow/updateWorkflowActiveVersion",{workflowId:t.workflowId,activeVersion:t.versionNo}).then((function(i){e.loading=!1,e.value.activeVersion=t.versionNo}))},commit:function(){this.$emit("ok-click",{}),this.hide()},handleCurrentChange:function(t){this.currentRow=t},handleSelectionChange:function(t){this.multipleSelection=t}}},v=g,w=Object(u["a"])(v,m,h,!1,null,null,null),b=w.exports,k=i("eb3e"),y=i("37c0"),x=i("13d9"),$=Object(a["a"])({components:{createForm:f,updateVersionForm:b,viewWorkflowForm:y["a"],simulation:x["default"]},mixins:[k["a"]],methods:{handleClick:function(t){console.log(t)}},data:function(){return{moduleName:"workflow",drawerSimulation:{show:!1,id:"",versionId:0,name:""}}},mounted:function(){this.getPageList()}},"methods",{getPageList:function(){var t=this;this.loading.getPageList=!0,this.$store.dispatch("workflow/getAllWorkflows",this.page).then((function(e){t.tableData=e.items,t.page.total=e.total,t.loading.getPageList=!1}))}}),_=$,P=Object(u["a"])(_,o,n,!1,null,null,null);e["default"]=P.exports},eb3e:function(t,e,i){"use strict";e["a"]={computed:{currentUserId:function(){return this.$store.state.user.user.id}},data:function(){return{moduleName:"",tableData:[],page:{total:100,maxResultCount:50,currentPage:1,conditions:[],sorting:"creationtime desc"},loading:{getPageList:!1}}},watch:{currentUserId:function(){this.getPageList&&this.getPageList()}},mounted:function(){this.getPageList()},methods:{dateFormat:function(t,e){var i=t[e.property];if(null===i)return"";var o=new Date(i);return o.getFullYear()+"-"+(o.getMonth()+1)+"-"+o.getDate()+" "+o.getHours()+":"+o.getMinutes()+":"+o.getSeconds()},paginationChange:function(t,e){t&&(this.page.maxResultCount=t),e&&(this.page.currentPage=e),this.getPageList()},create:function(){this.$refs.createForm.show()},edit:function(t){this.$refs.editForm.show(t)},getPageList:function(){var t=this;this.loading.getPageList=!0,this.page.skipCount=(this.page.currentPage-1)*this.page.maxResultCount,this.$store.dispatch(this.moduleName+"/getPageList",this.page).then((function(e){t.tableData=e.items,t.page.total=e.total,t.loading.getPageList=!1}))},remove:function(t){var e=this;this.$confirm("确认删除该记录?, 是否继续?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){e.$store.dispatch(e.moduleName+"/delete",{id:t}).then((function(t){e.$message({type:"success",message:"删除成功!"}),e.getPageList()}))})).catch((function(){e.$message({type:"info",message:"已取消删除"})}))}}}}}]); \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Test/EntityFrameworkCore/Samples/SampleRepositoryTests.cs b/WorkFlowCore/WorkFlowCore.Test/EntityFrameworkCore/Samples/SampleRepositoryTests.cs new file mode 100644 index 0000000000000000000000000000000000000000..66c1b815b6456357e497ff4c4408b4fbfb1420cd --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Test/EntityFrameworkCore/Samples/SampleRepositoryTests.cs @@ -0,0 +1,38 @@ +using Microsoft.EntityFrameworkCore; +using System; +using System.Linq; +using System.Threading.Tasks; +using Volo.Abp.Domain.Repositories; +using Xunit; + +namespace WorkFlowCore.EntityFrameworkCore.Samples; + +/* This is just an example test class. + * Normally, you don't test ABP framework code + * (like default AppUser repository IRepository here). + * Only test your custom repository methods. + */ +public class SampleRepositoryTests : WorkflowEntityFrameworkCoreTestBase +{ + public SampleRepositoryTests() + { + } + + [Fact] + public async Task Should_Query_AppUser() + { + /* Need to manually start Unit Of Work because + * FirstOrDefaultAsync should be executed while db connection / context is available. + */ + await WithUnitOfWorkAsync(async () => + { + ////Act + //var adminUser = await (await _appUserRepository.GetQueryableAsync()) + //.Where(u => u.UserName == "admin") + //.FirstOrDefaultAsync(); + + ////Assert + //adminUser.ShouldNotBeNull(); + }); + } +} diff --git a/WorkFlowCore/WorkFlowCore.Test/EntityFrameworkCore/WorkflowEntityFrameworkCoreTestBase.cs b/WorkFlowCore/WorkFlowCore.Test/EntityFrameworkCore/WorkflowEntityFrameworkCoreTestBase.cs new file mode 100644 index 0000000000000000000000000000000000000000..83ac895f0d98f99d0c4edac3372a8c4fdd9b9ed6 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Test/EntityFrameworkCore/WorkflowEntityFrameworkCoreTestBase.cs @@ -0,0 +1,9 @@ +using Volo.Abp; +using WorkFlowCore.Test.TestBases; + +namespace WorkFlowCore.EntityFrameworkCore; + +public abstract class WorkflowEntityFrameworkCoreTestBase : TestBase +{ + +} diff --git a/WorkFlowCore/WorkFlowCore.Test/EntityFrameworkCore/WorkflowEntityFrameworkCoreTestModule.cs b/WorkFlowCore/WorkFlowCore.Test/EntityFrameworkCore/WorkflowEntityFrameworkCoreTestModule.cs new file mode 100644 index 0000000000000000000000000000000000000000..52160a674803229fbc2427a52774eceb4ab4cc87 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Test/EntityFrameworkCore/WorkflowEntityFrameworkCoreTestModule.cs @@ -0,0 +1,67 @@ +using Microsoft.Data.Sqlite; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Storage; +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp; +using Volo.Abp.EntityFrameworkCore; +using Volo.Abp.EntityFrameworkCore.Sqlite; +using Volo.Abp.Modularity; +using Volo.Abp.Uow; +using WorkFlowCore.Framework; +using WorkFlowCore.Framework.Repositories4EF; +using WorkFlowCore.Test.TestBases; + +namespace WorkFlowCore.EntityFrameworkCore; + +[DependsOn( + typeof(WorkFlowCoreFrameworkModule), + typeof(TestBaseModule), + typeof(AbpEntityFrameworkCoreSqliteModule) + )] +public class WorkflowEntityFrameworkCoreTestModule : AbpModule +{ + private SqliteConnection? _sqliteConnection; + + public override void ConfigureServices(ServiceConfigurationContext context) + { + + + ConfigureInMemorySqlite(context.Services); + } + + private void ConfigureInMemorySqlite(IServiceCollection services) + { + _sqliteConnection = CreateDatabaseAndGetConnection(); + + services.Configure(options => + { + options.Configure(context => + { + context.DbContextOptions.UseSqlite(_sqliteConnection); + }); + }); + } + + public override void OnApplicationShutdown(ApplicationShutdownContext context) + { + _sqliteConnection?.Dispose(); + } + + private static SqliteConnection CreateDatabaseAndGetConnection() + { + var connection = new SqliteConnection("Data Source=:memory:"); + connection.Open(); + + var options = new DbContextOptionsBuilder() + .UseSqlite(connection) + .Options; + + using (var context = new WorkflowDbContext(options)) + { + context.GetService().CreateTables(); + } + + return connection; + } +} diff --git a/WorkFlowCore/WorkFlowCore.Test/Plugins/PluginTestBase.cs b/WorkFlowCore/WorkFlowCore.Test/Plugins/PluginTestBase.cs new file mode 100644 index 0000000000000000000000000000000000000000..836adc2e4c1e24341a4745fd3bf49de01f19bf04 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Test/Plugins/PluginTestBase.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WorkFlowCore.EntityFrameworkCore; +using WorkFlowCore.Test.TestBases; + +namespace WorkFlowCore.Test.Plugins +{ + public abstract class PluginTestBase : TestBase + { + } +} diff --git a/WorkFlowCore/WorkFlowCore.Test/Plugins/PluginTestModule.cs b/WorkFlowCore/WorkFlowCore.Test/Plugins/PluginTestModule.cs new file mode 100644 index 0000000000000000000000000000000000000000..87210f7295aa94a2ae2a8baf2fbc84b502a646fd --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Test/Plugins/PluginTestModule.cs @@ -0,0 +1,36 @@ +using Autofac.Core; +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.DependencyInjection; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; +using Volo.Abp.Modularity; +using WorkFlowCore.Conditions; +using WorkFlowCore.EntityFrameworkCore; +using WorkFlowCore.Framework; +using WorkFlowCore.Plugins; +using WorkFlowCore.UserSelectors; + +namespace WorkFlowCore.Test.Plugins +{ + [DependsOn(typeof(WorkflowEntityFrameworkCoreTestModule))] + public class PluginTestModule:AbpModule + { + public override void PreConfigureServices(ServiceConfigurationContext context) + { + + + base.PreConfigureServices(context); + + } + public override void ConfigureServices(ServiceConfigurationContext context) + { + base.ConfigureServices(context); + + + } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Test/Plugins/Plugin_Test.cs b/WorkFlowCore/WorkFlowCore.Test/Plugins/Plugin_Test.cs new file mode 100644 index 0000000000000000000000000000000000000000..183771263852f24d7ca780c0591f0be94651ab8f --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Test/Plugins/Plugin_Test.cs @@ -0,0 +1,53 @@ +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; +using NUnit.Framework; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WorkFlowCore.Conditions; +using WorkFlowCore.Framework; +using WorkFlowCore.Framework.Repositories4EF; +using WorkFlowCore.Plugins; +using WorkFlowCore.UserSelectors; +using WorkFlowCore.IRepositories; + +namespace WorkFlowCore.Test.Plugins +{ + public class Plugin_Test:PluginTestBase + { + + [Test] + public async Task AddPlugin() + { + + IOptions pluginOptions = GetRequiredService>(); + var plugin = new Plugin(new PluginId("test", "name", "fullName"), "", ""); + var pluginManager = GetRequiredService(); + await pluginManager.AddPlugin(plugin, File.Open(@"D:\VSProject\WorkFlowCore\WorkFlowCore\WorkFlowCore\Plugins\Conditions\Condition_PluginDemo\bin\Debug\net6.0\net6.0.zip", FileMode.Open)); + + Assert.IsTrue(Directory.Exists(plugin.GetFilePath(pluginOptions.Value.BasePath))); + + } + + [Test] + public async Task RemovePlugin() + { + IOptions pluginOptions = GetRequiredService>(); + var plugin = new Plugin(new PluginId("test", "name", "fullName"), "", ""); + var pluginManager = GetRequiredService(); + await pluginManager.AddPlugin(plugin, File.Open(@"D:\VSProject\WorkFlowCore\WorkFlowCore\WorkFlowCore\Plugins\Conditions\Condition_PluginDemo\bin\Debug\net6.0.zip", FileMode.Open)); + + IBasicRepository pluginRepository = GetRequiredService>(); + var pluginInfo = await pluginRepository.GetAsync(p=>p.PluginId_ClassName=="test" && p.PluginId_EntryFullName == "fullName" && p.PluginId_Name =="name"); + await pluginManager.RemovePlugin(pluginInfo?.Id??Guid.NewGuid()); + Assert.IsTrue(!Directory.Exists(plugin.GetFilePath(pluginOptions.Value.BasePath))); + + } + } + + +} diff --git a/WorkFlowCore/WorkFlowCore.Test/Repositories/Repositories_Test.cs b/WorkFlowCore/WorkFlowCore.Test/Repositories/Repositories_Test.cs deleted file mode 100644 index 15aab6ac5ee6951a39e1823bb3b6b9061b4d06fe..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore.Test/Repositories/Repositories_Test.cs +++ /dev/null @@ -1,71 +0,0 @@ -using Microsoft.Extensions.DependencyInjection; -using NUnit.Framework; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using WorkFlowCore.Framework; -using WorkFlowCore.IRepositories; - -namespace WorkFlowCore.Test.Repositories -{ - public class Repositories_Test - { - private IServiceProvider serviceProvider; - [SetUp] - public void SetUp() - { - ServiceCollection services = new ServiceCollection(); - services.AddWorkFlowCoreFramework(); - services.AddTransient(); - serviceProvider = services.BuildServiceProvider(); - } - - [Test] - public void CURD() - { - var testRepository = serviceProvider.GetService>(); - var result =testRepository.InsertAsync(new TestEntity() { Number=111,Name="name111"}).Result; - Assert.IsTrue(testRepository.GetListAsync().Result.Where(t => t.Number == 111).Any()); - } - - [Test] - public void CURDWithUnitOfWorkCommit() - { - var unitOfWorkManager =serviceProvider.GetService(); - using(var unitOfWork = unitOfWorkManager.Begin()) - { - var testRepository = serviceProvider.GetService>(); - var result = testRepository.InsertAsync(new TestEntity() { Number = 222, Name = "name222" }).Result; - unitOfWork.Commit(); - Assert.IsTrue(testRepository.GetListAsync().Result.Where(t => t.Number == 222).Any()); - } - } - - [Test] - public void CURDWithUnitOfWorkNotCommit() - { - var unitOfWorkManager = serviceProvider.GetService(); - using (var unitOfWork = unitOfWorkManager.Begin()) - { - var testRepository = serviceProvider.GetService>(); - var result = testRepository.InsertAsync(new TestEntity() { Number = 333, Name = "name333" }).Result; - Assert.IsTrue(!testRepository.GetListAsync().Result.Where(t => t.Number == 333).Any()); - } - } - - - - public class TestEntity: WithBaseInfoEntity - { - public int Number { get; set; } - public string Name { get; set; } - - public object[] GetKeys() - { - return GetType().GetProperties().Select(p => p.Name).ToArray(); - } - } - } -} diff --git a/WorkFlowCore/WorkFlowCore.Test/TestBases/TestBase.cs b/WorkFlowCore/WorkFlowCore.Test/TestBases/TestBase.cs new file mode 100644 index 0000000000000000000000000000000000000000..d669d4362a2a16ba3c9bb3c01c126b128130f568 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Test/TestBases/TestBase.cs @@ -0,0 +1,63 @@ +using Microsoft.Extensions.DependencyInjection; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Volo.Abp.Modularity; +using Volo.Abp.Testing; +using Volo.Abp.Uow; +using Volo.Abp; + +namespace WorkFlowCore.Test.TestBases +{ + public class TestBase : AbpIntegratedTest + where TStartupModule : IAbpModule + { + protected override void SetAbpApplicationCreationOptions(AbpApplicationCreationOptions options) + { + options.UseAutofac(); + } + + protected virtual Task WithUnitOfWorkAsync(Func func) + { + return WithUnitOfWorkAsync(new AbpUnitOfWorkOptions(), func); + } + + protected virtual async Task WithUnitOfWorkAsync(AbpUnitOfWorkOptions options, Func action) + { + using (var scope = ServiceProvider.CreateScope()) + { + var uowManager = scope.ServiceProvider.GetRequiredService(); + + using (var uow = uowManager.Begin(options)) + { + await action(); + + await uow.CompleteAsync(); + } + } + } + + protected virtual Task WithUnitOfWorkAsync(Func> func) + { + return WithUnitOfWorkAsync(new AbpUnitOfWorkOptions(), func); + } + + protected virtual async Task WithUnitOfWorkAsync(AbpUnitOfWorkOptions options, Func> func) + { + using (var scope = ServiceProvider.CreateScope()) + { + var uowManager = scope.ServiceProvider.GetRequiredService(); + + using (var uow = uowManager.Begin(options)) + { + var result = await func(); + await uow.CompleteAsync(); + return result; + } + } + } + } + +} \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Test/TestBases/TestBaseModule.cs b/WorkFlowCore/WorkFlowCore.Test/TestBases/TestBaseModule.cs new file mode 100644 index 0000000000000000000000000000000000000000..231b2565205b96723c13041dab4810ffb6bf6674 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Test/TestBases/TestBaseModule.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Volo.Abp.Autofac; +using Volo.Abp.Modularity; +using Volo.Abp.Threading; +using Volo.Abp; +using Autofac.Core; +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.DependencyInjection; + +namespace WorkFlowCore.Test.TestBases +{ + + [DependsOn( + typeof(AbpAutofacModule), + typeof(AbpTestBaseModule) + )] + public class TestBaseModule : AbpModule + { + public override void PreConfigureServices(ServiceConfigurationContext context) + { + + } + + public override void ConfigureServices(ServiceConfigurationContext context) + { + context.Services.AddSingleton(); + } + + public override void OnApplicationInitialization(ApplicationInitializationContext context) + { + + } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Test/UnitTest1.cs b/WorkFlowCore/WorkFlowCore.Test/UnitTest1.cs deleted file mode 100644 index 328f09c8437313a570bf32cb3b0ce29add25d934..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore.Test/UnitTest1.cs +++ /dev/null @@ -1,24 +0,0 @@ -using NUnit.Framework; -using System.Collections.Generic; -using WorkFlowCore.Framework.Repositories; -using System.Linq.Expressions; -using System.Linq; - -namespace WorkFlowCore.Test -{ - public class Tests - { - [SetUp] - public void Setup() - { - } - - [Test] - public void CreateWorkflow() - { - - - - } - } -} \ No newline at end of file diff --git a/WorkFlowCore/WorkFlowCore.Test/WorkFlowCore.Test.csproj b/WorkFlowCore/WorkFlowCore.Test/WorkFlowCore.Test.csproj index 5c1cc46dd92c9363c84f594bbeffd4d9f33b0b24..26462516eae74010bce96775edc5c49d271a7f12 100644 --- a/WorkFlowCore/WorkFlowCore.Test/WorkFlowCore.Test.csproj +++ b/WorkFlowCore/WorkFlowCore.Test/WorkFlowCore.Test.csproj @@ -1,18 +1,20 @@  - netcoreapp3.1 + net6.0 false - - + + + + diff --git a/WorkFlowCore/WorkFlowCore.Test/Workflow/WorkflowTestBase.cs b/WorkFlowCore/WorkFlowCore.Test/Workflow/WorkflowTestBase.cs new file mode 100644 index 0000000000000000000000000000000000000000..87afa387a27d01878d8ea3d4e6a28c62e2ac59a5 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Test/Workflow/WorkflowTestBase.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WorkFlowCore.EntityFrameworkCore; +using WorkFlowCore.Test.TestBases; + +namespace WorkFlowCore.Test.Workflow +{ + public abstract class WorkflowTestBase : TestBase + { + } +} diff --git a/WorkFlowCore/WorkFlowCore.Test/Workflow/WorkflowTestModule.cs b/WorkFlowCore/WorkFlowCore.Test/Workflow/WorkflowTestModule.cs new file mode 100644 index 0000000000000000000000000000000000000000..b772ec002f9ad257b242ceddcf40a43eca5c4004 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Test/Workflow/WorkflowTestModule.cs @@ -0,0 +1,37 @@ +using Autofac.Core; +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.DependencyInjection; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; +using Volo.Abp.Modularity; +using WorkFlowCore.Conditions; +using WorkFlowCore.EntityFrameworkCore; +using WorkFlowCore.Framework; +using WorkFlowCore.UserSelectors; + +namespace WorkFlowCore.Test.Workflow +{ + [DependsOn(typeof(WorkflowEntityFrameworkCoreTestModule))] + public class WorkflowTestModule:AbpModule + { + public override void ConfigureServices(ServiceConfigurationContext context) + { + base.ConfigureServices(context); + + var services = context.Services; + + var assembly = Assembly.GetExecutingAssembly(); + + //项目实现的 + UserSelectorManager.RegisterSelector(services, assembly); + ConditionManager.Registercondition(services, assembly); + + + + } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Test/Workflow/Workflow_Test.cs b/WorkFlowCore/WorkFlowCore.Test/Workflow/Workflow_Test.cs index f42cccd6529776ace9ea770d1a70d3d06a4d7c12..9c2aecd94f9b83466401b8321a9601538abbc4de 100644 --- a/WorkFlowCore/WorkFlowCore.Test/Workflow/Workflow_Test.cs +++ b/WorkFlowCore/WorkFlowCore.Test/Workflow/Workflow_Test.cs @@ -10,72 +10,34 @@ using System.Text; using WorkFlowCore.Common.EventBus; using WorkFlowCore.Conditions; using WorkFlowCore.Framework; -using WorkFlowCore.Framework.Repositories; +using WorkFlowCore.Framework.Conditions; using WorkFlowCore.Framework.Repositories4EF; using WorkFlowCore.IRepositories; +using WorkFlowCore.Test.TestBases; using WorkFlowCore.Test.Workflow.Conditions; using WorkFlowCore.Test.Workflow.UserSelectors; using WorkFlowCore.UserSelectors; using WorkFlowCore.Workflows; using WorkFlowCore.WorkTasks; +using Xunit; namespace WorkFlowCore.Test.Workflow { - public class Workflow_Test + public class Workflow_Test: WorkflowTestBase { - private IServiceProvider serviceProvider; - [SetUp] - public void Setup() + public Workflow_Test() { - ServiceCollection services = new ServiceCollection(); - UserSelectorManager.RegisterSelector(GetType().Assembly); - ConditionManager.RegisterCondition(GetType().Assembly); - - services.AddWorkFlowCore(config => - { - config.RegisterSelector(GetType().Assembly); - config.RegisterCondition(GetType().Assembly); - }); - - services.AddWorkFlowCoreFramework(options=>options.OrmType = WorkFlowCoreFrameworkService.FrameworkConfigOrmType.EF); - - services.AddDbContext(op => - { - ////这里按需切换数据库链接使用。 - //op.UseSqlServer(Configuration.GetConnectionString("Default")); //此处链接是SqlServer链接字符串 如: "Data Source=HY-PTJD-XR002;Initial Catalog=WorkFlowCore1;User Id=sa;Password=12345678;connect Timeout=30;" - op.UseMySql("Database=WorkflowCore;Data Source=39.101.74.14;Port=3308;UserId=root;Password=ShiHuiDai123!;Charset=utf8;TreatTinyAsBoolean=false;Allow User Variables=True", new MySqlServerVersion("8.0.26")); - //op.UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking); - }); - - - - services.AddScoped(); - services.AddScoped(); - - var configurationBuilder = new ConfigurationBuilder(); - var configuration = configurationBuilder.Build(); - services.AddSingleton(configuration); - - services.AddDefautEventBus(typeof(WorkFlowCoreFrameworkService).Assembly); - - - BasicRepository.ClearData(); - BasicRepository.ClearData(); - BasicRepository.ClearData(); - BasicRepository.ClearData(); - - serviceProvider = services.BuildServiceProvider(); - serviceProvider.InitGlobalEventBus(); + var workflowManager = GetRequiredService(); } - [Test] + [Fact] public Workflows.Workflow CreateWorkflow(string workflowNo=null) { - var workflowManager = serviceProvider.GetService(); + var workflowManager = GetRequiredService(); workflowManager.CreateWorkflow(workflowNo??"wfno", "name", "des").Wait(); - var workflowRepository = serviceProvider.GetService>(); + var workflowRepository = GetRequiredService>(); var wf = workflowRepository.GetAsync(w => w.WorkflowNo == (workflowNo ?? "wfno")).Result; Assert.IsTrue(wf.WorkflowNo.Equals(workflowNo??"wfno")); return wf; @@ -83,11 +45,11 @@ namespace WorkFlowCore.Test.Workflow [Test] public void UpdateWorkflow() { - var workflowManager = serviceProvider.GetService(); + var workflowManager = GetRequiredService(); CreateWorkflow(); - var workflowRepository = serviceProvider.GetService>(); + var workflowRepository = GetRequiredService>(); var wf = workflowRepository.GetAsync(w => w.WorkflowNo == "wfno").Result; @@ -171,15 +133,16 @@ namespace WorkFlowCore.Test.Workflow { UpdateWorkflow(); - var workflowManager = serviceProvider.GetService(); + var workflowManager = GetRequiredService(); + var workTaskManager = GetRequiredService(); - var workflowRepository = serviceProvider.GetService>(); + var workflowRepository = GetRequiredService>(); var wf = workflowManager.GetWorkflowByNo("wfno").Result; WorkflowId workflowId = new WorkflowId(wf.ActiveVersion, wf.Id); - var worktask = workflowManager.CreateWorkTask ( workflowId, "测试流程", JsonConvert.SerializeObject(new { x = 2, y = 1 }), "", "","").Result; + var worktask = workTaskManager.CreateWorkTask ( workflowId, "测试流程", JsonConvert.SerializeObject(new { x = 2, y = 1 }), "", "","").Result; - var steps = workflowManager.WorkTaskStart(worktask.Id).Result; + var steps = workTaskManager.WorkTaskStart(worktask.Id).Result; List fxSteps = steps; @@ -187,40 +150,40 @@ namespace WorkFlowCore.Test.Workflow //分叉节点审批 foreach (var step in steps) { - steps = HandleStep(WorkStepHandleType.Pass, "分叉节点审批通过", workflowManager, step.Id); + steps = HandleStep(WorkStepHandleType.Pass, "分叉节点审批通过", workTaskManager, step.Id); } //分叉节点撤回 foreach (var step in fxSteps) { - steps = HandleStep(WorkStepHandleType.Withdraw, "分叉节点撤回", workflowManager, step.Id); + steps = HandleStep(WorkStepHandleType.Withdraw, "分叉节点撤回", workTaskManager, step.Id); } //分叉节点重新审批 foreach (var step in steps) { - steps = HandleStep(WorkStepHandleType.Pass, "分叉节点审批重新通过", workflowManager, step.Id); + steps = HandleStep(WorkStepHandleType.Pass, "分叉节点审批重新通过", workTaskManager, step.Id); } //中间节点1审批 - HandleStep(WorkStepHandleType.Pass, "中间节点1审批", workflowManager, steps[0].Id); + HandleStep(WorkStepHandleType.Pass, "中间节点1审批", workTaskManager, steps[0].Id); //中间节点1撤回 - steps = HandleStep(WorkStepHandleType.Withdraw, "中间节点1撤回", workflowManager, steps[0].Id); + steps = HandleStep(WorkStepHandleType.Withdraw, "中间节点1撤回", workTaskManager, steps[0].Id); //中间节点1审批 - steps = HandleStep(WorkStepHandleType.Pass, "中间节点1重新审批", workflowManager, steps[0].Id); + steps = HandleStep(WorkStepHandleType.Pass, "中间节点1重新审批", workTaskManager, steps[0].Id); //会签节点审批 foreach (var step in steps) { - steps = HandleStep(WorkStepHandleType.Pass, "会签节点审批", workflowManager, step.Id); + steps = HandleStep(WorkStepHandleType.Pass, "会签节点审批", workTaskManager, step.Id); } //获取所有过程输出 - var historySteps = workflowManager.GetAllTaskStepsOfWorkTaskAsync(worktask.Id).Result; + var historySteps = workTaskManager.GetAllTaskStepsOfWorkTaskAsync(worktask.Id).Result; historySteps.ForEach(st => { @@ -228,16 +191,16 @@ namespace WorkFlowCore.Test.Workflow }); } - private static List HandleStep(WorkStepHandleType workStepHandleType, string comment, WorkflowManager workflowManager, Guid stepId) + private static List HandleStep(WorkStepHandleType workStepHandleType, string comment, WorkTaskManager workTaskManager, Guid stepId) { List worksteps = new List(); List newsteps = null; if (workStepHandleType == WorkStepHandleType.Pass) - newsteps = workflowManager.PassApprove(stepId, comment).Result.WorkSteps; + newsteps = workTaskManager.PassApprove(stepId, comment).Result.WorkSteps; else if (workStepHandleType == WorkStepHandleType.Reject) - newsteps = workflowManager.RejectApprove(stepId, comment).Result.WorkSteps; + newsteps = workTaskManager.RejectApprove(stepId, comment).Result.WorkSteps; else if (workStepHandleType == WorkStepHandleType.Withdraw) - newsteps = workflowManager.Withdraw(stepId, comment).Result.WorkSteps; + newsteps = workTaskManager.Withdraw(stepId, comment).Result.WorkSteps; //step.Handle(workStepHandleType, comment); @@ -249,11 +212,12 @@ namespace WorkFlowCore.Test.Workflow [Test] public void SubProcessWorkflow() { - var workflowManager = serviceProvider.GetService(); + var workflowManager = GetRequiredService(); + + var workTaskManager = GetRequiredService(); - - var workflowRepository = serviceProvider.GetService>(); + var workflowRepository = GetRequiredService>(); var workflowNo = Guid.NewGuid().ToString(); CreateWorkflow(workflowNo); @@ -320,19 +284,19 @@ namespace WorkFlowCore.Test.Workflow //模拟审批 - var worktask = workflowManager.CreateWorkTask(workflowId, "测试流程", JsonConvert.SerializeObject(new { x = 2, y = 1 }), "", "", "").Result; + var worktask = workTaskManager.CreateWorkTask(workflowId, "测试流程", JsonConvert.SerializeObject(new { x = 2, y = 1 }), "", "", "").Result; - var steps = workflowManager.WorkTaskStart(worktask.Id).Result; + var steps = workTaskManager.WorkTaskStart(worktask.Id).Result; List handlingSteps = null; do { - steps = workflowManager.GetAllTaskStepsOfWorkTaskAsync(worktask.Id).Result; + steps = workTaskManager.GetAllTaskStepsOfWorkTaskAsync(worktask.Id).Result; handlingSteps = steps.Where(s => !s.IsHandled).ToList(); foreach (var handlingStep in handlingSteps) { - HandleStep(WorkStepHandleType.Pass, "审批通过", workflowManager, handlingStep.Id); + HandleStep(WorkStepHandleType.Pass, "审批通过", workTaskManager, handlingStep.Id); } } while (handlingSteps.Any()); @@ -342,7 +306,7 @@ namespace WorkFlowCore.Test.Workflow //获取所有过程输出 - var historySteps = workflowManager.GetAllTaskStepsOfWorkTaskAsync(worktask.Id).Result; + var historySteps = workTaskManager.GetAllTaskStepsOfWorkTaskAsync(worktask.Id).Result; historySteps.ForEach(st => { @@ -351,6 +315,12 @@ namespace WorkFlowCore.Test.Workflow + } + [Test] + public void Condition_Test() + { + var condition = new JsonCondition(); + condition.CanAccept(null); } } } diff --git a/WorkFlowCore/WorkFlowCore/Conditions/ConditionManager.cs b/WorkFlowCore/WorkFlowCore/Conditions/ConditionManager.cs index 7aa1e8721282b78620ae61807930ad7a671d69c5..68a38f9672e40fe8a10f91f87beeb5701e721b99 100644 --- a/WorkFlowCore/WorkFlowCore/Conditions/ConditionManager.cs +++ b/WorkFlowCore/WorkFlowCore/Conditions/ConditionManager.cs @@ -9,19 +9,12 @@ namespace WorkFlowCore.Conditions { public class ConditionManager { - private IServiceProvider serviceProvider; private static object objLock = new object(); static ConditionManager() { AllConditions = new List(); } - public ConditionManager(IServiceProvider serviceProvider) - { - this.serviceProvider = serviceProvider; - } - - /// /// 所有条件 /// @@ -81,7 +74,7 @@ namespace WorkFlowCore.Conditions if (condition == null) return null; try { - return (ICondition)serviceProvider.GetService(condition.ConditionType); + return (ICondition)Activator.CreateInstance(condition.ConditionType); } catch (Exception) { diff --git a/WorkFlowCore/WorkFlowCore/EventBus/EventBusManager.cs b/WorkFlowCore/WorkFlowCore/EventBus/EventBusManager.cs deleted file mode 100644 index d1de8cd90f80c64e867c31f808f5c8dbd16901bc..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore/EventBus/EventBusManager.cs +++ /dev/null @@ -1,41 +0,0 @@ -using Microsoft.Extensions.DependencyInjection; -using System; -using System.Collections.Generic; -using System.Text; - -namespace WorkFlowCore.EventBus -{ - /// - /// 全局静态事件帮助类,便于在其它非注入渠道发起事件 - /// - public class EventBusManager - { - private static IServiceProvider serviceProvider; - internal static void Init(IServiceProvider serviceProvider) - { - EventBusManager.serviceProvider = serviceProvider; - } - - public IEventBus Instance() - { - return (IEventBus)serviceProvider.GetService(typeof(IEventBus)); - } - - public void Trigger(TData data) where TData:BaseEventData - { - if (data == null) return; - var services =serviceProvider.GetServices(); - foreach (var service in services) - { - try - { - service.Trigger(data); - } - catch (Exception ex) - { - Console.Error.WriteLine(ex.ToString()); - } - } - } - } -} diff --git a/WorkFlowCore/WorkFlowCore/EventBus/EventBusService.cs b/WorkFlowCore/WorkFlowCore/EventBus/EventBusService.cs deleted file mode 100644 index 95027bc13332945da8034deffb4041ca307506f3..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore/EventBus/EventBusService.cs +++ /dev/null @@ -1,53 +0,0 @@ -using WorkFlowCore.EventBus.Implements.Kafka; -using Microsoft.Extensions.DependencyInjection; -using System; -using System.Collections.Generic; -using System.Reflection; -using System.Text; -using Microsoft.AspNetCore.Builder; -using Microsoft.Extensions.Configuration; - -namespace WorkFlowCore.EventBus -{ - public static class EventBusService - { - - public static IServiceCollection AddDefautEventBus(this IServiceCollection services,params Assembly[] assemblies) - { - services.AddSingleton(typeof(IEventBus), typeof(DefaultEventBus)); - services.AddSingleton(typeof(DefaultEventBus)); - foreach (var assembly in assemblies) - { - DefaultEventBus.RegistSubscriptions(assembly); - } - services.AddSingleton(); - return services; - } - public static IServiceCollection AddKafkaEventBus(this IServiceCollection services, Action options) - { - services.AddSingleton(typeof(IEventBus), typeof(KafkaEventBus)); - services.AddSingleton(typeof(KafkaEventBus)); - var config = new KafkaEventConfig(); - options?.Invoke(config); - services.AddSingleton(provider => config); - services.AddSingleton(); - return services; - } - public static IApplicationBuilder InitGlobalEventBus(this IApplicationBuilder app) - { - //注册普通事件,该事件订阅在单应用有效无法分布式 - EventBusManager.Init(app.ApplicationServices); - - //注册kafka作为分布式事件 - var kafkaEventBus = app.ApplicationServices.GetService(); - var config = app.ApplicationServices.GetService(); - var configuration = app.ApplicationServices.GetService(); - Console.WriteLine("servers:" + configuration["KafkaBootstrapServers"]); - if (kafkaEventBus!=null&&config!=null && config.RegisterAssemblies != null) - kafkaEventBus.RegistSubscriptions(config.RegisterAssemblies); - - return app; - - } - } -} diff --git a/WorkFlowCore/WorkFlowCore/EventBus/IEventBus.cs b/WorkFlowCore/WorkFlowCore/EventBus/IEventBus.cs deleted file mode 100644 index 60f2940f33e74171f4104de4e4d5ccec207f8718..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore/EventBus/IEventBus.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace WorkFlowCore.EventBus -{ - public interface IEventBus - { - void SubscribeEventHandler(Type eventDataType, Type handlerType); - void UnsubscribeEventHandler(Type eventDataType, Type handlerType); - void SubscribeEventHandler() where THandler : IEventHandler where TData : BaseEventData; - void UnsubscribeEventHandler() where THandler : IEventHandler where TData : BaseEventData; - void Trigger(TData data); - } -} diff --git a/WorkFlowCore/WorkFlowCore/EventBus/IEventHandler.cs b/WorkFlowCore/WorkFlowCore/EventBus/IEventHandler.cs deleted file mode 100644 index 4f92c5ddbc00eaa65f35c91cd881ccd754e3c7c4..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore/EventBus/IEventHandler.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace WorkFlowCore.EventBus -{ - public interface IEventHandler - { - - } - - public interface IEventHandler: IEventHandler where TData:BaseEventData - { - void Handle(TData data); - } -} diff --git a/WorkFlowCore/WorkFlowCore/EventBus/Implements/Default/DefaultEventBus.cs b/WorkFlowCore/WorkFlowCore/EventBus/Implements/Default/DefaultEventBus.cs deleted file mode 100644 index 85588cfdd9b2c3ab2e3e13a54ecff9fb44022227..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore/EventBus/Implements/Default/DefaultEventBus.cs +++ /dev/null @@ -1,123 +0,0 @@ -using Microsoft.Extensions.DependencyInjection; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using System.Text; - -namespace WorkFlowCore.EventBus -{ - public class DefaultEventBus : IEventBus - { - private IServiceProvider serviceProvider; - private static object objLock = new object(); - - public DefaultEventBus(IServiceProvider serviceProvider) - { - this.serviceProvider = serviceProvider; - } - - private static Dictionary> eventSubscribes; - static DefaultEventBus() - { - eventSubscribes = new Dictionary>(); - } - - private static void Subscribe(Type eventDataType, Type handlerType) - { - lock (objLock) - { - if (!eventSubscribes.ContainsKey(eventDataType)) - eventSubscribes.Add(eventDataType, new List { }); - } - - eventSubscribes[eventDataType].Add(handlerType); - - - } - - private static void Unsubscribe(Type eventDataType, Type handlerType) - { - if (!eventSubscribes.ContainsKey(eventDataType)) return; - - if (eventSubscribes[eventDataType].Contains(handlerType)) - eventSubscribes[eventDataType].Remove(handlerType); - } - - public static void Subscribe() where THandler : IEventHandler where TData:BaseEventData - { - Subscribe(typeof(TData), typeof(THandler)); - } - public static void Subscribe() where EventHandler : IEventHandler - { - var handlerType = typeof(EventHandler); - Subscribe(handlerType); - } - - public static void Subscribe(Type handlerType) - { - var interfaceType = handlerType.GetInterfaces().FirstOrDefault(i => i.IsGenericType); - if (interfaceType != null) - { - var dataType = interfaceType.GetGenericArguments()[0]; - Subscribe(dataType, handlerType); - } - else throw new Exception($"{handlerType.FullName} 需实现 {typeof(IEventHandler<>).FullName}"); - } - - - - /// - /// 从 程序集注册 - /// - /// - public static void RegistSubscriptions(params Assembly[] assemblies) - { - foreach (var assembly in assemblies) - { - var types = assembly.GetTypes().Where(t => typeof(IEventHandler).IsAssignableFrom(t)); - - foreach (var type in types) - { - Subscribe(type); - } - } - } - - public void Trigger(TData data) - { - var eventDataType =typeof(TData); - if (!eventSubscribes.ContainsKey(eventDataType)) return; - var handlerTypes = eventSubscribes[eventDataType]; - handlerTypes.ForEach(handlerType => - { - using(var scope = serviceProvider.CreateScope()) - { - var handler = scope.ServiceProvider.GetService(handlerType); - handlerType.GetMethod("Handle", new Type[] { eventDataType }).Invoke(handler, new object[] { data }); - } - - }); - } - - public void SubscribeEventHandler(Type eventDataType, Type handlerType) - { - Subscribe(eventDataType, handlerType); - } - - public void SubscribeEventHandler() where THandler : IEventHandler where TData : BaseEventData - { - Subscribe(); - } - - public void UnsubscribeEventHandler(Type eventDataType, Type handlerType) - { - Unsubscribe(eventDataType, handlerType); - } - - public void UnsubscribeEventHandler() where THandler : IEventHandler where TData : BaseEventData - { - Unsubscribe(typeof(TData), typeof(THandler)); - } - } -} diff --git a/WorkFlowCore/WorkFlowCore/EventBus/Implements/Kafka/KafkaEventBus.cs b/WorkFlowCore/WorkFlowCore/EventBus/Implements/Kafka/KafkaEventBus.cs deleted file mode 100644 index 5485ed0653993960e41101dfc74599fa119978ce..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore/EventBus/Implements/Kafka/KafkaEventBus.cs +++ /dev/null @@ -1,222 +0,0 @@ -using WorkFlowCore.EventBus.Implements.Kafka; -using Confluent.Kafka; -using Microsoft.Extensions.DependencyInjection; -using Newtonsoft.Json; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using System.Text; -using System.Threading; -using System.Threading.Tasks; - -namespace WorkFlowCore.EventBus -{ - public class KafkaEventBus : IEventBus - { - private IServiceProvider serviceProvider; - private readonly KafkaEventConfig eventConfig; - private static object objLock = new object(); - - public KafkaEventBus(IServiceProvider serviceProvider, KafkaEventConfig eventConfig) - { - this.serviceProvider = serviceProvider; - this.eventConfig = eventConfig; - Console.WriteLine(eventConfig.Servers); - } - - private static Dictionary> eventSubscribes; - private static Dictionary eventSubscribeCancellationTokenSources; - static KafkaEventBus() - { - eventSubscribes = new Dictionary>(); - eventSubscribeCancellationTokenSources = new Dictionary(); - } - - private void SubscribeAsync(Type eventDataType, Type handlerType) - { - - var subscribesKey = eventDataType.FullName + handlerType.FullName; - - - if (eventSubscribes.ContainsKey(subscribesKey)) return; - //不做标记的不处理 - var topicAttr = eventDataType.GetCustomAttribute(); - if (topicAttr == null) return; - var toptic = string.IsNullOrEmpty(topicAttr.Topic)?eventDataType.FullName: topicAttr.Topic; - - var groupIdAttr = handlerType.GetCustomAttribute(); - if (groupIdAttr == null) return; - var groupId = string.IsNullOrEmpty(groupIdAttr.GroupId)?handlerType.FullName: groupIdAttr.GroupId; - var conf = new ConsumerConfig - { - GroupId = groupId, - BootstrapServers = eventConfig.Servers, - AutoOffsetReset = AutoOffsetReset.Earliest, - EnableAutoCommit = false, - }; - - CancellationTokenSource cts = new CancellationTokenSource(); - var c = new ConsumerBuilder(conf).Build(); - c.Subscribe(toptic); - lock (objLock) - { - if (!eventSubscribes.ContainsKey(subscribesKey)) - eventSubscribes.Add(subscribesKey, c); - if (!eventSubscribeCancellationTokenSources.ContainsKey(subscribesKey)) - eventSubscribeCancellationTokenSources.Add(subscribesKey, cts); - } - - try - { - while (!cts.IsCancellationRequested) - { - try - { - var cr = c.Consume(cts.Token); - Console.WriteLine($"Consumed message '{cr.Message}' at: '{cr.TopicPartitionOffset}'."); - - var data = JsonConvert.DeserializeObject(cr.Message.Value, eventDataType); - using (var scope = serviceProvider.CreateScope()) - { - var handler = scope.ServiceProvider.GetService(handlerType); - handlerType.GetMethod("Handle", new Type[] { eventDataType }).Invoke(handler, new object[] { data }); - } - c.Commit(cr); - } - catch (ConsumeException e) - { - Console.WriteLine($"Error occured: {e.Error.Reason}"); - } - catch (Exception e) - { - Console.WriteLine($"Error occured: {e.ToString()}"); - } - } - } - catch (OperationCanceledException) - { - // Ensure the consumer leaves the group cleanly and final offsets are committed. - c.Close(); - } - finally - { - if (c != null) - { - c.Close(); - c.Dispose(); - } - } - } - - - private void Subscribe(Type eventDataType, Type handlerType) - { - Task.Run(() => - { - SubscribeAsync(eventDataType, handlerType); - }); - } - - - - private void Unsubscribe(Type eventDataType, Type handlerType) - { - var subscribesKey = eventDataType.FullName + handlerType.FullName; - - if (eventSubscribes.ContainsKey(subscribesKey)) eventSubscribes[subscribesKey].Unsubscribe(); - if (eventSubscribeCancellationTokenSources.ContainsKey(subscribesKey)) eventSubscribeCancellationTokenSources[subscribesKey].Cancel(); - - } - - public void Subscribe() where THandler : IEventHandler where TData : BaseEventData - { - Subscribe(typeof(TData), typeof(THandler)); - } - public void Subscribe() where EventHandler : IEventHandler - { - var handlerType = typeof(EventHandler); - Subscribe(handlerType); - } - - public void Subscribe(Type handlerType) - { - var interfaceType = handlerType.GetInterfaces().FirstOrDefault(i => i.IsGenericType); - if (interfaceType != null) - { - var dataType = interfaceType.GetGenericArguments()[0]; - Subscribe(dataType, handlerType); - } - else throw new Exception($"{handlerType.FullName} 需实现 {typeof(IEventHandler<>).FullName}"); - } - - - - /// - /// 从 程序集注册 - /// - /// - public void RegistSubscriptions(params Assembly[] assemblies) - { - foreach (var assembly in assemblies) - { - var types = assembly.GetTypes().Where(t => typeof(IEventHandler).IsAssignableFrom(t)); - - foreach (var type in types) - { - Subscribe(type); - } - } - } - - private void TriggerEvent(TData data) - { - if (data == null) return; - var conf = new ProducerConfig { BootstrapServers = eventConfig.Servers }; - - Action> handler = r => - Console.WriteLine(!r.Error.IsError - ? $"Delivered message to {r.TopicPartitionOffset}" - : $"Delivery Error: {r.Error.Reason}"); - //不做标记不处理 - var topicAttr = typeof(TData).GetCustomAttribute(); - var toptic = topicAttr != null ? topicAttr.Topic : typeof(TData).FullName; - - using (var p = new ProducerBuilder(conf).Build()) - { - p.Produce(toptic, new Message { Value = JsonConvert.SerializeObject(data) }, handler); - - // wait for up to 10 seconds for any inflight messages to be delivered. - p.Flush(TimeSpan.FromSeconds(10)); - } - } - - public void Trigger(TData data) - { - Task.Run(() => - { - TriggerEvent(data); - }); - } - - public void SubscribeEventHandler(Type eventDataType, Type handlerType) - { - Subscribe(eventDataType, handlerType); - } - - public void SubscribeEventHandler() where THandler : IEventHandler where TData : BaseEventData - { - Subscribe(); - } - - public void UnsubscribeEventHandler(Type eventDataType, Type handlerType) - { - Unsubscribe(eventDataType, handlerType); - } - - public void UnsubscribeEventHandler() where THandler : IEventHandler where TData : BaseEventData - { - Unsubscribe(typeof(TData), typeof(THandler)); - } - } -} diff --git a/WorkFlowCore/WorkFlowCore/EventBus/Implements/Kafka/KafkaEventConfig.cs b/WorkFlowCore/WorkFlowCore/EventBus/Implements/Kafka/KafkaEventConfig.cs deleted file mode 100644 index 2c262d2ec31b5c3b62ac31848f287c9c39a3c680..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore/EventBus/Implements/Kafka/KafkaEventConfig.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Reflection; -using System.Text; - -namespace WorkFlowCore.EventBus.Implements.Kafka -{ - public class KafkaEventConfig - { - public string Servers { get; set; } - public Assembly[] RegisterAssemblies { get; set; } - } -} diff --git a/WorkFlowCore/WorkFlowCore/EventBus/Implements/Kafka/KafkaEventConsumerAttribute.cs b/WorkFlowCore/WorkFlowCore/EventBus/Implements/Kafka/KafkaEventConsumerAttribute.cs deleted file mode 100644 index 4223a8cbac80bf2d615e5f552d3c59dab30bcd95..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore/EventBus/Implements/Kafka/KafkaEventConsumerAttribute.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace WorkFlowCore.EventBus.Implements.Kafka -{ - public class KafkaEventConsumerAttribute : Attribute - { - public string GroupId { get; set; } - - public KafkaEventConsumerAttribute(string groupId=null) - { - GroupId = groupId; - } - } -} diff --git a/WorkFlowCore/WorkFlowCore/EventBus/Implements/Kafka/KafkaEventTopicAttribute.cs b/WorkFlowCore/WorkFlowCore/EventBus/Implements/Kafka/KafkaEventTopicAttribute.cs deleted file mode 100644 index a9c5643ddae60cd09432a00e56177ce388c7fb29..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore/EventBus/Implements/Kafka/KafkaEventTopicAttribute.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace WorkFlowCore.EventBus.Implements.Kafka -{ - public class KafkaEventTopicAttribute: Attribute - { - public string Topic { get; set; } - - public KafkaEventTopicAttribute(string topic=null) - { - Topic = topic; - } - } -} diff --git a/WorkFlowCore/WorkFlowCore/FormDesigns/FormDesign.cs b/WorkFlowCore/WorkFlowCore/FormDesigns/FormDesign.cs new file mode 100644 index 0000000000000000000000000000000000000000..0fc0746c1a1b51c109653054ceb6ce8d0d18c77f --- /dev/null +++ b/WorkFlowCore/WorkFlowCore/FormDesigns/FormDesign.cs @@ -0,0 +1,54 @@ +using System; +using System.Collections.Generic; +using System.Text; +using WorkFlowCore.IRepositories; + +namespace WorkFlowCore.FormDesigns +{ + public class FormDesign:WithBaseInfoEntity + { + public FormDesign() + { + } + + public FormDesign(string formType, string title, string description, WorkflowId4FormDesign workflowId) + { + FormType = formType; + Title = title; + Description = description; + WorkflowId = workflowId; + ActiveVersion = 1; + } + + + + public void SetActiveVersion(int activeVersion) + { + ActiveVersion = activeVersion; + } + /// + /// 如果未设置则设置激活版本 + /// + /// + public void SetActiveVersionIfEmpty(int activeVersion) + { + if (ActiveVersion == null) + ActiveVersion = activeVersion; + } + + public void Update(string formType, string title, string description, WorkflowId4FormDesign workflowId) + { + FormType = formType; + //Title = title; + Description = description; + WorkflowId = workflowId; + } + + public string FormType { get; set; } + public string Title { get; set; } + public string Description { get; set; } + public int? ActiveVersion { get; set; } + public WorkflowId4FormDesign WorkflowId { get; set; } + + } +} diff --git a/WorkFlowCore/WorkFlowCore/FormDesigns/FormDesignExtension.cs b/WorkFlowCore/WorkFlowCore/FormDesigns/FormDesignExtension.cs new file mode 100644 index 0000000000000000000000000000000000000000..2509c12aaa94ee0c1fc390609560a316a179d6e9 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore/FormDesigns/FormDesignExtension.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace WorkFlowCore.FormDesigns +{ + public static class FormDesignExtension + { + public static FormDesign ToFormDesign(this FormDesignInfo formDesignInfo) + { + var formDesign = new FormDesign(); + + + formDesign.WorkflowId = new WorkflowId4FormDesign(formDesignInfo.WorkflowId_Id, formDesignInfo.WorkflowId_Version); + formDesign.FormType = formDesignInfo.FormType; + formDesign.Title = formDesignInfo.Title; + formDesign.Description = formDesignInfo.Description; + formDesign.ActiveVersion = formDesignInfo.ActiveVersion; + + + formDesign.ModifiedTime = formDesignInfo.ModifiedTime; + formDesign.ModifiedUserId = formDesignInfo.ModifiedUserId; + formDesign.CreationTime = formDesignInfo.CreationTime; + formDesign.CreatedUserId = formDesignInfo.CreatedUserId; + formDesign.Deleted = formDesignInfo.Deleted; + formDesign.DeletedUserId = formDesignInfo.DeletedUserId; + formDesign.DeletedTime = formDesignInfo.DeletedTime; + formDesign.Id = formDesignInfo.Id; + + return formDesign; + } + + public static FormDesignInfo ToFormDesignInfo(this FormDesign formDesign, FormDesignInfo formDesignInfo = null) + { + if (formDesignInfo == null) + formDesignInfo = new FormDesignInfo(); + + + if (formDesign.WorkflowId != null) + { + formDesignInfo.WorkflowId_Id = formDesign.WorkflowId.Id; + formDesignInfo.WorkflowId_Version = formDesign.WorkflowId.Version; + } + + + formDesignInfo.FormType = formDesign.FormType; + formDesignInfo.Title = formDesign.Title; + formDesignInfo.Description = formDesign.Description; + formDesignInfo.ActiveVersion = formDesign.ActiveVersion; + + + formDesignInfo.ModifiedTime = formDesign.ModifiedTime; + formDesignInfo.ModifiedUserId = formDesign.ModifiedUserId; + formDesignInfo.CreatedUserId = formDesign.CreatedUserId; + formDesignInfo.Deleted = formDesign.Deleted; + formDesignInfo.DeletedUserId = formDesign.DeletedUserId; + formDesignInfo.DeletedTime = formDesign.DeletedTime; + formDesignInfo.Id = formDesign.Id; + + return formDesignInfo; + } + } +} diff --git a/WorkFlowCore/WorkFlowCore/FormDesigns/FormDesignId.cs b/WorkFlowCore/WorkFlowCore/FormDesigns/FormDesignId.cs new file mode 100644 index 0000000000000000000000000000000000000000..90fd3196973e4ebbc0d605ba80e7dcdee57af378 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore/FormDesigns/FormDesignId.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace WorkFlowCore.FormDesigns +{ + public class FormDesignId + { + public FormDesignId() + { + } + + public FormDesignId(Guid formDesignId, int version) + { + Id = formDesignId; + Version = version; + } + + public Guid Id { get; set; } + public int Version { get; set; } + } +} diff --git a/WorkFlowCore/WorkFlowCore/FormDesigns/FormDesignInfo.cs b/WorkFlowCore/WorkFlowCore/FormDesigns/FormDesignInfo.cs new file mode 100644 index 0000000000000000000000000000000000000000..2a70c28fa0974672436536d56c78de8e325018d4 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore/FormDesigns/FormDesignInfo.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Text; +using WorkFlowCore.IRepositories; + +namespace WorkFlowCore.FormDesigns +{ + public class FormDesignInfo : WithBaseInfoEntity + { + public FormDesignInfo() + { + } + + + + public string FormType { get; set; } + public string Title { get; set; } + public string Description { get; set; } + public int? ActiveVersion { get; set; } + public Guid WorkflowId_Id { get; set; } + public int WorkflowId_Version { get; set; } + + } +} diff --git a/WorkFlowCore/WorkFlowCore/FormDesigns/FormDesignManager.cs b/WorkFlowCore/WorkFlowCore/FormDesigns/FormDesignManager.cs new file mode 100644 index 0000000000000000000000000000000000000000..4a4649df2a4136431aeb1af0b6c574727b132483 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore/FormDesigns/FormDesignManager.cs @@ -0,0 +1,110 @@ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Volo.Abp.Domain.Services; +using WorkFlowCore.IRepositories; + +namespace WorkFlowCore.FormDesigns +{ + public class FormDesignManager: IDomainService + { + private readonly IBasicRepository formDesignRepository; + private readonly IBasicRepository formDesignVersionRepository; + + public FormDesignManager(IBasicRepository formDesignRepository, IBasicRepository formDesignVersionRepository) + { + this.formDesignRepository = formDesignRepository; + this.formDesignVersionRepository = formDesignVersionRepository; + } + + public async Task CreateFormDesign(string formType, string title, string description, WorkflowId4FormDesign workflowId) + { + var formDesignInfo = await formDesignRepository.GetAsync(f => f.WorkflowId_Id == workflowId.Id && f.WorkflowId_Version == workflowId.Version); + if (formDesignInfo != null) + { + throw new Exception("一个流程版本只能有一个表单设计,考虑在现有设计基础增加版本"); + } + + FormDesign formDesign = new FormDesign(formType, title, description,workflowId); + + + await formDesignRepository.InsertAsync(formDesign.ToFormDesignInfo()); + return formDesign; + } + + public async Task UpdateFormDesignVersion(FormDesignId formDesignId, string formType, string title, string description, string designContent, WorkflowId4FormDesign workflowId) + { + FormDesignInfo formDesignInfo = await formDesignRepository.GetAsync(f => f.Id == formDesignId.Id); + FormDesign formDesign = formDesignInfo.ToFormDesign(); + formDesign.Update(formType, title, description,workflowId); + formDesign.SetActiveVersionIfEmpty(formDesignId.Version); + + await formDesignRepository.UpdateAsync(formDesign.ToFormDesignInfo(formDesignInfo)); + var formDesignVersion = await formDesignVersionRepository.GetAsync(f => f.FormDesignId == formDesignId.Id && f.Version == formDesignId.Version); + + if (formDesignVersion == null) + { + formDesignVersion = new FormDesignVersion(formDesignId.Id, formDesignId.Version, designContent); + return await formDesignVersionRepository.InsertAsync(formDesignVersion); + } + else + { + formDesignVersion.Update(designContent); + return await formDesignVersionRepository.UpdateAsync(formDesignVersion); + } + } + + public async Task GetFormDesignVersion(FormDesignId formDesignId) + { + return await formDesignVersionRepository.GetAsync(f => f.FormDesignId == formDesignId.Id && f.Version == formDesignId.Version); + } + + public async Task GetFormDesignActiveVersion(WorkflowId4FormDesign workflowId) + { + var formDesign = await formDesignRepository.GetAsync(f=>f.WorkflowId_Id==workflowId.Id && f.WorkflowId_Version==workflowId.Version); + if (formDesign == null) return null; + + return await formDesignVersionRepository.GetAsync(f => f.FormDesignId == formDesign.Id && f.Version == formDesign.ActiveVersion); + } + + public async Task DeleteFormDesign(Guid formDesignId) + { + FormDesignInfo formDesignInfo = await formDesignRepository.GetAsync(f => f.Id == formDesignId); + FormDesign formDesign = formDesignInfo.ToFormDesign(); + await formDesignRepository.DeleteAsync(formDesign.ToFormDesignInfo(formDesignInfo)); + var formDesignVersions = await formDesignVersionRepository.GetListAsync(f => f.FormDesignId == formDesignId); + foreach (var formDesignVersion in formDesignVersions) + { + formDesignVersion.Delete(); + await formDesignVersionRepository.UpdateAsync(formDesignVersion); + } + } + + public async Task> GetAllFormDesignVersions(Guid formDesignId) + { + var formDesignVersions = await formDesignVersionRepository.GetListAsync(f => f.FormDesignId == formDesignId && !f.Deleted); + var formDesignInfo = await formDesignRepository.GetAsync(f => f.Id == formDesignId && !f.Deleted); + var formDesign = formDesignInfo.ToFormDesign(); + if (formDesign == null) return new List(); + return formDesignVersions.Select(f => + { + var fd = new FormDesign(formDesign.FormType, formDesign.Title, formDesign.Description,formDesign.WorkflowId); + fd.SetActiveVersion(f.Version); + fd.Id = formDesign.Id; + return fd; + }).ToList(); + } + + public async Task SetActiveVersion(FormDesignId id) + { + FormDesignInfo formDesignInfo = await formDesignRepository.GetAsync(f => f.Id == id.Id); + FormDesign formDesign = formDesignInfo.ToFormDesign(); + formDesign.SetActiveVersion(id.Version); + await formDesignRepository.UpdateAsync(formDesign.ToFormDesignInfo(formDesignInfo)); + } + + } +} diff --git a/WorkFlowCore/WorkFlowCore/FormDesigns/FormDesignVersion.cs b/WorkFlowCore/WorkFlowCore/FormDesigns/FormDesignVersion.cs new file mode 100644 index 0000000000000000000000000000000000000000..36b7db2afca567376ba783c957f05360f524ec20 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore/FormDesigns/FormDesignVersion.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using System.Text; +using WorkFlowCore.IRepositories; + +namespace WorkFlowCore.FormDesigns +{ + public class FormDesignVersion : WithBaseInfoEntity + { + public FormDesignVersion() + { + } + + public FormDesignVersion(Guid formDesignId, int version, string designContent) + { + FormDesignId = formDesignId; + Version = version; + DesignContent = designContent; + } + + public FormDesignId GetFormDesignId() + { + return new FormDesignId(FormDesignId, Version); + } + + public void Update(string designContent) + { + DesignContent = designContent; + } + + internal void Delete() + { + Deleted= true; + DeletedTime= DateTime.Now; + } + + public Guid FormDesignId { get; set; } + public int Version { get; set; } + public string DesignContent { get; set; } + + } +} diff --git a/WorkFlowCore/WorkFlowCore/FormDesigns/WorkflowId4FormDesign.cs b/WorkFlowCore/WorkFlowCore/FormDesigns/WorkflowId4FormDesign.cs new file mode 100644 index 0000000000000000000000000000000000000000..52af1bd12ccce514f68a6ebb078d23406144e8a4 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore/FormDesigns/WorkflowId4FormDesign.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace WorkFlowCore.FormDesigns +{ + public class WorkflowId4FormDesign + { + public WorkflowId4FormDesign() + { + } + + public WorkflowId4FormDesign(Guid workflowId, int version) + { + Id = workflowId; + Version = version; + } + + public Guid Id { get; set; } + public int Version { get; set; } + } +} diff --git a/WorkFlowCore/WorkFlowCore/IRepositories/IBasicRepository.cs b/WorkFlowCore/WorkFlowCore/IRepositories/IBasicRepository.cs index 3430d90431cf9adf4ad5533e4b99244980f3f0e2..1cd23e6ac2b95f5fbc4beba92c5e23467b8af0b6 100644 --- a/WorkFlowCore/WorkFlowCore/IRepositories/IBasicRepository.cs +++ b/WorkFlowCore/WorkFlowCore/IRepositories/IBasicRepository.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using System.Linq.Expressions; using System.Threading; using System.Threading.Tasks; +using Volo.Abp.Domain.Entities; namespace WorkFlowCore.IRepositories { diff --git a/WorkFlowCore/WorkFlowCore/IRepositories/IEntity.cs b/WorkFlowCore/WorkFlowCore/IRepositories/IEntity.cs deleted file mode 100644 index 8035700e8873568b2d8784a13cb32cb86f14f937..0000000000000000000000000000000000000000 --- a/WorkFlowCore/WorkFlowCore/IRepositories/IEntity.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.Text; - -namespace WorkFlowCore.IRepositories -{ - - /// - /// Defines an entity. It's primary key may not be "Id" or it may have a composite primary key. - /// Use where possible for better integration to repositories and other structures in the framework. - /// - public interface IEntity - { - /// - /// Returns an array of ordered keys for this entity. - /// - /// - object[] GetKeys(); - } - - /// - /// Defines an entity with a single primary key with "Id" property. - /// - /// Type of the primary key of the entity - public interface IEntity : IEntity - { - /// - /// Unique identifier for this entity. - /// - TKey Id { get; set; } - } -} diff --git a/WorkFlowCore/WorkFlowCore/IRepositories/IReadOnlyBasicRepository.cs b/WorkFlowCore/WorkFlowCore/IRepositories/IReadOnlyBasicRepository.cs index 76e9a7b25b74199870f27c3b5c07d23bfd010ff9..860efd31b22167c7c859033a31021974a92c4ea6 100644 --- a/WorkFlowCore/WorkFlowCore/IRepositories/IReadOnlyBasicRepository.cs +++ b/WorkFlowCore/WorkFlowCore/IRepositories/IReadOnlyBasicRepository.cs @@ -4,6 +4,8 @@ using System.Threading.Tasks; using System.Linq.Expressions; using JetBrains.Annotations; using System; +using Volo.Abp.Domain.Repositories; +using Volo.Abp.Domain.Entities; namespace WorkFlowCore.IRepositories { diff --git a/WorkFlowCore/WorkFlowCore/IRepositories/IWithBaseInfoEntity.cs b/WorkFlowCore/WorkFlowCore/IRepositories/IWithBaseInfoEntity.cs index 6602df88e88ffb4e43991bfc42999a6084983017..f8a0e1ea172d686fd84ffce910eba6ac928c935d 100644 --- a/WorkFlowCore/WorkFlowCore/IRepositories/IWithBaseInfoEntity.cs +++ b/WorkFlowCore/WorkFlowCore/IRepositories/IWithBaseInfoEntity.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; +using Volo.Abp.Domain.Entities; namespace WorkFlowCore.IRepositories { diff --git a/WorkFlowCore/WorkFlowCore/IRepositories/IWorkflowRepository.cs b/WorkFlowCore/WorkFlowCore/IRepositories/IWorkflowRepository.cs new file mode 100644 index 0000000000000000000000000000000000000000..6d52d24e18fad75a3d5e21fdffe49cc168c25c5a --- /dev/null +++ b/WorkFlowCore/WorkFlowCore/IRepositories/IWorkflowRepository.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Threading.Tasks; +using WorkFlowCore.Workflows; +using WorkFlowCore.WorkTasks; + +namespace WorkFlowCore.IRepositories +{ + public interface IWorkflowRepository : IBasicRepository + { + Task> GetAllWorkflowsWithVersion(); + } +} diff --git a/WorkFlowCore/WorkFlowCore/IRepositories/IUnitOfWork.cs b/WorkFlowCore/WorkFlowCore/IRepositories/UnitOfWorkExtension.cs similarity index 30% rename from WorkFlowCore/WorkFlowCore/IRepositories/IUnitOfWork.cs rename to WorkFlowCore/WorkFlowCore/IRepositories/UnitOfWorkExtension.cs index 2aa7c1857bdb44f198dc971437de109bedc9ac3a..49cb1a5763ff36f136060c0140d03193ded17afb 100644 --- a/WorkFlowCore/WorkFlowCore/IRepositories/IUnitOfWork.cs +++ b/WorkFlowCore/WorkFlowCore/IRepositories/UnitOfWorkExtension.cs @@ -1,21 +1,30 @@ using System; using System.Collections.Generic; using System.Text; +using Volo.Abp.Uow; namespace WorkFlowCore.IRepositories { - public interface IUnitOfWork:IDisposable - { - - bool Commit(); - bool IsActive(); - } - - public static class IUnitOfWorkExtension + public static class UnitOfWorkExtension { public static T Commit(this IUnitOfWork unitOfWork, T succeedResult, T failedResult) { - return unitOfWork.Commit() ? succeedResult : failedResult; + try + { + unitOfWork.SaveChangesAsync().Wait(); + return succeedResult; + } + catch (Exception ex) + { + Console.Error.WriteLine(ex.Message); + Console.Error.WriteLine(ex.ToString()); + return failedResult; + } + } + + public static bool Commit(this IUnitOfWork unitOfWork) + { + return Commit(unitOfWork, true, false); } } } diff --git a/WorkFlowCore/WorkFlowCore/IRepositories/WithBaseInfoEntity.cs b/WorkFlowCore/WorkFlowCore/IRepositories/WithBaseInfoEntity.cs index 024cb7178ea7cdd442464da4c5fee5ba46d5e888..b2b8a7371ae4d0f40074c61ac40cf251e909b75e 100644 --- a/WorkFlowCore/WorkFlowCore/IRepositories/WithBaseInfoEntity.cs +++ b/WorkFlowCore/WorkFlowCore/IRepositories/WithBaseInfoEntity.cs @@ -1,8 +1,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Text; - namespace WorkFlowCore.IRepositories { @@ -22,6 +20,11 @@ namespace WorkFlowCore.IRepositories { return GetType().GetProperties().Select(p => p.Name).ToArray(); } + + public bool IsTransient() + { + return false; + } } public class WithBaseInfoEntity : WithBaseInfoEntity { } } diff --git a/WorkFlowCore/WorkFlowCore/EventBus/BaseEventData.cs b/WorkFlowCore/WorkFlowCore/Plugins/ManifestWithConfig.cs similarity index 33% rename from WorkFlowCore/WorkFlowCore/EventBus/BaseEventData.cs rename to WorkFlowCore/WorkFlowCore/Plugins/ManifestWithConfig.cs index 40840deccbfa523f02e8bedc7d0d6a91a8dc3df9..598daf2ae8b37f821bf9ebd1a04c650dc18ace58 100644 --- a/WorkFlowCore/WorkFlowCore/EventBus/BaseEventData.cs +++ b/WorkFlowCore/WorkFlowCore/Plugins/ManifestWithConfig.cs @@ -1,10 +1,14 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Text; +using System.Threading.Tasks; +using WorkFlowCore.Common.SimplePluginLoaders; -namespace WorkFlowCore.EventBus +namespace WorkFlowCore.Plugins { - public class BaseEventData + public class ManifestWithConfig : Manifest { + } } diff --git a/WorkFlowCore/WorkFlowCore/Plugins/Plugin.cs b/WorkFlowCore/WorkFlowCore/Plugins/Plugin.cs new file mode 100644 index 0000000000000000000000000000000000000000..d77662ffb6451b5a80a722cdcbd987f2455e0eaf --- /dev/null +++ b/WorkFlowCore/WorkFlowCore/Plugins/Plugin.cs @@ -0,0 +1,70 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Volo.Abp.Domain.Entities; +using Volo.Abp.Domain.Entities.Auditing; + +namespace WorkFlowCore.Plugins +{ + public class Plugin:AggregateRoot + { + + public Plugin(PluginId pluginId, string configMapInfo, string description, Guid? id=null) + { + if (id == null || id == Guid.Empty) + id = Guid.NewGuid(); + PluginId= pluginId; + Id = id.Value; + ConfigMapInfo = configMapInfo; + Description = description; + FilePath = Path.Combine(pluginId.ClassName,pluginId.Name, pluginId.EntryFullName); + } + public Plugin() + { + } + + public PluginId PluginId { get; set; } + /// + /// 路径 + /// + public string FilePath { get; set; } + /// + /// 配置字段信息i + /// + public string ConfigMapInfo { get; set; } + /// + /// 描述 说明 + /// + public string Description { get; set; } + /// + /// 启用状态 + /// + public bool IsEnabled { get; set; } + /// + /// 启用 + /// + public void Enabled() + { + IsEnabled = true; + } + /// + /// 禁用 + /// + public void Disabled() + { + IsEnabled = false; + } + /// + /// 获取插件的文件路径 + /// + /// + /// + public string GetFilePath(string basePath) + { + return Path.Combine(basePath,"CustomerPlugins", FilePath); + } + } +} diff --git a/WorkFlowCore/WorkFlowCore/Plugins/PluginApplyConfig.cs b/WorkFlowCore/WorkFlowCore/Plugins/PluginApplyConfig.cs new file mode 100644 index 0000000000000000000000000000000000000000..487b97ab7c8042724484df10737528dc0ebfbed5 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore/Plugins/PluginApplyConfig.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Volo.Abp.Domain.Entities; + +namespace WorkFlowCore.Plugins +{ + public class PluginApplyConfig:AggregateRoot + { + /// + /// 类型名称 + /// + public string ClassName { get; set; } + /// + /// 插件名称 + /// + public string Name { get; set; } + /// + /// 全称 + /// + public string FullName { get; set; } + /// + /// 配置值 + /// + public string ConfigValue { get; set; } + /// + /// 排序 + /// + public int Order { get; set; } + } +} diff --git a/WorkFlowCore/WorkFlowCore/Plugins/PluginExtension.cs b/WorkFlowCore/WorkFlowCore/Plugins/PluginExtension.cs new file mode 100644 index 0000000000000000000000000000000000000000..6484026d2e986bd7a4c999a5c2b0624a9aabcf3a --- /dev/null +++ b/WorkFlowCore/WorkFlowCore/Plugins/PluginExtension.cs @@ -0,0 +1,36 @@ +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WorkFlowCore.Workflows; + +namespace WorkFlowCore.Plugins +{ + public static class PluginExtension + { + public static Plugin ToPlugin(this PluginInfo pluginInfo) + { + var plugin = new Plugin(new PluginId(pluginInfo.PluginId_ClassName,pluginInfo.PluginId_Name,pluginInfo.PluginId_EntryFullName), pluginInfo.ConfigMapInfo, pluginInfo.Description, pluginInfo.Id); + + + return plugin; + } + + public static PluginInfo ToPluginInfo(this Plugin plugin, PluginInfo pluginInfo = null) + { + if (pluginInfo == null) + pluginInfo = new PluginInfo(plugin.Id); + + pluginInfo.PluginId_EntryFullName = plugin.PluginId.EntryFullName; + pluginInfo.PluginId_Name = plugin.PluginId.Name; + pluginInfo.PluginId_ClassName = plugin.PluginId.ClassName; + pluginInfo.Description = plugin.Description; + pluginInfo.ConfigMapInfo = plugin.ConfigMapInfo; + pluginInfo.Description = plugin.Description; + + return pluginInfo; + } + } +} diff --git a/WorkFlowCore/WorkFlowCore/Plugins/PluginId.cs b/WorkFlowCore/WorkFlowCore/Plugins/PluginId.cs new file mode 100644 index 0000000000000000000000000000000000000000..c0f87e9d42e45462a48b483c675b0a76643901b3 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore/Plugins/PluginId.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Volo.Abp.Domain.Values; + +namespace WorkFlowCore.Plugins +{ + public class PluginId : ValueObject + { + public PluginId(string className, string name, string nntryFullName) + { + ClassName = className; + Name = name; + EntryFullName = nntryFullName; + } + + + /// + /// 类型名称 + /// + public string ClassName { get; private set; } + /// + /// 插件名称 + /// + public string Name { get; private set; } + /// + /// 全称 + /// + public string EntryFullName { get;private set; } + + protected override IEnumerable GetAtomicValues() + { + yield return ClassName; + yield return Name; + yield return EntryFullName; + } + } +} diff --git a/WorkFlowCore/WorkFlowCore/Plugins/PluginInfo.cs b/WorkFlowCore/WorkFlowCore/Plugins/PluginInfo.cs new file mode 100644 index 0000000000000000000000000000000000000000..8a5b5fa032b3952a6b3b0cd20600fe46386b7cea --- /dev/null +++ b/WorkFlowCore/WorkFlowCore/Plugins/PluginInfo.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Volo.Abp.Domain.Entities; + +namespace WorkFlowCore.Plugins +{ + public class PluginInfo : Entity + { + public PluginInfo() + { + } + + public PluginInfo(Guid id) : base(id) + { + } + + public string PluginId_ClassName { get; set; } + public string PluginId_Name { get; set; } + public string PluginId_EntryFullName { get; set; } + /// + /// 路径 + /// + public string FilePath { get; set; } + /// + /// 配置字段信息i + /// + public string ConfigMapInfo { get; set; } + /// + /// 描述 说明 + /// + public string Description { get; set; } + /// + /// 启用状态 + /// + public bool IsEnabled { get; set; } + } +} diff --git a/WorkFlowCore/WorkFlowCore/Plugins/PluginManager.cs b/WorkFlowCore/WorkFlowCore/Plugins/PluginManager.cs new file mode 100644 index 0000000000000000000000000000000000000000..05d41d43a4e8bb0b86e373ec2c6da3692b9fedd4 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore/Plugins/PluginManager.cs @@ -0,0 +1,96 @@ +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; +using SharpCompress.Archives; +using SharpCompress.Common; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Volo.Abp.Domain; +using Volo.Abp.Domain.Repositories; +using Volo.Abp.Domain.Services; +using WorkFlowCore.Common.SimplePluginLoaders; +using WorkFlowCore.Workflows; + +namespace WorkFlowCore.Plugins +{ + public class PluginManager:IDomainService + { + private readonly IBasicRepository pluginRepository; + private readonly IBasicRepository applyConfigRepository; + private readonly IOptions pluginOptions; + private readonly ILogger logger; + + public PluginManager(IBasicRepository pluginRepository, IBasicRepository applyConfigRepository, IOptions pluginOptions, ILogger logger) + { + this.pluginRepository = pluginRepository; + this.applyConfigRepository = applyConfigRepository; + this.pluginOptions = pluginOptions; + this.logger = logger; + } + + + public async Task AddPlugin(Plugin plugin,Stream pluginPackage) + { + + var path = plugin.GetFilePath(pluginOptions.Value.BasePath); + var dir = Path.GetDirectoryName(path); + + //如果目录已存在则删除 + if(Directory.Exists(dir)) + { + UnloadPlugin(dir); + } + + Directory.CreateDirectory(path); + + pluginPackage.Position = 0; + //解压文件 + var archive = ArchiveFactory.Open(pluginPackage); + foreach (var entry in archive.Entries) + { + if (!entry.IsDirectory) + { + Console.WriteLine(entry.Key); + entry.WriteToDirectory(path, new ExtractionOptions() { ExtractFullPath = true, Overwrite = true }); + } + } + + await pluginRepository.InsertAsync(plugin.ToPluginInfo()); + + SimplePluginLoader.LoadPlugins(Directory.GetParent(path).FullName, null); + } + + /// + /// 卸载已经载入的插件 + /// + /// + /// + private void UnloadPlugin(string entryPath) + { + try + { + var context = new PluginAssemblyLoadContext(System.IO.Path.Combine(entryPath)); + context.Unload(); + Directory.Delete(Path.GetDirectoryName(entryPath), true); + } + catch (Exception ex) + { + logger.LogError(ex.ToString()); + } + } + + public async Task RemovePlugin(Guid id) + { + var pluginInfo = await pluginRepository.GetAsync(id); + var plugin = pluginInfo.ToPlugin(); + var path = plugin.GetFilePath(pluginOptions.Value.BasePath); + UnloadPlugin(path); + await pluginRepository.DeleteAsync(id); + + } + + } +} diff --git a/WorkFlowCore/WorkFlowCore/IRepositories/IRepository.cs b/WorkFlowCore/WorkFlowCore/Plugins/PluginOptions.cs similarity index 41% rename from WorkFlowCore/WorkFlowCore/IRepositories/IRepository.cs rename to WorkFlowCore/WorkFlowCore/Plugins/PluginOptions.cs index 451cf0d9a43fe9d15813b1e133d1e69351bc033b..bacdbbba9fe4e72abb8c0e0c04d90a6f939e95b3 100644 --- a/WorkFlowCore/WorkFlowCore/IRepositories/IRepository.cs +++ b/WorkFlowCore/WorkFlowCore/Plugins/PluginOptions.cs @@ -1,11 +1,13 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Linq.Expressions; using System.Text; +using System.Threading.Tasks; -namespace WorkFlowCore.IRepositories +namespace WorkFlowCore.Plugins { - public interface IRepository{ + public class PluginOptions + { + public string BasePath { get; set; } } } diff --git a/WorkFlowCore/WorkFlowCore/UserSelectors/UserSelectorManager.cs b/WorkFlowCore/WorkFlowCore/UserSelectors/UserSelectorManager.cs index 22e3e0af1eff2d7ccc6bcfa6a9ce35e9b5f89392..64cdd490c78b1c036999c8f2b2527f55ce07afe9 100644 --- a/WorkFlowCore/WorkFlowCore/UserSelectors/UserSelectorManager.cs +++ b/WorkFlowCore/WorkFlowCore/UserSelectors/UserSelectorManager.cs @@ -4,23 +4,19 @@ using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; +using WorkFlowCore.Conditions; namespace WorkFlowCore.UserSelectors { public class UserSelectorManager { private static object objLock = new object(); - private IServiceProvider serviceProvider; static UserSelectorManager() { AllUserSelectors = new List(); DefaultUserSelectorAndSelections = new Dictionary>(); } - public UserSelectorManager(IServiceProvider serviceProvider) - { - this.serviceProvider = serviceProvider; - } /// @@ -129,7 +125,7 @@ namespace WorkFlowCore.UserSelectors if (selector == null) return null; try { - return (IUserSelector)serviceProvider.GetService(selector.SelectorType); + return (IUserSelector)Activator.CreateInstance(selector.SelectorType); } catch (Exception) { diff --git a/WorkFlowCore/WorkFlowCore/WorkFlowCore.csproj b/WorkFlowCore/WorkFlowCore/WorkFlowCore.csproj index 366cf8284e56bd0ab55cf8b3500eadf33ee67d62..a6e5ab1c159762b82ac18145412fed8731a9b807 100644 --- a/WorkFlowCore/WorkFlowCore/WorkFlowCore.csproj +++ b/WorkFlowCore/WorkFlowCore/WorkFlowCore.csproj @@ -1,16 +1,36 @@ - netcoreapp3.1 + net6.0 + disable + True - - + + + + + + + + + + + + + + + + - - - + + + + + + + diff --git a/WorkFlowCore/WorkFlowCore/WorkFlowCoreModule.cs b/WorkFlowCore/WorkFlowCore/WorkFlowCoreModule.cs new file mode 100644 index 0000000000000000000000000000000000000000..b5d5d24a949a7b247e2b9887bd0554dfdffd2b80 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore/WorkFlowCoreModule.cs @@ -0,0 +1,65 @@ +using Microsoft.AspNetCore.Builder.Extensions; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; +using System; +using System.Collections.Generic; +using System.Reflection; +using System.Text; +using Volo.Abp; +using Volo.Abp.Castle; +using Volo.Abp.EntityFrameworkCore; +using Volo.Abp.EventBus; +using Volo.Abp.Modularity; +using WorkFlowCore.Authorization; +using WorkFlowCore.Conditions; +using WorkFlowCore.IRepositories; +using WorkFlowCore.Plugins; +using WorkFlowCore.UserSelectors; +using WorkFlowCore.Workflows; +using WorkFlowCore.WorkTasks; +using static WorkFlowCore.WorkFlowCoreService; + +namespace WorkFlowCore +{ + [DependsOn(typeof(AbpEventBusModule))] + [DependsOn(typeof(AbpCastleCoreModule))] + [DependsOn(typeof(AbpEntityFrameworkCoreModule))] + public class WorkFlowCoreModule:AbpModule + { + public override void PreConfigureServices(ServiceConfigurationContext context) + { + base.PreConfigureServices(context); + + Configure(op => + { + op.BasePath = AppDomain.CurrentDomain.BaseDirectory; + }); + } + + public override void ConfigureServices(ServiceConfigurationContext context) + { + base.ConfigureServices(context); + + var services = context.Services; + services.AddScoped(); + services.AddScoped(); + + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + + + + services.AddScoped(typeof(IWorkflowSession), typeof(EmptySession)); + + + } + + + } +} diff --git a/WorkFlowCore/WorkFlowCore/WorkFlowCoreService.cs b/WorkFlowCore/WorkFlowCore/WorkFlowCoreService.cs index 662b3dd8a9a8663db18197b12e4a1e271516364f..e7c7637dbd4b5350b4ba7cde572ba778a992189f 100644 --- a/WorkFlowCore/WorkFlowCore/WorkFlowCoreService.cs +++ b/WorkFlowCore/WorkFlowCore/WorkFlowCoreService.cs @@ -25,7 +25,7 @@ namespace WorkFlowCore ConditionManager.RegisterCondition(assemblies); } - public Type SessionType { get; private set; } + public Type SessionType { get; set; } /// /// 注册 session实现类 /// diff --git a/WorkFlowCore/WorkFlowCore/WorkTasks/WorkTask.cs b/WorkFlowCore/WorkFlowCore/WorkTasks/WorkTask.cs index d165df36c500aec415e8de51ecce2709090f2370..d1af9f19c39e6cb4051e317d55719863552230b4 100644 --- a/WorkFlowCore/WorkFlowCore/WorkTasks/WorkTask.cs +++ b/WorkFlowCore/WorkFlowCore/WorkTasks/WorkTask.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; using System.Text; +using System.Xml.Linq; using WorkFlowCore.IRepositories; using WorkFlowCore.Workflows; @@ -61,6 +62,13 @@ namespace WorkFlowCore.WorkTasks { WorkTaskStatus = WorkTaskStatus.Processed; } + /// + /// 改为撤销 + /// + public void Cancel() + { + WorkTaskStatus = WorkTaskStatus.Canceled; + } public bool IsProcessed { get => WorkTaskStatus == WorkTaskStatus.Processed; } public bool IsPending { get => WorkTaskStatus == WorkTaskStatus.Pending; } public bool IsProcessing { get => WorkTaskStatus == WorkTaskStatus.Processing; } @@ -69,6 +77,16 @@ namespace WorkFlowCore.WorkTasks { IsSimulation = true; } + + public WorkTask Copy() + { + var copy = new WorkTask(Guid.NewGuid(), WorkflowId, Name, FormData, EntityFullName, EntityKeyValue, CreatedUserId); + return copy; + } + public void UpdateFormData(string formData) + { + this.FormData = formData; + } } public enum WorkTaskStatus { @@ -83,6 +101,11 @@ namespace WorkFlowCore.WorkTasks /// /// 已完成 /// - Processed + Processed, + /// + /// 撤销 + /// + Canceled + } } diff --git a/WorkFlowCore/WorkFlowCore/WorkflowManager.cs b/WorkFlowCore/WorkFlowCore/WorkTasks/WorkTaskManager.cs similarity index 76% rename from WorkFlowCore/WorkFlowCore/WorkflowManager.cs rename to WorkFlowCore/WorkFlowCore/WorkTasks/WorkTaskManager.cs index 3198274881c18631cc0e74d9858c6a5cd18bb923..a633deaf59e8dd6cf69ac3b6117e8961e5681879 100644 --- a/WorkFlowCore/WorkFlowCore/WorkflowManager.cs +++ b/WorkFlowCore/WorkFlowCore/WorkTasks/WorkTaskManager.cs @@ -3,16 +3,18 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using WorkFlowCore.Conditions; -using WorkFlowCore.Common.EventBus; using WorkFlowCore.EventData; using WorkFlowCore.IRepositories; using WorkFlowCore.UserSelectors; using WorkFlowCore.Workflows; using WorkFlowCore.WorkTasks; +using Volo.Abp.Uow; +using Volo.Abp.EventBus.Local; +using Volo.Abp.Domain.Services; -namespace WorkFlowCore +namespace WorkFlowCore.WorkTasks { - public class WorkflowManager + public class WorkTaskManager: IDomainService { private readonly IBasicRepository workflowRepository; private readonly IBasicRepository versionRepository; @@ -20,10 +22,11 @@ namespace WorkFlowCore private readonly IWorkStepRepository workStepRepository; private readonly ConditionManager conditionManager; private readonly UserSelectorManager userSelectorManager; - private readonly EventBusManager eventManager; + private readonly ILocalEventBus eventManager; private readonly IUnitOfWorkManager unitOfWorkManager; + private readonly WorkflowStore workflowStore; - public WorkflowManager(IBasicRepository workflowRepository, IBasicRepository versionRepository, IWorkTaskRepository workTaskRepository, IWorkStepRepository workStepRepository, ConditionManager conditionManager, UserSelectorManager userSelectorManager, EventBusManager eventManager, IUnitOfWorkManager unitOfWorkManager) + public WorkTaskManager(IBasicRepository workflowRepository, IBasicRepository versionRepository, IWorkTaskRepository workTaskRepository, IWorkStepRepository workStepRepository, ConditionManager conditionManager, UserSelectorManager userSelectorManager, ILocalEventBus eventManager, IUnitOfWorkManager unitOfWorkManager, WorkflowStore workflowStore) { this.workflowRepository = workflowRepository; this.versionRepository = versionRepository; @@ -33,277 +36,10 @@ namespace WorkFlowCore this.userSelectorManager = userSelectorManager; this.eventManager = eventManager; this.unitOfWorkManager = unitOfWorkManager; + this.workflowStore = workflowStore; } - #region 流程的增删改查 - - public async Task> GetAllWorkflowsWithVersion() - { - var result = new List(); - var workflows = await workflowRepository.GetListAsync(w => !w.Deleted); - workflows.ForEach(w => - { - var versions = versionRepository.GetListAsync(v => v.WorkflowId == w.Id).Result; - result.AddRange(versions.Select(v => new Workflow - { - Id = w.Id, - WorkflowNo = w.WorkflowNo, - Name = w.Name, - ActiveVersion = v.VersionNo - })); - }); - return result; - } - - /// - /// 根据编号获取流程设计 - /// - /// - /// - public async Task GetWorkflowByNo(string workflowNo) - { - return await workflowRepository.GetAsync(w => w.WorkflowNo == workflowNo); - } - - public async Task CreateWorkflow(string workflowNo, string name, string description) - { - using (var unitOfWork = unitOfWorkManager.Begin()) - { - var workflow = new Workflow(Guid.NewGuid(), workflowNo, name, description); - workflow = await workflowRepository.InsertAsync(workflow); - var workflowVersion = new WorkflowVersion(Guid.NewGuid(), workflow.Id, workflow.ActiveVersion, string.Empty, description); - await versionRepository.InsertAsync(workflowVersion.ToWorkflowVersionInfo()); - unitOfWork.Commit(); - return workflow; - } - } - /// - /// 更新流程激活版本 - /// - /// - /// - public async Task UpdateWorkflowActiveVersion(Guid workflowId, int activeVersion) - { - using (var unitOfWork = unitOfWorkManager.Begin()) - { - var workflow = await workflowRepository.GetAsync(workflowId); - workflow.UpdateActiveVersion(activeVersion); - await workflowRepository.UpdateAsync(workflow); - return unitOfWork.Commit(true, false); - } - } - /// - /// 删除流程 - /// - /// - /// - public async Task DeleteWorkflow(Guid workflowid) - { - - var tasks = await workflowRepository.GetListAsync(wt => wt.Id == workflowid); - tasks.ForEach(t => t.Deleted = true); - - using (var unitOfWork = unitOfWorkManager.Begin()) - { - await workflowRepository.UpdateManyAsync(tasks); - return unitOfWork.Commit(true, false); - } - } - /// - /// 删除流程版本 - /// - /// - /// - /// - public async Task DeleteWorkflowVersion(Guid workflowid, int versionId) - { - - //有被流程引用则不允许删除 - if (await workTaskRepository.GetCountAsync(wt => wt.WorkflowId_Id == workflowid && wt.WorkflowId_VersionId == versionId) > 0) return false; - using (var unitOfWork = unitOfWorkManager.Begin()) - { - await versionRepository.DeleteManyAsync(wt => wt.WorkflowId == workflowid && wt.VersionNo == versionId); - return unitOfWork.Commit(true, false); - } - } - - /// - /// 节点映射 - /// - /// - /// - /// - private List GetNewNodeMaps(List workflowLines, List workflowNodes) - { - var result = new List(); - workflowLines.ForEach(line => - { - var fromNode = workflowNodes.FirstOrDefault(n => n.Id == line.FromNodeId); - var toNode = workflowNodes.FirstOrDefault(n => n.Id == line.ToNodeId); - - result.Add(NodeMap.Factory.NewNormalNodeMap(fromNode, toNode, line.Conditions)); - - //如果指定拒绝节点,则按照拒绝节点配置拒绝映射,否则原路拒绝 - if (toNode.RejectNodes != null && toNode.RejectNodes.Any()) - { - toNode.RejectNodes.ForEach(rn => - { - var rejectFromNode = toNode; - var rejectToNode = workflowNodes.FirstOrDefault(n => n.Id == rn.NodeId); - - result.Add(NodeMap.Factory.NewRejectNodeMap(rejectFromNode, rejectToNode, rn.Conditions)); - }); - } - else - { - //判断起始节点是否是开始或会签节点,是的话,直接退回,不是的话,获取来所有以起始节点为终点的所有节点条件放入拒绝判断列表中 - if (fromNode.NodeType == WorkNodeType.Begin || fromNode.NodeType == WorkNodeType.Sign || fromNode.NodeType == WorkNodeType.Judge || fromNode.NodeType == WorkNodeType.HandOut) - { - result.Add(NodeMap.Factory.NewRejectNodeMap(toNode, fromNode, null)); - } - else - { - var fromLines = workflowLines.Where(line => line.ToNodeId == fromNode.Id).ToList(); - fromLines.ForEach(line => - { - result.Add(NodeMap.Factory.NewRejectNodeMap(toNode, fromNode, line.Conditions)); - }); - } - } - }); - return result; - } - - /// - /// 连接子流程链路 - /// - /// - private void ConnectSubProcessNodes(List nodeMaps) - { - //先清空历史链路 - nodeMaps.ForEach(nm => - { - nm.FromNode.SubProcessNodeId = null; - nm.ToNode.SubProcessNodeId = null; - }); - - //递归连接链路 - //先选出子流程节点,然后再顺藤摸瓜指定下去 - var subProcessNodes = nodeMaps.Where(nm => nm.FromNode.NodeType == WorkNodeType.SubProcess).Select(nm=>nm.FromNode); - foreach (var subProcessNode in subProcessNodes) - { - ConnectSubProcessNodes(nodeMaps, subProcessNode, subProcessNode); - } - - //TODO 检查每个子流程是否都有完整的回路 - } - /// - /// 递归连接节点 - /// - /// - /// - /// - private void ConnectSubProcessNodes(List nodeMaps, WorkflowNode subProcessNode, WorkflowNode fromNode) - { - var toNodes = nodeMaps.Where(nm => nm.FromNode == fromNode&&nm.ToNode.NodeType== WorkNodeType.SubNode).Select(nm=>nm.ToNode); - foreach (var node in toNodes) - { - //如果目标卡跟子流程节点一样,就停止了 - if (node == subProcessNode) continue; - //遇到桥套子流程,则先递归遍历子流程 - if(node.NodeType== WorkNodeType.SubProcess) - ConnectSubProcessNodes(nodeMaps, node, node); - - node.SubProcessNodeId = subProcessNode.Id; - ConnectSubProcessNodes(nodeMaps, subProcessNode, node); - } - } - - private async Task GetWorkflowVersionInfo(Guid workflowId, int versionNo) - { - return await versionRepository.GetAsync(v => v.WorkflowId == workflowId && v.VersionNo == versionNo); - } - public async Task GetWorkflowVersion(Guid workflowId, int versionNo) - { - return (await GetWorkflowVersionInfo(workflowId, versionNo)).ToWorkflowVersion(); - } - - /// - /// 更新流程设计 - /// - /// - /// - /// - /// - /// - /// - /// - /// - /// - - public async Task UpdateWorkflow(Guid workflowId, string name, string description, int versionNo, string drawingInfo, string versionDescription, List workflowLines, List workflowNodes) - { - if (workflowNodes.Count(n => n.NodeType == WorkNodeType.Begin) != 1) - throw new Exception("至少也只能有一个开始节点"); - if (workflowNodes.Count(n => n.NodeType == WorkNodeType.End) != 1) - throw new Exception("至少也只能有一个结束节点"); - - if(workflowLines.Count==0) - throw new Exception("缺少节点间关系连线"); - - - - if (workflowLines.Any(line=> line.FromNodeId==null || string.IsNullOrEmpty(line.FromNodeId.ToString()) || line.ToNodeId == null || string.IsNullOrEmpty(line.ToNodeId.ToString()))) - throw new Exception("连线必须有起点和终点"); - - var startmNode = workflowNodes.FirstOrDefault(n => n.NodeType == WorkNodeType.Begin); - if (!workflowLines.Any(line => line.FromNodeId == startmNode.Id) || workflowLines.Any(line => line.FromNodeId == startmNode.Id && (line.ToNodeId == null || line.ToNodeId.Equals(Guid.Empty)))) - throw new Exception("起始节点必须连线目标节点的连线"); - - var endNode = workflowNodes.FirstOrDefault(n => n.NodeType == WorkNodeType.End); - if (!workflowLines .Any(line=>line.ToNodeId==endNode.Id)|| workflowLines.Any(line => line.ToNodeId == endNode.Id && (line.FromNodeId == null || line.FromNodeId.Equals(Guid.Empty)))) - throw new Exception("结束节点必须有来源节点的连线"); - - if(workflowNodes.Where(n => n.NodeType != WorkNodeType.Begin&& n.NodeType != WorkNodeType.End).Any(node=>!workflowLines.Any(line=>line.FromNodeId==node.Id) || !workflowLines.Any(line => line.ToNodeId == node.Id))) - throw new Exception("普通节点至少有来源节点和目标节点的连线"); - - - var toNode = workflowNodes.FirstOrDefault(n => n.NodeType == WorkNodeType.Begin); - - var workflow = await workflowRepository.GetAsync(workflowId); - workflow.Update(name, description); - using (var unitOfWork = unitOfWorkManager.Begin()) - { - await workflowRepository.UpdateAsync(workflow); - WorkflowVersion version = null; - var versionInfo = await GetWorkflowVersionInfo(workflowId, versionNo); - - if (versionInfo == null) - { - //新建版本 - version = new WorkflowVersion(Guid.NewGuid(), workflowId, versionNo, drawingInfo, versionDescription); - var nodeMaps = GetNewNodeMaps(workflowLines, workflowNodes); - ConnectSubProcessNodes(nodeMaps); - version.SetNodeMaps(nodeMaps); - await versionRepository.InsertAsync(version.ToWorkflowVersionInfo()); - } - else - { - version = versionInfo.ToWorkflowVersion(); - var nodeMaps = GetNewNodeMaps(workflowLines, workflowNodes); - ConnectSubProcessNodes(nodeMaps); - version.SetNodeMaps(nodeMaps); - version.Update(versionNo, drawingInfo, versionDescription); - await versionRepository.UpdateAsync(version.ToWorkflowVersionInfo(versionInfo)); - } - - return unitOfWork.Commit(workflow, null); - } - } - - #endregion - #region 流程审批操作 /// @@ -327,7 +63,7 @@ namespace WorkFlowCore using (var unitOfWork = unitOfWorkManager.Begin()) { await workTaskRepository.InsertAsync(worktaskInfo); - unitOfWork.Commit(); + await unitOfWork.CompleteAsync(); } } return worktaskInfo.ToWorkTask(); @@ -350,7 +86,7 @@ namespace WorkFlowCore using (var unitOfWork = unitOfWorkManager.Begin()) { await workTaskRepository.InsertAsync(worktask.ToWorkTaskInfo()); - unitOfWork.Commit(); + await unitOfWork.CompleteAsync(); } return worktask; } @@ -358,7 +94,7 @@ namespace WorkFlowCore private async Task GetNodeByWorkflowIdAndNodeId(WorkflowId workflowId, Guid nodeId) { - var workflowVersion = await GetWorkflowVersion(workflowId.Id, workflowId.VersionId); + var workflowVersion = await workflowStore.GetWorkflowVersion(workflowId.Id, workflowId.VersionId); return workflowVersion.AllNodes.FirstOrDefault(n => n.Id == nodeId); } @@ -373,7 +109,7 @@ namespace WorkFlowCore { var nodes = new List(); - var workflowVersion = await GetWorkflowVersion(workTask.WorkflowId.Id, workTask.WorkflowId.VersionId); + var workflowVersion = await workflowStore.GetWorkflowVersion(workTask.WorkflowId.Id, workTask.WorkflowId.VersionId); //普通节点的下组节点要排除掉 子流程节点 var toNodeLines = workflowVersion.NodeMaps.Where(n => n.FromNode.Id == node.Id && n.MapType == NodeMap.NodeMapType.Normal && n.ToNode.NodeType!= WorkNodeType.SubNode); @@ -398,7 +134,7 @@ namespace WorkFlowCore { var nodes = new List(); - var workflowVersion = await GetWorkflowVersion(workTask.WorkflowId.Id, workTask.WorkflowId.VersionId); + var workflowVersion = await workflowStore.GetWorkflowVersion(workTask.WorkflowId.Id, workTask.WorkflowId.VersionId); //只查子流程节点 var toNodeLines = workflowVersion.NodeMaps.Where(n => n.FromNode.Id == node.Id && n.MapType == NodeMap.NodeMapType.Normal &&n.ToNode.NodeType== WorkNodeType.SubNode); @@ -414,7 +150,15 @@ namespace WorkFlowCore return nodes; } - private async Task, List>> GetRejectInfo(WorkflowNode node, WorkTask workTask, WorkStep currentWorkStep) + /// + /// + /// + /// + /// + /// + /// 指定的节点:如果由前台指定了驳回的id,则这里将只获取指定的节点 + /// + private async Task, List>> GetRejectInfo(WorkflowNode node, WorkTask workTask, WorkStep currentWorkStep, Guid? rejectToNodeId = null) { /* * 如果指定了拒绝返回的节点,则按指定节点返回 @@ -423,7 +167,8 @@ namespace WorkFlowCore * 否 根据审批记录退回到上一个节点 */ - var workflowVersion = await GetWorkflowVersion(workTask.WorkflowId.Id, workTask.WorkflowId.VersionId); + + var workflowVersion = await workflowStore.GetWorkflowVersion(workTask.WorkflowId.Id, workTask.WorkflowId.VersionId); var preSteps = (await workStepRepository.GetListAsync(ws => ws.GroupId == currentWorkStep.PreStepGroupId)).Select(s => s.ToWorkStep()).ToList(); //按节点和审批人员取最新的审批记录 @@ -432,7 +177,14 @@ namespace WorkFlowCore var rejectNodes = new List(); var groupId = Guid.NewGuid().ToString(); var steps = new List(); - if (node.RejectNodes != null && node.RejectNodes.Any()) + + if(rejectToNodeId!=null&& rejectToNodeId != Guid.Empty) + { + var toNode = workflowVersion.AllNodes.FirstOrDefault(n => n.Id == rejectToNodeId); + rejectNodes.Add(toNode); + steps.AddRange(GetApproveSteps(currentWorkStep.NodeId, node.Name, workTask, toNode, currentWorkStep.GroupId, groupId)); + } + else if (node.RejectNodes != null && node.RejectNodes.Any()) { //如果指定了回滚的节点,则按指定节点回滚 foreach (var rejectNode in node.RejectNodes) @@ -464,6 +216,7 @@ namespace WorkFlowCore var toNode = workflowVersion.AllNodes.FirstOrDefault(n => n.Id == st.NodeId); rejectNodes.Add(toNode); steps.Add(st.Copy(groupId)); + }); } @@ -473,6 +226,60 @@ namespace WorkFlowCore } + /// + /// + /// + /// + /// + /// + /// + private async Task> GetRejectNodes(WorkflowNode node, WorkTask workTask, WorkStep currentWorkStep) + { + /* + * 判断来源节点是不是拒绝步骤, + * 是 根据流程节点关系推断退回节点 + * 否 根据审批记录退回到上一个节点 + */ + + + var workflowVersion = await workflowStore.GetWorkflowVersion(workTask.WorkflowId.Id, workTask.WorkflowId.VersionId); + var preSteps = (await workStepRepository.GetListAsync(ws => ws.GroupId == currentWorkStep.PreStepGroupId)).Select(s => s.ToWorkStep()).ToList(); + + //按节点和审批人员取最新的审批记录 + preSteps = preSteps.GroupBy(s => s.NodeId + s.HandleUser.ToString()).Select(g => g.OrderByDescending(step => step.CreationTime).First()).ToList(); + + var rejectNodes = new List(); + + if (preSteps.Where(ps => ps.HandleType == WorkStepHandleType.Reject).Any()) + { + var toNodeLines = workflowVersion.NodeMaps.Where(n => n.FromNode.Id == node.Id && n.MapType == NodeMap.NodeMapType.Reject); + + foreach (var line in toNodeLines) + { + if (line.CanAccept(workTask, currentWorkStep, conditionManager)) + { + var toNode = line.ToNode; + + rejectNodes.Add(toNode); + } + } + } + else + { + + preSteps.ForEach(st => + { + var toNode = workflowVersion.AllNodes.FirstOrDefault(n => n.Id == st.NodeId); + + rejectNodes.Add(toNode); + + }); + } + return rejectNodes; + } + + + /// /// 获取节点派发的成员 /// @@ -510,7 +317,7 @@ namespace WorkFlowCore using (var unitOfWork = unitOfWorkManager.Begin()) { await workStepRepository.UpdateManyAsync(stepInfos); - unitOfWork.Commit(); + await unitOfWork.CompleteAsync(); } } /// @@ -552,7 +359,7 @@ namespace WorkFlowCore var workTask = workTaskInfo.ToWorkTask(); if (!workTask.IsPending) return new List(); workTask.SetProcessing(); - var workflowVersion = await GetWorkflowVersion(workTask.WorkflowId.Id, workTask.WorkflowId.VersionId); + var workflowVersion = await workflowStore.GetWorkflowVersion(workTask.WorkflowId.Id, workTask.WorkflowId.VersionId); var startNode = workflowVersion.NodeMaps.FirstOrDefault(n => n.FromNode.NodeType == WorkNodeType.Begin)?.FromNode; var steps = GetApproveSteps(Guid.Empty, "", workTask, startNode, string.Empty, Guid.NewGuid().ToString()); @@ -561,7 +368,7 @@ namespace WorkFlowCore await workTaskRepository.UpdateAsync(workTask.ToWorkTaskInfo(workTaskInfo)); steps.ForEach(step => step.SetFormData(workTask.FormData)); await SendTasks(workTask, steps); - unitOfWork.Commit(); + await unitOfWork.CompleteAsync(); } //自动处理开始节点 @@ -581,7 +388,7 @@ namespace WorkFlowCore //} //steps = startSteps; - eventManager.Trigger(new AutoHandleStepsEventData() { Steps = steps, Comment = "发起审批" }); + await eventManager.PublishAsync(new AutoHandleStepsEventData() { Steps = steps, Comment = "发起审批" }); return steps; } @@ -765,14 +572,14 @@ namespace WorkFlowCore // startSteps.AddRange(_steps); //} //steps = startSteps; - eventManager.Trigger(new AutoHandleStepsEventData() { Steps = steps, Comment = "审批结束" }); + await eventManager.PublishAsync(new AutoHandleStepsEventData() { Steps = steps, Comment = "审批结束" }); } //子流程步骤自动处理 if(stepsOfSubProcess.Any()) - eventManager.Trigger(new AutoHandleStepsEventData() { Steps = stepsOfSubProcess, Comment = "子流程自动处理" }); + await eventManager.PublishAsync(new AutoHandleStepsEventData() { Steps = stepsOfSubProcess, Comment = "子流程自动处理" }); if (stepsOfSubNode.Any()) - eventManager.Trigger(new AutoHandleStepsEventData() { Steps = stepsOfSubNode, Comment = "子流程自动处理" }); + await eventManager.PublishAsync(new AutoHandleStepsEventData() { Steps = stepsOfSubNode, Comment = "子流程自动处理" }); return ProveResult.Succeed(steps); @@ -784,7 +591,7 @@ namespace WorkFlowCore /// /// /// - public async Task RejectApprove(Guid workStepId, string comment = null, string resourceIds = null, string formData = null) + public async Task RejectApprove(Guid workStepId, string comment = null, string resourceIds = null, string formData = null, Guid? rejectToNodeId = null) { var currentWorkStepInfo = await workStepRepository.GetAsync(workStepId); var currentWorkStep = currentWorkStepInfo.ToWorkStep(); @@ -827,7 +634,7 @@ namespace WorkFlowCore //获取拒绝的步骤(如果指定绝节节点则获取拒绝节点,否则退回上一步的节点,处理人员仍然 是上一步的人员) - var rejectInfo = await GetRejectInfo(currentNode, workTask, currentWorkStep); + var rejectInfo = await GetRejectInfo(currentNode, workTask, currentWorkStep, rejectToNodeId); var rejectSteps = rejectInfo.Item1; steps.AddRange(rejectSteps); if (steps.Count == 0) @@ -948,7 +755,7 @@ namespace WorkFlowCore { workTask.SetPending(); await workTaskRepository.UpdateAsync(workTask.ToWorkTaskInfo(workTaskInfo)); - eventManager.Trigger(new TaskStateChangeEventData + await eventManager.PublishAsync(new TaskStateChangeEventData { WorkTask = workTask, WorkTaskStatus = workTask.WorkTaskStatus, @@ -971,7 +778,7 @@ namespace WorkFlowCore { workTask.SetProcessing(); await workTaskRepository.UpdateAsync(workTask.ToWorkTaskInfo(workTaskInfo)); - eventManager.Trigger(new TaskStateChangeEventData + await eventManager.PublishAsync(new TaskStateChangeEventData { WorkTask = workTask, WorkTaskStatus = workTask.WorkTaskStatus, @@ -993,13 +800,13 @@ namespace WorkFlowCore workTask.SetProcessed(); await workTaskRepository.UpdateAsync(workTask.ToWorkTaskInfo(workTaskInfo)); - eventManager.Trigger(new TaskFinishedEventData + await eventManager.PublishAsync(new TaskFinishedEventData { WorkTask = workTask }); - eventManager.Trigger(new TaskStateChangeEventData + await eventManager.PublishAsync(new TaskStateChangeEventData { WorkTask = workTask, WorkTaskStatus = workTask.WorkTaskStatus, @@ -1161,7 +968,7 @@ namespace WorkFlowCore //TODO 发布开启消息 //TODO 考虑增加让步骤保存每次处理的表单信息 } - eventManager.Trigger(new SendTaskEventData + await eventManager.PublishAsync(new SendTaskEventData { WorkTask = workTask, WorkSteps = workSteps @@ -1181,7 +988,7 @@ namespace WorkFlowCore { await workStepRepository.DeleteManyAsync(ws => worktaskIds.Contains(ws.WorkTaskId)); await workTaskRepository.DeleteManyAsync(wt => worktaskIds.Contains(wt.Id)); - unitOfWork.Commit(); + await unitOfWork.CompleteAsync(); } } @@ -1310,11 +1117,34 @@ namespace WorkFlowCore { await workStepRepository.DeleteManyAsync(ws => ws.WorkTaskId == worktaskId); await workTaskRepository.DeleteAsync(worktaskId); - unitOfWork.Commit(); + await unitOfWork.CompleteAsync(); } } + /// + /// 获取驳回节点信息 + /// + /// + /// + public async Task> GetRejectNodes(Guid workStepId) + { + var currentWorkStepInfo = await workStepRepository.GetAsync(workStepId); + var currentWorkStep = currentWorkStepInfo.ToWorkStep(); + var workTaskInfo = await workTaskRepository.GetAsync(currentWorkStep.WorkTaskId); + var workTask = workTaskInfo.ToWorkTask(); + var currentNode = await GetNodeByWorkflowIdAndNodeId(workTask.WorkflowId, currentWorkStep.NodeId); + var rejectInfo = await GetRejectNodes(currentNode, workTask, currentWorkStep); + return rejectInfo; + } #endregion + + public async Task ClearSimulationWorkTasks() + { + //自动清理一天前的 + var beforeTime = DateTime.Now.AddDays(-1); + var workTaskInfos = await workTaskRepository.GetListAsync(v => v.Deleted==false && v.IsSimulation==true && v.CreationTime < beforeTime); + await workTaskRepository.DeleteManyAsync(workTaskInfos.Select(wt=>wt.Id)); + } } } diff --git a/WorkFlowCore/WorkFlowCore/Workflows/WorkflowManager.cs b/WorkFlowCore/WorkFlowCore/Workflows/WorkflowManager.cs new file mode 100644 index 0000000000000000000000000000000000000000..7683c0e3eb9e0592bfb23abab6a9426776547e93 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore/Workflows/WorkflowManager.cs @@ -0,0 +1,318 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using WorkFlowCore.Conditions; +using WorkFlowCore.EventData; +using WorkFlowCore.IRepositories; +using WorkFlowCore.UserSelectors; +using WorkFlowCore.Workflows; +using WorkFlowCore.WorkTasks; +using Volo.Abp.Uow; +using Volo.Abp.EventBus.Local; +using Volo.Abp.Domain.Services; + +namespace WorkFlowCore.Workflows +{ + public class WorkflowManager:IDomainService + { + private readonly IWorkflowRepository workflowRepository; + private readonly IBasicRepository versionRepository; + private readonly IWorkTaskRepository workTaskRepository; + private readonly IWorkStepRepository workStepRepository; + private readonly ConditionManager conditionManager; + private readonly UserSelectorManager userSelectorManager; + private readonly ILocalEventBus eventManager; + private readonly IUnitOfWorkManager unitOfWorkManager; + private readonly WorkflowStore workflowStore; + + public WorkflowManager(IWorkflowRepository workflowRepository, IBasicRepository versionRepository, IWorkTaskRepository workTaskRepository, IWorkStepRepository workStepRepository, ConditionManager conditionManager, UserSelectorManager userSelectorManager, ILocalEventBus eventManager, IUnitOfWorkManager unitOfWorkManager, WorkflowStore workflowStore) + { + this.workflowRepository = workflowRepository; + this.versionRepository = versionRepository; + this.workTaskRepository = workTaskRepository; + this.workStepRepository = workStepRepository; + this.conditionManager = conditionManager; + this.userSelectorManager = userSelectorManager; + this.eventManager = eventManager; + this.unitOfWorkManager = unitOfWorkManager; + this.workflowStore = workflowStore; + } + + + #region 流程的增删改查 + + public async Task> GetAllWorkflowsWithVersion() + { + var result = await workflowRepository.GetAllWorkflowsWithVersion(); + return result; + } + + /// + /// 根据编号获取流程设计 + /// + /// + /// + public async Task GetWorkflowByNo(string workflowNo) + { + return await workflowRepository.GetAsync(w => w.WorkflowNo == workflowNo); + } + /// + /// 流程设计创建 + /// + /// + /// + /// + /// + public async Task CreateWorkflow(string workflowNo, string name, string description) + { + var count = await workflowRepository.GetCountAsync(w=>w.Name== name); + if (count > 0) throw new Exception("同名流程设计已存在,考虑在现有流程基础增加版本"); + + using (var unitOfWork = unitOfWorkManager.Begin()) + { + var workflow = new Workflow(Guid.NewGuid(), workflowNo, name, description); + workflow = await workflowRepository.InsertAsync(workflow); + var workflowVersion = new WorkflowVersion(Guid.NewGuid(), workflow.Id, workflow.ActiveVersion, string.Empty, description); + await versionRepository.InsertAsync(workflowVersion.ToWorkflowVersionInfo()); + await unitOfWork.CompleteAsync(); + return workflow; + } + } + /// + /// 更新流程激活版本 + /// + /// + /// + public async Task UpdateWorkflowActiveVersion(Guid workflowId, int activeVersion) + { + using (var unitOfWork = unitOfWorkManager.Begin()) + { + var workflow = await workflowRepository.GetAsync(workflowId); + workflow.UpdateActiveVersion(activeVersion); + await workflowRepository.UpdateAsync(workflow); + return unitOfWork.Commit(true, false); + } + } + /// + /// 删除流程 + /// + /// + /// + public async Task DeleteWorkflow(Guid workflowid) + { + + var tasks = await workflowRepository.GetListAsync(wt => wt.Id == workflowid); + tasks.ForEach(t => t.Deleted = true); + + using (var unitOfWork = unitOfWorkManager.Begin()) + { + await workflowRepository.UpdateManyAsync(tasks); + return unitOfWork.Commit(true, false); + } + } + /// + /// 删除流程版本 + /// + /// + /// + /// + public async Task DeleteWorkflowVersion(Guid workflowid, int versionId) + { + + //有被流程引用则不允许删除 + if (await workTaskRepository.GetCountAsync(wt => wt.WorkflowId_Id == workflowid && wt.WorkflowId_VersionId == versionId) > 0) return false; + using (var unitOfWork = unitOfWorkManager.Begin()) + { + await versionRepository.DeleteManyAsync(wt => wt.WorkflowId == workflowid && wt.VersionNo == versionId); + return unitOfWork.Commit(true, false); + } + } + + /// + /// 节点映射 + /// + /// + /// + /// + private List GetNewNodeMaps(List workflowLines, List workflowNodes) + { + var result = new List(); + workflowLines.ForEach(line => + { + var fromNode = workflowNodes.FirstOrDefault(n => n.Id == line.FromNodeId); + var toNode = workflowNodes.FirstOrDefault(n => n.Id == line.ToNodeId); + + result.Add(NodeMap.Factory.NewNormalNodeMap(fromNode, toNode, line.Conditions)); + + //如果指定拒绝节点,则按照拒绝节点配置拒绝映射,否则原路拒绝 + if (toNode.RejectNodes != null && toNode.RejectNodes.Any()) + { + toNode.RejectNodes.ForEach(rn => + { + var rejectFromNode = toNode; + var rejectToNode = workflowNodes.FirstOrDefault(n => n.Id == rn.NodeId); + + result.Add(NodeMap.Factory.NewRejectNodeMap(rejectFromNode, rejectToNode, rn.Conditions)); + }); + } + else + { + //判断起始节点是否是开始或会签节点,是的话,直接退回,不是的话,获取来所有以起始节点为终点的所有节点条件放入拒绝判断列表中 + if (fromNode.NodeType == WorkNodeType.Begin || fromNode.NodeType == WorkNodeType.Sign || fromNode.NodeType == WorkNodeType.Judge || fromNode.NodeType == WorkNodeType.HandOut) + { + result.Add(NodeMap.Factory.NewRejectNodeMap(toNode, fromNode, null)); + } + else + { + var fromLines = workflowLines.Where(line => line.ToNodeId == fromNode.Id).ToList(); + fromLines.ForEach(line => + { + result.Add(NodeMap.Factory.NewRejectNodeMap(toNode, fromNode, line.Conditions)); + }); + } + } + }); + return result; + } + + /// + /// 连接子流程链路 + /// + /// + private void ConnectSubProcessNodes(List nodeMaps) + { + //先清空历史链路 + nodeMaps.ForEach(nm => + { + nm.FromNode.SubProcessNodeId = null; + nm.ToNode.SubProcessNodeId = null; + }); + + //递归连接链路 + //先选出子流程节点,然后再顺藤摸瓜指定下去 + var subProcessNodes = nodeMaps.Where(nm => nm.FromNode.NodeType == WorkNodeType.SubProcess).Select(nm=>nm.FromNode); + foreach (var subProcessNode in subProcessNodes) + { + ConnectSubProcessNodes(nodeMaps, subProcessNode, subProcessNode); + } + + //TODO 检查每个子流程是否都有完整的回路 + } + /// + /// 递归连接节点 + /// + /// + /// + /// + private void ConnectSubProcessNodes(List nodeMaps, WorkflowNode subProcessNode, WorkflowNode fromNode) + { + var toNodes = nodeMaps.Where(nm => nm.FromNode == fromNode&&nm.ToNode.NodeType== WorkNodeType.SubNode).Select(nm=>nm.ToNode); + foreach (var node in toNodes) + { + //如果目标卡跟子流程节点一样,就停止了 + if (node == subProcessNode) continue; + //遇到桥套子流程,则先递归遍历子流程 + if(node.NodeType== WorkNodeType.SubProcess) + ConnectSubProcessNodes(nodeMaps, node, node); + + node.SubProcessNodeId = subProcessNode.Id; + ConnectSubProcessNodes(nodeMaps, subProcessNode, node); + } + } + + private async Task GetWorkflowVersionInfo(Guid workflowId, int versionNo) + { + return await workflowStore.GetWorkflowVersionInfo(workflowId,versionNo); + } + public async Task GetWorkflowVersion(Guid workflowId, int versionNo) + { + return await workflowStore.GetWorkflowVersion(workflowId,versionNo); + } + + /// + /// 更新流程设计 + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + + public async Task UpdateWorkflow(Guid workflowId, string name, string description, int versionNo, string drawingInfo, string versionDescription, List workflowLines, List workflowNodes) + { + if (workflowNodes.Count(n => n.NodeType == WorkNodeType.Begin) != 1) + throw new Exception("至少也只能有一个开始节点"); + if (workflowNodes.Count(n => n.NodeType == WorkNodeType.End) != 1) + throw new Exception("至少也只能有一个结束节点"); + + if(workflowLines.Count==0) + throw new Exception("缺少节点间关系连线"); + + + if (workflowLines.Any(line=> line.FromNodeId==null || string.IsNullOrEmpty(line.FromNodeId.ToString()) || line.ToNodeId == null || string.IsNullOrEmpty(line.ToNodeId.ToString()))) + throw new Exception("连线必须有起点和终点"); + + var startmNode = workflowNodes.FirstOrDefault(n => n.NodeType == WorkNodeType.Begin); + if (!workflowLines.Any(line => line.FromNodeId == startmNode.Id) || workflowLines.Any(line => line.FromNodeId == startmNode.Id && (line.ToNodeId == null || line.ToNodeId.Equals(Guid.Empty)))) + throw new Exception("起始节点必须连线目标节点的连线"); + + var endNode = workflowNodes.FirstOrDefault(n => n.NodeType == WorkNodeType.End); + if (!workflowLines .Any(line=>line.ToNodeId==endNode.Id)|| workflowLines.Any(line => line.ToNodeId == endNode.Id && (line.FromNodeId == null || line.FromNodeId.Equals(Guid.Empty)))) + throw new Exception("结束节点必须有来源节点的连线"); + + if(workflowNodes.Where(n => n.NodeType != WorkNodeType.Begin&& n.NodeType != WorkNodeType.End).Any(node=>!workflowLines.Any(line=>line.FromNodeId==node.Id) || !workflowLines.Any(line => line.ToNodeId == node.Id))) + throw new Exception("非起止节点至少有来源节点和目标节点的连线"); + + + var toNode = workflowNodes.FirstOrDefault(n => n.NodeType == WorkNodeType.Begin); + + var workflow = await workflowRepository.GetAsync(workflowId); + workflow.Update(name, description); + using (var unitOfWork = unitOfWorkManager.Begin()) + { + await workflowRepository.UpdateAsync(workflow); + WorkflowVersion version = null; + var versionInfo = await GetWorkflowVersionInfo(workflowId, versionNo); + + if (versionInfo == null) + { + //新建版本 + version = new WorkflowVersion(Guid.NewGuid(), workflowId, versionNo, drawingInfo, versionDescription); + var nodeMaps = GetNewNodeMaps(workflowLines, workflowNodes); + ConnectSubProcessNodes(nodeMaps); + version.SetNodeMaps(nodeMaps); + await versionRepository.InsertAsync(version.ToWorkflowVersionInfo()); + } + else + { + version = versionInfo.ToWorkflowVersion(); + var nodeMaps = GetNewNodeMaps(workflowLines, workflowNodes); + ConnectSubProcessNodes(nodeMaps); + version.SetNodeMaps(nodeMaps); + version.Update(versionNo, drawingInfo, versionDescription); + await versionRepository.UpdateAsync(version.ToWorkflowVersionInfo(versionInfo)); + } + + return unitOfWork.Commit(workflow, null); + } + } + + #endregion + + public async Task ClearEmptyWorkflows() + { + //自动清理一天前的 + var beforeTime = DateTime.Now.AddDays(-1); + var workflowVersions = await versionRepository.GetListAsync(v => v.Deleted == false && v.DrawingInfo == "" || v.DrawingInfo == null && v.CreationTime < beforeTime); + var workflowVersionIds = workflowVersions.Select(v=>v.Id).ToList(); + var workflowIds = workflowVersions.Select(v=>v.WorkflowId).ToList(); + await versionRepository.DeleteManyAsync(workflowVersionIds); + await workflowRepository.DeleteManyAsync(workflowIds); + } + } +} diff --git a/WorkFlowCore/WorkFlowCore/Workflows/WorkflowStore.cs b/WorkFlowCore/WorkFlowCore/Workflows/WorkflowStore.cs new file mode 100644 index 0000000000000000000000000000000000000000..6584461a2682724ac45961b37df5bc2d1e01427d --- /dev/null +++ b/WorkFlowCore/WorkFlowCore/Workflows/WorkflowStore.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Domain.Services; +using WorkFlowCore.IRepositories; + + +namespace WorkFlowCore.Workflows +{ + public class WorkflowStore: IDomainService + { + private readonly IBasicRepository versionRepository; + public WorkflowStore(IBasicRepository versionRepository) + { + this.versionRepository = versionRepository; + } + public async Task GetWorkflowVersionInfo(Guid workflowId, int versionNo) + { + return await versionRepository.GetAsync(v => v.WorkflowId == workflowId && v.VersionNo == versionNo); + } + public async Task GetWorkflowVersion(Guid workflowId, int versionNo) + { + return (await GetWorkflowVersionInfo(workflowId, versionNo)).ToWorkflowVersion(); + } + } +} diff --git a/web/package.json b/web/package.json index 1c4cd523316dd967f4c018787c777a4fedb9815d..23cb61343850fd65476b8e12117210ddba3bc0da 100644 --- a/web/package.json +++ b/web/package.json @@ -4,8 +4,8 @@ "description": "A vue admin template with Element UI & axios & iconfont & permission control & lint", "author": "Pan ", "scripts": { - "dev": "vue-cli-service serve", - "build:prod": "vue-cli-service build", + "dev": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve", + "build:prod": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build", "build:stage": "vue-cli-service build --mode staging", "preview": "node build/index.js --preview", "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml", diff --git a/web/src/components/Workflow/info.vue b/web/src/components/Workflow/info.vue index 3dadc627cae9acabb7d718c349d1a86dcee66fb8..ab779d4a12c3ad4ea191ca5e68dd71c0a5c7c487 100644 --- a/web/src/components/Workflow/info.vue +++ b/web/src/components/Workflow/info.vue @@ -15,10 +15,16 @@
+ + 更 新 + @@ -49,6 +55,10 @@ init() { this.dialogVisible = true this.flowJsonData = JSON.stringify(this.data, null, 4).toString() + }, + updateInfo() + { + this.$emit('update',JSON.parse(this.flowJsonData)) } } } diff --git a/web/src/components/Workflow/panel.vue b/web/src/components/Workflow/panel.vue index 2291f13039b099980e10ba96af1947e464bbe055..9893fa8dabdb644315510821680e1f5cbe893704 100644 --- a/web/src/components/Workflow/panel.vue +++ b/web/src/components/Workflow/panel.vue @@ -105,7 +105,7 @@ - + @@ -805,7 +805,7 @@ export default { }); console.log(data); this.$emit("update", data); - } + }, } }; diff --git a/web/src/components/Workflow/panelView.vue b/web/src/components/Workflow/panelView.vue index 847d2ac34fa78f0d78aa91dc42b9f81a8eac49c8..364212af78be6be746d9504ad152194121c755bf 100644 --- a/web/src/components/Workflow/panelView.vue +++ b/web/src/components/Workflow/panelView.vue @@ -548,7 +548,8 @@ export default { clickNode(nodeId) { this.activeElement.type = "node"; this.activeElement.nodeId = nodeId; - this.$refs.nodeForm.nodeInit(this.data, nodeId); + if(this.$refs.nodeForm) + this.$refs.nodeForm.nodeInit(this.data, nodeId); //移除线条状态 this.resetOldLineStyle(); }, diff --git a/web/src/components/Workflow/userSelections.vue b/web/src/components/Workflow/userSelections.vue index 49dfeef90e3b98470065cbd34f702f095b98e971..0ff14d8408e9190b4cc66a1e78a1f23753afdf97 100644 --- a/web/src/components/Workflow/userSelections.vue +++ b/web/src/components/Workflow/userSelections.vue @@ -9,7 +9,7 @@ @change="onchange" size="mini" style="width:100%" - placeholder="请选择文章标签" + placeholder="请选择人员项" > import('@/views/workflows/formDesign/index'), - // meta: { - // title: '表单设计', - // icon: 'el-icon-tickets' - // } - // }, - // { - // path: 'editPage', - // name: 'editPage', - // hidden: true, - // component: () => import('@/views/workflows/formDesign/editPage'), - // meta: { - // title: '表单设计', - // icon: 'el-icon-tickets' - // } - // }, + { + path: 'formList', + name: 'formList', + component: () => import('@/views/workflows/formDesign/index'), + meta: { + title: '流程表单', + icon: 'el-icon-tickets' + } + }, + { + path: 'editPage', + name: 'editPage', + hidden: true, + component: () => import('@/views/workflows/formDesign/editPage'), + meta: { + title: '表单设计', + icon: 'el-icon-tickets' + } + }, ] }, @@ -124,33 +124,33 @@ export const constantRoutes = [{ icon: 'el-icon-document-checked' } }, - // { - // path: 'myFormInstance', - // name: 'myFormInstance', - // component: () => import('@/views/workflows/myFormInstance/index'), - // meta: { - // title: '我发起的', - // icon: 'el-icon-document-checked' - // } - // }, - // { - // path: 'handledInstance', - // name: 'handledInstance', - // component: () => import('@/views/workflows/pendings/handledIndex'), - // meta: { - // title: '我处理的', - // icon: 'el-icon-document-checked' - // } - // }, - // { - // path: 'pendings', - // name: 'pendings', - // component: () => import('@/views/workflows/pendings/index'), - // meta: { - // title: '待办流程', - // icon: 'el-icon-bell' - // } - // }, + { + path: 'myFormInstance', + name: 'myFormInstance', + component: () => import('@/views/workflows/myFormInstance/index'), + meta: { + title: '我发起的', + icon: 'el-icon-document-checked' + } + }, + { + path: 'handledInstance', + name: 'handledInstance', + component: () => import('@/views/workflows/pendings/handledIndex'), + meta: { + title: '我处理的', + icon: 'el-icon-document-checked' + } + }, + { + path: 'pendings', + name: 'pendings', + component: () => import('@/views/workflows/pendings/index'), + meta: { + title: '待办流程', + icon: 'el-icon-bell' + } + }, { path: 'list', diff --git a/web/src/store/index.js b/web/src/store/index.js index 647a82900cce2b2a9076670a242b016d0316148e..5824a05b1c4fe08529abffc64b20fd572c775e7d 100644 --- a/web/src/store/index.js +++ b/web/src/store/index.js @@ -5,6 +5,7 @@ import app from './modules/app' import settings from './modules/settings' import workflow from './modules/workflow' import user from './modules/organisationUser' +import dynamicFormDesign from './modules/dynamicFormDesign' Vue.use(Vuex) @@ -14,6 +15,7 @@ const store = new Vuex.Store({ settings, workflow, user, + dynamicFormDesign, }, getters }) diff --git a/web/src/store/modules/dynamicFormDesign.js b/web/src/store/modules/dynamicFormDesign.js new file mode 100644 index 0000000000000000000000000000000000000000..de7cdd54c3fbb72be9e9f8c70847a76cc908aa15 --- /dev/null +++ b/web/src/store/modules/dynamicFormDesign.js @@ -0,0 +1,139 @@ +import { + getToken, + setToken, + removeToken +} from '@/utils/auth' +import { + resetRouter +} from '@/router' +import { + MessageBox, + Message +} from 'element-ui' +import request from '@/utils/request' + + +const getDefaultState = () => { + return { + + } +} + +const state = getDefaultState() + +const mutations = { + +} + +const actions = { + create({ + commit, + state + }, data) { + return request({ + url: '/api/FormDesign/Create', + method: 'post', + data: data + }) + }, + update({ + commit, + state + }, data) { + return request({ + url: '/api/FormDesign/Update', + method: 'put', + data: data + }) + }, + get({ + commit, + state + }, params) { + return request({ + url: '/api/FormDesign/Get', + method: 'get', + params: params + }) + }, + getFormDesignVersion({ + commit, + state + }, params) { + return request({ + url: '/api/FormDesign/GetFormDesignVersion', + method: 'get', + params: params + }) + }, + delete({ + commit, + state + }, params) { + return request({ + url: '/api/FormDesign/Delete', + method: 'delete', + params: params + }) + }, + getAllFormDesignVersions({ + commit, + state + }, params) { + return request({ + url: '/api/FormDesign/getAllFormDesignVersions', + method: 'get', + params: params + }) + }, + getAllList({ + commit, + state + }, params) { + return request({ + url: '/api/FormDesign/getAllList', + method: 'get', + params: params + }) + }, + setActiveVersion({ + commit, + state + }, data) { + return request({ + url: '/api/FormDesign/SetActiveVersion', + method: 'put', + data: data, + params: { + id: data.id + } + }) + }, + getPageList({ + commit, + state + }, params) { + return request({ + url: '/api/FormDesign/GetPageList', + method: 'get', + params: params + }) + }, + getFormDesignVersionByWorkflowId({ + commit, + state + }, params) { + return request({ + url: '/api/FormDesign/GetFormDesignVersionByWorkflowId', + method: 'get', + params: params + }) + }, +} + +export default { + namespaced: true, + state, + mutations, + actions +} diff --git a/web/src/store/modules/workflow.js b/web/src/store/modules/workflow.js index 75cc1fa7d031055a9a0b2ec60c558823870fc35e..f87d834e8849156fafd4e0112182c89e33b1fe1b 100644 --- a/web/src/store/modules/workflow.js +++ b/web/src/store/modules/workflow.js @@ -114,7 +114,7 @@ const actions = { }, params) { return request({ url: '/api/WorkFlow/delete', - method: 'get', + method: 'delete', params: params }) }, @@ -340,6 +340,38 @@ const actions = { params: params }) }, + + GetRejectNodes({ + commit, + state + }, params) { + return request({ + url: '/api/WorkFlow/GetRejectNodes', + method: 'get', + params: params + }) + }, + deleteWorkTask({ + commit, + state + }, params) { + return request({ + url: '/api/WorkFlow/DeleteWorkTask', + method: 'delete', + params: params + }) + }, + updateWorkTaskFormData({ + commit, + state + }, data) { + return request({ + url: '/api/WorkFlow/UpdateWorkTaskFormData', + method: 'put', + data: data + }) + }, + } export default { diff --git a/web/src/views/workflows/formDesign/components/formItem.vue b/web/src/views/workflows/formDesign/components/formItem.vue index 04c0496c36d38dd49176c23c404fdf60b349a946..54398db0fe6dd76820fdf26b9884e5140c0763d0 100644 --- a/web/src/views/workflows/formDesign/components/formItem.vue +++ b/web/src/views/workflows/formDesign/components/formItem.vue @@ -62,7 +62,7 @@ - + 0) + return this.value; + else{ + try{ + return JSON.parse(this.valueString) + }catch(e){ + return {}; + } + } }, }, }; diff --git a/web/src/views/workflows/formDesign/createForm.vue b/web/src/views/workflows/formDesign/createForm.vue index 05689b31ba3a9a96cb97828272be38f6d5f0a544..d2ebf628fcb883dc41a4b811be2c513f91b1e51b 100644 --- a/web/src/views/workflows/formDesign/createForm.vue +++ b/web/src/views/workflows/formDesign/createForm.vue @@ -18,12 +18,29 @@ style="width: 80%" v-loading="loading" > + + + + + + + + - + - - - - - - + w.id==this.form.workflowId.id)[0]; + this.form.title = '表单-'+workflow.name+'-Version'+workflow.activeVersion this.form.workflowId.version = workflow.activeVersion; } } @@ -101,6 +105,14 @@ export default { prop: "value", event: "change", }, + computed:{ + workflowId() + { + let value = this.form.workflowId.id+':'+this.form.workflowId.version + if(value.length==1) return ""; + return value; + } + }, data() { return { loading: false, @@ -115,7 +127,6 @@ export default { }, allWorkflows:[], rules: { - title: [{ required: true, message: "请输入", trigger: "change" }], workflowId_id:[{ required: true, message: "请选择", trigger: "change" }], }, }; @@ -164,10 +175,13 @@ export default { }); }, getWorkflowDesignList() { + this.loading = true; this.$store .dispatch("workflow/getAllWorkflowsWithVersion", this.form) .then((res) => { this.allWorkflows = res; + this.loading = false; + }); }, workflowIdChange(val) diff --git a/web/src/views/workflows/formDesign/editForm.vue b/web/src/views/workflows/formDesign/editForm.vue index 2e930f454c6ee6544933638214ad4d81e339c666..898fc501e372c0ad8531b59011c1db75bb12fe93 100644 --- a/web/src/views/workflows/formDesign/editForm.vue +++ b/web/src/views/workflows/formDesign/editForm.vue @@ -23,7 +23,7 @@ prop="title" :label-width="defaultLabelWidth" > - + - - + --> { this.allWorkflows = res; + this.loading = false }); }, workflowIdChange(val) { diff --git a/web/src/views/workflows/formDesign/editPage copy.vue b/web/src/views/workflows/formDesign/editPage copy.vue deleted file mode 100644 index 9d15617ecdb056db432a30cdb0a0b8238197fceb..0000000000000000000000000000000000000000 --- a/web/src/views/workflows/formDesign/editPage copy.vue +++ /dev/null @@ -1,433 +0,0 @@ - - - - - diff --git a/web/src/views/workflows/formDesign/index.vue b/web/src/views/workflows/formDesign/index.vue index 48d77c4bd59934408c4c555c1def3a9ca2e6521c..edcc938d6f1882be3a8a9ac4fc1649f79f170ac2 100644 --- a/web/src/views/workflows/formDesign/index.vue +++ b/web/src/views/workflows/formDesign/index.vue @@ -19,7 +19,7 @@ - + @@ -59,7 +59,7 @@ >查看表单 查看流程流程图 diff --git a/web/src/views/workflows/formDesign/viewFormDesignForm.vue b/web/src/views/workflows/formDesign/viewFormDesignForm.vue index 7f29969c9b3e26ffefdad19b75f7a1d345d716b6..d82db09f3d7a988827d4bda3679c274a2bc4a59a 100644 --- a/web/src/views/workflows/formDesign/viewFormDesignForm.vue +++ b/web/src/views/workflows/formDesign/viewFormDesignForm.vue @@ -93,12 +93,6 @@ export default { this.hide(); }, getDesign(id) { - - // var formDesignId = { - // id: selected.id, - // version: selected.activeVersion, - // }; - return this.$store .dispatch("dynamicFormDesign/getFormDesignVersion", id) diff --git a/web/src/views/workflows/formInstance/index.vue b/web/src/views/workflows/formInstance/index.vue index b81e1240e9b59b7bcd034e1549bfee544cf88798..98eb8e242290c6efd7d6c1d633fdaeb77e2333d1 100644 --- a/web/src/views/workflows/formInstance/index.vue +++ b/web/src/views/workflows/formInstance/index.vue @@ -50,7 +50,7 @@ @click="$refs.workflowDesignForm.show({id:scope.row.workflowId.id,version:scope.row.workflowId.versionId})" type="text" size="small" - >查看流程流程图 diff --git a/web/src/views/workflows/formInstance/viewForm.vue b/web/src/views/workflows/formInstance/viewForm.vue index 17c974ba1918f71ed3374a590131db70f77fbfe0..e97a4fa34744f00beb702764a7cd900013dbcb16 100644 --- a/web/src/views/workflows/formInstance/viewForm.vue +++ b/web/src/views/workflows/formInstance/viewForm.vue @@ -8,6 +8,7 @@ :close-on-click-modal="false" > +
表单数据
s.id == this.form.formDesignId.id - )[0]; - if (!selected) return; - var formDesignId = { - id: selected.id, - version: selected.activeVersion, - }; - this.getDesign(formDesignId); - }, - }, }, model: { prop: "value", @@ -232,7 +219,6 @@ export default { loadData(value) { this.loading = true; this.getWorkTask(value).then((task) => { - // this.loadFormInstance(task.entityKeyValue); this.getAllTaskStepsOfWorkTask(); this.$refs.controlPanel.setValue( [], @@ -247,46 +233,19 @@ export default { this.hide(); }, - getDesign(id) { - return this.$store - .dispatch("dynamicFormDesign/getFormDesignVersion", id) - .then((res) => { - if (res && res.designContent) - return JSON.parse(res && res.designContent); - else return []; - }); - }, - getDesignName(designId) { - var designs = this.selections.filter((s) => s.id == designId); - return designs && designs.length > 0 ? designs[0].title : ""; - }, getWorkTask(id) { return this.$store .dispatch("workflow/getWorkTask", { id: id }) .then((res) => { this.workTaskForm = res; + + this.getAndRendWithFormDesign(res) return res; }) .catch((e) => { this.loading = false; }); }, - loadFormInstance(id) { - this.loading = true; - this.$store - .dispatch("dynamicFormInstance/get", { id: id }) - .then((res) => { - this.form = res; - this.getDesign(this.form.formDesignId).then((controls) => { - this.loading = false; - //this.$set(this.form, "formData", JSON.parse(res.formData || "{}")); - this.$refs.controlPanel.setValue( - controls, - JSON.parse(res.formData || "{}") - ); - }); - }); - }, getAllTaskStepsOfWorkTask() { this.$store .dispatch("workflow/getAllTaskStepsOfWorkTask", { @@ -311,6 +270,45 @@ export default { callback() { this.loadData(this.workTaskForm.id); }, + + getAndRendWithFormDesign(workTask) { + this.loading = true; + let keyValue = {} + try { + keyValue = JSON.parse(workTask.entityKeyValue); + } catch (e) { + keyValue = {}; + } + let formData = {}; + try { + formData = JSON.parse(workTask.formData); + } catch (e) { + formData = {}; + } + + this.$refs.controlPanel.setValue([], formData); + + const formDesignId = { + ...keyValue, + version: keyValue.versionId, + }; + + + this.$store + .dispatch("dynamicFormDesign/getFormDesignVersion", formDesignId) + .then((res) => { + this.loading = false; + this.formDesign = res; + if (res && res.designContent) { + return JSON.parse(res && res.designContent); + } else return []; + }) + .then((controls) => { + this.loading = false; + //this.$set(this.form, "formData", JSON.parse(res.formData || "{}")); + this.$refs.controlPanel.setValue(controls, formData); + }); + }, }, }; diff --git a/web/src/views/workflows/myFormInstance/createForm.vue b/web/src/views/workflows/myFormInstance/createForm.vue index 8f606a377c7d7aaf8e3cd14dd9799be66406ac21..56901018dae3b0ac6a5758def458fd1d08f41a1f 100644 --- a/web/src/views/workflows/myFormInstance/createForm.vue +++ b/web/src/views/workflows/myFormInstance/createForm.vue @@ -3,7 +3,7 @@ @@ -13,26 +13,24 @@ ref="form" label-width="100px" class="demo-form" - label-position="right" + label-position="top" size="mini" - style="width: 80%" + style="width: 100%" v-loading="loading" > - - - + @@ -42,9 +40,18 @@ prop="title" :label-width="defaultLabelWidth" > - + + + + + + + + + + 取 消 @@ -57,7 +64,9 @@ - - diff --git a/web/src/views/workflows/pendings/handledIndex.vue b/web/src/views/workflows/pendings/handledIndex.vue index 7096d860b91c2bd140a15d4e3a51d2dc0fb1cc71..d22ca1180a2bebc34a1f6de390747bac42a3085a 100644 --- a/web/src/views/workflows/pendings/handledIndex.vue +++ b/web/src/views/workflows/pendings/handledIndex.vue @@ -48,7 +48,7 @@ @click="$refs.workflowDesignForm.show({id:scope.row.workflowId.id,version:scope.row.workflowId.versionId})" type="text" size="small" - >查看流程流程图 diff --git a/web/src/views/workflows/pendings/index.vue b/web/src/views/workflows/pendings/index.vue index e75d485ff27a7baff27a3b4ddd61e0599bed8129..9645a44d33380892a01a157067b8a1b8c7cf788a 100644 --- a/web/src/views/workflows/pendings/index.vue +++ b/web/src/views/workflows/pendings/index.vue @@ -41,7 +41,7 @@ @click="$refs.workflowDesignForm.show({id:scope.row.workflowId.id,version:scope.row.workflowId.versionId})" type="text" size="small" - >查看流程流程图 diff --git a/web/src/views/workflows/pendings/processForm.vue b/web/src/views/workflows/pendings/processForm.vue index 3a2872bd8e9b632550be182561faaa969b881641..14422792d3ef6cd8d8967e80516844a3ff9f789c 100644 --- a/web/src/views/workflows/pendings/processForm.vue +++ b/web/src/views/workflows/pendings/processForm.vue @@ -8,7 +8,8 @@ :close-on-click-modal="false" @opened="opened()" > - + +
表单数据
- -
- 处理 - 转发 -
-
-
-
- -
-
- - - 通过 - 驳回 - - -
-
- -
- 转发/代办 -
-
- -
审批记录
- -
- 节点:{{ item.nodeName }} -
- - - - 通过 - 拒绝 - 撤回 - 转发 - 未处理 - - - 待处理 - - - 只读 - -
-
-
- 处理人: - {{ item.handleUser.name }} -
-
-

意见:

- {{ item.comment }} -
-
-

附件:

- {{ item.resourceIds }} -
-
-
- - 撤回 -
-
-
+ 取 消 @@ -163,8 +42,9 @@ import controlPanel from "@/views/workflows/formDesign/controlPanel.vue"; import nodeUser from "./components/nodeUser"; import { parseTime } from "@/utils/index"; +import processForm from "./../workFlowSimulation/processForm"; export default { - components: { controlPanel, nodeUser }, + components: { controlPanel, nodeUser, processForm }, props: { value: { id: 1, @@ -180,20 +60,6 @@ export default { visible(newVal, oldVal) { if (!newVal && oldVal) this.hide(); }, - "form.formDesignId.id": { - handler(newVal, oldVal) { - if (newVal == oldVal) return; - var selected = this.selections.filter( - (s) => s.id == this.form.formDesignId.id - )[0]; - if (!selected) return; - var formDesignId = { - id: selected.id, - version: selected.activeVersion, - }; - this.getDesign(formDesignId); - }, - }, }, model: { prop: "value", @@ -207,7 +73,7 @@ export default { return ( this.workHistories.filter( (w) => - w.handleUser.id == this.currentUserId && + w.handleUser.id === this.currentUserId && w.isHandled == 0 && w.workStepType == 0 ).length > 0 @@ -261,8 +127,7 @@ export default { }; }, methods: { - opened() - { + opened() { if (this.value) this.loadData(this.value); }, confirm() { @@ -286,12 +151,8 @@ export default { this.getWorkTask(value).then((task) => { // this.loadFormInstance(task.entityKeyValue); this.getAllTaskStepsOfWorkTask(); - this.$refs.controlPanel.setValue( - [], - JSON.parse(task.formData || "{}") - ); - - this.loading = false; + this.getAndRendWithFormDesign(task); + this.loading = false; }); }, commit() { @@ -299,24 +160,12 @@ export default { this.hide(); }, - getDesign(id) { - return this.$store - .dispatch("dynamicFormDesign/getFormDesignVersion", id) - .then((res) => { - if (res && res.designContent) - return JSON.parse(res && res.designContent); - else return []; - }); - }, - getDesignName(designId) { - var designs = this.selections.filter((s) => s.id == designId); - return designs && designs.length > 0 ? designs[0].title : ""; - }, getWorkTask(id) { return this.$store .dispatch("workflow/getWorkTask", { id: id }) .then((res) => { this.workTaskForm = res; + this.$refs.processForm.loadHistories(this.workTaskForm); return res; }) .catch((e) => { @@ -349,7 +198,7 @@ export default { //获取当前审批的步骤 var workStep = this.workHistories.filter( (w) => - w.handleUser.id == this.$store.state.user.user.id && + w.handleUser.id == this.currentUserId && w.isHandled == 0 && w.workStepType == 0 )[0]; @@ -442,6 +291,45 @@ export default { this.loading = false; }); }, + + getAndRendWithFormDesign(workTask) { + this.loading = true; + + let keyValue = {} + try { + keyValue = JSON.parse(workTask.entityKeyValue); + } catch (e) { + keyValue = {}; + } + let formData = {}; + try { + formData = JSON.parse(workTask.formData); + } catch (e) { + formData = {}; + } + + this.$refs.controlPanel.setValue([], formData); + + const formDesignId = { + ...keyValue, + version: keyValue.versionId, + }; + + this.$store + .dispatch("dynamicFormDesign/getFormDesignVersion", formDesignId) + .then((res) => { + this.loading = false; + this.formDesign = res; + if (res && res.designContent) { + return JSON.parse(res && res.designContent); + } else return []; + }) + .then((controls) => { + this.loading = false; + //this.$set(this.form, "formData", JSON.parse(res.formData || "{}")); + this.$refs.controlPanel.setValue(controls, formData); + }); + }, }, }; diff --git a/web/src/views/workflows/workFlowSimulation/index.vue b/web/src/views/workflows/workFlowSimulation/index.vue index bcee055e15c9211ff62aeda8b046c88b30b6d8c5..827a1b2c6833ba016b3064e11c4528c2a020af28 100644 --- a/web/src/views/workflows/workFlowSimulation/index.vue +++ b/web/src/views/workflows/workFlowSimulation/index.vue @@ -1,7 +1,7 @@ + + diff --git a/web/src/views/workflows/workflow/index.vue b/web/src/views/workflows/workflow/index.vue index b9f632c8d83dc54d5250e8134d835ea7dd4012a4..c0a93a99534fbc27477932385788ad46dd37b337 100644 --- a/web/src/views/workflows/workflow/index.vue +++ b/web/src/views/workflows/workflow/index.vue @@ -121,6 +121,7 @@ + @@ -129,8 +130,9 @@ import createForm from "./createForm"; import updateVersionForm from "./updateVersionForm"; import TableIndex from "@/layout/mixin/TableIndex"; import viewWorkflowForm from "./viewWorkflowForm"; +import simulation from "./../workFlowSimulation/index" export default { - components: { createForm, updateVersionForm, viewWorkflowForm }, + components: { createForm, updateVersionForm, viewWorkflowForm,simulation }, mixins: [TableIndex], methods: { handleClick(row) { @@ -141,6 +143,12 @@ export default { data() { return { moduleName: "workflow", + drawerSimulation:{ + show:false, + id: '', + versionId: 0, + name:'', + } }; }, mounted() { diff --git a/web/src/views/workflows/workflow/updateForm.vue b/web/src/views/workflows/workflow/updateForm.vue index fb09963132a61b11880c8546828aebca3226e9a8..6379332e223b3a481b1464be0e53f671c95b0528 100644 --- a/web/src/views/workflows/workflow/updateForm.vue +++ b/web/src/views/workflows/workflow/updateForm.vue @@ -19,7 +19,7 @@ v-loading="loading" > - + diff --git a/web/src/views/workflows/workflow/viewWorkflowForm.vue b/web/src/views/workflows/workflow/viewWorkflowForm.vue index 65a9217401d391e566629f844894c54feb09ce98..d15aa52a1f62a41a429b16f569d6d2fc99c899f0 100644 --- a/web/src/views/workflows/workflow/viewWorkflowForm.vue +++ b/web/src/views/workflows/workflow/viewWorkflowForm.vue @@ -81,6 +81,8 @@ export default { ? this.defaultNode() : JSON.parse(res.drawingInfo); _this.data = res; + if (_this.nodeData.nodeList) + _this.nodeData.nodeList.forEach((n) => (n.viewOnly = true)); _this.$refs.workflowEditPanel.loadNodeData(); }); },