UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

2,173 lines (2,172 loc) 58.2 kB
var me = Object.defineProperty; var ge = (a, t, o) => t in a ? me(a, t, { enumerable: !0, configurable: !0, writable: !0, value: o }) : a[t] = o; var N = (a, t, o) => ge(a, typeof t != "symbol" ? t + "" : t, o); import { ref as n, defineComponent as fe, computed as k, onMounted as Le, createVNode as l, createTextVNode as Y, resolveComponent as ve } from "vue"; import Ee from "../input-group/index.esm.js"; const Ce = { cancelVisible: { Type: Boolean, default: !0 }, personnelsPrimaryKey: { Type: String, default: "id" }, personnelsDisplayKey: { Type: String, default: "name" }, replyPersonnelsDisplayKey: { Type: String, default: "userName" }, editHeight: { Type: Number, default: 130 }, type: { Type: String, default: "user" }, orgUrl: { Type: String, default: "" }, personSearchUrl: { Type: String, default: "" }, sectionData: { Type: Object, default: [] }, replyUser: { Type: Object, default: { id: {} } }, personnels: { Type: Object, default: [] }, attachFiles: { Type: Object, default: [] } }; var F = /* @__PURE__ */ ((a) => (a[a.Cancel = 0] = "Cancel", a[a.Confirm = 1] = "Confirm", a))(F || {}); const Te = { emptyMessage: "Empty Data" }, he = { placeholder: "Please Select", emptyMsg: "Empty Data" }, ye = { saveAsDialog: { queryPlanName: "Query Plan Name", setAsDefault: "Set as default", confirm: "Confirm", cancel: "Cancel", placeholder: "Please input query solution name", pleaseInput: "Please input query solution name", title: "New Query Solution", maxLength: "Query solution name exceeding nine characters" }, manageDialog: { name: "Name", property: "Property", default: "Default", operation: "Action", confirm: "Confirm", cancel: "Cancel", planNameDuplicated: "{0} is duplicated", system: "System Plan", personal: "Personal Plan" }, container: { default: "Default", manage: "Edit", arrowUp: "Fold", arrowDown: "Unfold", saveAs: "Save As", empty: "empty", save: "Save", pleaseInput: "Property 'formId' is required", saveSuccess: "Query Plan Saved", saveFail: "Query Plan didn't save", planManage: "Edit Query Plan", clear: "Clear conditions", require: "Please fill the {fields} before query", defaultName: "Default Scheme", histroyName: "Last Filter", sysPresetName: "Sys Preset Scheme" } }, Oe = { configDialog: { unSelectedOptions: "Unselected Options", selectedOptions: "Selected Options", confirm: "Confirm", cancel: "Cancel", placeholder: "Please input search keywords", moveUp: "Move Up", moveAllUp: "Move All Up", moveDown: "Move Down", moveAllDown: "Move All Down", moveRight: "Move Right", moveAllRight: "Move All Right", moveLeft: "Move Left", moveAllLeft: "Move All Left", pleaseSelect: "Please select options", noOptionMove: "No moveable options left", selectOptionUp: "Please select options to move up", cannotMoveUp: "Can't move up", selectOptionTop: "Please select options to the top", optionIsTop: "The option is at top", selectOptionDown: "Please select options to move down", cannotMoveDown: "Can't move down", selectOptionBottom: "Please select options to the bottom", optionIsBottom: "The option is at bottom" }, container: { query: "Filter", saveAs: "Save as", save: "Save", config: "Configurations" } }, Ae = { more: "More" }, Se = { message: "Total <b>{1}</b> items ", totalinfo: { firstText: "Total", lastText: "items" }, pagelist: { firstText: "Display", lastText: "items" }, previous: "Previous", next: "next", goto: { prefix: "go to", suffix: "" } }, be = { yes: "Yes", no: "No", ok: "OK", cancel: "Cancel", title: "System Information", errorTitle: "Error Information", prompt: { fontSize: { name: "Font Size", small: "Small", middle: "Middle", big: "Large", large: "Extra Large", huge: "Huge" } }, exception: { expand: "Expand", collapse: "Collapse", happend: "Happened Time", detail: "Detail", copy: "Copy details", copySuccess: "Copy succeeded!", copyFailed: "Replication failed!", roger: "Got it." } }, xe = { lineNumberTitle: "NO.", emptyMessage: "Empty Data", pagination: { previousLabel: "Prev Page", nextLabel: "Next Page", message: "Total <b>{1}</b> items ", pagelist: { firstText: "Display", lastText: "items" } }, filter: { title: "Conditions", reset: "Reset", clear: "Clear", clearAll: "Clear all conditions", setting: "Settings", nofilter: "[ Empty ]", checkAll: "Check All", and: "And", or: "Or", operators: { equal: "equal", notEqual: "not equal", greater: "greater than", greaterOrEqual: "greater than or equal", less: "less than", lessOrEqual: "less than or equal", contains: "contains", notContains: "not contains", like: "contains", notLike: "not contains", in: "in", notIn: "not in", empty: "empty", notEmpty: "not empty", null: "null", notNull: "not null" }, more: "More" }, settings: { visible: "Visible", sortting: "Sortting", title: "Column Settings", canchoose: "Can choose", choosed: "Choosed", asc: "ASC", desc: "DESC", cancelSort: "Cancel sortting", ok: "OK", cancel: "Cancel", reset: "Reset", conciseMode: "Concise", advancedMode: "Advanced", formatSetting: "Column format", properties: "Column properties", groupping: "Groupping", allColumns: "All", visibleColumns: "Visible", hiddenColumns: "Hidden", searchPlaceholder: "Please enter a column name", checkall: "Show or hide all", headeralign: "Header alignment", dataalign: "Data alignment", alignLeft: "Left", alignCenter: "Center", alignRight: "Right", summarytype: "Summary type", summarytext: "Summary text", summaryNone: "None", summarySum: "Sum", summaryMax: "Max", summaryMin: "Min", summarCount: "Count", summaryAverage: "Average", grouppingField: "Groupping field", moreGrouppingFieldWarningMessage: "Up to 3 fields are set for grouping", grouppingSummary: "Group total", addGrouppingFieldTip: "Add groupping field", removeGrouppingFieldTip: "Remove groupping field", grouppingSummaryType: "Group total type", grouppingSummaryText: "Group total text", restoreDefaultSettingsText: "Are you sure you want to restore the default settings", simple: { title: "Show Columns", tip: "The selected fields can be displayed in the list. Drag to adjust the display order in the list.", count: 'show <span class="visible-cols-count">{0}</span> columns' } }, selectionData: { clearAll: "Clear all", tooltip: "Click here show list.", currentLenth: "<b>{0}</b> items selected. " }, groupRow: { tips: "Drag columns here to group data.", removeColumn: "Remove the group column.", clearTip: "Clear all grouped fields.", clear: "Empty" } }, _e = { expandLabel: "expand", collapseLabel: "collapse" }, He = { message: "Loading ..." }, De = { // 取消 cancelButton: "Cancel", // 确定 okButton: "OK", // 添加子句 addWhere: "Add", clear: "Clear", // 置顶 moveTop: "Top", // 上移 moveUp: "Up", // 下移 moveDown: "Down", // 置底 moveBottom: "Bottom", // 左括号 leftBrackets: "Left Brackets", // 字段 field: "Field Name", // 操作符 operator: "Operator", // 值 value: "Value", valueType: "Value type", expressType: { value: "Value", express: "Express", frontExpress: "Front Express" }, // 右括号 rightBrackets: "Right Brackets", // 关系 relation: "Relation", relationValue: { and: "And", or: "Or" }, // 设计器 designTab: "Design", // 源代码 jsonTab: "JSON", // Sql预览 sqlTab: "Sql", title: "Filter Designer", message: "Are you sure you want to clear all current data?", validate: { bracket: "The brackets do not match, please check", relation: "The condition relationship is incomplete, please check", field: "Condition field is not set, please check" } }, Pe = { // 取消 cancelButton: "Cancel", // 确定 okButton: "OK", // 添加子句 addWhere: "Add", clear: "Clear", // 置顶 moveTop: "Top", // 上移 moveUp: "Up", // 下移 moveDown: "Down", // 置底 moveBottom: "Bottom", title: "Enum Data Designer", message: "Are you sure you want to clear all current data?", value: "Value", name: "Name" }, Ie = { title: "System Information" }, we = { // 取消 cancel: "cancel", // 确定 ok: "ok", // 添加子句 add: "Add", clear: "Clear", // 置顶 moveTop: "Top", // 上移 moveUp: "Up", // 下移 moveDown: "Down", // 置底 moveBottom: "Bottom", // 字段 field: "Field Name", // 操作符 order: "Order", asc: "ASC", desc: "DESC", title: "Sort Editor" }, Re = { yes: "yes", no: "no", zoom: "Edit content in the dialog opened.", comments: { title: "Common comments", manager: "Management", empty: "No data." } }, Me = { sidebar: "Detail" }, Ne = { more: "more" }, ke = { leftTitle: "Unselected", rightTitle: "Selected", noDataMoveMessage: "Please select the data to move.", shiftRight: "Shift right", shiftLeft: "Shift left", allShiftRight: "Shift right all", allShiftLeft: "Shift left all", top: "Placed at the top", bottom: "Placed at the bottom", shiftUp: "Shift up", shiftDown: "Shift down", emptyData: "Empty data", filterPlaceholder: "Filter..." }, Fe = { expand: "expand", fold: "fold" }, Ue = { placeholder: "Please choose", favorites: "Favorites", selected: "Selected items", okText: "OK", cancelText: "Cancel", allColumns: "All Columns", datalist: "Data items", mustWriteSomething: "Please write a key words.", mustChoosAdatarow: "Please choose a data row!", tipText: "Are these what you are looking for?", cascade: { enable: "Enable cascade selection", disable: "Disable cascade selection", up: "Cascade up selection only", down: "Cascade selection only" }, favoriteInfo: { addFav: "Collection success.", cancelFav: "Unfavorite successfully. " }, getAllChilds: "Get all children", contextMenu: { expandall: "Expand all", collapseall: "Collapse all", expandByLayer: "Expand by level", expand1: "Expand to level 1", expand2: "Expand to level 2", expand3: "Expand to level 3", expand4: "Expand to level 4", expand5: "Expand to level 5", expand6: "Expand to level 6", expand7: "Expand to level 7", expand8: "Expand to level 8", expand9: "Expand to level 9" }, quick: { notfind: "Search content not found.", more: "Show more" }, configError: "The help display column is not configured. Please check whether the help data source is configured correctly.", selectedInfo: { total: 'Selected items <span class="selected-counter mx-1">{0}</span>', clear: "Cancel selected", remove: "Delete ({0})", confirm: "Are you sure you want to cancel all selected records?" } }, Be = { emptyMessage: "Empty Data", pagination: { previousLabel: "Prev Page", nextLabel: "Next Page", message: "{0} items per page, total {1} items." } }, Ze = { imgtitle: "Amend", typeError: "Type error", sizeError: "Can not be larger than", uploadError: "Upload Fail!", loadError: "Load error." }, Ge = { filter: "Filter", confirm: "OK", cancel: "Cancel", reset: "Reset" }, Ve = { empty: "Data is empty" }, qe = { en: "English", "zh-cn": "Simplified Chinese", "zh-CHS": "Simplified Chinese", "zh-CHT": "Traditional Chiness", ok: "OK", cancel: "Cancel" }, Ke = { vertifyTypeAll: "All", vertifyTypeError: "Error", vertifyTypeEmpty: "Empty" }, ze = { title: "Batch Edit", appendText: "Append new field", appendTextTip: "Append more field to edit", okText: "OK", cancelText: "Cancel", field: "Please select field", fieldValue: "Please input value", appendTips: "append more columns to edit.", selected: "select", row: "row", confirmTitle: "Info", neverShow: "Do not remind again", confirmText: "We will update {0} rows,Are you sure?" }, We = { next: "Next", prev: "Prev", skip: "Skip", startNow: "Start now" }, je = { expandText: "More Information", collapseText: "More Information" }, Ye = { submit: "Submit", cancel: "Cancel", colleague: "Colleague", all: "For all to see", related: "Relevant personnel can see", confirm: "Confirm", reply: "Reply", emptyMessage: "Empty Data", placeholder: "Please input search keywords", notEmpty: "The submitted content cannot be empty", selectEmployee: "Select the employee", next: "Next", emptySelected: "Clear", emptyRight: "Select on the left", allOrg: "All", selected: "Selected", section: "Section ", people: "Per ", viewMore: "View more", per: " ", pcs: " ", emptyList: "Empty contacts", advancedQuery: "Select" }, Qe = { addText: "Add", placeholder: "Please input" }, $e = { placeholder: "Please enter the number", range: { begin: "Please enter the begin number", end: "Please enter the end number" } }, Xe = { filter: "Filter", confirm: "OK", cancel: "Cancel", reset: "Reset", advancedFilter: "advancedFilter", expand: "Expand", fold: "Fold", last1Month: "LastOneMonth", last3Month: "LastThreeMonth", last6Month: "LastSixMonth", pleaseInput: "Please input ", searchHistory: "Search History", searchResult: "Search Result", intervalFilter: "Filter by interval", beginPlaceHolder: "Minimum value", endPlaceHolder: "Maximum value", dateBeginPlaceHolder: "Start date", dateEndPlaceHolder: "End date", empty: "Empty", clear: "Clear", today: "Today", yesterday: "Yesterday", checkall: "Check all" }, Je = { guide: "Nav" }, et = { placeholder: "Select the form metadata", code: "Code", name: "Name", select: "Select the help metadata", filter: "Configuration conditions", helpidEmpty: "HelpID cannot be empty", selectTitle: "Helps with metadata selection", lookupTitle: "Help configuration", sure: "Confirm", cancel: "Cancel", successSave: "Save successfully", helpIdError: "Please select the help metadata", fileNamePlaceholder: "Select the help text field", selectFileNameTitle: "Text field selector", bindingPath: "Binding field", fieldError: "The bound field does not exist!", textFieldLable: "Select the textField", loadTypeTitle: "Select the loadType", loadTypeList: { all: "All load", layer: "Layer load", default: "Default load" }, powerTitle: "Permission setting", powerObjLabel: "Permission objects", powerFieldLabel: "Permission field", powerOperateLabel: "Permission operate", linkfieldLabel: "Help associated field", powerDataTitle: "Permission object selection", powerFieldTitle: "Permission field selection", powerOperateTitle: "Operation selection", businessLable: "Business object ", powerLable: "Permission objects", powerError: "Select the permission objects", operateError: "Select the Operation", linkfieldError: "Select permission field" }, tt = { locale: "EN_US", combo: he, combolist: {}, datagrid: xe, filterEditor: De, enumEditor: Pe, lookup: Ue, loading: He, modal: {}, messager: be, notify: Ie, dialog: {}, datatable: {}, colorPicker: {}, numberSpinner: $e, inputGroup: {}, treetable: Be, multiSelect: ke, sortEditor: we, tabs: Ne, timePicker: {}, wizard: {}, tree: {}, tooltip: {}, listview: Te, text: Re, switch: {}, sidebar: Me, section: _e, pagination: Se, responseToolbar: Ae, queryCondition: Oe, querySolution: ye, collapseDirective: Fe, avatar: Ze, listFilter: Ge, progressStep: Ve, languageLabel: qe, verifyDetail: Ke, batchEditDialog: ze, pageWalker: We, footer: je, discussionGroup: Ye, tag: Qe, filterPanel: Xe, scrollspy: Je, lookupConfig: et }, lt = { emptyMessage: "暂无数据" }, at = { placeholder: "请选择", favorites: "收藏夹", selected: "已选数据", okText: "确定", cancelText: "取消", allColumns: "所有列", datalist: "数据列表", mustWriteSomething: "请输入关键字后查询。", mustChoosAdatarow: "请选择一条记录!", tipText: "您要找的是不是这些?", cascade: { enable: "同步选择", disable: "仅选择自身", up: "包含上级", down: "包含下级" }, favoriteInfo: { addFav: "收藏成功。", cancelFav: "取消收藏成功。 " }, getAllChilds: "获取所有子级数据", contextMenu: { expandall: "全部展开", collapseall: "全部收起", expandByLayer: "按层级展开", expand1: "展开 1 级", expand2: "展开 2 级", expand3: "展开 3 级", expand4: "展开 4 级", expand5: "展开 5 级", expand6: "展开 6 级", expand7: "展开 7 级", expand8: "展开 8 级", expand9: "展开 9 级" }, quick: { notfind: "未找到搜索内容", more: "显示更多" }, configError: "帮助显示列未配置,请检查是否已正确配置帮助数据源! ", selectedInfo: { total: '已选 <span class="selected-counter mx-1">{0}</span> 条', clear: "取消已选", remove: "删除已选({0})", confirm: "您确认要取消所有已选中的记录吗?" } }, ot = { lineNumberTitle: "序号", emptyMessage: "暂无数据", pagination: { previousLabel: "上一页", nextLabel: "下一页", message: "共 <b>{1}</b> 条 ", pagelist: { firstText: "显示", lastText: "条" }, previous: "上一页", next: "下一页" }, filter: { title: "过滤条件", reset: "重置", clear: "清空条件", clearAll: "清空所有条件", setting: "高级设置", nofilter: "[ 无 ]", checkAll: "全选", and: "并且", or: "或者", operators: { equal: "等于", notEqual: "不等于", greater: "大于", greaterOrEqual: "大于等于", less: "小于", lessOrEqual: "小于等于", contains: "包含", notContains: "不包含", like: "包含", notLike: "不包含", in: "属于", notIn: "不属于", empty: "为空", notEmpty: "不为空", null: "null", notNull: "不为null" }, more: "查看更多" }, settings: { visible: "显示列", sortting: "列排序", title: "列配置", canchoose: "可选列", choosed: "已选列", asc: "升序", desc: "降序", cancelSort: "取消排序", ok: "确定", cancel: "取消", reset: "恢复默认", conciseMode: "简洁模式", advancedMode: "高级模式", formatSetting: "列格式", properties: "列属性", groupping: "分组", allColumns: "所有列", visibleColumns: "可见列", hiddenColumns: "隐藏列", searchPlaceholder: "请输入列名称", checkall: "全部显示/隐藏", headeralign: "表头对齐", dataalign: "数据对齐", alignLeft: "左对齐", alignCenter: "居中对齐", alignRight: "右对齐", summarytype: "汇总合计类型", summarytext: "汇总合计文本", summaryNone: "无", summarySum: "求和", summaryMax: "最大值", summaryMin: "最小值", summarCount: "计数", summaryAverage: "平均值", grouppingField: "分组字段", moreGrouppingFieldWarningMessage: "最多设置3个字段进行分组", // Up to 3 fields are set for grouping grouppingSummary: "分组合计", addGrouppingFieldTip: "添加分组字段", removeGrouppingFieldTip: "移除分组字段", grouppingSummaryType: "分组合计类型", grouppingSummaryText: "分组合计文本", restoreDefaultSettingsText: "确认要恢复默认设置吗?", simple: { title: "显示列", tip: "选中的字段可展示到列表中,拖拽可调整在列表中的展示顺序。", count: '已显示 <span class="visible-cols-count">{0}</span> 列' } }, selectionData: { clearAll: "清空", tooltip: "点击显示已选记录列表", currentLenth: "已选择:<b>{0}</b> 条" }, groupRow: { tips: "拖动列到这儿可进行数据分组", removeColumn: "移除分组列", clearTip: "清除所有分组字段", clear: "清空" } }, nt = { expandLabel: "展开", collapseLabel: "收起" }, st = { message: "正在加载,请稍候..." }, it = { // 取消 cancelButton: "取消", // 确定 okButton: "确定", // 添加子句 addWhere: "添加子句", clear: "清空", // 置顶 moveTop: "置顶", // 上移 moveUp: "上移", // 下移 moveDown: "下移", // 置底 moveBottom: "置底", // 左括号 leftBrackets: "左括号", // 字段 field: "字段", // 操作符 operator: "操作符", // 值 value: "值", // 值类型 valueType: "值类型", expressType: { value: "值", express: "表达式", frontExpress: "表单表达式" }, // 右括号 rightBrackets: "右括号", // 关系 relation: "关系", relationValue: { and: "并且", or: "或者" }, designTab: "设计器", jsonTab: "源代码", sqlTab: "Sql预览", title: "条件编辑器", message: "确认要清空当前所有数据吗?", validate: { bracket: "左右括号不匹配,请检查", relation: "条件关系不完整,请检查", field: "条件字段未设置,请检查" } }, rt = { // 取消 cancelButton: "取消", // 确定 okButton: "确定", // 添加子句 addWhere: "添加", clear: "清空", // 置顶 moveTop: "置顶", // 上移 moveUp: "上移", // 下移 moveDown: "下移", // 置底 moveBottom: "置底", title: "枚举数据编辑器", message: "确认要清空当前所有数据吗?", value: "值", name: "名称" }, ct = { yes: "是", no: "否", ok: "确定", cancel: "取消", title: "系统提示", errorTitle: "错误提示", prompt: { fontSize: { name: "字体大小", small: "小", middle: "中", big: "大", large: "特大", huge: "超大" }, tips: { surplus: "还可以输入 {0} 个字符", length: "已输入 {0} 个字符" } }, exception: { expand: "展开", collapse: "收起", happend: "发生时间", detail: "详细信息", copy: "复制详细信息", copySuccess: "复制成功", copyFailed: "复制失败", roger: "知道了" } }, pt = { title: "系统提示" }, dt = { message: "共 <b>{1}</b> 条 ", totalinfo: { firstText: "共", lastText: "条" }, pagelist: { firstText: "每页", lastText: "条" }, previous: "上一页", next: "下一页", goto: { prefix: "跳至", suffix: "页" } }, ut = { // 取消 cancel: "取消", // 确定 ok: "确定", // 添加子句 add: "添加", clear: "清空", // 置顶 moveTop: "置顶", // 上移 moveUp: "上移", // 下移 moveDown: "下移", // 置底 moveBottom: " 置底", // 字段 field: "字段", // 排序 order: "排序", asc: "升序", desc: "降序", title: "排序设置" }, mt = { yes: "是", no: "否", zoom: "在打开的对话框中编辑内容", comments: { title: "常用意见", manager: "意见管理", empty: "暂无数据" } }, gt = { sidebar: "详情" }, ft = { more: "更多" }, Lt = { more: "更多" }, vt = { leftTitle: "未选择", rightTitle: "已选择", noDataMoveMessage: "请选择要移动的数据。", shiftRight: "右移", shiftLeft: "左移", allShiftRight: "全部右移", allShiftLeft: "全部左移", top: "置顶", bottom: "置底", shiftUp: "上移", shiftDown: "下移", emptyData: "暂无数据", filterPlaceholder: "输入筛选项名称搜索" }, Et = { configDialog: { unSelectedOptions: "未选择项", selectedOptions: "已选择项", confirm: "确定", cancel: "取消", placeholder: "请输入搜索关键字", moveUp: "上移", moveAllUp: "全部上移", moveDown: "下移", moveAllDown: "全部下移", moveRight: "右移", moveAllRight: "全部右移", moveLeft: "左移", moveAllLeft: "全部左移", pleaseSelect: "请选择字段", noOptionMove: "没有可移动字段", selectOptionUp: "请选择上移字段", cannotMoveUp: "无法上移", selectOptionTop: "请选择置顶字段", optionIsTop: "字段已置顶", selectOptionDown: "请选择下移字段", cannotMoveDown: "无法下移", selectOptionBottom: "请选择置底字段", optionIsBottom: "字段已置底" }, container: { query: "筛选", saveAs: "另存为", save: "保存", config: "配置" } }, Ct = { saveAsDialog: { queryPlanName: "方案名称", setAsDefault: "设为默认", confirm: "确定", cancel: "取消", placeholder: "请输入方案名称", pleaseInput: "请输入方案名称", title: "新增方案", maxLength: "方案名称超出九个字" }, manageDialog: { name: "名称", property: "属性", default: "默认", operation: "操作", confirm: "确定", cancel: "取消", planNameDuplicated: "方案名称{0}重复", system: "系统", personal: "个人" }, container: { default: "默认", manage: "管理", arrowUp: "收起", arrowDown: "展开", saveAs: "另存为方案", empty: "空", save: "保存方案", pleaseInput: "formId为必传字段,请传入", saveSuccess: "查询方案保存成功", saveFail: "查询方案保存失败", planManage: "方案管理", clear: "清空", require: "请填写{fields}再进行筛选", defaultName: "默认筛选方案", histroyName: "上次筛选", sysPresetName: "系统预置方案" } }, Tt = { expand: "展开", fold: "收起" }, ht = { emptyMessage: "暂无数据", pagination: { previousLabel: "上一页", nextLabel: "下一页", message: "每页 {0} 条记录,共 {1} 条记录。" } }, yt = { imgtitle: "点击修改", typeError: "上传图片类型不正确", sizeError: "上传图片不能大于", uploadError: "图片上传失败,请重试!", loadError: "加载错误" }, Ot = { filter: "筛选", confirm: "确定", cancel: "取消", reset: "清空条件" }, At = { empty: "步骤条信息为空" }, St = { en: "英语", "zh-cn": "简体中文", "zh-CHS": "简体中文", "zh-CHT": "繁体中文", ok: "确定", cancel: "取消" }, bt = { vertifyTypeAll: "全部", vertifyTypeError: "错填", vertifyTypeEmpty: "漏填" }, xt = { title: "批量编辑", appendText: "添加新编辑列", appendTextTip: "添加更多列进行批量操作", okText: "确定", cancelText: "取消", field: "请选择要编辑的列:", fieldValue: "请输入要更改的值:", appendTips: "添加更多列进行批量操作", selected: "已选", row: "行", confirmTitle: "提示", neverShow: "不再提示", confirmText: "将修改{0}行数据,确定修改吗?" }, _t = { next: "下一步", prev: "上一步", skip: "跳过", startNow: "立即体验" }, Ht = { expandText: "查看更多信息", collapseText: "查看更多信息" }, Dt = { submit: "提交", cancel: "取消", colleague: "同事", all: "所有人员可见", related: "仅相关人员可见", confirm: "确定", reply: "回复", emptyMessage: "暂无数据", placeholder: "请输入姓名搜索", notEmpty: "提交内容不能为空", selectEmployee: "选择员工", next: "下级", emptySelected: "清空已选", emptyRight: "请在左侧选择人员", allOrg: "全部组织", selected: "已选", section: "部门", people: "人员", viewMore: "查看更多", per: "人", pcs: "个", emptyList: "联系人为空", advancedQuery: "高级查询" }, Pt = { addText: "添加", placeholder: "请输入" }, It = { placeholder: "请输入数字", range: { begin: "请输入开始数字", end: "请输入结束数字" } }, wt = { filter: "筛选", confirm: "确定", cancel: "取消", reset: "清除筛选", advancedFilter: "高级筛选", expand: "展开", fold: "收起", last1Month: "近一月", last3Month: "近三月", last6Month: "近半年", pleaseInput: "请先录入", searchHistory: "历史搜索", searchResult: "查询结果", intervalFilter: "按区间筛选", beginPlaceHolder: "最低值", endPlaceHolder: "最高值", dateBeginPlaceHolder: "开始日期", dateEndPlaceHolder: "结束日期", empty: "清空全部", clear: "清空已选", today: "当天", yesterday: "昨天", checkall: "全选" }, Rt = { guide: "导航" }, Mt = { placeholder: "选择表单元数据", code: "编号", name: "名称", select: "选择帮助元数据", filter: "配置条件", helpidEmpty: "helpId不能为空", selectTitle: "帮助元数据选择", lookupTitle: "帮助配置", sure: "确定", cancel: "取消", successSave: "保存成功", helpIdError: "请选择帮助元数据", fileNamePlaceholder: "选择帮助文本字段", selectFileNameTitle: "文本字段选择器", bindingPath: "绑定字段", fieldError: "已绑定字段不存在!", textFieldLable: "帮助文本字段", loadTypeTitle: "选择加载方式", loadTypeList: { all: "全部加载", layer: "分层加载", default: "默认" }, powerTitle: "权限设置", powerObjLabel: "权限对象", powerFieldLabel: "权限字段", powerOperateLabel: "权限操作", linkfieldLabel: "帮助关联字段", powerDataTitle: "权限对象选择", powerFieldTitle: "权限字段选择", powerOperateTitle: "操作选择", businessLable: "业务对象", powerLable: "权限对象", powerError: "请选择权限对象", operateError: "请选择操作", linkfieldError: "请选择权限字段" }, Nt = { placeholder: "请选择", emptyMsg: "暂无数据" }, kt = { locale: "ZH_CN", combo: Nt, combolist: {}, datagrid: ot, filterEditor: it, enumEditor: rt, lookup: at, loading: st, modal: {}, messager: ct, notify: pt, dialog: {}, datatable: {}, colorPicker: {}, numberSpinner: It, inputGroup: {}, sortEditor: ut, treetable: ht, multiSelect: vt, tabs: ft, timePicker: {}, wizard: {}, tree: {}, tooltip: {}, listview: lt, text: mt, switch: {}, sidebar: gt, section: nt, pagination: dt, responseToolbar: Lt, queryCondition: Et, querySolution: Ct, collapseDirective: Tt, avatar: yt, listFilter: Ot, progressStep: At, languageLabel: St, verifyDetail: bt, batchEditDialog: xt, pageWalker: _t, footer: Ht, discussionGroup: Dt, tag: Pt, filterPanel: wt, scrollspy: Rt, lookupConfig: Mt }, Ft = { placeholder: "請選擇", favorites: "收藏夾", selected: "已選數據", okText: "確定", cancelText: "取消", allColumns: "所有列", datalist: "數據列錶", mustWriteSomething: "請輸入關鍵字後查詢。", mustChoosAdatarow: "請選擇一條記錄!", tipText: "您要找的是不是這些?", cascade: { enable: "同步選擇", disable: "僅選擇自身", up: "包含上級", down: "包含下級" }, favoriteInfo: { addFav: "收藏成功。", cancelFav: "取消收藏成功。 " }, getAllChilds: "獲取所有子級數據", contextMenu: { expandall: "全部展開", collapseall: "全部收起", expandByLayer: "按層級展開", expand1: "展開 1 級", expand2: "展開 2 級", expand3: "展開 3 級", expand4: "展開 4 級", expand5: "展開 5 級", expand6: "展開 6 級", expand7: "展開 7 級", expand8: "展開 8 級", expand9: "展開 9 級" }, quick: { notfind: "未找到搜索內容", more: "顯示更多" }, configError: "幫助顯示列未配置,請檢查是否已正確配置幫助數據源!", selectedInfo: { total: '已選 <span class="selected-counter mx-1">{0}</span> 條', clear: "取消已選", remove: "刪除已選({0})", confirm: "您確認要取消所有已選中的記錄嗎?" } }, Ut = { lineNumberTitle: "序號", emptyMessage: "暫無數據", pagination: { previousLabel: "上一頁", nextLabel: "下一頁", message: "共 <b>{1}</b> 條 ", pagelist: { firstText: "顯示", lastText: "條" } }, filter: { title: "過濾條件", reset: "重置", clear: "清空條件", clearAll: "清空所有條件", setting: "高級設置", nofilter: "[ 無 ]", checkAll: "全選", and: "並且", or: "或者", operators: { equal: "等於", notEqual: "不等於", greater: "大於", greaterOrEqual: "大於等於", less: "小於", lessOrEqual: "小於等於", contains: "包含", notContains: "不包含", like: "包含", notLike: "不包含", in: "屬於", notIn: "不屬於", empty: "為空", notEmpty: "不為空", null: "null", notNull: "不為null" }, more: "查看更多" }, settings: { visible: "顯示列", sortting: "列排序", title: "列配置", canchoose: "可選列", choosed: "已選列", asc: "升序", desc: "降序", cancelSort: "取消排序", ok: "確定", cancel: "取消", reset: "恢複默認", conciseMode: "簡潔模式", advancedMode: "高級模式", formatSetting: "列格式", properties: "列屬性", groupping: "分組", allColumns: "所有列", visibleColumns: "可見列", hiddenColumns: "隱藏列", searchPlaceholder: "請輸入列名稱", checkall: "全部顯示/隱藏", headeralign: "表頭對齊", dataalign: "數據對齊", alignLeft: "左對齊", alignCenter: "居中對齊", alignRight: "右對齊", summarytype: "匯總合計類型", summarytext: "匯總合計文本", summaryNone: "無", summarySum: "求和", summaryMax: "最大值", summaryMin: "最小值", summarCount: "計數", summaryAverage: "平均值", grouppingField: "分組字段", moreGrouppingFieldWarningMessage: "最多設置3個字段進行分組", // Up to 3 fields are set for grouping grouppingSummary: "分組合計", addGrouppingFieldTip: "添加分組字段", removeGrouppingFieldTip: "移除分組字段", grouppingSummaryType: "分組合計類型", grouppingSummaryText: "分組合計文本", restoreDefaultSettingsText: "確認要恢複默認設置嗎?", simple: { title: "顯示列", tip: "選中的字段可展示到列表中,拖拽可調整在列表中的展示順序。", count: '已顯示 <span class="visible-cols-count">{0}</span> 列' } }, selectionData: { clearAll: "清空", tooltip: "點擊顯示已選記錄列錶", currentLenth: "已選擇:<b>{0}</b> 條" }, groupRow: { tips: "拖動列到這兒可進行數據分組", removeColumn: "移除分組列", clearTip: "清除所有分組字段", clear: "清空" } }, Bt = { expandLabel: "展開", collapseLabel: "收起" }, Zt = { message: "正在加載,請稍候..." }, Gt = { // 取消 cancelButton: "取消", // 確定 okButton: "確定", // 添加子句 addWhere: "添加子句", clear: "清空", // 置頂 moveTop: "置頂", // 上移 moveUp: "上移", // 下移 moveDown: "下移", // 置底 moveBottom: "置底", // 左括號 leftBrackets: "左括號", // 字段 field: "字段", // 操作符 operator: "操作符", // 值 value: "值", // 值類型 valueType: "值類型", expressType: { value: "值", express: "錶達式", frontExpress: "表單表達式" }, // 右括號 rightBrackets: "右括號", // 關係 relation: "關係", relationValue: { and: "並且", or: "或者" }, designTab: "設計器", jsonTab: "源代碼", sqlTab: "Sql預覽", title: "條件編輯器", message: "確認要清空當前所有數據嗎?", validate: { bracket: "左右括號不匹配,請檢查", relation: "條件關系不完整,請檢查", field: "條件字段未設置,請檢查" } }, Vt = { // 取消 cancelButton: "取消", // 確定 okButton: "確定", // 添加子句 addWhere: "添加", clear: "清空", // 置頂 moveTop: "置頂", // 上移 moveUp: "上移", // 下移 moveDown: "下移", // 置底 moveBottom: "置底", title: "枚舉數據編輯器", message: "確認要清空當前所有數據嗎?", value: "值", name: "名稱" }, qt = { yes: "是", no: "否", ok: "確定", cancel: "取消", title: "係統提示", errorTitle: "錯誤提示", prompt: { fontSize: { name: "字體大小", small: "小", middle: "中", big: "大", large: "特大", huge: "超大" } }, exception: { expand: "展開", collapse: "收起", happend: "發生時間", detail: "詳細信息", copy: "複制詳細信息", copySuccess: "複制成功", copyFailed: "複制失敗", roger: "知道了" } }, Kt = { title: "係統提示" }, zt = { message: "共 <b>{1}</b> 條 ", totalinfo: { firstText: "共", lastText: "條" }, pagelist: { firstText: "每頁", lastText: "條" }, previous: "上一頁", next: "下一頁", goto: { prefix: "跳至", suffix: "頁" } }, Wt = { // 取消 cancel: "取消", // 確定 ok: "確定", // 添加子句 add: "添加", clear: "清空", // 置頂 moveTop: "置頂", // 上移 moveUp: "上移", // 下移 moveDown: "下移", // 置底 moveBottom: " 置底", // 字段 field: "字段", // 排序 order: "排序", asc: "升序", desc: "降序", title: "排序設置" }, jt = { yes: "是", no: "否", zoom: "在打開的對話框中編輯內容", comments: { title: "常用意見", manager: "意見管理", empty: "暫無數據" } }, Yt = { sidebar: "詳情" }, Qt = { more: "更多" }, $t = { more: "更多" }, Xt = { leftTitle: "未選擇", rightTitle: "已選擇", noDataMoveMessage: "請選擇要移動的數據。", shiftRight: "右移", shiftLeft: "左移", allShiftRight: "全部右移", allShiftLeft: "全部左移", top: "置頂", bottom: "置底", shiftUp: "上移", shiftDown: "下移", emptyData: "暫無數據", filterPlaceholder: "輸入篩選項名稱搜索" }, Jt = { configDialog: { unSelectedOptions: "未選擇項", selectedOptions: "已選擇項", confirm: "確定", cancel: "取消", placeholder: "請輸入搜索關鍵字", moveUp: "上移", moveAllUp: "全部上移", moveDown: "下移", moveAllDown: "全部下移", moveRight: "右移", moveAllRight: "全部右移", moveLeft: "左移", moveAllLeft: "全部左移", pleaseSelect: "請選擇字段", noOptionMove: "冇有可移動字段", selectOptionUp: "請選擇上移字段", cannotMoveUp: "無法上移", selectOptionTop: "請選擇置頂字段", optionIsTop: "字段已置頂", selectOptionDown: "請選擇下移字段", cannotMoveDown: "無法下移", selectOptionBottom: "請選擇置底字段", optionIsBottom: "字段已置底" }, container: { query: "篩選", saveAs: "另存為", save: "保存", config: "配置" } }, el = { saveAsDialog: { queryPlanName: "方案名稱", setAsDefault: "設為默認", confirm: "確定", cancel: "取消", placeholder: "請輸入方案名稱", pleaseInput: "請輸入方案名稱", title: "新增方案", maxLength: "方案名稱超出九個字" }, manageDialog: { name: "名稱", property: "屬性", default: "默認", operation: "操作", confirm: "確定", cancel: "取消", planNameDuplicated: "方案名稱{0}重複", system: "係統", personal: "個人" }, container: { default: "默認", manage: "管理", arrowUp: "收起", arrowDown: "展開", saveAs: "另存為方案", empty: "空", save: "保存方案", pleaseInput: "formId為必傳字段,請傳入", saveSuccess: "查詢方案保存成功", saveFail: "查詢方案保存失敗", planManage: "方案管理", clear: "清空", require: "請填寫{fields}再進行篩選", defaultName: "默認篩選方案", histroyName: "上次篩選", sysPresetName: "系统预置方案" } }, tl = { expand: "展開", fold: "收起" }, ll = { emptyMessage: "暫無數據", pagination: { previousLabel: "上一頁", nextLabel: "下一頁", message: "每頁 {0} 條記錄,共 {1} 條記錄。" } }, al = { imgtitle: "點擊修改", typeError: "上傳圖片類型不正確", sizeError: "上傳圖片不能大於", uploadError: "圖片上傳失敗,請重試!", loadError: "加載錯誤" }, ol = { filter: "篩選", confirm: "確定", cancel: "取消", reset: "清空條件" }, nl = { empty: "步驟條信息為空" }, sl = { en: "英語", "zh-cn": "簡體中文", "zh-CHS": "簡體中文", "zh-CHT": "繁體中文", ok: "確定", cancel: "取消" }, il = { vertifyTypeAll: "全部", vertifyTypeError: "錯填", vertifyTypeEmpty: "漏填" }, rl = { title: "批量編輯", appendText: "添加新編輯列", appendTextTip: "添加更多列進行批量操作", okText: "確定", cancelText: "取消", field: "請選擇要編輯的列:", fieldValue: "請輸入要更改的值:", appendTips: "添加更多列進行批量操作", selected: "已選", row: "行", confirmTitle: "提示", neverShow: "不再提示", confirmText: "將修改{0}行數據,確定修改嗎?" }, cl = { next: "下一步", prev: "上一步", skip: "跳過", startNow: "立即體驗" }, pl = { expandText: "查看更多信息", collapseText: "查看更多信息" }, dl = { submit: "提交", cancel: "取消", colleague: "同事", all: "所有人員可見", related: "僅相關人員可見", confirm: "確定", reply: "回複", emptyMessage: "暫無數據", placeholder: "請輸入姓名搜索", notEmpty: "提交內容不能為空", selectEmployee: "選擇員工", next: "下級", emptySelected: "清空已選", emptyRight: "請在左側選擇人員", allOrg: "全部組織", selected: "已選", section: "部門", people: "人員", viewMore: "查看更多", per: "人", pcs: "個", emptyList: "聯係人為空", advancedQuery: "高級查詢" }, ul = { addText: "添加", placeholder: "請輸入" }, ml = { placeholder: "請輸入數字", range: { begin: "請輸入開始數字", end: "請輸入結束數字" } }, gl = { filter: "篩選", confirm: "確定", cancel: "取消", reset: "清除篩選", advancedFilter: "高級篩選", expand: "展開", fold: "收起", last1Month: "近一月", last3Month: "近三月", last6Month: "近半年", pleaseInput: "請先錄入", searchHistory: "歷史搜索", searchResult: "查詢結果", intervalFilter: "按區間篩選", beginPlaceHolder: "最低值", endPlaceHolder: "最高值", dateBeginPlaceHolder: "開始日期", dateEndPlaceHolder: "結束日期", empty: "清空全部", clear: "清空已選", today: "當天", yesterday: "昨天", checkall: "全選" }, fl = { guide: "導航" }, Ll = { placeholder: "選擇表單元數據", code: "編號", name: "名稱", select: "選擇幫助元數據", filter: "配置條件", helpidEmpty: "helpId不能為空", selectTitle: "幫助元數據選擇", lookupTitle: "幫助配置", sure: "確定", cancel: "取消", successSave: "保存成功", helpIdError: "請選擇幫助元數據", fileNamePlaceholder: "選擇幫助文本字段", selectFileNameTitle: "文本字段選擇器", bindingPath: "綁定字段", fieldError: "已綁定字段不存在!", textFieldLable: "幫助文本字段", loadTypeTitle: "選擇加載方式", loadTypeList: { all: "全部加載", layer: "分層加載", default: "默認" }, powerTitle: "權限設置", powerObjLabel: "權限對象", powerFieldLabel: "權限字段", powerOperateLabel: "權限操作", linkfieldLabel: "幫助關聯字段", powerDataTitle: "權限對象選擇", powerFieldTitle: "權限字段選擇", powerOperateTitle: "操作選擇", businessLable: "業務對象", powerLable: "權限對象", powerError: "請選擇權限對象", operateError: "請選擇操作", linkfieldError: "請選擇權限字段" }, vl = { placeholder: "請選擇", emptyMsg: "暫無數據" }, El = { emptyMessage: "暫無數據" }, Cl = { locale: "ZH_CHT", combo: vl, combolist: {}, datagrid: Ut, filterEditor: Gt, enumEditor: Vt, lookup: Ft, loading: Zt, modal: {}, messager: qt, notify: Kt, dialog: {}, datatable: {}, colorPicker: {}, numberSpinner: ml, inputGroup: {}, sortEditor: Wt, treetable: ll, multiSelect: Xt, tabs: Qt, timePicker: {}, wizard: {}, tree: {}, tooltip: {}, listview: El, text: jt, switch: {}, sidebar: Yt, section: Bt, pagination: zt, responseToolbar: $t, queryCondition: Jt, querySolution: el, collapseDirective: tl, avatar: al, listFilter: ol, progressStep: nl, languageLabel: sl, verifyDetail: il, batchEditDialog: rl, pageWalker: cl, footer: pl, discussionGroup: dl, tag: ul, filterPanel: gl, scrollspy: fl, lookupConfig: Ll }, _ = { "zh-CHS": kt, en: tt, "zh-CHT": Cl }, i = class i { // Add this property constructor(t, o) { this.localeId = t, this.localeData = o, t || (t = "zh-CHS"), i.setLocaleData(o, t); } /** 获取语言资源 * path : 资源路径,如: * getResources('zh-CHS') // 返回所有中文语言资源 * getResources('zh-CHS.lookup') // 返回所有中文下帮助的资源 */ static getResources(t = "") { return t ? i.getValue(t, _) : _; } static getComponentOptions(t) { return i.langData[t]; } /** 合并现有的多语资源 */ static setLocaleData(t = null, o) { t && Object.keys(t).forEach((u) => { Object.keys(t[u]).forEach((L) => { i.appendLanguageResource(L, t[u][L], u); }); }), i.langData = _[o], i.langData || (i.langData = _["zh-CHS"]); } static appendLanguageResource(t, o, r = i.localeId) { r ? _[r][t] = o || {} : (i.langData[t] = i.langData[t] || {}, i.langData[t] = Object.assign(i.langData[t], o || {})); } static getLocaleValue(t) { const o = i.getValue(t, i.langData); return o || ""; } /** * 获取对象中指定字段的值。 field: 可以为带有层级结构的路径,如: user.firstName | name 等 * data: 获取字段的数据源,一般为JSON对象 * safe: 为true, 将html字符进行转码输出,默认为 false */ static getValue(t, o, r = !1) { if (!o) return ""; let u = ""; return t.indexOf(".") === -1 && o.hasOwnProperty(t) ? u = o[t] : u = t.split(".").reduce((h, L) => h ? h[L] : null, o), r ? i.formatterValue(u) : u; } static formatterValue(t) { return t == null || t === "" ? "" : typeof t == "string" ? i.escapeHtml(t) : t; } static escapeHtml(t) { return t == null ? "" : t.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\"/g, "&quot;").replace(/\'/g, "&#39;").replace(/\//g, "&#x2F;"); } }; N(i, "langData"), N(i, "localeId"); let A = i; function Tl(a, t) { const o = n(a.personSearchUrl), r = n(a.personnelsDisplayKey), u = n(!1), h = [], L = n(!1); function I(s) { s && s.stopPropagation && s.stopPropagation(); } function H(s, g, v) { return !s || !g ? !1 : v.findIndex((f) => s === f[g]) !== -1; } function E(s, g) { return o.value && `${o.value}${s}${g}`, new Promise((v, f) => { v(!0); }); } function y(s) { if (s && s[r.value]) { const g = s[r.value]; return g.substring(g.length - 2, g.length); } return ""; } function S() { L.value = !1, u.value = !1; } return { personSearchUrl: o, personnelsDisplayKey: r, /** 搜索人事管理弹窗 */ personModalVisible: L, relativeVisible: u, selectedPersonnels: h, stopBubble: I, _isInArray: H, getSearchData: E, getAvatar: y, setRelativeValue: S }; } const Q = /* @__PURE__ */ fe({ name: "FDiscussionEditor", props: Ce, emits: ["selections", "lineData", "value", "filePreview", "fileRemove", "fileUploadDone", "personnelSearch", "getOutUsers"], setup(a, t) { const o = n(a.cancelVisible), r = n(a.personnelsPrimaryKey), u = n(a.replyPersonnelsDisplayKey), h = n(a.editHeight); n(a.type); const L = n(a.orgUrl), I = n(a.sectionData); let H, E; const y = n(a.personnels); k({ get() { return y.value; }, set(e) { e && (y.value = e, C = y.value, B = y.value); } }); const S = n(a.replyUser), s = k({ get() { return S.value; }, set(e) { e && (S.value = e, S.value.id && pe()); } }), g = n(a.attachFiles), v = k({ get() { return g.value; }, set(e) { e && (g.value = e); } }), f = n(""), D = n(""), w = n(""), b = []; let U, B = [], C = [], Z; n(!1); const p = {}, P = n(!1), G = n(), $ = '<span class="f-icon f-icon-search"></span>', { personSearchUrl: X, personnelsDisplayKey: R, personModalVisible: O, relativeVisible: hl, selectedPersonnels: T, stopBubble: V, _isInArray: J, getSearchData: ee, getAvatar: q, setRelativeValue: te } = Tl(a); Le(() => { document.addEventListener("click", te), G.value = [{ value: "ALL", text: A.getLocaleValue("discussionGroup.all") }, { value: "RELATED", text: A.getLocaleValue("discussionGroup.related") }], Z = G.value[0], H = A.getLocaleValue("discussionGroup.placeholder"); }); function K(e) { e && (E = e.target.innerHTML, f.value = E), D.value && (f.value += D.value), w.value && (f.value += w.value), E = "", D.value = "", w.value = ""; } function le(e) { E = e.target.innerHTML; const { children: c } = e.target, d = []; for (let m = 0; m < c.length; m++) d.push(c[m].id); T.value.forEach((m, x) => { d.includes(m[r.value]) || T.value.splice(x, 1); }), b.value.forEach((m, x) => { d.includes(m[r.value]) || b.value.splice(x, 1); }), E || (E = ""); } function ae() { ee(U, p.pageIndex + 1).then((e) => { "users" in e && (p.pageIndex = e.pageIndex, p.users = [...p.users, ...e.users]); }); } function oe() { let e = []; P.value ? e = p.users.filter((c) => c.active === !0) : e = C.filter((c) => { c.active; }), e.length && ne(e), z(), K(null), O.value = !1; } function ne(e, c = !1) { e.forEach((d) => { T.value.length && J(d[r.value], r.value, T) || (D.value += '<a name="personnel" contenteditable="false" class="at-user" id="' + d[r.value] + '" userid="' + d[r.value] + '">@' + d[R.value] + "</a>&nbsp;", T.value.push(d)); }); } function z() { P.value = !1, O.value = !1, C = B, C.length && C.forEach((e) => { e.active = !1; }), U = ""; } function se(e) { O.value = !O.value, setTimeout(() => { O.value && ie(); }, 0), V(e); } const M = n(null); function ie() { var d, m; const e = window.innerHeight, c = (d = M.value) == null ? void 0 : d.getBoundingClientRect().bottom; c && e < c && ((m = M.value) == null || m.scrollIntoView(!1)); } function re() { if (!f.value) { A.getLocaleValue("discussionGroup.notEmpty"); return; } const e = []; v.value && v.value.length && v.value.forEach((c) => { const { id: d } = c, { name: m } = c, { size: x } = c, { metadataId: de } = c.extend, ue = { id: d, name: m, size: x, metadataId: de }; e.push(ue); }), t.emit("value", { msgInfo: F.Confirm, text: f, mailTos: T, mailToSections: b, visibility: Z.value, parentId: s.value && "id" in s.value ? s.value.id : null, attachFiles: e.length ? e : null }), f.value = "", T.value = [], b.value = [], v.value = [], s.value = {}; } function ce() { t.emit("value", { msgInfo: F.Cancel, text: null, mailTos: [], mailToSections: [], visibility: null, parentId: null, attachFiles: null }), f.value = "", T.value = [], b.value = [], v.value = [], s.value = {}; } const W = n(null); function pe() { var e; (e = W.value) == null || e.focus(); } function j(e) { return e.active = !e.active, e; } return () => l("div", { class: "f-discussion-editor" }, [s.value && s.value.id && l("div", { class: "farris-discussion-group-reply-tip" }, ["discussionGroup.reply", l("span", { class: "farris-discussion-group-reply-tip-name" }, [s.value[u.value]]), Y(":")]), l("div", { class: "f-discussion-group-edit" }, [l("div", { class: "f-discussion-group-edit-container", style: [{ height: h.value + "px" }] }, [l("div", { class: "textarea-editor", onKeyup: (e) => le(e), onBlur: (e) => K(e), ref: W, contenteditable: !0, innerHTML: f.value }, null)]), l("div", { class: "f-discussion-group-edit-footer" }, [l("div", { class: "f-discussion-group-edit-toolbar" }, [l("div", { class: "f-discussion-group-edit-toolbar-item f-discussion-group-edit-toolbar-about" }, [l("div", { class: "toolbar-item-text", onClick: (e) => se(e) }, [l("span", { class: "toolbar-icon" }, [Y("@")]), l("span", { class: "toolbar-text" }, ["discussionGroup.colleague"])]), O.value && l("div", { class: "f-discussion-group-about-dropdown", onClick: (e) => { V(e); }, ref: M }, [l("div", { class: "f-discussion-group-about-search" }, [l(Ee, { placeholder: H, groupText: $ }, null)]), l("div", { class: "f-discussion-group-about-content" }, [l("div", { class: "f-discussion-group-about-used", hidden: !!P.value }, [l("ul", { class: "f-discussion-group-about-dropdown-list" }, [C.length && C.map((e) => l("li", { onClick: j(e), class: ["d-flex f-discussion-group-about-dropdown-list-item", { active: e.active }] }, [l("span", { class: "f-icon f-icon-check" }, null), e.imgData && l("img", { src: "item.imgData", class: "about-list-item-avatar" }, null), !e.imgData && l("div", { class: "about-list-item-avatar-tip", innerHTML: q(e) }, null), l("div", { class: "f-discussion-group-about-dropdown-list-detail f-utils-fill" }, [l("div", { class: "about-list-detail-text" }, [e[R.value]]), l("div", { class: "about-list-detail-subtext" }, [e.email])])])), !C.length && l("li", { class: "f-discussion-group-about-dropdown-list-item about-dropdown-list-item-empty" }, null)])]), l("div", { class: "f-discussion-group-about-searchlist", hidden: !P.value }, [l("ul", { class: "f-discussion-group-about-dropdown-list" }, [p && p.users && p.users.length && l("template", null, [p.users.map((e) => l("li", { onClick: j(e), class: ["d-flex f-discussion-group-about-dropdown-list-item", { active: e.active }] }, [l("span", { class: "f-icon f-icon-check" }, null), e.imgData && l("img", { src: "item.imgData", class: "about-list-item-avatar" }, null), !e.imgData && l("div", { class: "about-list-item-avatar-tip", innerHTML: q(e) }, null), l("div", { class: "f-discussion-group-about-dropdown-list-detail f-utils-fill" }, [l("div", { class: "about-list-detail-text" }, [e[R.value]]), l("div", { class: "about-list-detail-subtext" }, null)])])), l("div", { class: "f-discussion-person-list-page" }, [p.pageIndex < p.pageCount - 1 && l("span", { class: "section-page-more section-page-text", onClick: ae }, null)])]), p && p.users && !p.users.length && l("li", { class: "f-discussion-group-about-dropdown-list-item about-dropdown-list-item-empty" }, null)])])]), l("div", {