@steedos-widgets/amis-object 6.10.1-beta.55 → 6.10.1-beta.57
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/amis-object.cjs.css +16 -13
- package/dist/amis-object.cjs.js +59 -15
- package/dist/amis-object.cjs.js.map +1 -1
- package/dist/amis-object.esm.css +16 -13
- package/dist/amis-object.esm.js +59 -15
- package/dist/amis-object.esm.js.map +1 -1
- package/dist/amis-object.umd.css +16 -13
- package/dist/amis-object.umd.js +10 -11
- package/dist/amis-object.umd.js.map +1 -1
- package/dist/assets.json +19 -19
- package/dist/meta.js +65 -6
- package/package.json +3 -3
package/dist/amis-object.esm.js
CHANGED
|
@@ -4657,6 +4657,13 @@ var frontend_workflow_next_users$1 = "To";
|
|
|
4657
4657
|
var frontend_workflow_submit_validate_error_title$1 = "Submission failed";
|
|
4658
4658
|
var frontend_workflow_submit_validate_error_msg$1 = "Please fill in the required fields";
|
|
4659
4659
|
var frontend_workflow_related_records_link_title$1 = "Related Records";
|
|
4660
|
+
var frontend_formula_variables_tab_form_fields$1 = "Form Fields";
|
|
4661
|
+
var frontend_formula_variables_tab_form_global$1 = "Global Variables";
|
|
4662
|
+
var frontend_formula_variables_global_userId$1 = "User ID";
|
|
4663
|
+
var frontend_formula_variables_global_spaceId$1 = "Space ID";
|
|
4664
|
+
var frontend_formula_variables_global_user_roles$1 = "Permission Set";
|
|
4665
|
+
var frontend_formula_variables_global_user_spaceUserId$1 = "Space User ID";
|
|
4666
|
+
var frontend_formula_variables_global_user_is_space_admin$1 = "Is Space Admin";
|
|
4660
4667
|
var en_us$1 = {
|
|
4661
4668
|
frontend_field_group_generalization: frontend_field_group_generalization$1,
|
|
4662
4669
|
frontend_download: frontend_download$1,
|
|
@@ -4817,7 +4824,14 @@ var en_us$1 = {
|
|
|
4817
4824
|
frontend_workflow_next_users: frontend_workflow_next_users$1,
|
|
4818
4825
|
frontend_workflow_submit_validate_error_title: frontend_workflow_submit_validate_error_title$1,
|
|
4819
4826
|
frontend_workflow_submit_validate_error_msg: frontend_workflow_submit_validate_error_msg$1,
|
|
4820
|
-
frontend_workflow_related_records_link_title: frontend_workflow_related_records_link_title$1
|
|
4827
|
+
frontend_workflow_related_records_link_title: frontend_workflow_related_records_link_title$1,
|
|
4828
|
+
frontend_formula_variables_tab_form_fields: frontend_formula_variables_tab_form_fields$1,
|
|
4829
|
+
frontend_formula_variables_tab_form_global: frontend_formula_variables_tab_form_global$1,
|
|
4830
|
+
frontend_formula_variables_global_userId: frontend_formula_variables_global_userId$1,
|
|
4831
|
+
frontend_formula_variables_global_spaceId: frontend_formula_variables_global_spaceId$1,
|
|
4832
|
+
frontend_formula_variables_global_user_roles: frontend_formula_variables_global_user_roles$1,
|
|
4833
|
+
frontend_formula_variables_global_user_spaceUserId: frontend_formula_variables_global_user_spaceUserId$1,
|
|
4834
|
+
frontend_formula_variables_global_user_is_space_admin: frontend_formula_variables_global_user_is_space_admin$1
|
|
4821
4835
|
};
|
|
4822
4836
|
|
|
4823
4837
|
var frontend_field_group_generalization = "通用";
|
|
@@ -4981,6 +4995,13 @@ var frontend_workflow_next_users = "处理人";
|
|
|
4981
4995
|
var frontend_workflow_submit_validate_error_title = "提交失败";
|
|
4982
4996
|
var frontend_workflow_submit_validate_error_msg = "请填写必填字段";
|
|
4983
4997
|
var frontend_workflow_related_records_link_title = "相关台账信息";
|
|
4998
|
+
var frontend_formula_variables_tab_form_fields = "表单字段";
|
|
4999
|
+
var frontend_formula_variables_tab_form_global = "全局变量";
|
|
5000
|
+
var frontend_formula_variables_global_userId = "用户ID";
|
|
5001
|
+
var frontend_formula_variables_global_spaceId = "工作区ID";
|
|
5002
|
+
var frontend_formula_variables_global_user_roles = "权限集";
|
|
5003
|
+
var frontend_formula_variables_global_user_spaceUserId = "人员ID";
|
|
5004
|
+
var frontend_formula_variables_global_user_is_space_admin = "是否工作区管理员";
|
|
4984
5005
|
var zh_cn$1 = {
|
|
4985
5006
|
frontend_field_group_generalization: frontend_field_group_generalization,
|
|
4986
5007
|
frontend_download: frontend_download,
|
|
@@ -5142,7 +5163,14 @@ var zh_cn$1 = {
|
|
|
5142
5163
|
frontend_workflow_next_users: frontend_workflow_next_users,
|
|
5143
5164
|
frontend_workflow_submit_validate_error_title: frontend_workflow_submit_validate_error_title,
|
|
5144
5165
|
frontend_workflow_submit_validate_error_msg: frontend_workflow_submit_validate_error_msg,
|
|
5145
|
-
frontend_workflow_related_records_link_title: frontend_workflow_related_records_link_title
|
|
5166
|
+
frontend_workflow_related_records_link_title: frontend_workflow_related_records_link_title,
|
|
5167
|
+
frontend_formula_variables_tab_form_fields: frontend_formula_variables_tab_form_fields,
|
|
5168
|
+
frontend_formula_variables_tab_form_global: frontend_formula_variables_tab_form_global,
|
|
5169
|
+
frontend_formula_variables_global_userId: frontend_formula_variables_global_userId,
|
|
5170
|
+
frontend_formula_variables_global_spaceId: frontend_formula_variables_global_spaceId,
|
|
5171
|
+
frontend_formula_variables_global_user_roles: frontend_formula_variables_global_user_roles,
|
|
5172
|
+
frontend_formula_variables_global_user_spaceUserId: frontend_formula_variables_global_user_spaceUserId,
|
|
5173
|
+
frontend_formula_variables_global_user_is_space_admin: frontend_formula_variables_global_user_is_space_admin
|
|
5146
5174
|
};
|
|
5147
5175
|
|
|
5148
5176
|
/*
|
|
@@ -23369,7 +23397,7 @@ var index_esm$1 = /*#__PURE__*/Object.freeze({
|
|
|
23369
23397
|
i18next: instance
|
|
23370
23398
|
});
|
|
23371
23399
|
|
|
23372
|
-
var __assign$1=function(){return (__assign$1=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},StandardObjects={Base:{Actions:{standard_query:{visible:function(e,t,r){return !1}},standard_new:{visible:function(e,t,r){return "cms_files"!==e&&"instances"!==e&&(r?r.allowCreate:void 0)}},standard_edit:{visible:function(e,t,r){if(r)return r.allowEdit}},standard_delete:{visible:function(e,t,r){if(r)return r.allowDelete}},standard_import_data:{visible:function(e,t,r){var n=this.object;if(r)return r.allowCreate&&n.hasImportTemplates}},standard_approve:{visible:function(e,t,r){return !1}},standard_view_instance:{visible:function(e,t,r){return !1}},standard_submit_for_approval:{visible:function(e,t,r){return window.Steedos.ProcessManager.allowSubmit.apply(this,[e,t])},todo:function(e,t){return window.Steedos.ProcessManager.submit.apply(this,[e,t])}},standard_follow:{visible:function(e,t,r){return !1}},standard_delete_many:{visible:function(e,t,r){return !RegExp("\\w+/view/\\w+").test(location.pathname)&&(r?r.allowDelete:void 0)}},standard_export_excel:{visible:function(e,t,r){return !1}}}}},authRequest=function(e,t){var a=null;e=Steedos.absoluteUrl(e);try{var r=[{name:"Content-Type",value:"application/json"},{name:"Authorization",value:Steedos.getAuthorization()}],n={type:"get",url:e,dataType:"json",contentType:"application/json",beforeSend:function(t){if(r&&r.length)return r.forEach(function(e){return t.setRequestHeader(e.name,e.value)})},success:function(e){a=e;},error:function(e,t,r){var n,o;e.responseJSON&&e.responseJSON.error?(n=e.responseJSON.error,o=void(a={error:n}),o=n.reason||n.message||n,console.error(o)):console.error(e.responseJSON);}};return $.ajax(Object.assign({},n,t)),a}catch(e){console.error(e);}};function _extends(){return (_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r,n=arguments[t];for(r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);}return e}).apply(this,arguments)}const newFunctionComponent=o=>e=>{const[t,r]=useState(!0);var n=()=>{r(!1);};return has(e,"ref")||(window.SteedosUI.refs[e.name]={show:()=>{r(!0);},close:n}),React__default.createElement(o,_extends({visible:t,onCancel:n,onClose:n},{width:"70%",style:{width:"70%",maxWidth:"950px",minWidth:"480px"}},e))},newComponentRender=(r,n)=>(e,t)=>{e.name||(e.name=r+"-"+(e.name||"default")),(t=t||document.getElementById(`steedos-${r}-root-`+e.name))||((t=document.createElement("div")).setAttribute("id",`steedos-${r}-root-`+e.name),document.body.appendChild(t));e=React__default.createElement(newFunctionComponent(n),e);createRoot(t).render(e);},Modal=assign(newComponentRender("modal",Modal$1),{info:Modal$1.info,success:Modal$1.success,error:Modal$1.error,warning:Modal$1.warning,confirm:Modal$1.confirm}),Drawer=newComponentRender("drawer",Drawer$1),getGraphqlFieldsQuery=e=>{const t=["_id"];return e.push("record_permissions"),each(e,e=>{-1<e.indexOf(".")&&(e=e.split(".")[0]),t.push(""+e);}),""+t.join(" ")},getFindOneQuery=(e,t,r)=>{e=e.replace(/\./g,"_");r=getGraphqlFieldsQuery(r);let n="";t=[`id: "${t}"`];return `{record:${e}__findOne${n=0<t.length?`(${t.join(",")})`:n}{${r}}}`},SObject={getRecord:async(e,t,r)=>{return (await fetchAPI("/graphql",{method:"post",body:JSON.stringify({query:getFindOneQuery(e,t,r)})})).data.record},getUISchema:async(e,t)=>getUISchema(e,t)},canSaveFilter=e=>!(!e._id||e.owner!==getSteedosAuth()?.userId),ListView={showFilter:(e,{listView:t,data:r})=>{canSaveFilter(t),r.filters&&(r.filters=filtersToConditions(r.filters));},getVisibleFilter:(e,t)=>{return t||(canSaveFilter(e)?e.filters:void 0)},getQueryFilter:(e,t)=>{return canSaveFilter(e)?ListView.getVisibleFilter(e,t):isEmpty(t)?e.filters:[e.filters,"and",t]},getFirstListView:async e=>{e=await window.getUISchema(e);return _.first(_.sortBy(_.values(e.list_views),"sort_no"))}},Router={getAppPath({appId:e}){return "/app/"+e},getPagePath(){},getObjectListViewPath({appId:e,objectName:t,listViewName:r}){return `/app/${e}/${t}/grid/`+r},getObjectDetailPath({appId:e,objectName:t,recordId:r}){return `/app/${e}/${t}/view/`+r},getObjectRelatedViewPath({appId:e,masterObjectName:t,masterRecordId:r,objectName:n,foreignKey:o}){return `/app/${e}/${t}/${r}/${n}/grid?related_field_name=`+o}};var withModalWrap=function(t,e){return function(e){return React.createElement(t,e)}},render=function(e,t,r,n){e=withModalWrap(e),e=React.createElement(e,__assign$1({},t));return ReactDOM.render(e,r)};const safeRunFunction=(t,r,n,o)=>{try{let e=[];return isNil(r)||(e=isArray$3(r)?r:[r]),t.bind(o||{})(...e)}catch(e){return console.log(e),n}};function safeEval(js){try{return eval(js)}catch(e){console.error(e,js);}}const isExpression=function(e){var t,r;return "string"==typeof e&&(t=/^{{(function.+)}}$/,r=/^{{(.+=>.+)}}$/,!("string"!=typeof e||!e.match(/^{{(.+)}}$/)||e.match(t)||e.match(r)))},getMoment=()=>window.amisRequire?window.amisRequire("moment"):window.moment||void 0,getGlobalNowData=()=>{var e=new Date,t=getMoment();let r=t().utc(),n=(r.set("hours",0),r.set("minutes",0),r.set("seconds",0),r.set("milliseconds",0),r=r.toDate(),t());return n.set("year",1970),n.set("month",0),n.set("date",1),n.set("hours",n.hours()+n.utcOffset()/60),n.set("seconds",0),n.set("milliseconds",0),n=n.toDate(),{now:e,today:r,timeNow:n}},parseSingleExpression=function(t,e,r,n){var o,a;if(n&&Object.assign(n,getGlobalNowData()),a=function(e,t){return "#"!==t&&t?"string"==typeof t?_.get(e,t):void console.error("path has to be a string"):e||{}}(e=void 0===e?{}:e,function(e){return "string"!=typeof e||1===(e=e.split(".")).length?"#":(e.pop(),e.join("."))}(r))||{},"string"!=typeof t)return t;o="__G_L_O_B_A_L__",e="\n return "+t.substring(2,t.length-2).replace(/\bformData\b/g,JSON.stringify(e).replace(/\bglobal\b/g,o)).replace(/\bglobal\b/g,JSON.stringify(n)).replace(new RegExp("\\b"+o+"\\b","g"),"global").replace(/rootValue/g,JSON.stringify(a));try{return Function(e)()}catch(e){return console.log(e,t,r),t}};var Expression=Object.freeze({__proto__:null,isExpression:isExpression,getGlobalNowData:getGlobalNowData,parseSingleExpression:parseSingleExpression});const getCompatibleDefaultValueExpression=(express,multiple)=>{const reg=/^\{\w+(\.*\w+)*\}$/,reg2=/^{{[\s\S]*}}$/;let result=express;if(reg.test(express)&&(result=-1<express.indexOf("userId")||-1<express.indexOf("spaceId")||-1<express.indexOf("user.")||-1<express.indexOf("now")||-1<express.indexOf("today")||-1<express.indexOf("timeNow")?`{${express}}`.replace("{{","{{global."):`{${express}}`.replace("{{","{{formData."),multiple&&(result=result.replace(/\{\{(.+)\}\}/,"{{[$1]}}"))),reg2.test(express)&&(-1<express.indexOf("function")||-1<express.indexOf("=>"))){let regex=/\{\{([\s\S]*)\}\}/,matches=regex.exec(express);if(matches&&1<matches.length){let functionCode=matches[1];result=eval("("+functionCode+")")();}}return result},getFieldDefaultValue=(e,t)=>{if(!e)return null;let r=e.defaultValue;e._defaultValue&&(r=safeEval(`(${e._defaultValue})`)),isFunction$4(r)&&(r=safeRunFunction(r,[],null,{name:e.name})),_$1.isString(r)&&(r=getCompatibleDefaultValueExpression(r,e.multiple));var n=isExpression(r);switch(n&&("date"===e.type?r=r.replace(/\bglobal.now\b/g,"global.today"):"time"===e.type&&(r=r.replace(/\bglobal.now\b/g,"global.timeNow")),r=parseSingleExpression(r,{},"#",t)),e.type){case"select":var o=e.data_type||"text";!r||n||e.multiple||("text"!==o||isString(r)?"number"===o&&isString(r)?r=Number(r):"boolean"===o&&isString(r)&&(r="true"===r.toLowerCase()||"1"===r):r=String(r));break;case"number":isString(r)&&(r=Number(r));break;case"boolean":isString(r)?r="true"===r.toLowerCase()||"1"===r:isBoolean(r)||(r=!1);break;case"time":if(isDate(r))return moment(r).format("1970-01-01THH:mm:00.000[Z]");case"date":if(isDate(r))return moment(r).format("YYYY-MM-DDT00:00:00.000[Z]");case"datetime":if(isDate(r))return moment(r).format("YYYY-MM-DDTHH:mm:00.000Z")}return r};function getTreeOptions(t,e){const o=e?.valueField||"value",r=(e?.labelField,e?.unfoldedNum||1),n=[],a=(e,t,r,n)=>{return e.children&&"object"==typeof e.children[0]?e.children:r?(e=_.filter(t,e=>_.includes(r,e[o])),_.each(e,e=>{1<=n?(e.unfolded=!0,e.children&&(e.children=a(e,t,e.children,n-1))):e.children&&(e.children=a(e,t,e.children,n));}),e):void 0};for(var s=t,i=0;i<s.length;i++)if(s[i].noParent=0,s[i].unfolded=!1,s[i].parent){let e=1;for(var l=0;l<s.length;l++)s[i].parent==s[l][o]&&(e=0);1==e&&(s[i].noParent=1);}else s[i].noParent=1;return _.each(t,e=>{1==e.noParent&&(1<=r?(e.unfolded=!0,n.push(Object.assign({},e,{children:a(e,t,e.children,r-1)}))):n.push(Object.assign({},e,{children:a(e,t,e.children,r)})));}),n}function getClosestAmisComponentByType(t,r,n){let o=(n=n||{}).name;var e=n.direction||"up";let a=t.getComponents().find(function(e){return e.props.type===r&&(!o||e.props.name===o)});if(a)return a;if("down"===e){if(t.children&&t.children.length){for(let e=0;e<t.children.length&&!(a=getClosestAmisComponentByType(t.children[e],r,n));e++);return a}}else if("up"===e&&t.parent)return getClosestAmisComponentByType(t.parent,r,n)}function isFilterFormValuesEmpty(e){let t=!0;var e=_.pickBy(e,function(e,t){return /^__searchable__/g.test(t)});return _.isEmpty(e)||(e=_.omitBy(e,function(e){return _.isNil(e)||_.isObject(e)&&_.isEmpty(e)||_.isArray(e)&&_.isEmpty(e.filter(function(e){return !_.isNil(e)}))||_.isString(e)&&0===e.length}),_.isEmpty(e)||(t=!1)),t}const SteedosUI$1=Object.assign({},{render:render,Router:Router,ListView:ListView,Object:SObject,Modal:Modal,Drawer:Drawer,refs:{},getRef(e){return SteedosUI$1.refs[e]},router:{go:(e,t)=>{var r=window.FlowRouter;if(t)return r?r.go(t):window.open(t);r?r.reload():console.warn("暂不支持自动跳转",e);},reload:()=>{console.log("reload");}},message:message,notification:notification,components:{Button:Button,Space:Space},getRefId:({type:e,appId:t,name:r})=>{switch(e){case"listview":return `amis-${t}-${r}-listview`;case"form":return `amis-${t}-${r}-form`;case"detail":return `amis-${t}-${r}-detail`;default:return `amis-${t}-${r}-`+e}},reloadRecord:()=>{if(window.FlowRouter)return window.FlowRouter.reload()},getFieldDefaultValue:getFieldDefaultValue,getTreeOptions:getTreeOptions,getClosestAmisComponentByType:getClosestAmisComponentByType,isFilterFormValuesEmpty:isFilterFormValuesEmpty,getSearchFilter:e=>{var o=[];return _.each(e,(e,t)=>{var r,n;_.isEmpty(e)&&!_.isBoolean(e)||(_.startsWith(t,"__searchable__between__")?0<e.filter(e=>null!=e&&""!==e).length&&o.push([""+t.replace("__searchable__between__",""),"between",e]):_.startsWith(t,"__searchable__")&&(_.isString(e)?o.push([""+t.replace("__searchable__",""),"contains",e]):_.isObject(e)&&e.o?(n=[[(r=""+t.replace("__searchable__",""))+"/o","=",e.o]],e.ids.length&&n.push([r+"/ids","=",e.ids]),o.push(n)):o.push([""+t.replace("__searchable__",""),"=",e])));}),o},getSearchFilterFormValues:(t,o)=>{if(!_.isObject(t)&&_.isEmpty(t))return t;{let e=t;return o&&(e=_.pickBy(t,function(e,t){return !!o[t]})),_.mapKeys(e,function(e,t){let r="__searchable__";var n;return !o||"number"!==(n=o[t]?.type)&&"currency"!==n&&"date"!==n&&"datetime"!==n&&"time"!==n||(r+="between__"),r+t})}},getKeywordsSearchFilter:(e,t)=>{const o=[];var a;return e&&t&&(a=e.split(/\s+/),a=compact(a),t.forEach(function(r,e){let n=[];1==a.length?n=[r,"contains",a[0]]:a.forEach(function(e,t){n.push([r,"contains",e]),t<a.length-1&&n.push("and");}),n.length&&(o.push(n),e<t.length-1&&o.push("or"));})),o},getFormulaVariables:(e,t=!0)=>{const r=[];return isEmpty(e)||(r.push({label:"表单字段",children:[]}),lodash.forEach(e,function(e){r[0].children.push({label:e.label,value:e.value});})),t&&r.push({label:"全局变量",children:[{label:"用户ID",value:"global['userId']"},{label:"工作区ID",value:"global['spaceId']"},{label:"用户",children:[{label:"姓名",value:"global['user']['name']"},{label:"邮件",value:"global['user']['email']"},{label:"语言",value:"global['user']['language']"},{label:"简档",value:"global['user']['profile']"},{label:"权限集",value:"global['user']['roles']"},{label:"主部门ID",value:"global['user']['organization']['_id']"},{label:"部门(含上级)",value:"global['user']['organizations_parents']"},{label:"主分部ID",value:"global['user']['company_id']"},{label:"分部(多选)",value:"global['user']['company_ids']"},{label:"人员ID",value:"global['user']['spaceUserId']"},{label:"是否是工作区管理员",value:"global['user']['is_space_admin']"}]}]}),r},traverseNestedArrayFormula:(t,r)=>{var n=window.amisRequire&&window.amisRequire("amis")||Amis;for(let e=0;e<t.length;e++)if(Array.isArray(t[e]))SteedosUI$1.traverseNestedArrayFormula(t[e],r);else if(/\$\{([^}]*)\}/.test(t[e]))try{t[e]=n.evaluate(t[e],r);}catch(e){console.error("运行过滤器公式时出现错误:",e);}}});var _STANDARD_SPRITE_IDS="account,account_info,action_list_component,actions_and_buttons,activation_target,activations,address,agent_home,agent_session,aggregation_policy,all,announcement,answer_best,answer_private,answer_public,apex,apex_plugin,app,approval,apps,apps_admin,article,asset_action,asset_action_source,asset_audit,asset_downtime_period,asset_object,asset_relationship,asset_state_period,asset_warranty,assigned_resource,assignment,attach,avatar,avatar_loading,bot,bot_training,branch_merge,brand,budget,budget_allocation,bundle_config,bundle_policy,business_hours,buyer_account,buyer_group,calculated_insights,calibration,call,call_coaching,call_history,campaign,campaign_members,cancel_checkout,canvas,capacity_plan,care_request_reviewer,carousel,case,case_change_status,case_comment,case_email,case_log_a_call,case_milestone,case_transcript,case_wrap_up,catalog,category,change_request,channel_program_history,channel_program_levels,channel_program_members,channel_programs,chart,checkout,choice,client,cms,coaching,code_playground,code_set,code_set_bundle,collection,collection_variable,connected_apps,constant,contact,contact_list,contact_request,contract,contract_line_item,contract_payment,coupon_codes,currency,currency_input,custom,custom_component_task,custom_notification,customer_360,customer_lifecycle_analytics,customer_portal_users,customers,dashboard,dashboard_component,dashboard_ea,data_integration_hub,data_mapping,data_model,data_streams,datadotcom,dataset,date_input,date_time,decision,default,delegated_account,device,discounts,display_rich_text,display_text,document,document_reference,drafts,duration_downscale,dynamic_record_choice,education,einstein_replies,email,email_chatter,employee,employee_asset,employee_contact,employee_job,employee_job_position,employee_organization,empty,endorsement,entitlement,entitlement_policy,entitlement_process,entitlement_template,entity,entity_milestone,environment_hub,event,events,expense,expense_report,expense_report_entry,feed,feedback,field_sales,file,filter,filter_criteria,filter_criteria_rule,first_non_empty,flow,folder,forecasts,form,formula,fulfillment_order,generic_loading,global_constant,goals,group_loading,groups,guidance_center,hierarchy,high_velocity_sales,historical_adherence,holiday_operating_hours,home,household,identifier,immunization,incident,individual,insights,instore_locations,investment_account,invocable_action,iot_context,iot_orchestrations,javascript_button,job_family,job_position,job_profile,kanban,key_dates,knowledge,lead,lead_insights,lead_list,letterhead,lightning_component,lightning_usage,link,list_email,live_chat,live_chat_visitor,location,location_permit,log_a_call,logging,loop,macros,maintenance_asset,maintenance_plan,maintenance_work_rule,marketing_actions,med_rec_recommendation,med_rec_statement_recommendation,medication,medication_dispense,medication_ingredient,medication_reconciliation,medication_statement,merge,messaging_conversation,messaging_session,messaging_user,metrics,multi_picklist,multi_select_checkbox,network_contract,news,note,number_input,observation_component,omni_supervisor,operating_hours,opportunity,opportunity_contact_role,opportunity_splits,orchestrator,order_item,orders,outcome,output,partner_fund_allocation,partner_fund_claim,partner_fund_request,partner_marketing_budget,partners,password,past_chat,patient_medication_dosage,payment_gateway,people,performance,person_account,person_language,person_name,photo,picklist_choice,picklist_type,planogram,poll,portal,portal_roles,portal_roles_and_subordinates,post,practitioner_role,price_book_entries,price_books,pricebook,pricing_workspace,problem,procedure,procedure_detail,process,process_exception,product,product_consumed,product_consumed_state,product_item,product_item_transaction,product_quantity_rules,product_request,product_request_line_item,product_required,product_service_campaign,product_service_campaign_item,product_transfer,product_transfer_state,product_warranty_term,product_workspace,products,promotion_segments,promotions,promotions_workspace,propagation_policy,proposition,qualifications,question_best,question_feed,queue,quick_text,quip,quip_sheet,quotes,radio_button,read_receipts,recent,recipe,record,record_create,record_delete,record_lookup,record_signature_task,record_update,recycle_bin,related_list,relationship,reply_text,report,report_type,resource_absence,resource_capacity,resource_preference,resource_skill,restriction_policy,return_order,return_order_line_item,reward,rtc_presence,sales_cadence,sales_cadence_target,sales_channel,sales_path,sales_value,salesforce_cms,scan_card,schedule_objective,scheduling_constraint,scheduling_policy,screen,search,section,segments,selling_model,serialized_product,serialized_product_transaction,service_appointment,service_appointment_capacity_usage,service_contract,service_crew,service_crew_member,service_report,service_request,service_request_detail,service_resource,service_territory,service_territory_location,service_territory_member,service_territory_policy,settings,shift,shift_pattern,shift_pattern_entry,shift_preference,shift_scheduling_operation,shift_template,shift_type,shipment,skill,skill_entity,skill_requirement,slack,slider,sms,snippet,snippets,sobject,sobject_collection,social,solution,sort,sort_policy,sossession,stage,stage_collection,steps,store,store_group,story,strategy,survey,swarm_request,swarm_session,system_and_global_variable,tableau,task,task2,team_member,template,text,text_template,textarea,textbox,thanks,thanks_loading,timesheet,timesheet_entry,timeslot,today,toggle,topic,topic2,tour,tour_check,trailhead,trailhead_alt,travel_mode,unified_health_score,unmatched,user,user_role,variable,variation_attribute_setup,variation_products,video,visit_templates,visits,visualforce_page,voice_call,waits,warranty_term,webcart,work_capacity_limit,work_capacity_usage,work_contract,work_forecast,work_order,work_order_item,work_plan,work_plan_rule,work_plan_template,work_plan_template_entry,work_queue,work_step,work_step_template,work_type,work_type_group,workforce_engagement";const sldsIcons={standard:_STANDARD_SPRITE_IDS.split(",")};var organizationsTree={getSearchableFields:function(e){var o=["text","textarea","autonumber","url","email"];var a=[],s=e.context.uiSchema;return s&&_$1.each(s.fields,function(e){var t,r,n;t=e,r=s.NAME_FIELD_KEY,(n=!1!==(n=t.searchable)&&t.name===r?!0:n)&&-1<o.indexOf(t.type)&&a.push(e.name);}),a},getApiRequestAdaptor:function(e,t,r){var n="__keywords",o=t.__lookupField;if((r=void 0===r?{}:r).isLookup){if("loadOptions"===t.op)return s=[["_id","=",t.value]],Object.assign({},e,{method:"post",url:"/graphql",data:{query:"{rows:organizations(filters: "+JSON.stringify(s)+', top: 5000, skip: 0, sort: "sort_no desc"){_id,fullname,name,sort_no,_display:_ui{sort_no},parent,children}}'}});o?n="__keywords_lookup__".concat(o.name.replace(/\./g,"_"),"__to__").concat(o.reference_to):(n="",console.error("lookup字段快速搜索异常,作用域中未找到变量__lookupField"));}var a,t=this.getSearchableFields(e),s=[],i=(r.isLookup&&(a=o.inFilterForm,(l=o.listviewFilter)&&l.length&&!a&&(s=l)),JSON.parse(JSON.stringify(e.context))),l=SteedosUI$1.getSearchFilter(i)||[],l=(0<l.length&&(s=0<s.length?[s,"and",l]:l),t&&t.forEach(function(e){var t=i[e];_$1.isString(t)?s.push([e,"contains",t]):(_$1.isArray(t)||_$1.isBoolean(t)||t)&&s.push([e,"=",t]);}),SteedosUI$1.getKeywordsSearchFilter(i[n],t)),o=(l&&0<l.length&&s.push(l),r.isLookup&&((n=o.filters)&&n.length&&(SteedosUI$1.traverseNestedArrayFormula(n,e.context),s.push(n)),a=o.inFilterForm,"string"==typeof(t=o.listviewFiltersFunction)&&(t=new Function("return ".concat(t))()),"string"==typeof(l=o.filtersFunction||o._filtersFunction)&&(l=new Function("return ".concat(l))()),t&&!a&&(r=t(s,e.context))&&r.length&&s.push(r),l&&!a&&(n=l(s,e.context))&&0<n.length&&s.push(n)),e.data={},0<s.length&&Object.assign(e.data,{filters:JSON.stringify(s)}),e.body&&e.body.queryFields);return o&&Object.assign(e.data,{fields:o}),e.body.$self&&(e.body.$self.context&&e.body.$self.context.rootUrl,e.url="/service/api/organizations/root"),e},getApiAdaptor:function(e,t,r,n,o){return (o=void 0===o?{}:o).isLookup&&"loadOptions"===n.op?(o=_$1.map(e.data.rows,function(e){return delete e.children,delete e.parent,e}),e.data.rows=o):(n=r.data&&r.data.filters,e.data=__assign$1(__assign$1({},e.data),{isFilter:!!n}),e.data.__rootQueryFields=r.data&&r.data.fields,(e.data.rows||[]).forEach(function(e){e.__rootQueryFields=r.data&&r.data.fields;})),e},getDeferApiRequestAdaptor:function(e,t,r){var n=[],o=JSON.parse(JSON.stringify(e.context))._id,o=(o&&(n=[["parent","=",o]]),t&&t.__rootQueryFields||"_id,fullname,name,sort_no,hidden,_display:_ui{sort_no,hidden},parent,children");return Object.assign({},e,{data:{query:"{rows:organizations(filters: "+JSON.stringify(n)+', top: 5000, skip: 0, sort: "sort_no desc"){'+o+"}}"}})},getDeferApiAdaptor:function(e,t,r,n,o){var a=e.data;return a.children||(a.rows=a.rows.map(function(e){return e.defer=!(!e.children||!e.children.length),delete e.children,e}),a.children=a.rows,delete a.rows,delete a.count),e}},getBuilderContext=function(){return "undefined"==typeof window?{}:Builder.settings.context||Builder.settings},Steedos$1=__assign$1({resources:{sldsIcons:sldsIcons},organizationsTree:organizationsTree,getRootUrl:function(e){var t=getBuilderContext();return t.rootUrl||("undefined"!=typeof window?window.localStorage.getItem("steedos:rootUrl"):"")||e},absoluteUrl:function(e){return void 0===e&&(e=""),"".concat(Steedos$1.getRootUrl()).concat(e)},getTenantId:function(){try{var e=getBuilderContext().tenantId;return (e=window.location.search&&!e?new URLSearchParams(window.location.search).get("X-Space-Id"):e)?e:null}catch(e){console.error(e);}},getAuthorization:function(){try{var e=getBuilderContext(),t=e.tenantId,r=e.authToken;return t&&r?"Bearer ".concat(t,",").concat(r):null}catch(e){console.error(e);}},authRequest:authRequest,StandardObjects:StandardObjects},Expression);"undefined"!=typeof window&&(window.Steedos?window.Steedos=Object.assign(Steedos$1,window.Steedos):window.Steedos=Steedos$1),"undefined"!=typeof window&&(window.SteedosUI?window.SteedosUI=Object.assign(SteedosUI$1,window.SteedosUI):window.SteedosUI=SteedosUI$1);
|
|
23400
|
+
var __assign$1=function(){return (__assign$1=Object.assign||function(e){for(var t,r=1,a=arguments.length;r<a;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},StandardObjects={Base:{Actions:{standard_query:{visible:function(e,t,r){return !1}},standard_new:{visible:function(e,t,r){return "cms_files"!==e&&"instances"!==e&&(r?r.allowCreate:void 0)}},standard_edit:{visible:function(e,t,r){if(r)return r.allowEdit}},standard_delete:{visible:function(e,t,r){if(r)return r.allowDelete}},standard_import_data:{visible:function(e,t,r){var a=this.object;if(r)return r.allowCreate&&a.hasImportTemplates}},standard_approve:{visible:function(e,t,r){return !1}},standard_view_instance:{visible:function(e,t,r){return !1}},standard_submit_for_approval:{visible:function(e,t,r){return window.Steedos.ProcessManager.allowSubmit.apply(this,[e,t])},todo:function(e,t){return window.Steedos.ProcessManager.submit.apply(this,[e,t])}},standard_follow:{visible:function(e,t,r){return !1}},standard_delete_many:{visible:function(e,t,r){return !RegExp("\\w+/view/\\w+").test(location.pathname)&&(r?r.allowDelete:void 0)}},standard_export_excel:{visible:function(e,t,r){return !1}}}}},authRequest=function(e,t){var n=null;e=Steedos.absoluteUrl(e);try{var r=[{name:"Content-Type",value:"application/json"},{name:"Authorization",value:Steedos.getAuthorization()}],a={type:"get",url:e,dataType:"json",contentType:"application/json",beforeSend:function(t){if(r&&r.length)return r.forEach(function(e){return t.setRequestHeader(e.name,e.value)})},success:function(e){n=e;},error:function(e,t,r){var a,o;e.responseJSON&&e.responseJSON.error?(a=e.responseJSON.error,o=void(n={error:a}),o=a.reason||a.message||a,console.error(o)):console.error(e.responseJSON);}};return $.ajax(Object.assign({},a,t)),n}catch(e){console.error(e);}};function _extends(){return (_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r,a=arguments[t];for(r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r]);}return e}).apply(this,arguments)}const newFunctionComponent=o=>e=>{const[t,r]=useState(!0);var a=()=>{r(!1);};return has(e,"ref")||(window.SteedosUI.refs[e.name]={show:()=>{r(!0);},close:a}),React__default.createElement(o,_extends({visible:t,onCancel:a,onClose:a},{width:"70%",style:{width:"70%",maxWidth:"950px",minWidth:"480px"}},e))},newComponentRender=(r,a)=>(e,t)=>{e.name||(e.name=r+"-"+(e.name||"default")),(t=t||document.getElementById(`steedos-${r}-root-`+e.name))||((t=document.createElement("div")).setAttribute("id",`steedos-${r}-root-`+e.name),document.body.appendChild(t));e=React__default.createElement(newFunctionComponent(a),e);createRoot(t).render(e);},Modal=assign(newComponentRender("modal",Modal$1),{info:Modal$1.info,success:Modal$1.success,error:Modal$1.error,warning:Modal$1.warning,confirm:Modal$1.confirm}),Drawer=newComponentRender("drawer",Drawer$1),getGraphqlFieldsQuery=e=>{const t=["_id"];return e.push("record_permissions"),each(e,e=>{-1<e.indexOf(".")&&(e=e.split(".")[0]),t.push(""+e);}),""+t.join(" ")},getFindOneQuery=(e,t,r)=>{e=e.replace(/\./g,"_");r=getGraphqlFieldsQuery(r);let a="";t=[`id: "${t}"`];return `{record:${e}__findOne${a=0<t.length?`(${t.join(",")})`:a}{${r}}}`},SObject={getRecord:async(e,t,r)=>{return (await fetchAPI("/graphql",{method:"post",body:JSON.stringify({query:getFindOneQuery(e,t,r)})})).data.record},getUISchema:async(e,t)=>getUISchema(e,t)},canSaveFilter=e=>!(!e._id||e.owner!==getSteedosAuth()?.userId),ListView={showFilter:(e,{listView:t,data:r})=>{canSaveFilter(t),r.filters&&(r.filters=filtersToConditions(r.filters));},getVisibleFilter:(e,t)=>{return t||(canSaveFilter(e)?e.filters:void 0)},getQueryFilter:(e,t)=>{return canSaveFilter(e)?ListView.getVisibleFilter(e,t):isEmpty(t)?e.filters:[e.filters,"and",t]},getFirstListView:async e=>{e=await window.getUISchema(e);return _.first(_.sortBy(_.values(e.list_views),"sort_no"))}},Router={getAppPath({appId:e}){return "/app/"+e},getPagePath(){},getObjectListViewPath({appId:e,objectName:t,listViewName:r}){return `/app/${e}/${t}/grid/`+r},getObjectDetailPath({appId:e,objectName:t,recordId:r}){return `/app/${e}/${t}/view/`+r},getObjectRelatedViewPath({appId:e,masterObjectName:t,masterRecordId:r,objectName:a,foreignKey:o}){return `/app/${e}/${t}/${r}/${a}/grid?related_field_name=`+o}};var withModalWrap=function(t,e){return function(e){return React.createElement(t,e)}},render=function(e,t,r,a){e=withModalWrap(e),e=React.createElement(e,__assign$1({},t));return ReactDOM.render(e,r)};const safeRunFunction=(t,r,a,o)=>{try{let e=[];return isNil(r)||(e=isArray$3(r)?r:[r]),t.bind(o||{})(...e)}catch(e){return console.log(e),a}};function safeEval(js){try{return eval(js)}catch(e){console.error(e,js);}}const isExpression=function(e){var t,r;return "string"==typeof e&&(t=/^{{(function.+)}}$/,r=/^{{(.+=>.+)}}$/,!("string"!=typeof e||!e.match(/^{{(.+)}}$/)||e.match(t)||e.match(r)))},getMoment=()=>window.amisRequire?window.amisRequire("moment"):window.moment||void 0,getGlobalNowData=()=>{var e=new Date,t=getMoment();let r=t().utc(),a=(r.set("hours",0),r.set("minutes",0),r.set("seconds",0),r.set("milliseconds",0),r=r.toDate(),t());return a.set("year",1970),a.set("month",0),a.set("date",1),a.set("hours",a.hours()+a.utcOffset()/60),a.set("seconds",0),a.set("milliseconds",0),a=a.toDate(),{now:e,today:r,timeNow:a}},parseSingleExpression=function(t,e,r,a){var o,n;if(a&&Object.assign(a,getGlobalNowData()),n=function(e,t){return "#"!==t&&t?"string"==typeof t?_.get(e,t):void console.error("path has to be a string"):e||{}}(e=void 0===e?{}:e,function(e){return "string"!=typeof e||1===(e=e.split(".")).length?"#":(e.pop(),e.join("."))}(r))||{},"string"!=typeof t)return t;o="__G_L_O_B_A_L__",e="\n return "+t.substring(2,t.length-2).replace(/\bformData\b/g,JSON.stringify(e).replace(/\bglobal\b/g,o)).replace(/\bglobal\b/g,JSON.stringify(a)).replace(new RegExp("\\b"+o+"\\b","g"),"global").replace(/rootValue/g,JSON.stringify(n));try{return Function(e)()}catch(e){return console.log(e,t,r),t}};var Expression=Object.freeze({__proto__:null,isExpression:isExpression,getGlobalNowData:getGlobalNowData,parseSingleExpression:parseSingleExpression});const getCompatibleDefaultValueExpression=(express,multiple)=>{const reg=/^\{\w+(\.*\w+)*\}$/,reg2=/^{{[\s\S]*}}$/;let result=express;if(reg.test(express)&&(result=-1<express.indexOf("userId")||-1<express.indexOf("spaceId")||-1<express.indexOf("user.")||-1<express.indexOf("now")||-1<express.indexOf("today")||-1<express.indexOf("timeNow")?`{${express}}`.replace("{{","{{global."):`{${express}}`.replace("{{","{{formData."),multiple&&(result=result.replace(/\{\{(.+)\}\}/,"{{[$1]}}"))),reg2.test(express)&&(-1<express.indexOf("function")||-1<express.indexOf("=>"))){let regex=/\{\{([\s\S]*)\}\}/,matches=regex.exec(express);if(matches&&1<matches.length){let functionCode=matches[1];result=eval("("+functionCode+")")();}}return result},getFieldDefaultValue=(e,t)=>{if(!e)return null;let r=e.defaultValue;e._defaultValue&&(r=safeEval(`(${e._defaultValue})`)),isFunction$4(r)&&(r=safeRunFunction(r,[],null,{name:e.name})),_$1.isString(r)&&(r=getCompatibleDefaultValueExpression(r,e.multiple));var a=isExpression(r);switch(a&&("date"===e.type?r=r.replace(/\bglobal.now\b/g,"global.today"):"time"===e.type&&(r=r.replace(/\bglobal.now\b/g,"global.timeNow")),r=parseSingleExpression(r,{},"#",t)),e.type){case"select":var o=e.data_type||"text";!r||a||e.multiple||("text"!==o||isString(r)?"number"===o&&isString(r)?r=Number(r):"boolean"===o&&isString(r)&&(r="true"===r.toLowerCase()||"1"===r):r=String(r));break;case"number":isString(r)&&(r=Number(r));break;case"boolean":isString(r)?r="true"===r.toLowerCase()||"1"===r:isBoolean(r)||(r=!1);break;case"time":if(isDate(r))return moment(r).format("1970-01-01THH:mm:00.000[Z]");case"date":if(isDate(r))return moment(r).format("YYYY-MM-DDT00:00:00.000[Z]");case"datetime":if(isDate(r))return moment(r).format("YYYY-MM-DDTHH:mm:00.000Z")}return r};function getTreeOptions(t,e){const o=e?.valueField||"value",r=(e?.labelField,e?.unfoldedNum||1),a=[],n=(e,t,r,a)=>{return e.children&&"object"==typeof e.children[0]?e.children:r?(e=_.filter(t,e=>_.includes(r,e[o])),_.each(e,e=>{1<=a?(e.unfolded=!0,e.children&&(e.children=n(e,t,e.children,a-1))):e.children&&(e.children=n(e,t,e.children,a));}),e):void 0};for(var s=t,i=0;i<s.length;i++)if(s[i].noParent=0,s[i].unfolded=!1,s[i].parent){let e=1;for(var l=0;l<s.length;l++)s[i].parent==s[l][o]&&(e=0);1==e&&(s[i].noParent=1);}else s[i].noParent=1;return _.each(t,e=>{1==e.noParent&&(1<=r?(e.unfolded=!0,a.push(Object.assign({},e,{children:n(e,t,e.children,r-1)}))):a.push(Object.assign({},e,{children:n(e,t,e.children,r)})));}),a}function getClosestAmisComponentByType(t,r,a){let o=(a=a||{}).name;var e=a.direction||"up";let n=t.getComponents().find(function(e){return e.props.type===r&&(!o||e.props.name===o)});if(n)return n;if("down"===e){if(t.children&&t.children.length){for(let e=0;e<t.children.length&&!(n=getClosestAmisComponentByType(t.children[e],r,a));e++);return n}}else if("up"===e&&t.parent)return getClosestAmisComponentByType(t.parent,r,a)}function isFilterFormValuesEmpty(e){let t=!0;var e=_.pickBy(e,function(e,t){return /^__searchable__/g.test(t)});return _.isEmpty(e)||(e=_.omitBy(e,function(e){return _.isNil(e)||_.isObject(e)&&_.isEmpty(e)||_.isArray(e)&&_.isEmpty(e.filter(function(e){return !_.isNil(e)}))||_.isString(e)&&0===e.length}),_.isEmpty(e)||(t=!1)),t}const SteedosUI$1=Object.assign({},{render:render,Router:Router,ListView:ListView,Object:SObject,Modal:Modal,Drawer:Drawer,refs:{},getRef(e){return SteedosUI$1.refs[e]},router:{go:(e,t)=>{var r=window.FlowRouter;if(t)return r?r.go(t):window.open(t);r?r.reload():console.warn("暂不支持自动跳转",e);},reload:()=>{console.log("reload");}},message:message,notification:notification,components:{Button:Button,Space:Space},getRefId:({type:e,appId:t,name:r})=>{switch(e){case"listview":return `amis-${t}-${r}-listview`;case"form":return `amis-${t}-${r}-form`;case"detail":return `amis-${t}-${r}-detail`;default:return `amis-${t}-${r}-`+e}},reloadRecord:()=>{if(window.FlowRouter)return window.FlowRouter.reload()},getFieldDefaultValue:getFieldDefaultValue,getTreeOptions:getTreeOptions,getClosestAmisComponentByType:getClosestAmisComponentByType,isFilterFormValuesEmpty:isFilterFormValuesEmpty,getSearchFilter:e=>{var o=[];return _.each(e,(e,t)=>{var r,a;_.isEmpty(e)&&!_.isBoolean(e)||(_.startsWith(t,"__searchable__between__")?0<e.filter(e=>null!=e&&""!==e).length&&o.push([""+t.replace("__searchable__between__",""),"between",e]):_.startsWith(t,"__searchable__")&&(_.isString(e)?o.push([""+t.replace("__searchable__",""),"contains",e]):_.isObject(e)&&e.o?(a=[[(r=""+t.replace("__searchable__",""))+"/o","=",e.o]],e.ids.length&&a.push([r+"/ids","=",e.ids]),o.push(a)):o.push([""+t.replace("__searchable__",""),"=",e])));}),o},getSearchFilterFormValues:(t,o)=>{if(!_.isObject(t)&&_.isEmpty(t))return t;{let e=t;return o&&(e=_.pickBy(t,function(e,t){return !!o[t]})),_.mapKeys(e,function(e,t){let r="__searchable__";var a;return !o||"number"!==(a=o[t]?.type)&&"currency"!==a&&"date"!==a&&"datetime"!==a&&"time"!==a||(r+="between__"),r+t})}},getKeywordsSearchFilter:(e,t)=>{const o=[];var n;return e&&t&&(n=e.split(/\s+/),n=compact(n),t.forEach(function(r,e){let a=[];1==n.length?a=[r,"contains",n[0]]:n.forEach(function(e,t){a.push([r,"contains",e]),t<n.length-1&&a.push("and");}),a.length&&(o.push(a),e<t.length-1&&o.push("or"));})),o},getFormulaVariables:(e,t=!0)=>{var r=window.steedosI18next.t;const a=[];return isEmpty(e)||(a.push({label:r("frontend_formula_variables_tab_form_fields","表单字段"),children:[]}),lodash.forEach(e,function(e){a[0].children.push({label:e.label,value:e.value});})),t&&a.push({label:r("frontend_formula_variables_tab_form_global","全局变量"),children:[{label:r("frontend_formula_variables_global_userId","用户ID"),value:"global['userId']"},{label:r("frontend_formula_variables_global_spaceId","工作区ID"),value:"global['spaceId']"},{label:window.t("CustomObject.users.label","用户"),children:[{label:window.t("CustomField.space_users.name.label"),value:"global['user']['name']"},{label:window.t("CustomField.space_users.email.label"),value:"global['user']['email']"},{label:window.t("CustomField.space_users.locale.label"),value:"global['user']['language']"},{label:window.t("CustomField.space_users.profile.label"),value:"global['user']['profile']"},{label:r("frontend_formula_variables_global_user_roles","权限集"),value:"global['user']['roles']"},{label:window.t("CustomField.space_users.organization.label")+" ID",value:"global['user']['organization']['_id']"},{label:window.t("CustomField.space_users.organizations_parents.label"),value:"global['user']['organizations_parents']"},{label:window.t("CustomField.space_users.company_id.label")+" ID",value:"global['user']['company_id']"},{label:window.t("CustomField.space_users.company_ids.label"),value:"global['user']['company_ids']"},{label:r("frontend_formula_variables_global_user_spaceUserId","人员ID"),value:"global['user']['spaceUserId']"},{label:r("frontend_formula_variables_global_user_is_space_admin","是否工作区管理员"),value:"global['user']['is_space_admin']"}]}]}),a},traverseNestedArrayFormula:(t,r)=>{var a=window.amisRequire&&window.amisRequire("amis")||Amis;for(let e=0;e<t.length;e++)if(Array.isArray(t[e]))SteedosUI$1.traverseNestedArrayFormula(t[e],r);else if(/\$\{([^}]*)\}/.test(t[e]))try{t[e]=a.evaluate(t[e],r);}catch(e){console.error("运行过滤器公式时出现错误:",e);}}});var _STANDARD_SPRITE_IDS="account,account_info,action_list_component,actions_and_buttons,activation_target,activations,address,agent_home,agent_session,aggregation_policy,all,announcement,answer_best,answer_private,answer_public,apex,apex_plugin,app,approval,apps,apps_admin,article,asset_action,asset_action_source,asset_audit,asset_downtime_period,asset_object,asset_relationship,asset_state_period,asset_warranty,assigned_resource,assignment,attach,avatar,avatar_loading,bot,bot_training,branch_merge,brand,budget,budget_allocation,bundle_config,bundle_policy,business_hours,buyer_account,buyer_group,calculated_insights,calibration,call,call_coaching,call_history,campaign,campaign_members,cancel_checkout,canvas,capacity_plan,care_request_reviewer,carousel,case,case_change_status,case_comment,case_email,case_log_a_call,case_milestone,case_transcript,case_wrap_up,catalog,category,change_request,channel_program_history,channel_program_levels,channel_program_members,channel_programs,chart,checkout,choice,client,cms,coaching,code_playground,code_set,code_set_bundle,collection,collection_variable,connected_apps,constant,contact,contact_list,contact_request,contract,contract_line_item,contract_payment,coupon_codes,currency,currency_input,custom,custom_component_task,custom_notification,customer_360,customer_lifecycle_analytics,customer_portal_users,customers,dashboard,dashboard_component,dashboard_ea,data_integration_hub,data_mapping,data_model,data_streams,datadotcom,dataset,date_input,date_time,decision,default,delegated_account,device,discounts,display_rich_text,display_text,document,document_reference,drafts,duration_downscale,dynamic_record_choice,education,einstein_replies,email,email_chatter,employee,employee_asset,employee_contact,employee_job,employee_job_position,employee_organization,empty,endorsement,entitlement,entitlement_policy,entitlement_process,entitlement_template,entity,entity_milestone,environment_hub,event,events,expense,expense_report,expense_report_entry,feed,feedback,field_sales,file,filter,filter_criteria,filter_criteria_rule,first_non_empty,flow,folder,forecasts,form,formula,fulfillment_order,generic_loading,global_constant,goals,group_loading,groups,guidance_center,hierarchy,high_velocity_sales,historical_adherence,holiday_operating_hours,home,household,identifier,immunization,incident,individual,insights,instore_locations,investment_account,invocable_action,iot_context,iot_orchestrations,javascript_button,job_family,job_position,job_profile,kanban,key_dates,knowledge,lead,lead_insights,lead_list,letterhead,lightning_component,lightning_usage,link,list_email,live_chat,live_chat_visitor,location,location_permit,log_a_call,logging,loop,macros,maintenance_asset,maintenance_plan,maintenance_work_rule,marketing_actions,med_rec_recommendation,med_rec_statement_recommendation,medication,medication_dispense,medication_ingredient,medication_reconciliation,medication_statement,merge,messaging_conversation,messaging_session,messaging_user,metrics,multi_picklist,multi_select_checkbox,network_contract,news,note,number_input,observation_component,omni_supervisor,operating_hours,opportunity,opportunity_contact_role,opportunity_splits,orchestrator,order_item,orders,outcome,output,partner_fund_allocation,partner_fund_claim,partner_fund_request,partner_marketing_budget,partners,password,past_chat,patient_medication_dosage,payment_gateway,people,performance,person_account,person_language,person_name,photo,picklist_choice,picklist_type,planogram,poll,portal,portal_roles,portal_roles_and_subordinates,post,practitioner_role,price_book_entries,price_books,pricebook,pricing_workspace,problem,procedure,procedure_detail,process,process_exception,product,product_consumed,product_consumed_state,product_item,product_item_transaction,product_quantity_rules,product_request,product_request_line_item,product_required,product_service_campaign,product_service_campaign_item,product_transfer,product_transfer_state,product_warranty_term,product_workspace,products,promotion_segments,promotions,promotions_workspace,propagation_policy,proposition,qualifications,question_best,question_feed,queue,quick_text,quip,quip_sheet,quotes,radio_button,read_receipts,recent,recipe,record,record_create,record_delete,record_lookup,record_signature_task,record_update,recycle_bin,related_list,relationship,reply_text,report,report_type,resource_absence,resource_capacity,resource_preference,resource_skill,restriction_policy,return_order,return_order_line_item,reward,rtc_presence,sales_cadence,sales_cadence_target,sales_channel,sales_path,sales_value,salesforce_cms,scan_card,schedule_objective,scheduling_constraint,scheduling_policy,screen,search,section,segments,selling_model,serialized_product,serialized_product_transaction,service_appointment,service_appointment_capacity_usage,service_contract,service_crew,service_crew_member,service_report,service_request,service_request_detail,service_resource,service_territory,service_territory_location,service_territory_member,service_territory_policy,settings,shift,shift_pattern,shift_pattern_entry,shift_preference,shift_scheduling_operation,shift_template,shift_type,shipment,skill,skill_entity,skill_requirement,slack,slider,sms,snippet,snippets,sobject,sobject_collection,social,solution,sort,sort_policy,sossession,stage,stage_collection,steps,store,store_group,story,strategy,survey,swarm_request,swarm_session,system_and_global_variable,tableau,task,task2,team_member,template,text,text_template,textarea,textbox,thanks,thanks_loading,timesheet,timesheet_entry,timeslot,today,toggle,topic,topic2,tour,tour_check,trailhead,trailhead_alt,travel_mode,unified_health_score,unmatched,user,user_role,variable,variation_attribute_setup,variation_products,video,visit_templates,visits,visualforce_page,voice_call,waits,warranty_term,webcart,work_capacity_limit,work_capacity_usage,work_contract,work_forecast,work_order,work_order_item,work_plan,work_plan_rule,work_plan_template,work_plan_template_entry,work_queue,work_step,work_step_template,work_type,work_type_group,workforce_engagement";const sldsIcons={standard:_STANDARD_SPRITE_IDS.split(",")};var organizationsTree={getSearchableFields:function(e){var o=["text","textarea","autonumber","url","email"];var n=[],s=e.context.uiSchema;return s&&_$1.each(s.fields,function(e){var t,r,a;t=e,r=s.NAME_FIELD_KEY,(a=!1!==(a=t.searchable)&&t.name===r?!0:a)&&-1<o.indexOf(t.type)&&n.push(e.name);}),n},getApiRequestAdaptor:function(e,t,r){var a="__keywords",o=t.__lookupField;if((r=void 0===r?{}:r).isLookup){if("loadOptions"===t.op)return s=[["_id","=",t.value]],Object.assign({},e,{method:"post",url:"/graphql",data:{query:"{rows:organizations(filters: "+JSON.stringify(s)+', top: 5000, skip: 0, sort: "sort_no desc"){_id,fullname,name,sort_no,_display:_ui{sort_no},parent,children}}'}});o?a="__keywords_lookup__".concat(o.name.replace(/\./g,"_"),"__to__").concat(o.reference_to):(a="",console.error("lookup字段快速搜索异常,作用域中未找到变量__lookupField"));}var n,t=this.getSearchableFields(e),s=[],i=(r.isLookup&&(n=o.inFilterForm,(l=o.listviewFilter)&&l.length&&!n&&(s=l)),JSON.parse(JSON.stringify(e.context))),l=SteedosUI$1.getSearchFilter(i)||[],l=(0<l.length&&(s=0<s.length?[s,"and",l]:l),t&&t.forEach(function(e){var t=i[e];_$1.isString(t)?s.push([e,"contains",t]):(_$1.isArray(t)||_$1.isBoolean(t)||t)&&s.push([e,"=",t]);}),SteedosUI$1.getKeywordsSearchFilter(i[a],t)),o=(l&&0<l.length&&s.push(l),r.isLookup&&((a=o.filters)&&a.length&&(SteedosUI$1.traverseNestedArrayFormula(a,e.context),s.push(a)),n=o.inFilterForm,"string"==typeof(t=o.listviewFiltersFunction)&&(t=new Function("return ".concat(t))()),"string"==typeof(l=o.filtersFunction||o._filtersFunction)&&(l=new Function("return ".concat(l))()),t&&!n&&(r=t(s,e.context))&&r.length&&s.push(r),l&&!n&&(a=l(s,e.context))&&0<a.length&&s.push(a)),e.data={},0<s.length&&Object.assign(e.data,{filters:JSON.stringify(s)}),e.body&&e.body.queryFields);return o&&Object.assign(e.data,{fields:o}),e.body.$self&&(e.body.$self.context&&e.body.$self.context.rootUrl,e.url="/service/api/organizations/root"),e},getApiAdaptor:function(e,t,r,a,o){return (o=void 0===o?{}:o).isLookup&&"loadOptions"===a.op?(o=_$1.map(e.data.rows,function(e){return delete e.children,delete e.parent,e}),e.data.rows=o):(a=r.data&&r.data.filters,e.data=__assign$1(__assign$1({},e.data),{isFilter:!!a}),e.data.__rootQueryFields=r.data&&r.data.fields,(e.data.rows||[]).forEach(function(e){e.__rootQueryFields=r.data&&r.data.fields;})),e},getDeferApiRequestAdaptor:function(e,t,r){var a=[],o=JSON.parse(JSON.stringify(e.context))._id,o=(o&&(a=[["parent","=",o]]),t&&t.__rootQueryFields||"_id,fullname,name,sort_no,hidden,_display:_ui{sort_no,hidden},parent,children");return Object.assign({},e,{data:{query:"{rows:organizations(filters: "+JSON.stringify(a)+', top: 5000, skip: 0, sort: "sort_no desc"){'+o+"}}"}})},getDeferApiAdaptor:function(e,t,r,a,o){var n=e.data;return n.children||(n.rows=n.rows.map(function(e){return e.defer=!(!e.children||!e.children.length),delete e.children,e}),n.children=n.rows,delete n.rows,delete n.count),e}},getBuilderContext=function(){return "undefined"==typeof window?{}:Builder.settings.context||Builder.settings},Steedos$1=__assign$1({resources:{sldsIcons:sldsIcons},organizationsTree:organizationsTree,getRootUrl:function(e){var t=getBuilderContext();return t.rootUrl||("undefined"!=typeof window?window.localStorage.getItem("steedos:rootUrl"):"")||e},absoluteUrl:function(e){return void 0===e&&(e=""),"".concat(Steedos$1.getRootUrl()).concat(e)},getTenantId:function(){try{var e=getBuilderContext().tenantId;return (e=window.location.search&&!e?new URLSearchParams(window.location.search).get("X-Space-Id"):e)?e:null}catch(e){console.error(e);}},getAuthorization:function(){try{var e=getBuilderContext(),t=e.tenantId,r=e.authToken;return t&&r?"Bearer ".concat(t,",").concat(r):null}catch(e){console.error(e);}},authRequest:authRequest,StandardObjects:StandardObjects},Expression);"undefined"!=typeof window&&(window.Steedos?window.Steedos=Object.assign(Steedos$1,window.Steedos):window.Steedos=Steedos$1),"undefined"!=typeof window&&(window.SteedosUI?window.SteedosUI=Object.assign(SteedosUI$1,window.SteedosUI):window.SteedosUI=SteedosUI$1);
|
|
23373
23401
|
|
|
23374
23402
|
var index_esm = /*#__PURE__*/Object.freeze({
|
|
23375
23403
|
__proto__: null,
|
|
@@ -23378,6 +23406,7 @@ var index_esm = /*#__PURE__*/Object.freeze({
|
|
|
23378
23406
|
});
|
|
23379
23407
|
|
|
23380
23408
|
var hidden$1 = "hidden";
|
|
23409
|
+
var formula_hidden$1 = "New or edit invisible";
|
|
23381
23410
|
var sfield_group$1 = "Steedos Cube";
|
|
23382
23411
|
var sfield_tab_group$1 = "Fields";
|
|
23383
23412
|
var sfield_text$1 = "Text";
|
|
@@ -23545,6 +23574,7 @@ var sfield_control_foreign_key_field_remark$1 = "Associated object's data stored
|
|
|
23545
23574
|
var sfield_control_foreign_key_field_default$1 = "Default to primary key, _id by default";
|
|
23546
23575
|
var en = {
|
|
23547
23576
|
hidden: hidden$1,
|
|
23577
|
+
formula_hidden: formula_hidden$1,
|
|
23548
23578
|
sfield_group: sfield_group$1,
|
|
23549
23579
|
sfield_tab_group: sfield_tab_group$1,
|
|
23550
23580
|
sfield_text: sfield_text$1,
|
|
@@ -23926,7 +23956,12 @@ var en = {
|
|
|
23926
23956
|
"steedos-record-service_group": "Steedos",
|
|
23927
23957
|
"steedos-record-service_title": "Record Service",
|
|
23928
23958
|
"steedos-record-service_props_objectApiName": "Object Name",
|
|
23959
|
+
"steedos-record-service_props_objectApiName_currentObject": "Current Object",
|
|
23929
23960
|
"steedos-record-service_props_recordId": "Record Id",
|
|
23961
|
+
"steedos-record-service_props_initApiRequestAdaptor": "Init Data Api Request Adaptor",
|
|
23962
|
+
"steedos-record-service_props_tip_initApiRequestAdaptor": "Signature: (api) => api, data in api.data, return api after modification.",
|
|
23963
|
+
"steedos-record-service_props_initApiAdaptor": "Init Data Api Response Adaptor",
|
|
23964
|
+
"steedos-record-service_props_tip_initApiAdaptor": "Signature: (payload, response, api) => payload",
|
|
23930
23965
|
"steedos-record-service_panelTitle": "Settings",
|
|
23931
23966
|
"steedos-record-service_regions_body": "Content Area",
|
|
23932
23967
|
"steedos-object-calendar_group": "Steedos",
|
|
@@ -24147,6 +24182,7 @@ var en = {
|
|
|
24147
24182
|
};
|
|
24148
24183
|
|
|
24149
24184
|
var hidden = "隐藏";
|
|
24185
|
+
var formula_hidden = "新建、编辑时不可见";
|
|
24150
24186
|
var sfield_group = "华炎魔方";
|
|
24151
24187
|
var sfield_tab_group = "字段";
|
|
24152
24188
|
var sfield_text = "文本";
|
|
@@ -24314,6 +24350,7 @@ var sfield_control_foreign_key_field_remark = "关联的对象保存到当前对
|
|
|
24314
24350
|
var sfield_control_foreign_key_field_default = "默认为主键,默认值是_id";
|
|
24315
24351
|
var zh_cn = {
|
|
24316
24352
|
hidden: hidden,
|
|
24353
|
+
formula_hidden: formula_hidden,
|
|
24317
24354
|
sfield_group: sfield_group,
|
|
24318
24355
|
sfield_tab_group: sfield_tab_group,
|
|
24319
24356
|
sfield_text: sfield_text,
|
|
@@ -24694,8 +24731,13 @@ var zh_cn = {
|
|
|
24694
24731
|
"steedos-object-related-lists_currentObject": "当前对象",
|
|
24695
24732
|
"steedos-record-service_group": "华炎魔方",
|
|
24696
24733
|
"steedos-record-service_title": "记录服务",
|
|
24697
|
-
"steedos-record-service_props_objectApiName": "
|
|
24698
|
-
"steedos-record-
|
|
24734
|
+
"steedos-record-service_props_objectApiName": "对象",
|
|
24735
|
+
"steedos-record-service_props_objectApiName_currentObject": "当前对象",
|
|
24736
|
+
"steedos-record-service_props_recordId": "记录ID",
|
|
24737
|
+
"steedos-record-service_props_initApiRequestAdaptor": "初始化接口发送适配器",
|
|
24738
|
+
"steedos-record-service_props_tip_initApiRequestAdaptor": "函数签名:(api) => api, 数据在 api.data 中,修改后返回 api 对象。",
|
|
24739
|
+
"steedos-record-service_props_initApiAdaptor": "初始化接口接收适配器",
|
|
24740
|
+
"steedos-record-service_props_tip_initApiAdaptor": "函数签名: (payload, response, api) => payload",
|
|
24699
24741
|
"steedos-record-service_panelTitle": "设置",
|
|
24700
24742
|
"steedos-record-service_regions_body": "内容区",
|
|
24701
24743
|
"steedos-object-calendar_group": "华炎魔方",
|
|
@@ -24922,6 +24964,8 @@ var zh_cn = {
|
|
|
24922
24964
|
* @LastEditTime: 2025-08-26 11:42:16
|
|
24923
24965
|
*/
|
|
24924
24966
|
if (typeof window != 'undefined') {
|
|
24967
|
+
console.log(' i18n addResources widgets-meta en', en);
|
|
24968
|
+
console.log(' i18n addResources widgets-meta zh-CN', zh_cn);
|
|
24925
24969
|
window.steedosI18next.addResources('en', 'widgets-meta', en);
|
|
24926
24970
|
window.steedosI18next.addResources('zh-CN', 'widgets-meta', zh_cn);
|
|
24927
24971
|
}
|
|
@@ -28287,7 +28331,7 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
|
|
|
28287
28331
|
_reloadKey: _reloadKey,
|
|
28288
28332
|
data: _data,
|
|
28289
28333
|
style: style,
|
|
28290
|
-
className: "".concat(className, " h-full steedos-object-listview ").concat(displayAs === 'split' ? 'sm:border-r' : 'sm:bg-gray-50'),
|
|
28334
|
+
className: "".concat(className, " h-full steedos-object-listview ").concat(displayAs === 'split' ? 'sm:border-r sm:border-l' : 'sm:bg-gray-50'),
|
|
28291
28335
|
body: [{
|
|
28292
28336
|
"type": "wrapper",
|
|
28293
28337
|
"size": "none",
|
|
@@ -28577,23 +28621,23 @@ var AmisRecordDetail = function (props) { return __awaiter(void 0, void 0, void
|
|
|
28577
28621
|
/*
|
|
28578
28622
|
* @Author: baozhoutao@steedos.com
|
|
28579
28623
|
* @Date: 2022-12-08 10:32:17
|
|
28580
|
-
* @LastEditors:
|
|
28581
|
-
* @LastEditTime: 2025-
|
|
28624
|
+
* @LastEditors: 殷亮辉 yinlianghui@hotoa.com
|
|
28625
|
+
* @LastEditTime: 2025-09-03 11:04:14
|
|
28582
28626
|
* @Description:
|
|
28583
28627
|
*/
|
|
28584
28628
|
var AmisRecordService = function (props) { return __awaiter(void 0, void 0, void 0, function () {
|
|
28585
|
-
var className, $schema, appId, _a, objectApiName, body, style, recordId, options, schema, formData;
|
|
28629
|
+
var className, $schema, appId, _a, objectApiName, body, style, recordId, initApiRequestAdaptor, initApiAdaptor, options, schema, formData;
|
|
28586
28630
|
return __generator(this, function (_b) {
|
|
28587
28631
|
switch (_b.label) {
|
|
28588
28632
|
case 0:
|
|
28589
|
-
className = props.className, $schema = props.$schema, appId = props.appId, _a = props.objectApiName, objectApiName = _a === void 0 ? "space_users" : _a, props.fields, body = props.body, style = props.style, props.onEvent, recordId = props.recordId;
|
|
28633
|
+
className = props.className, $schema = props.$schema, appId = props.appId, _a = props.objectApiName, objectApiName = _a === void 0 ? "space_users" : _a, props.fields, body = props.body, style = props.style, props.onEvent, recordId = props.recordId, initApiRequestAdaptor = props.initApiRequestAdaptor, initApiAdaptor = props.initApiAdaptor;
|
|
28590
28634
|
if (has($schema.data, "recordId") && $schema.data.recordId !== "${recordId}") {
|
|
28591
28635
|
recordId = $schema.data.recordId;
|
|
28592
28636
|
}
|
|
28593
28637
|
if (has($schema.data, "objectName") && $schema.data.objectName !== "${objectName}") {
|
|
28594
28638
|
objectApiName = $schema.data.objectName;
|
|
28595
28639
|
}
|
|
28596
|
-
options = { onEvent: $schema.onEvent, data: $schema.data, recordId: recordId };
|
|
28640
|
+
options = { onEvent: $schema.onEvent, data: $schema.data, recordId: recordId, initApiRequestAdaptor: initApiRequestAdaptor, initApiAdaptor: initApiAdaptor };
|
|
28597
28641
|
if (props.$$editor) {
|
|
28598
28642
|
options.isEditor = true;
|
|
28599
28643
|
}
|
|
@@ -29338,7 +29382,7 @@ var AmisAppMenu = function (props) { return __awaiter(void 0, void 0, void 0, fu
|
|
|
29338
29382
|
"method": "get",
|
|
29339
29383
|
"url": "${context.rootUrl}/service/api/apps/${appId}/menus",
|
|
29340
29384
|
"sendOn": "!!appId",
|
|
29341
|
-
"adaptor": "\n try {\n // console.log('payload====>', payload)\n if(payload.nav_schema){\n payload.data = payload.nav_schema;\n return payload\n }\n\n let collapsed = false;\n\n const data = { nav: [] };\n const stacked = ".concat(stacked, ";\n let showIcon = ").concat(showIcon, ";\n const selectedId = '").concat(selectedId, "';\n const tab_groups = payload.tab_groups;\n const locationPathname = window.location.pathname;\n var customTabId = \"\";\n var objectTabId = \"").concat(data.tabId, "\";\n var usedGroupNames = [];\n let allowEditApp = false;\n if(stacked){\n if(context.appId == context.app.id){\n collapsed = _.includes(document.body.classList, 'sidebar-open') != true;\n }\n // console.log('collapsed', collapsed, document.body.classList, context.appId == context.app.id)\n if(collapsed){\n showIcon = false;\n }\n\n if(payload.allowEditApp && collapsed != true){\n allowEditApp = true;\n }\n _.each(_.groupBy(payload.children, 'group'), (tabs, groupName) => {\n if (groupName === 'undefined' || groupName === '') {\n _.each(tabs, (tab) => {\n tab.iconClass = (tab.icon || 'account').replaceAll('_', '-');\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n data.nav.push({\n \"label\": showIcon ? {\n type: 'tpl',\n showNativeTitle: true,\n tpl: `<span class='leading-6 no-underline group items-center rounded-md'><svg class=\"slds-icon_container slds-icon fill-gray-700 mr-2 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"searchKey\": tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\",\n \"index\": tab.index,\n \"tabApiName\": tab.tabApiName,\n \"type\": tab.type,\n \"tabIcon\": tab.icon\n // active: selectedId === tab.id,\n })\n })\n } else {\n var tabGroup = _.find(tab_groups, {\"group_name\": groupName});\n usedGroupNames.push(groupName);\n data.nav.push({\n \"label\": groupName,\n 'default_open': tabGroup && tabGroup.default_open != false,\n \"unfolded\": tabGroup && tabGroup.default_open != false,\n \"isGroup\": true,\n \"children\": _.sortBy(_.map(tabs, (tab) => {\n tab.iconClass = (tab.icon || 'account').replaceAll('_', '-');\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n return {\n \"label\": showIcon ? {\n type: 'tpl',\n showNativeTitle: true,\n tpl: `<span class='leading-6 block no-underline group items-center rounded-md'><svg class=\"slds-icon_container slds-icon fill-gray-700 mr-2 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"searchKey\": tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\",\n \"index\": tab.index,\n \"tabApiName\": tab.tabApiName,\n \"type\": tab.type,\n // active: selectedId === tab.id,\n \"groupName\": groupName,\n \"tabIcon\": tab.icon\n }\n }),(tab) => {return tab.index})\n }) \n }\n });\n \n }else{\n _.each(payload.children, (tab)=>{\n tab.iconClass = (tab.icon || 'account').replaceAll('_', '-');\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n data.nav.push({\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='whitespace-normal leading-6 no-underline group items-center rounded-md'><svg class=\"slds-icon_container slds-icon-standard-${ tab.iconClass } slds-icon !fill-white rounded-xl mr-2 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"searchKey\": tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\",\n \"index\": tab.index,\n \"tabApiName\": tab.tabApiName,\n \"type\": tab.type,\n \"tabIcon\": tab.icon\n // active: selectedId === tab.id,\n });\n })\n }\n\n if(allowEditApp){\n const tempTabForEmptyGroup = {\n \"label\": {\n \"type\": \"tpl\",\n \"tpl\": \"\u65E0\u83DC\u5355\"\n },\n \"searchKey\": \"\",\n \"disabled\": true,\n \"tabApiName\": \"temp_tab_for_empty_group\",\n \"isTempTabForEmptyGroup\": true\n };\n _.each(payload.tab_groups, (group)=>{\n if(!_.includes(usedGroupNames, group.group_name)){\n tempTabForEmptyGroup.id = \"temp_tab_for_empty_group__\" + group.group_name;\n data.nav.push({\n \"label\": group.group_name,\n 'default_open': group && group.default_open != false,\n \"unfolded\": group && group.default_open != false,\n \"isGroup\": true,\n \"children\": [tempTabForEmptyGroup]\n })\n }\n });\n }\n\n //\u4EE5\u4E0B\u4E3Anav\u7B2C\u4E00\u5C42\u6392\u5E8F\uFF0C\u5305\u62EC\u5206\u7EC4\u4E0E\u9009\u9879\u5361\n // let groupLength = ((payload.tab_groups && payload.tab_groups.length) || 0) + 1000;\n data.nav = _.sortBy(data.nav, function(tab){\n if(tab.isGroup){\n return _.findIndex(payload.tab_groups, function(group){\n return group.group_name === tab.label;\n });\n }else{\n // \u6CA1\u6709\u5206\u7EC4\u7684\u9009\u9879\u5361\u6309index\u6392\u5217\u5728\u6709\u5206\u7EC4\u7684\u9009\u9879\u5361\u524D\u65B9\n return (tab.index || 0) - 1000;\n }\n })\n\n if(collapsed){\n const collapsedNav = [];\n for(const item of data.nav){\n if(item.isGroup){\n if(collapsedNav.length > 0){\n collapsedNav.push({\n \"mode\": \"divider\"\n })\n }\n for(const childrenItem of item.children){\n collapsedNav.push(Object.assign({}, childrenItem, {\n disabledTip: true,\n label: {\n \"type\": \"tooltip-wrapper\",\n \"content\": childrenItem.label,\n \"placement\": \"right\",\n // \"disabled\": true,\n \"body\": [\n {\n 'type': 'tpl',\n 'tpl': '<svg class=\"slds-icon_container slds-icon fill-gray-700 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#' + (childrenItem.tabIcon || 'account') + '\"></use></svg>'\n }\n ]\n }\n \n \n // label: false, \n // icon: '/assets/icons/standard-sprite/svg/symbols.svg#' + (childrenItem.tabIcon || 'account')\n }));\n }\n }else{\n collapsedNav.push(Object.assign({}, item, {\n disabledTip: true,\n label: {\n \"type\": \"tooltip-wrapper\",\n \"content\": item.label,\n \"placement\": \"right\",\n // \"disabled\": true,\n \"body\": [\n {\n 'type': 'tpl',\n 'tpl': '<svg class=\"slds-icon_container slds-icon fill-gray-700 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#' + (item.tabIcon || 'account') + '\"></use></svg>'\n }\n ]\n }\n // label: false, \n // icon: '/assets/icons/standard-sprite/svg/symbols.svg#' + (item.tabIcon || 'account')\n }));\n }\n }\n data.nav = collapsedNav;\n }\n\n let editAppSearch = [];\n if(allowEditApp){\n editAppSearch = [{\n \"type\": \"grid\",\n \"className\": \"m-2\",\n \"columns\": [\n {\n \"md\": 9,\n \"columnClassName\": \"p-0\",\n \"body\": [\n {\n \"type\": \"button\",\n \"className\": \"toggle-sidebar\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": \"document.body.classList.toggle('sidebar-open')\",\n },\n {\n \"actionType\": \"rebuild\",\n \"componentId\": \"u:app-menu\",\n \"args\": {\n \"toggleSidebar\": true\n }\n }\n ]\n }\n },\n \"body\": [\n {\n \"type\": \"html\",\n \"html\": \"<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-7 h-7 p-1 hover:bg-white hover:shadow'><path stroke-linecap='round' stroke-linejoin='round' d='M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5' /></svg>\"\n }\n ]\n }\n ]\n },\n {\n \"md\": 3,\n \"columnClassName\": \"p-0 steedos-app-menu-plus\",\n \"body\": [\n {\n \"type\": \"dropdown-button\",\n \"level\": \"link\",\n \"className\": \"float-right\",\n \"btnClassName\": \"p-1 text-gray-600 hover:bg-white! hover:shadow!\",\n \"icon\": \"fa fa-gear\",\n \"iconOnly\": true,\n \"closeOnClick\": true,\n \"closeOnOutside\": true,\n // \"size\": \"md\",\n \"hideCaret\": true,\n \"align\": \"right\",\n \"buttons\": [\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_new_object'), "\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"").concat(instance.t('frontend_menu_new_object'), "\",\n \"body\": [\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.objects.name.label' | t}\",\n \"name\": \"oName\",\n \"id\": \"u:dae5884c1633\",\n \"placeholder\": \"").concat(instance.t('frontend_menu_dialog_name_placeholder'), "\",\n \"value\": \"o_${UUID(6)}\",\n \"required\": true,\n \"validateOnChange\": true,\n \"validations\": {\n \"isVariableName\": /^[a-zA-Z]([A-Za-z0-9]|_(?!_))*[A-Za-z0-9]$/\n }\n },\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.objects.label.label' | t}\",\n \"name\": \"oLabel\",\n \"id\": \"u:e5bd37f6691b\",\n \"required\": true\n },\n {\n \"type\": \"steedos-field\",\n \"label\": \"${'CustomField.objects.icon.label' | t}\",\n \"config\": {\n \"label\": \"\u56FE\u6807\",\n \"type\": \"lookup\",\n \"required\": true,\n \"sort_no\": 30,\n \"optionsFunction\": \"function anonymous() { var options; options = []; _.forEach(Steedos.resources.sldsIcons.standard, function (svg) { return options.push({ value: svg, label: svg, icon: svg }); }); return options; }\",\n \"name\": \"icon\",\n \"inlineHelpText\": \"\",\n \"description\": \"\",\n \"hidden\": false,\n \"readonly\": false,\n \"disabled\": false\n }\n }\n ],\n \"id\": \"u:38b76ff2792d\",\n \"actions\": [\n {\n \"type\": \"button\",\n \"actionType\": \"cancel\",\n \"label\": \"${'Cancel' | t}\",\n \"id\": \"u:21d3cccf4d83\"\n },\n {\n \"type\": \"button\",\n \"actionType\": \"confirm\",\n \"label\": \"${'OK' | t}\",\n \"primary\": true,\n \"id\": \"u:238e5731a053\"\n }\n ],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false,\n \"onEvent\": {\n \"confirm\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"\",\n \"body\": [\n {\n \"type\": \"spinner\",\n \"id\": \"u:7b15becd491f\",\n \"overlay\": true\n }\n ],\n \"id\": \"u:38b76ff2798d\",\n \"actions\": [],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false\n }\n },\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": \"/service/api/objects/create_by_design\",\n \"method\": \"post\",\n \"adaptor\": \"window.location.href=Steedos.getRelativeUrl('/api/amisObjectFieldsDesign?oid=' + payload._id +`&assetUrls=${Builder.settings.assetUrls}`+'&retUrl='+window.location.href);return {}\",\n \"requestAdaptor\": \"api.data={appId: context.app.id, groupId: '', name: context.oName, label: context.oLabel, icon: context.icon}; return api;\",\n \"messages\": {}\n }\n }\n ]\n }\n }\n }\n }\n ]\n }\n }\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_new_micro_page'), "\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"").concat(instance.t('frontend_menu_new_micro_page'), "\",\n \"body\": [\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.pages.name.label' | t}\",\n \"name\": \"oName\",\n \"id\": \"u:dae5884c1633\",\n \"placeholder\": \"").concat(instance.t('frontend_menu_dialog_name_placeholder'), "\",\n \"value\": \"p_${UUID(6)}\",\n \"required\": true,\n \"validateOnChange\": true,\n \"validations\": {\n \"isVariableName\": /^[a-zA-Z]([A-Za-z0-9]|_(?!_))*[A-Za-z0-9]$/\n }\n },\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.pages.label.label' | t}\",\n \"name\": \"oLabel\",\n \"id\": \"u:e5bd37f6691b\",\n \"required\": true\n },\n {\n \"type\": \"steedos-field\",\n \"label\": \"${'CustomField.tabs.icon.label' | t}\",\n \"config\": {\n \"label\": \"\u56FE\u6807\",\n \"type\": \"lookup\",\n \"required\": true,\n \"sort_no\": 30,\n \"optionsFunction\": \"function anonymous() { var options; options = []; _.forEach(Steedos.resources.sldsIcons.standard, function (svg) { return options.push({ value: svg, label: svg, icon: svg }); }); return options; }\",\n \"name\": \"icon\",\n \"inlineHelpText\": \"\",\n \"description\": \"\",\n \"hidden\": false,\n \"readonly\": false,\n \"disabled\": false\n }\n }\n ],\n \"id\": \"u:38b76ff2792d\",\n \"actions\": [\n {\n \"type\": \"button\",\n \"actionType\": \"cancel\",\n \"label\": \"${'Cancel' | t}\",\n \"id\": \"u:21d3cccf4d83\"\n },\n {\n \"type\": \"button\",\n \"actionType\": \"confirm\",\n \"label\": \"${'OK' | t}\",\n \"primary\": true,\n \"id\": \"u:238e5731a053\"\n }\n ],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false,\n \"onEvent\": {\n \"confirm\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"\",\n \"body\": [\n {\n \"type\": \"spinner\",\n \"id\": \"u:7b15becd491f\",\n \"overlay\": true\n }\n ],\n \"id\": \"u:38b76ff2798d\",\n \"actions\": [],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false\n }\n },\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": \"/service/api/pages/create_page_by_design\",\n \"method\": \"post\",\n \"adaptor\": \"window.location.href=Steedos.getRelativeUrl('/api/pageDesign?pageId=' + payload._id +`&assetUrls=${Builder.settings.assetUrls}`+'&retUrl='+window.location.href);return {}\",\n \"requestAdaptor\": \"api.data={appId: context.app.id, groupId: '', name: context.oName, label: context.oLabel, icon: context.icon}; return api;\",\n \"messages\": {}\n }\n }\n ]\n }\n }\n }\n }\n ]\n }\n }\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_new_url'), "\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"").concat(instance.t('frontend_menu_new_url'), "\",\n \"body\": [\n {\n \"type\": \"input-text\",\n \"label\": \"API Name\",\n \"label\": \"${'CustomField.tabs.name.label' | t}\",\n \"name\": \"oName\",\n \"id\": \"u:dae5884c1633\",\n \"placeholder\": \"").concat(instance.t('frontend_menu_dialog_name_placeholder'), "\",\n \"required\": true,\n \"value\": \"t_${UUID(6)}\",\n \"validateOnChange\": true,\n \"validations\": {\n \"isVariableName\": /^[a-zA-Z]([A-Za-z0-9]|_(?!_))*[A-Za-z0-9]$/\n }\n \n },\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.tabs.label.label' | t}\",\n \"name\": \"fLabel\",\n \"id\": \"u:e5bd37f6691b\",\n \"required\": true\n },\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.tabs.url.label' | t}\",\n \"name\": \"fUrl\",\n \"id\": \"u:e5bd37f6691b\",\n \"required\": true\n },\n {\n \"type\": \"steedos-field\",\n \"label\": \"${'CustomField.tabs.icon.label' | t}\",\n \"config\": {\n \"label\": \"\u56FE\u6807\",\n \"type\": \"lookup\",\n \"required\": true,\n \"sort_no\": 30,\n \"optionsFunction\": \"function anonymous() { var options; options = []; _.forEach(Steedos.resources.sldsIcons.standard, function (svg) { return options.push({ value: svg, label: svg, icon: svg }); }); return options; }\",\n \"name\": \"icon\",\n \"inlineHelpText\": \"\",\n \"description\": \"\",\n \"hidden\": false,\n \"readonly\": false,\n \"disabled\": false\n }\n }\n ],\n \"id\": \"u:38b76ff2792d\",\n \"actions\": [\n {\n \"type\": \"button\",\n \"actionType\": \"cancel\",\n \"label\": \"${'Cancel' | t}\",\n \"id\": \"u:21d3cccf4d83\"\n },\n {\n \"type\": \"button\",\n \"actionType\": \"confirm\",\n \"label\": \"${'OK' | t}\",\n \"primary\": true,\n \"id\": \"u:238e5731a053\"\n }\n ],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false,\n \"onEvent\": {\n \"confirm\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"\",\n \"body\": [\n {\n \"type\": \"spinner\",\n \"id\": \"u:7b15becd491f\",\n \"overlay\": true\n }\n ],\n \"id\": \"u:38b76ff2798d\",\n \"actions\": [],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false\n }\n },\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": \"/service/api/tabs/create_link_tab_by_design\",\n \"method\": \"post\",\n \"requestAdaptor\": \"api.data={appId: context.app.id, groupId: '', name: context.oName, label: context.fLabel, icon: context.icon, url: context.fUrl}; return api;\",\n \"messages\": {}\n }\n },\n {\n \"componentId\": \"u:app-menu\",\n \"groupType\": \"component\",\n \"actionType\": \"reload\"\n }\n ]\n }\n }\n }\n }\n ]\n }\n }\n },\n {\n \"type\": \"divider\"\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_add_existing_tabs'), "\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"").concat(instance.t('frontend_menu_add_existing_tabs'), "\",\n \"body\": [\n {\n \"type\": \"steedos-field\",\n \"label\": \"\u9009\u9879\u5361\",\n \"config\": {\n \"type\": \"lookup\",\n \"reference_to\": \"tabs\",\n \"reference_to_field\": \"name\",\n \"required\": true,\n \"sort_no\": 30,\n \"name\": \"tabs\",\n \"multiple\": true,\n \"enable_enhanced_lookup\": true,\n \"amis\": {\n \"label\": false,\n \"embed\": true,\n }\n }\n }\n ],\n \"id\": \"u:709fd4d53437\",\n \"actions\": [\n {\n \"type\": \"button\",\n \"actionType\": \"cancel\",\n \"label\": \"${'Cancel' | t}\",\n \"id\": \"u:ba7b707cddd8\"\n },\n {\n \"type\": \"button\",\n \"actionType\": \"confirm\",\n \"label\": \"${'OK' | t}\",\n \"primary\": true,\n \"id\": \"u:2f3e5635b95d\"\n }\n ],\n \"showCloseButton\": true,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": true,\n \"showLoading\": true,\n \"draggable\": false,\n \"size\": \"md\",\n \"onEvent\": {\n \"confirm\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"options\": {},\n \"api\": {\n \"url\": \"/service/api/apps/update_app_tabs_by_design\",\n \"method\": \"post\",\n \"requestAdaptor\": \"api.data={appId: context.app.id, groupId: '', addTabNames: context.tabs}; return api;\",\n \"adaptor\": \"\",\n \"messages\": {}\n }\n },\n {\n \"componentId\": \"u:app-menu\",\n \"groupType\": \"component\",\n \"actionType\": \"reload\"\n }\n ]\n }\n }\n }\n }\n ]\n }\n }\n },\n {\n \"type\": \"divider\"\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_new_group'), "\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"").concat(instance.t('frontend_menu_new_group'), "\",\n \"body\": [\n {\n \"type\": \"input-text\",\n \"label\": \"").concat(instance.t('frontend_menu_tabs_group_name_label'), "\",\n \"name\": \"name\",\n \"id\": \"u:e5bd37f6699b\",\n \"placeholder\": \"").concat(instance.t('frontend_menu_tabs_group_name_placeholder'), "\",\n \"required\": true\n },\n {\n \"type\": \"checkbox\",\n \"option\": \"").concat(instance.t('frontend_menu_tabs_group_default_open_label'), "\",\n \"name\": \"defaultOpen\",\n \"id\": \"u:dae5884c1623\",\n \"required\": true,\n \"value\": true\n }\n ],\n \"id\": \"u:304b5b04c573\",\n \"actions\": [\n {\n \"type\": \"button\",\n \"actionType\": \"cancel\",\n \"label\": \"${'Cancel' | t}\",\n \"id\": \"u:21d3cccf4d85\"\n },\n {\n \"type\": \"button\",\n \"actionType\": \"confirm\",\n \"label\": \"${'OK' | t}\",\n \"primary\": true,\n \"id\": \"u:238e5731a05b\"\n }\n ],\n \"showCloseButton\": true,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": true,\n \"showLoading\": true,\n \"draggable\": false,\n \"onEvent\": {\n \"confirm\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": \"/service/api/apps/create_app_group_by_design\",\n \"method\": \"post\",\n \"adaptor\": \"\",\n \"requestAdaptor\": \"api.data={appId: context.app.id, name: context.name, defaultOpen: context.defaultOpen}; return api;\",\n \"messages\": {}\n }\n },\n {\n \"componentId\": \"u:app-menu\",\n \"groupType\": \"component\",\n \"actionType\": \"reload\"\n }\n ]\n }\n }\n }\n }\n ]\n }\n },\n },\n {\n \"type\": \"divider\"\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_edit_app'), "\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": \"/graphql\",\n \"method\": \"post\",\n \"adaptor\": \"const apps = payload.data.apps; if(apps && apps.length > 0){ return {data: apps[0]} }; return {data: null};\",\n \"requestAdaptor\": \"api.data={query: '{ apps(filters: [\\\"code\\\", \\\"=\\\", ' + context.appId + ']) { _id name}}'}; return api;\"\n }\n },\n {\n \"actionType\": \"drawer\",\n \"drawer\": {\n \"type\": \"drawer\",\n \"title\": \" \",\n \"headerClassName\": \"hidden\",\n \"size\": \"lg\",\n \"width\": window.drawerWidth || \"70%\",\n \"bodyClassName\": \"p-0 m-0 bg-gray-100\",\n \"closeOnEsc\": true,\n \"closeOnOutside\": true,\n \"resizable\": true,\n \"actions\": [],\n \"body\": {\n \"type\": \"service\",\n \"id\": \"u:1678e148c8d2\",\n \"messages\": {},\n \"schemaApi\": {\n \"url\": \"/api/pageSchema/app?objectApiName=apps&formFactor=LARGE&formFactor=LARGE\",\n \"method\": \"get\",\n \"adaptor\": \"const schema = {type: 'steedos-record-detail'}; schema.data={objectName: 'apps', _inDrawer: true, recordLoaded: false}; schema.objectApiName='apps'; schema.recordId=context.responseData._id; console.log('schema', schema); return {data: schema};\"\n }\n },\n \"className\": \"steedos-record-detail-drawer app-popover\",\n \"id\": \"u:fc5f055afa8c\"\n },\n \"preventDefault\": true\n }\n ]\n }\n }\n }\n ]\n }\n ]\n }\n ]\n }]\n }else if(stacked){\n editAppSearch = [{\n \"type\": \"button\",\n \"className\": \"toggle-sidebar w-12 mx-3 my-2\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": \"document.body.classList.toggle('sidebar-open')\",\n },\n {\n \"actionType\": \"rebuild\",\n \"componentId\": \"u:app-menu\",\n \"args\": {\n \"toggleSidebar\": true\n }\n }\n ]\n }\n },\n \"body\": [\n {\n \"type\": \"html\",\n \"html\": \"<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-7 h-7 p-1 hover:bg-white hover:shadow ml-1'><path stroke-linecap='round' stroke-linejoin='round' d='M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5' /></svg>\"\n }\n ]\n }]\n }\n\n let menuItems = data.nav;\n\n if(context.keywords){\n // \u5982\u679CmenuItem\u7684children, children\u662F\u6570\u7EC4\u7ED3\u6784, \u6BCF\u4E00\u9879\u7684searchKey\u5305\u542Bcontext.keywords, \u5219\u663E\u793AmenuItem\u53CA\u5176\u7B26\u5408\u6761\u4EF6\u7684children;\n menuItems = _.filter(menuItems, (menuItem)=>{\n if(menuItem.children){\n const children = _.filter(menuItem.children, (child)=>{\n return _.includes(child.searchKey, context.keywords);\n });\n\n if(children.length > 0){\n menuItem.children = children;\n }\n\n return children.length > 0;\n }\n })\n };\n\n if(!menuItems || menuItems.length == 0){\n menuItems = data.nav;\n }\n // console.log(\"menuItems====\", menuItems);\n payload.data = {\n \"type\":\"service\",\n \"className\": \"steedos-app-service steedos-app-service-${allowEditApp ? 'edit' : 'readonly'}\",\n \"data\":{\n \"tabId\": customTabId || objectTabId,\n \"items\": menuItems,\n \"keyvalues\": \"${ss:keyvalues}\",\n \"allowEditApp\": allowEditApp,\n \"tab_groups\": tab_groups\n },\n \"id\": \"appMenuService\",\n \"onEvent\": {\n \"@data.changed.steedos_keyvalues\": {\n \"actions\": [\n {\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": {\n \"keyvalues\": \"${event.data.keyvalues}\"\n }\n }\n }\n ]\n }\n },\n \"body\": [\n ...editAppSearch,\n {\n \"type\": \"nav\",\n \"expandPosition\": \"after\",\n \"collapsed\": collapsed,\n \"searchable\": false,\n \"searchConfig\": {\n \"placeholder\": \"\u641C\u7D22\u83DC\u5355\",\n \"matchFunc\": \"return link.searchKey && link.searchKey.indexOf(keyword)>=0;\"\n },\n className: \"").concat(className, " text-black steedos-app-menu ").concat(stacked ? 'stacked' : '', "\",\n \"stacked\": ").concat(stacked, ",\n \"overflow\": ").concat(JSON.stringify(overflow), ",\n \"indentSize\": ").concat(indentSize, ",\n \"draggable\": allowEditApp,\n \"dragOnSameLevel\": false,\n \"saveOrderApi\": {\n \"url\": \"/service/api/apps/update_app_by_design\",\n \"method\": \"post\",\n \"adaptor\": \"\",\n \"requestAdaptor\": ").concat(JSON.stringify(saveOrderApiRequestAdaptor), ",\n \"messages\": {}\n },\n \"itemActions\": [\n {\n \"type\": \"dropdown-button\",\n \"level\": \"link\",\n \"icon\": \"fa fa-ellipsis-h\",\n \"hideCaret\": true,\n \"closeOnClick\": true,\n \"closeOnOutside\": true,\n \"btnClassName\": \"!text-gray-700\",\n \"visibleOn\": \"!!allowEditApp\",\n \"className\": \"hidden hover-inline-flex px-1\",\n \"buttons\": [\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_new_object'), "\",\n \"visibleOn\": \"!!this.isGroup\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"").concat(instance.t('frontend_menu_new_object'), "\",\n \"body\": [\n {\n \"type\": \"input-text\",\n \"label\": \"Api Name\",\n \"name\": \"oName\",\n \"id\": \"u:dae5884c1633\",\n \"placeholder\": \"").concat(instance.t('frontend_menu_dialog_name_placeholder'), "\",\n \"value\": \"o_${UUID(6)}\",\n \"required\": true,\n \"validateOnChange\": true,\n \"validations\": {\n \"isVariableName\": /^[a-zA-Z]([A-Za-z0-9]|_(?!_))*[A-Za-z0-9]$/\n }\n },\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.objects.name.label' | t}\",\n \"name\": \"oLabel\",\n \"id\": \"u:e5bd37f6691b\",\n \"required\": true\n },\n {\n \"type\": \"steedos-field\",\n \"label\": \"${'CustomField.objects.icon.label' | t}\",\n \"config\": {\n \"label\": \"\u56FE\u6807\",\n \"type\": \"lookup\",\n \"required\": true,\n \"sort_no\": 30,\n \"optionsFunction\": \"function anonymous() { var options; options = []; _.forEach(Steedos.resources.sldsIcons.standard, function (svg) { return options.push({ value: svg, label: svg, icon: svg }); }); return options; }\",\n \"name\": \"icon\",\n \"inlineHelpText\": \"\",\n \"description\": \"\",\n \"hidden\": false,\n \"readonly\": false,\n \"disabled\": false\n }\n }\n ],\n \"id\": \"u:38b76ff2792d\",\n \"actions\": [\n {\n \"type\": \"button\",\n \"actionType\": \"cancel\",\n \"label\": \"${'Cancel' | t}\",\n \"id\": \"u:21d3cccf4d83\"\n },\n {\n \"type\": \"button\",\n \"actionType\": \"confirm\",\n \"label\": \"${'OK' | t}\",\n \"primary\": true,\n \"id\": \"u:238e5731a053\"\n }\n ],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false,\n \"onEvent\": {\n \"confirm\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"\",\n \"body\": [\n {\n \"type\": \"spinner\",\n \"id\": \"u:7b15becd491f\",\n \"overlay\": true\n }\n ],\n \"id\": \"u:38b76ff2798d\",\n \"actions\": [],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false\n }\n },\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": \"/service/api/objects/create_by_design\",\n \"method\": \"post\",\n \"adaptor\": \"window.location.href=Steedos.getRelativeUrl('/api/amisObjectFieldsDesign?oid=' + payload._id +`&assetUrls=${Builder.settings.assetUrls}`+'&retUrl='+window.location.href);return {}\",\n \"requestAdaptor\": \"api.data={appId: context.app.id, groupId: context.label, name: context.oName, label: context.oLabel, icon: context.icon}; return api;\",\n \"messages\": {}\n }\n }\n ]\n }\n }\n }\n }\n ]\n }\n }\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_new_micro_page'), "\",\n \"visibleOn\": \"!!this.isGroup\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"").concat(instance.t('frontend_menu_new_micro_page'), "\",\n \"body\": [\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.pages.name.label' | t}\",\n \"name\": \"oName\",\n \"id\": \"u:dae5884c1633\",\n \"placeholder\": \"").concat(instance.t('frontend_menu_dialog_name_placeholder'), "\",\n \"value\": \"p_${UUID(6)}\",\n \"required\": true,\n \"validateOnChange\": true,\n \"validations\": {\n \"isVariableName\": /^[a-zA-Z]([A-Za-z0-9]|_(?!_))*[A-Za-z0-9]$/\n }\n },\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.pages.label.label' | t}\",\n \"name\": \"oLabel\",\n \"id\": \"u:e5bd37f6691b\",\n \"required\": true\n },\n {\n \"type\": \"steedos-field\",\n \"label\": \"${'CustomField.tabs.icon.label' | t}\",\n \"config\": {\n \"label\": \"\u56FE\u6807\",\n \"type\": \"lookup\",\n \"required\": true,\n \"sort_no\": 30,\n \"optionsFunction\": \"function anonymous() { var options; options = []; _.forEach(Steedos.resources.sldsIcons.standard, function (svg) { return options.push({ value: svg, label: svg, icon: svg }); }); return options; }\",\n \"name\": \"icon\",\n \"inlineHelpText\": \"\",\n \"description\": \"\",\n \"hidden\": false,\n \"readonly\": false,\n \"disabled\": false\n }\n }\n ],\n \"id\": \"u:38b76ff2792d\",\n \"actions\": [\n {\n \"type\": \"button\",\n \"actionType\": \"cancel\",\n \"label\": \"${'Cancel' | t}\",\n \"id\": \"u:21d3cccf4d83\"\n },\n {\n \"type\": \"button\",\n \"actionType\": \"confirm\",\n \"label\": \"${'OK' | t}\",\n \"primary\": true,\n \"id\": \"u:238e5731a053\"\n }\n ],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false,\n \"onEvent\": {\n \"confirm\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"\",\n \"body\": [\n {\n \"type\": \"spinner\",\n \"id\": \"u:7b15becd491f\",\n \"overlay\": true\n }\n ],\n \"id\": \"u:38b76ff2798d\",\n \"actions\": [],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false\n }\n },\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": \"/service/api/pages/create_page_by_design\",\n \"method\": \"post\",\n \"adaptor\": \"window.location.href=Steedos.getRelativeUrl('/api/pageDesign?pageId=' + payload._id +`&assetUrls=${Builder.settings.assetUrls}`+'&retUrl='+window.location.href);return {}\",\n \"requestAdaptor\": \"api.data={appId: context.app.id, groupId: context.label, name: context.oName, label: context.oLabel, icon: context.icon}; return api;\",\n \"messages\": {}\n }\n }\n ]\n }\n }\n }\n }\n ]\n }\n }\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_new_url'), "\",\n \"visibleOn\": \"!!this.isGroup\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"").concat(instance.t('frontend_menu_new_url'), "\",\n \"body\": [\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.tabs.name.label' | t}\",\n \"name\": \"oName\",\n \"id\": \"u:dae5884c1633\",\n \"placeholder\": \"").concat(instance.t('frontend_menu_dialog_name_placeholder'), "\",\n \"required\": true,\n \"value\": \"t_${UUID(6)}\",\n \"validateOnChange\": true,\n \"validations\": {\n \"isVariableName\": /^[a-zA-Z]([A-Za-z0-9]|_(?!_))*[A-Za-z0-9]$/\n }\n },\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.tabs.label.label' | t}\",\n \"name\": \"fLabel\",\n \"id\": \"u:e5bd37f6691b\",\n \"required\": true\n },\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.tabs.url.label' | t}\",\n \"name\": \"fUrl\",\n \"id\": \"u:e5bd37f6691b\",\n \"required\": true\n },\n {\n \"type\": \"steedos-field\",\n \"label\": \"${'CustomField.tabs.icon.label' | t}\",\n \"config\": {\n \"label\": \"\u56FE\u6807\",\n \"type\": \"lookup\",\n \"required\": true,\n \"sort_no\": 30,\n \"optionsFunction\": \"function anonymous() { var options; options = []; _.forEach(Steedos.resources.sldsIcons.standard, function (svg) { return options.push({ value: svg, label: svg, icon: svg }); }); return options; }\",\n \"name\": \"icon\",\n \"inlineHelpText\": \"\",\n \"description\": \"\",\n \"hidden\": false,\n \"readonly\": false,\n \"disabled\": false\n }\n }\n ],\n \"id\": \"u:38b76ff2792d\",\n \"actions\": [\n {\n \"type\": \"button\",\n \"actionType\": \"cancel\",\n \"label\": \"${'Cancel' | t}\",\n \"id\": \"u:21d3cccf4d83\"\n },\n {\n \"type\": \"button\",\n \"actionType\": \"confirm\",\n \"label\": \"${'OK' | t}\",\n \"primary\": true,\n \"id\": \"u:238e5731a053\"\n }\n ],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false,\n \"onEvent\": {\n \"confirm\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"\",\n \"body\": [\n {\n \"type\": \"spinner\",\n \"id\": \"u:7b15becd491f\",\n \"overlay\": true\n }\n ],\n \"id\": \"u:38b76ff2798d\",\n \"actions\": [],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false\n }\n },\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": \"/service/api/tabs/create_link_tab_by_design\",\n \"method\": \"post\",\n \"requestAdaptor\": \"api.data={appId: context.app.id, groupId: context.label, name: context.oName, label: context.fLabel, icon: context.icon, url: context.fUrl}; return api;\",\n \"messages\": {}\n }\n },\n {\n \"componentId\": \"u:app-menu\",\n \"groupType\": \"component\",\n \"actionType\": \"reload\"\n }\n ]\n }\n }\n }\n }\n ]\n }\n }\n },\n {\n \"type\": \"divider\",\n \"visibleOn\": \"!!this.isGroup\",\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_add_existing_tabs'), "\",\n \"visibleOn\": \"!!this.isGroup\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"").concat(instance.t('frontend_menu_add_existing_tabs'), "\",\n \"body\": [\n {\n \"type\": \"steedos-field\",\n \"label\": \"\u9009\u9879\u5361\",\n \"config\": {\n \"type\": \"lookup\",\n \"reference_to\": \"tabs\",\n \"reference_to_field\": \"name\",\n \"required\": true,\n \"sort_no\": 30,\n \"name\": \"tabs\",\n \"multiple\": true,\n \"enable_enhanced_lookup\": true,\n \"amis\": {\n \"label\": false,\n \"embed\": true,\n }\n }\n }\n ],\n \"id\": \"u:709fd4d53437\",\n \"actions\": [\n {\n \"type\": \"button\",\n \"actionType\": \"cancel\",\n \"label\": \"${'Cancel' | t}\",\n \"id\": \"u:ba7b707cddd8\"\n },\n {\n \"type\": \"button\",\n \"actionType\": \"confirm\",\n \"label\": \"${'OK' | t}\",\n \"primary\": true,\n \"id\": \"u:2f3e5635b95d\"\n }\n ],\n \"showCloseButton\": true,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": true,\n \"showLoading\": true,\n \"draggable\": false,\n \"size\": \"md\",\n \"onEvent\": {\n \"confirm\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"options\": {},\n \"api\": {\n \"url\": \"/service/api/apps/update_app_tabs_by_design\",\n \"method\": \"post\",\n \"requestAdaptor\": \"api.data={appId: context.app.id, groupId: context.label, addTabNames: context.tabs}; return api;\",\n \"adaptor\": \"\",\n \"messages\": {}\n }\n },\n {\n \"componentId\": \"u:app-menu\",\n \"groupType\": \"component\",\n \"actionType\": \"reload\"\n }\n ]\n }\n }\n }\n }\n ]\n }\n }\n },\n {\n \"type\": \"divider\",\n \"visibleOn\": \"!!this.isGroup\",\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_edit_group'), "\",\n \"visibleOn\": \"!!this.isGroup\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"").concat(instance.t('frontend_menu_edit_group'), "\",\n \"data\": {\n \"appId\": \"\\${app.id}\",\n \"name\": \"\\${event.data.label}\",\n \"oldName\": \"\\${event.data.label}\",\n \"defaultOpen\": \"\\${event.data.default_open}\"\n },\n \"body\": [\n {\n \"type\": \"input-text\",\n \"label\": \"").concat(instance.t('frontend_menu_tabs_group_name_label'), "\",\n \"name\": \"name\",\n \"id\": \"u:e5bd37f6699b\",\n \"placeholder\": \"").concat(instance.t('frontend_menu_tabs_group_name_placeholder'), "\",\n \"required\": true\n },\n {\n \"type\": \"checkbox\",\n \"option\": \"").concat(instance.t('frontend_menu_tabs_group_default_open_label'), "\",\n \"name\": \"defaultOpen\",\n \"id\": \"u:dae5884c1623\",\n \"required\": true\n }\n ],\n \"id\": \"u:304b5b04c573\",\n \"actions\": [\n {\n \"type\": \"button\",\n \"actionType\": \"cancel\",\n \"label\": \"${'Cancel' | t}\",\n \"id\": \"u:21d3cccf4d85\"\n },\n {\n \"type\": \"button\",\n \"actionType\": \"confirm\",\n \"label\": \"${'OK' | t}\",\n \"primary\": true,\n \"id\": \"u:238e5731a05b\"\n }\n ],\n \"showCloseButton\": true,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": true,\n \"showLoading\": true,\n \"draggable\": false,\n \"onEvent\": {\n \"confirm\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": \"/service/api/apps/update_app_group_by_design\",\n \"method\": \"post\",\n \"adaptor\": \"\",\n \"requestAdaptor\": \"api.data={appId: context.appId, name: context.name, defaultOpen: context.defaultOpen, oldName: context.oldName}; return api;\",\n \"messages\": {}\n }\n },\n {\n \"componentId\": \"u:app-menu\",\n \"groupType\": \"component\",\n \"actionType\": \"reload\"\n }\n ]\n }\n }\n }\n }\n ]\n }\n }\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_view_object'), "\",\n \"visibleOn\": \"this.type==='object'\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": \"window.location.href=Steedos.getRelativeUrl('/api/amisObjectFieldsDesign?oid=' + event.data.id +`&assetUrls=${Builder.settings.assetUrls}`+'&retUrl='+window.location.href)\",\n \"expression\": \"${false}\"\n },\n {\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": \"/graphql\",\n \"method\": \"post\",\n \"adaptor\": \"const objects = payload.data.objects; if(objects && objects.length > 0){ return {data: objects[0]} }; return {data: null};\",\n \"requestAdaptor\": \"api.data={query: '{ objects(filters: [\\\"name\\\", \\\"=\\\", ' + context.id + ']) { _id name}}'}; return api;\"\n }\n },\n {\n \"actionType\": \"drawer\",\n \"drawer\": {\n \"type\": \"drawer\",\n \"title\": \" \",\n \"headerClassName\": \"hidden\",\n \"size\": \"lg\",\n \"width\": window.drawerWidth || \"70%\",\n \"bodyClassName\": \"p-0 m-0 bg-gray-100\",\n \"closeOnEsc\": true,\n \"closeOnOutside\": true,\n \"resizable\": true,\n \"actions\": [],\n \"body\": {\n \"type\": \"service\",\n \"id\": \"u:1678e148c8d2\",\n \"messages\": {},\n \"schemaApi\": {\n \"url\": \"/api/pageSchema/record?objectApiName=objects&formFactor=LARGE\",\n \"method\": \"get\",\n \"adaptor\": \"const schema = JSON.parse(payload.schema); schema.data={objectName: 'objects', _inDrawer: true, recordLoaded: false}; schema.objectApiName='objects'; schema.recordId=context.responseData._id; return {data: schema};\"\n }\n },\n \"className\": \"steedos-record-detail-drawer app-popover\",\n \"id\": \"u:fc5f055afa8c\"\n },\n \"preventDefault\": true\n },\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"expression\": \"${false}\",\n \"api\": {\n \"url\": \"/graphql\",\n \"method\": \"post\",\n \"adaptor\": \"const objects = payload.data.objects; if(objects && objects.length > 0){ try{const objectId = objects[0]._id; navigate('/app/admin/objects/view/'+objectId+'?side_object=objects&side_listview_id=all')}catch(e){payload.error=e.message;} }; return payload;\",\n \"requestAdaptor\": \"api.data={query: '{ objects(filters: [\\\"name\\\", \\\"=\\\", ' + context.id + ']) { _id name}}'}; return api;\",\n \"messages\": {}\n }\n }\n ]\n }\n }\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_edit_micro_page'), "\",\n \"visibleOn\": \"this.type==='page'\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": \"/graphql\",\n \"method\": \"post\",\n \"adaptor\": \"const tabs = payload.data.tabs; if(tabs && tabs.length > 0){ try{const pageId = tabs[0].page__expand._id; window.location.href=Steedos.getRelativeUrl('/api/pageDesign?pageId=' + pageId +`&assetUrls=${Builder.settings.assetUrls}`+'&retUrl='+window.location.href)}catch(e){payload.error=e.message;} }; return payload;\",\n \"requestAdaptor\": \"api.data={query: '{ tabs(filters: [\\\"name\\\", \\\"=\\\", ' + context.id + ']) { _id name page page__expand { _id } }}'}; return api;\",\n \"messages\": {}\n }\n }\n ]\n }\n }\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_edit_tab'), "\",\n \"visibleOn\": \"this.type==='url'\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": \"/graphql\",\n \"method\": \"post\",\n \"adaptor\": \"if(payload.data.tabs && payload.data.tabs.length > 0){payload.data=payload.data.tabs[0]}; return payload\",\n \"requestAdaptor\": \"api.data={query: '{ tabs(filters: [\\\"name\\\", \\\"=\\\", ' + context.id + ']) { _id oName:name fLabel:label fUrl:url icon }}'}; return api;\",\n \"messages\": {}\n }\n },\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"").concat(instance.t('frontend_menu_edit_url'), "\",\n \"data\": {\n \"appId\": \"\\${app.id}\",\n \"&\": \"\\${event.data.responseResult}\"\n },\n \"body\": [\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.tabs.name.label' | t}\",\n \"name\": \"oName\",\n \"id\": \"u:dae5884c1633\",\n \"placeholder\": \"").concat(instance.t('frontend_menu_dialog_name_placeholder'), "\",\n \"required\": true,\n \"disabled\": true\n },\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.tabs.label.label' | t}\",\n \"name\": \"fLabel\",\n \"id\": \"u:e5bd37f6691b\",\n \"required\": true\n },\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.tabs.url.label' | t}\",\n \"name\": \"fUrl\",\n \"id\": \"u:e5bd37f6691b\",\n \"required\": true\n },\n {\n \"type\": \"steedos-field\",\n \"label\": \"${'CustomField.tabs.icon.label' | t}\",\n \"config\": {\n \"label\": \"\u56FE\u6807\",\n \"type\": \"lookup\",\n \"required\": true,\n \"sort_no\": 30,\n \"optionsFunction\": \"function anonymous() { var options; options = []; _.forEach(Steedos.resources.sldsIcons.standard, function (svg) { return options.push({ value: svg, label: svg, icon: svg }); }); return options; }\",\n \"name\": \"icon\",\n \"inlineHelpText\": \"\",\n \"description\": \"\",\n \"hidden\": false,\n \"readonly\": false,\n \"disabled\": false\n }\n }\n ],\n \"id\": \"u:38b76ff2792d\",\n \"actions\": [\n {\n \"type\": \"button\",\n \"actionType\": \"cancel\",\n \"label\": \"${'Cancel' | t}\",\n \"id\": \"u:21d3cccf4d83\"\n },\n {\n \"type\": \"button\",\n \"actionType\": \"confirm\",\n \"label\": \"${'OK' | t}\",\n \"primary\": true,\n \"id\": \"u:238e5731a053\"\n }\n ],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false,\n \"onEvent\": {\n \"confirm\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"\",\n \"body\": [\n {\n \"type\": \"spinner\",\n \"id\": \"u:7b15becd491f\",\n \"overlay\": true\n }\n ],\n \"id\": \"u:38b76ff2798d\",\n \"actions\": [],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false\n }\n },\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": \"/service/api/tabs/update_link_tab_by_design\",\n \"method\": \"post\",\n \"requestAdaptor\": \"api.data={appId: context.appId, groupId: context.label, name: context.oName, label: context.fLabel, icon: context.icon, url: context.fUrl}; return api;\",\n \"messages\": {}\n }\n },\n {\n \"componentId\": \"u:app-menu\",\n \"groupType\": \"component\",\n \"actionType\": \"reload\"\n }\n ]\n }\n }\n }\n }\n ]\n }\n }\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_move_group'), "\",\n \"visibleOn\": \"!!!this.isGroup\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": \"event.setData({appId: event.data.app.id, groups: [{label: event.data.app.name, value: 0, children: _.map(event.data.tab_groups, (tGroup)=>{return {label: tGroup.group_name, value: tGroup.group_name}})}] , tabApiName: event.data.tabApiName, groupName: event.data.groupName})\"\n },\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"").concat(instance.t('frontend_menu_dialog_move_group'), "\",\n \"data\": {\n \"appId\": \"\\${event.data.appId}\",\n \"groups\": \"\\${event.data.groups}\",\n \"tabApiName\": \"\\${event.data.tabApiName}\",\n \"groupName\": \"\\${event.data.groupName}\",\n \"oldGroupName\": \"\\${event.data.groupName}\",\n },\n \"body\": [\n {\n \"type\": \"tree-select\",\n \"label\": \"\",\n \"name\": \"groupName\",\n \"id\": \"u:26d0b458ff51\",\n \"multiple\": false,\n \"source\": \"\\${groups}\"\n }\n ],\n \"id\": \"u:d69cbb95089a\",\n \"actions\": [\n {\n \"type\": \"button\",\n \"actionType\": \"cancel\",\n \"label\": \"${'Cancel' | t}\",\n \"id\": \"u:12261bf51dcb\"\n },\n {\n \"type\": \"button\",\n \"actionType\": \"confirm\",\n \"label\": \"${'OK' | t}\",\n \"primary\": true,\n \"id\": \"u:b144775ea124\"\n }\n ],\n \"showCloseButton\": true,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": true,\n \"showLoading\": true,\n \"draggable\": false,\n \"onEvent\": {\n \"confirm\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"options\": {},\n \"api\": {\n \"url\": \"/service/api/apps/move_app_tab\",\n \"method\": \"post\",\n \"requestAdaptor\": \"api.data={appId: context.appId, groupName: context.groupName, oldGroupName: context.oldGroupName, tabName: context.tabApiName}; return api;\",\n \"adaptor\": \"\",\n \"messages\": {}\n }\n },\n {\n \"componentId\": \"u:app-menu\",\n \"groupType\": \"component\",\n \"actionType\": \"reload\"\n }\n ]\n }\n }\n }\n }\n ]\n }\n }\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_delete_tab'), "\",\n \"visibleOn\": \"!!!this.isGroup\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"options\": {},\n \"api\": {\n \"url\": \"/service/api/apps/delete_app_tab\",\n \"method\": \"post\",\n \"requestAdaptor\": \"api.data={appId: context.app.id, tabName: context.tabApiName};return api;\",\n \"adaptor\": \"\",\n \"messages\": {}\n }\n },\n {\n \"componentId\": \"u:app-menu\",\n \"groupType\": \"component\",\n \"actionType\": \"reload\"\n }\n ]\n }\n },\n \"id\": \"u:e54eed92d13f\",\n \"confirmText\": \"").concat(instance.t('frontend_button_delete_confirm_text'), "\"\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_delete_group'), "\",\n \"visibleOn\": \"!!this.isGroup\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": \"if(event.data.children && event.data.children.length > 0 && !event.data.children[0].isTempTabForEmptyGroup){doAction({'actionType': 'toast','args': { 'msgType': 'warning', 'msg': '\u5206\u7EC4\u4E0B\u6709\u6570\u636E,\u7981\u6B62\u5220\u9664'}});event.stopPropagation();};\"\n },\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"options\": {},\n \"api\": {\n \"url\": \"/service/api/apps/delete_app_group\",\n \"method\": \"post\",\n \"requestAdaptor\": \"api.data={appId: context.app.id, groupName: context.label};return api;\",\n \"adaptor\": \"\",\n \"messages\": {}\n }\n },\n {\n \"componentId\": \"u:app-menu\",\n \"groupType\": \"component\",\n \"actionType\": \"reload\"\n }\n ]\n }\n },\n \"id\": \"u:e54eed92d13f\",\n \"confirmText\": \"").concat(instance.t('frontend_button_delete_confirm_text'), "\"\n }\n ]\n },\n ],\n \"source\": \"${items}\",\n //\u5DE6\u5C42\u663E\u793A\u65F6\u5BA1\u6279\u5355\u663E\u793Abadge\u6570\u91CF\n \"itemBadge\": {\n \"mode\": \"text\",\n \"text\": \"").concat(badgeText, "\",\n \"visibleOn\": \"${id == 'instance_tasks'}\",\n \"overflowCount\": 99,\n \"style\": stacked?{\n \"right\": \"20%\",\n \"margin-right\": \"-23px\",\n \"height\": \"20px\",\n \"border-radius\": \"10px\",\n \"font-size\": \"16px\",\n \"line-height\": \"18px\",\n \"top\": \"50%\"\n }:{\n \"transform\": \"translate(calc(50% - 17px), calc(-50% + 10px))\",\n \"border-radius\": \"6.5px\",\n \"height\": \"15px\",\n \"line-height\": \"13px\",\n \"padding\": \"0px 4px\",\n \"font-size\": \"12px\"\n }\n },\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"setValue\",\n \"componentId\": \"appMenuService\",\n \"args\": {\n \"value\": {\n \"tabId\": \"${event.data.item.id}\",\n \"items\": data.nav\n }\n },\n \"expression\":\"${event.data.item.id}\"\n },\n {\n \"actionType\": \"custom\",\n \"script\" : \"window.postMessage(Object.assign({type: 'nav.click', data: event.data.item}), '*');\"\n }\n ]\n },\n \"@tabId.changed\":{\n \"actions\":[\n {\n \"actionType\": \"setValue\",\n \"componentId\": \"appMenuService\",\n \"args\": {\n \"value\": {\n \"tabId\": \"${event.data.tabId}\",\n \"items\": data.nav\n }\n },\n \"expression\":\"${event.data.tabId}\"\n },\n {\n \"actionType\": \"custom\",\n \"script\" : \"window.postMessage(Object.assign({type: 'nav.click', data: event.data.item}), '*');\"\n }\n ]\n }\n }\n }\n ]\n };\n } catch (error) {\n console.log(`error`, error)\n }\n setTimeout(function(){\n $(\"[name='keywords']\").focus();\n }, 300);\n // console.log('AmisAppMenu AmisAppMenu=====>', payload)\n return payload;\n ")
|
|
29385
|
+
"adaptor": "\n try {\n // console.log('payload====>', payload)\n if(payload.nav_schema){\n payload.data = payload.nav_schema;\n return payload\n }\n\n let collapsed = false;\n\n const data = { nav: [] };\n const stacked = ".concat(stacked, ";\n let showIcon = ").concat(showIcon, ";\n const selectedId = '").concat(selectedId, "';\n const tab_groups = payload.tab_groups;\n const locationPathname = window.location.pathname;\n var customTabId = \"\";\n var objectTabId = \"").concat(data.tabId, "\";\n var usedGroupNames = [];\n let allowEditApp = false;\n if(stacked){\n if(context.appId == context.app.id){\n collapsed = _.includes(document.body.classList, 'sidebar-open') != true;\n }\n // console.log('collapsed', collapsed, document.body.classList, context.appId == context.app.id)\n if(collapsed){\n showIcon = false;\n }\n\n if(payload.allowEditApp && (collapsed != true) && (window.innerWidth > 768)){\n allowEditApp = true;\n }\n _.each(_.groupBy(payload.children, 'group'), (tabs, groupName) => {\n if (groupName === 'undefined' || groupName === '') {\n _.each(tabs, (tab) => {\n tab.iconClass = (tab.icon || 'account').replaceAll('_', '-');\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n data.nav.push({\n \"label\": showIcon ? {\n type: 'tpl',\n showNativeTitle: true,\n tpl: `<span class='leading-6 no-underline group items-center rounded-md'><svg class=\"slds-icon_container slds-icon fill-gray-700 mr-2 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"searchKey\": tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\",\n \"index\": tab.index,\n \"tabApiName\": tab.tabApiName,\n \"type\": tab.type,\n \"tabIcon\": tab.icon\n // active: selectedId === tab.id,\n })\n })\n } else {\n var tabGroup = _.find(tab_groups, {\"group_name\": groupName});\n usedGroupNames.push(groupName);\n data.nav.push({\n \"label\": groupName,\n 'default_open': tabGroup && tabGroup.default_open != false,\n \"unfolded\": tabGroup && tabGroup.default_open != false,\n \"isGroup\": true,\n \"children\": _.sortBy(_.map(tabs, (tab) => {\n tab.iconClass = (tab.icon || 'account').replaceAll('_', '-');\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n return {\n \"label\": showIcon ? {\n type: 'tpl',\n showNativeTitle: true,\n tpl: `<span class='leading-6 block no-underline group items-center rounded-md'><svg class=\"slds-icon_container slds-icon fill-gray-700 mr-2 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"searchKey\": tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\",\n \"index\": tab.index,\n \"tabApiName\": tab.tabApiName,\n \"type\": tab.type,\n // active: selectedId === tab.id,\n \"groupName\": groupName,\n \"tabIcon\": tab.icon\n }\n }),(tab) => {return tab.index})\n }) \n }\n });\n \n }else{\n _.each(payload.children, (tab)=>{\n tab.iconClass = (tab.icon || 'account').replaceAll('_', '-');\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n data.nav.push({\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='whitespace-normal leading-6 no-underline group items-center rounded-md'><svg class=\"slds-icon_container slds-icon-standard-${ tab.iconClass } slds-icon !fill-white rounded-xl mr-2 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"searchKey\": tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\",\n \"index\": tab.index,\n \"tabApiName\": tab.tabApiName,\n \"type\": tab.type,\n \"tabIcon\": tab.icon\n // active: selectedId === tab.id,\n });\n })\n }\n\n if(allowEditApp){\n const tempTabForEmptyGroup = {\n \"label\": {\n \"type\": \"tpl\",\n \"tpl\": \"\u65E0\u83DC\u5355\"\n },\n \"searchKey\": \"\",\n \"disabled\": true,\n \"tabApiName\": \"temp_tab_for_empty_group\",\n \"isTempTabForEmptyGroup\": true\n };\n _.each(payload.tab_groups, (group)=>{\n if(!_.includes(usedGroupNames, group.group_name)){\n tempTabForEmptyGroup.id = \"temp_tab_for_empty_group__\" + group.group_name;\n data.nav.push({\n \"label\": group.group_name,\n 'default_open': group && group.default_open != false,\n \"unfolded\": group && group.default_open != false,\n \"isGroup\": true,\n \"children\": [tempTabForEmptyGroup]\n })\n }\n });\n }\n\n //\u4EE5\u4E0B\u4E3Anav\u7B2C\u4E00\u5C42\u6392\u5E8F\uFF0C\u5305\u62EC\u5206\u7EC4\u4E0E\u9009\u9879\u5361\n // let groupLength = ((payload.tab_groups && payload.tab_groups.length) || 0) + 1000;\n data.nav = _.sortBy(data.nav, function(tab){\n if(tab.isGroup){\n return _.findIndex(payload.tab_groups, function(group){\n return group.group_name === tab.label;\n });\n }else{\n // \u6CA1\u6709\u5206\u7EC4\u7684\u9009\u9879\u5361\u6309index\u6392\u5217\u5728\u6709\u5206\u7EC4\u7684\u9009\u9879\u5361\u524D\u65B9\n return (tab.index || 0) - 1000;\n }\n })\n\n if(collapsed){\n const collapsedNav = [];\n for(const item of data.nav){\n if(item.isGroup){\n if(collapsedNav.length > 0){\n collapsedNav.push({\n \"mode\": \"divider\"\n })\n }\n for(const childrenItem of item.children){\n collapsedNav.push(Object.assign({}, childrenItem, {\n disabledTip: true,\n label: {\n \"type\": \"tooltip-wrapper\",\n \"content\": childrenItem.label,\n \"placement\": \"right\",\n // \"disabled\": true,\n \"body\": [\n {\n 'type': 'tpl',\n 'tpl': '<svg class=\"slds-icon_container slds-icon fill-gray-700 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#' + (childrenItem.tabIcon || 'account') + '\"></use></svg>'\n }\n ]\n }\n \n \n // label: false, \n // icon: '/assets/icons/standard-sprite/svg/symbols.svg#' + (childrenItem.tabIcon || 'account')\n }));\n }\n }else{\n collapsedNav.push(Object.assign({}, item, {\n disabledTip: true,\n label: {\n \"type\": \"tooltip-wrapper\",\n \"content\": item.label,\n \"placement\": \"right\",\n // \"disabled\": true,\n \"body\": [\n {\n 'type': 'tpl',\n 'tpl': '<svg class=\"slds-icon_container slds-icon fill-gray-700 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#' + (item.tabIcon || 'account') + '\"></use></svg>'\n }\n ]\n }\n // label: false, \n // icon: '/assets/icons/standard-sprite/svg/symbols.svg#' + (item.tabIcon || 'account')\n }));\n }\n }\n data.nav = collapsedNav;\n }\n\n let editAppSearch = [];\n if(allowEditApp){\n editAppSearch = [{\n \"type\": \"grid\",\n \"className\": \"\",\n \"columns\": [\n {\n \"md\": 9,\n \"columnClassName\": \"p-0\",\n \"body\": [\n {\n \"type\": \"button\",\n \"className\": \"toggle-sidebar ml-6 mt-2\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": \"document.body.classList.toggle('sidebar-open')\",\n },\n {\n \"actionType\": \"rebuild\",\n \"componentId\": \"u:app-menu\",\n \"args\": {\n \"toggleSidebar\": true\n }\n }\n ]\n }\n },\n \"body\": [\n {\n \"type\": \"html\",\n \"html\": '<svg aria-label=\"Left navigation panel\" fill=\"currentColor\" role=\"img\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 4.5c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5Zm0 5c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5Zm.5 4.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15Z\" fill=\"currentColor\"></path></svg>'\n }\n ]\n }\n ]\n },\n {\n \"md\": 3,\n \"columnClassName\": \"p-0 steedos-app-menu-plus\",\n \"body\": [\n {\n \"type\": \"dropdown-button\",\n \"level\": \"link\",\n \"className\": \"float-right\",\n \"btnClassName\": \"p-1 text-gray-600 hover:bg-white! hover:shadow!\",\n \"icon\": \"fa fa-gear\",\n \"iconOnly\": true,\n \"closeOnClick\": true,\n \"closeOnOutside\": true,\n // \"size\": \"md\",\n \"hideCaret\": true,\n \"align\": \"right\",\n \"buttons\": [\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_new_object'), "\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"").concat(instance.t('frontend_menu_new_object'), "\",\n \"body\": [\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.objects.name.label' | t}\",\n \"name\": \"oName\",\n \"id\": \"u:dae5884c1633\",\n \"placeholder\": \"").concat(instance.t('frontend_menu_dialog_name_placeholder'), "\",\n \"value\": \"o_${UUID(6)}\",\n \"required\": true,\n \"validateOnChange\": true,\n \"validations\": {\n \"isVariableName\": /^[a-zA-Z]([A-Za-z0-9]|_(?!_))*[A-Za-z0-9]$/\n }\n },\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.objects.label.label' | t}\",\n \"name\": \"oLabel\",\n \"id\": \"u:e5bd37f6691b\",\n \"required\": true\n },\n {\n \"type\": \"steedos-field\",\n \"label\": \"${'CustomField.objects.icon.label' | t}\",\n \"config\": {\n \"label\": \"\u56FE\u6807\",\n \"type\": \"lookup\",\n \"required\": true,\n \"sort_no\": 30,\n \"optionsFunction\": \"function anonymous() { var options; options = []; _.forEach(Steedos.resources.sldsIcons.standard, function (svg) { return options.push({ value: svg, label: svg, icon: svg }); }); return options; }\",\n \"name\": \"icon\",\n \"inlineHelpText\": \"\",\n \"description\": \"\",\n \"hidden\": false,\n \"readonly\": false,\n \"disabled\": false\n }\n }\n ],\n \"id\": \"u:38b76ff2792d\",\n \"actions\": [\n {\n \"type\": \"button\",\n \"actionType\": \"cancel\",\n \"label\": \"${'Cancel' | t}\",\n \"id\": \"u:21d3cccf4d83\"\n },\n {\n \"type\": \"button\",\n \"actionType\": \"confirm\",\n \"label\": \"${'OK' | t}\",\n \"primary\": true,\n \"id\": \"u:238e5731a053\"\n }\n ],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false,\n \"onEvent\": {\n \"confirm\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"\",\n \"body\": [\n {\n \"type\": \"spinner\",\n \"id\": \"u:7b15becd491f\",\n \"overlay\": true\n }\n ],\n \"id\": \"u:38b76ff2798d\",\n \"actions\": [],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false\n }\n },\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": \"/service/api/objects/create_by_design\",\n \"method\": \"post\",\n \"adaptor\": \"window.location.href=Steedos.getRelativeUrl('/api/amisObjectFieldsDesign?oid=' + payload._id +`&assetUrls=${Builder.settings.assetUrls}`+'&retUrl='+window.location.href);return {}\",\n \"requestAdaptor\": \"api.data={appId: context.app.id, groupId: '', name: context.oName, label: context.oLabel, icon: context.icon}; return api;\",\n \"messages\": {}\n }\n }\n ]\n }\n }\n }\n }\n ]\n }\n }\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_new_micro_page'), "\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"").concat(instance.t('frontend_menu_new_micro_page'), "\",\n \"body\": [\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.pages.name.label' | t}\",\n \"name\": \"oName\",\n \"id\": \"u:dae5884c1633\",\n \"placeholder\": \"").concat(instance.t('frontend_menu_dialog_name_placeholder'), "\",\n \"value\": \"p_${UUID(6)}\",\n \"required\": true,\n \"validateOnChange\": true,\n \"validations\": {\n \"isVariableName\": /^[a-zA-Z]([A-Za-z0-9]|_(?!_))*[A-Za-z0-9]$/\n }\n },\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.pages.label.label' | t}\",\n \"name\": \"oLabel\",\n \"id\": \"u:e5bd37f6691b\",\n \"required\": true\n },\n {\n \"type\": \"steedos-field\",\n \"label\": \"${'CustomField.tabs.icon.label' | t}\",\n \"config\": {\n \"label\": \"\u56FE\u6807\",\n \"type\": \"lookup\",\n \"required\": true,\n \"sort_no\": 30,\n \"optionsFunction\": \"function anonymous() { var options; options = []; _.forEach(Steedos.resources.sldsIcons.standard, function (svg) { return options.push({ value: svg, label: svg, icon: svg }); }); return options; }\",\n \"name\": \"icon\",\n \"inlineHelpText\": \"\",\n \"description\": \"\",\n \"hidden\": false,\n \"readonly\": false,\n \"disabled\": false\n }\n }\n ],\n \"id\": \"u:38b76ff2792d\",\n \"actions\": [\n {\n \"type\": \"button\",\n \"actionType\": \"cancel\",\n \"label\": \"${'Cancel' | t}\",\n \"id\": \"u:21d3cccf4d83\"\n },\n {\n \"type\": \"button\",\n \"actionType\": \"confirm\",\n \"label\": \"${'OK' | t}\",\n \"primary\": true,\n \"id\": \"u:238e5731a053\"\n }\n ],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false,\n \"onEvent\": {\n \"confirm\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"\",\n \"body\": [\n {\n \"type\": \"spinner\",\n \"id\": \"u:7b15becd491f\",\n \"overlay\": true\n }\n ],\n \"id\": \"u:38b76ff2798d\",\n \"actions\": [],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false\n }\n },\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": \"/service/api/pages/create_page_by_design\",\n \"method\": \"post\",\n \"adaptor\": \"window.location.href=Steedos.getRelativeUrl('/api/pageDesign?pageId=' + payload._id +`&assetUrls=${Builder.settings.assetUrls}`+'&retUrl='+window.location.href);return {}\",\n \"requestAdaptor\": \"api.data={appId: context.app.id, groupId: '', name: context.oName, label: context.oLabel, icon: context.icon}; return api;\",\n \"messages\": {}\n }\n }\n ]\n }\n }\n }\n }\n ]\n }\n }\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_new_url'), "\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"").concat(instance.t('frontend_menu_new_url'), "\",\n \"body\": [\n {\n \"type\": \"input-text\",\n \"label\": \"API Name\",\n \"label\": \"${'CustomField.tabs.name.label' | t}\",\n \"name\": \"oName\",\n \"id\": \"u:dae5884c1633\",\n \"placeholder\": \"").concat(instance.t('frontend_menu_dialog_name_placeholder'), "\",\n \"required\": true,\n \"value\": \"t_${UUID(6)}\",\n \"validateOnChange\": true,\n \"validations\": {\n \"isVariableName\": /^[a-zA-Z]([A-Za-z0-9]|_(?!_))*[A-Za-z0-9]$/\n }\n \n },\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.tabs.label.label' | t}\",\n \"name\": \"fLabel\",\n \"id\": \"u:e5bd37f6691b\",\n \"required\": true\n },\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.tabs.url.label' | t}\",\n \"name\": \"fUrl\",\n \"id\": \"u:e5bd37f6691b\",\n \"required\": true\n },\n {\n \"type\": \"steedos-field\",\n \"label\": \"${'CustomField.tabs.icon.label' | t}\",\n \"config\": {\n \"label\": \"\u56FE\u6807\",\n \"type\": \"lookup\",\n \"required\": true,\n \"sort_no\": 30,\n \"optionsFunction\": \"function anonymous() { var options; options = []; _.forEach(Steedos.resources.sldsIcons.standard, function (svg) { return options.push({ value: svg, label: svg, icon: svg }); }); return options; }\",\n \"name\": \"icon\",\n \"inlineHelpText\": \"\",\n \"description\": \"\",\n \"hidden\": false,\n \"readonly\": false,\n \"disabled\": false\n }\n }\n ],\n \"id\": \"u:38b76ff2792d\",\n \"actions\": [\n {\n \"type\": \"button\",\n \"actionType\": \"cancel\",\n \"label\": \"${'Cancel' | t}\",\n \"id\": \"u:21d3cccf4d83\"\n },\n {\n \"type\": \"button\",\n \"actionType\": \"confirm\",\n \"label\": \"${'OK' | t}\",\n \"primary\": true,\n \"id\": \"u:238e5731a053\"\n }\n ],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false,\n \"onEvent\": {\n \"confirm\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"\",\n \"body\": [\n {\n \"type\": \"spinner\",\n \"id\": \"u:7b15becd491f\",\n \"overlay\": true\n }\n ],\n \"id\": \"u:38b76ff2798d\",\n \"actions\": [],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false\n }\n },\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": \"/service/api/tabs/create_link_tab_by_design\",\n \"method\": \"post\",\n \"requestAdaptor\": \"api.data={appId: context.app.id, groupId: '', name: context.oName, label: context.fLabel, icon: context.icon, url: context.fUrl}; return api;\",\n \"messages\": {}\n }\n },\n {\n \"componentId\": \"u:app-menu\",\n \"groupType\": \"component\",\n \"actionType\": \"reload\"\n }\n ]\n }\n }\n }\n }\n ]\n }\n }\n },\n {\n \"type\": \"divider\"\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_add_existing_tabs'), "\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"").concat(instance.t('frontend_menu_add_existing_tabs'), "\",\n \"body\": [\n {\n \"type\": \"steedos-field\",\n \"label\": \"\u9009\u9879\u5361\",\n \"config\": {\n \"type\": \"lookup\",\n \"reference_to\": \"tabs\",\n \"reference_to_field\": \"name\",\n \"required\": true,\n \"sort_no\": 30,\n \"name\": \"tabs\",\n \"multiple\": true,\n \"enable_enhanced_lookup\": true,\n \"amis\": {\n \"label\": false,\n \"embed\": true,\n }\n }\n }\n ],\n \"id\": \"u:709fd4d53437\",\n \"actions\": [\n {\n \"type\": \"button\",\n \"actionType\": \"cancel\",\n \"label\": \"${'Cancel' | t}\",\n \"id\": \"u:ba7b707cddd8\"\n },\n {\n \"type\": \"button\",\n \"actionType\": \"confirm\",\n \"label\": \"${'OK' | t}\",\n \"primary\": true,\n \"id\": \"u:2f3e5635b95d\"\n }\n ],\n \"showCloseButton\": true,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": true,\n \"showLoading\": true,\n \"draggable\": false,\n \"size\": \"md\",\n \"onEvent\": {\n \"confirm\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"options\": {},\n \"api\": {\n \"url\": \"/service/api/apps/update_app_tabs_by_design\",\n \"method\": \"post\",\n \"requestAdaptor\": \"api.data={appId: context.app.id, groupId: '', addTabNames: context.tabs}; return api;\",\n \"adaptor\": \"\",\n \"messages\": {}\n }\n },\n {\n \"componentId\": \"u:app-menu\",\n \"groupType\": \"component\",\n \"actionType\": \"reload\"\n }\n ]\n }\n }\n }\n }\n ]\n }\n }\n },\n {\n \"type\": \"divider\"\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_new_group'), "\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"").concat(instance.t('frontend_menu_new_group'), "\",\n \"body\": [\n {\n \"type\": \"input-text\",\n \"label\": \"").concat(instance.t('frontend_menu_tabs_group_name_label'), "\",\n \"name\": \"name\",\n \"id\": \"u:e5bd37f6699b\",\n \"placeholder\": \"").concat(instance.t('frontend_menu_tabs_group_name_placeholder'), "\",\n \"required\": true\n },\n {\n \"type\": \"checkbox\",\n \"option\": \"").concat(instance.t('frontend_menu_tabs_group_default_open_label'), "\",\n \"name\": \"defaultOpen\",\n \"id\": \"u:dae5884c1623\",\n \"required\": true,\n \"value\": true\n }\n ],\n \"id\": \"u:304b5b04c573\",\n \"actions\": [\n {\n \"type\": \"button\",\n \"actionType\": \"cancel\",\n \"label\": \"${'Cancel' | t}\",\n \"id\": \"u:21d3cccf4d85\"\n },\n {\n \"type\": \"button\",\n \"actionType\": \"confirm\",\n \"label\": \"${'OK' | t}\",\n \"primary\": true,\n \"id\": \"u:238e5731a05b\"\n }\n ],\n \"showCloseButton\": true,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": true,\n \"showLoading\": true,\n \"draggable\": false,\n \"onEvent\": {\n \"confirm\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": \"/service/api/apps/create_app_group_by_design\",\n \"method\": \"post\",\n \"adaptor\": \"\",\n \"requestAdaptor\": \"api.data={appId: context.app.id, name: context.name, defaultOpen: context.defaultOpen}; return api;\",\n \"messages\": {}\n }\n },\n {\n \"componentId\": \"u:app-menu\",\n \"groupType\": \"component\",\n \"actionType\": \"reload\"\n }\n ]\n }\n }\n }\n }\n ]\n }\n },\n },\n {\n \"type\": \"divider\"\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_edit_app'), "\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": \"/graphql\",\n \"method\": \"post\",\n \"adaptor\": \"const apps = payload.data.apps; if(apps && apps.length > 0){ return {data: apps[0]} }; return {data: null};\",\n \"requestAdaptor\": \"api.data={query: '{ apps(filters: [\\\"code\\\", \\\"=\\\", ' + context.appId + ']) { _id name}}'}; return api;\"\n }\n },\n {\n \"actionType\": \"drawer\",\n \"drawer\": {\n \"type\": \"drawer\",\n \"title\": \" \",\n \"headerClassName\": \"hidden\",\n \"size\": \"lg\",\n \"width\": window.drawerWidth || \"70%\",\n \"bodyClassName\": \"p-0 m-0 bg-gray-100\",\n \"closeOnEsc\": true,\n \"closeOnOutside\": true,\n \"resizable\": true,\n \"actions\": [],\n \"body\": {\n \"type\": \"service\",\n \"id\": \"u:1678e148c8d2\",\n \"messages\": {},\n \"schemaApi\": {\n \"url\": \"/api/pageSchema/app?objectApiName=apps&formFactor=LARGE&formFactor=LARGE\",\n \"method\": \"get\",\n \"adaptor\": \"const schema = {type: 'steedos-record-detail'}; schema.data={objectName: 'apps', _inDrawer: true, recordLoaded: false}; schema.objectApiName='apps'; schema.recordId=context.responseData._id; console.log('schema', schema); return {data: schema};\"\n }\n },\n \"className\": \"steedos-record-detail-drawer app-popover\",\n \"id\": \"u:fc5f055afa8c\"\n },\n \"preventDefault\": true\n }\n ]\n }\n }\n }\n ]\n }\n ]\n }\n ]\n }]\n }else if(stacked && window.innerWidth > 768){\n editAppSearch = [{\n \"type\": \"button\",\n \"className\": \"toggle-sidebar mx-4 mt-2\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": \"document.body.classList.toggle('sidebar-open')\",\n },\n {\n \"actionType\": \"rebuild\",\n \"componentId\": \"u:app-menu\",\n \"args\": {\n \"toggleSidebar\": true\n }\n }\n ]\n }\n },\n \"body\": [\n {\n \"type\": \"html\",\n \"html\": '<svg aria-label=\"Left navigation panel\" fill=\"currentColor\" role=\"img\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 4.5c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5Zm0 5c0-.28.22-.5.5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5Zm.5 4.5a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1h-15Z\" fill=\"currentColor\"></path></svg>'\n }\n ]\n }]\n }\n\n let menuItems = data.nav;\n\n if(context.keywords){\n // \u5982\u679CmenuItem\u7684children, children\u662F\u6570\u7EC4\u7ED3\u6784, \u6BCF\u4E00\u9879\u7684searchKey\u5305\u542Bcontext.keywords, \u5219\u663E\u793AmenuItem\u53CA\u5176\u7B26\u5408\u6761\u4EF6\u7684children;\n menuItems = _.filter(menuItems, (menuItem)=>{\n if(menuItem.children){\n const children = _.filter(menuItem.children, (child)=>{\n return _.includes(child.searchKey, context.keywords);\n });\n\n if(children.length > 0){\n menuItem.children = children;\n }\n\n return children.length > 0;\n }\n })\n };\n\n if(!menuItems || menuItems.length == 0){\n menuItems = data.nav;\n }\n // console.log(\"menuItems====\", menuItems);\n payload.data = {\n \"type\":\"service\",\n \"className\": \"steedos-app-service steedos-app-service-${allowEditApp ? 'edit' : 'readonly'}\",\n \"data\":{\n \"tabId\": customTabId || objectTabId,\n \"items\": menuItems,\n \"keyvalues\": \"${ss:keyvalues}\",\n \"allowEditApp\": allowEditApp,\n \"tab_groups\": tab_groups\n },\n \"id\": \"appMenuService\",\n \"onEvent\": {\n \"@data.changed.steedos_keyvalues\": {\n \"actions\": [\n {\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": {\n \"keyvalues\": \"${event.data.keyvalues}\"\n }\n }\n }\n ]\n }\n },\n \"body\": [\n ...editAppSearch,\n {\n \"type\": \"nav\",\n \"expandPosition\": \"after\",\n \"collapsed\": collapsed,\n \"searchable\": false,\n \"searchConfig\": {\n \"placeholder\": \"\u641C\u7D22\u83DC\u5355\",\n \"matchFunc\": \"return link.searchKey && link.searchKey.indexOf(keyword)>=0;\"\n },\n className: \"").concat(className, " text-black steedos-app-menu ").concat(stacked ? 'stacked' : '', "\",\n \"stacked\": ").concat(stacked, ",\n \"overflow\": ").concat(JSON.stringify(overflow), ",\n \"indentSize\": ").concat(indentSize, ",\n \"draggable\": allowEditApp,\n \"dragOnSameLevel\": false,\n \"saveOrderApi\": {\n \"url\": \"/service/api/apps/update_app_by_design\",\n \"method\": \"post\",\n \"adaptor\": \"\",\n \"requestAdaptor\": ").concat(JSON.stringify(saveOrderApiRequestAdaptor), ",\n \"messages\": {}\n },\n \"itemActions\": [\n {\n \"type\": \"dropdown-button\",\n \"level\": \"link\",\n \"icon\": \"fa fa-ellipsis-h\",\n \"hideCaret\": true,\n \"closeOnClick\": true,\n \"closeOnOutside\": true,\n \"btnClassName\": \"!text-gray-700\",\n \"visibleOn\": \"!!allowEditApp\",\n \"className\": \"hidden hover-inline-flex px-1\",\n \"buttons\": [\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_new_object'), "\",\n \"visibleOn\": \"!!this.isGroup\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"").concat(instance.t('frontend_menu_new_object'), "\",\n \"body\": [\n {\n \"type\": \"input-text\",\n \"label\": \"Api Name\",\n \"name\": \"oName\",\n \"id\": \"u:dae5884c1633\",\n \"placeholder\": \"").concat(instance.t('frontend_menu_dialog_name_placeholder'), "\",\n \"value\": \"o_${UUID(6)}\",\n \"required\": true,\n \"validateOnChange\": true,\n \"validations\": {\n \"isVariableName\": /^[a-zA-Z]([A-Za-z0-9]|_(?!_))*[A-Za-z0-9]$/\n }\n },\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.objects.name.label' | t}\",\n \"name\": \"oLabel\",\n \"id\": \"u:e5bd37f6691b\",\n \"required\": true\n },\n {\n \"type\": \"steedos-field\",\n \"label\": \"${'CustomField.objects.icon.label' | t}\",\n \"config\": {\n \"label\": \"\u56FE\u6807\",\n \"type\": \"lookup\",\n \"required\": true,\n \"sort_no\": 30,\n \"optionsFunction\": \"function anonymous() { var options; options = []; _.forEach(Steedos.resources.sldsIcons.standard, function (svg) { return options.push({ value: svg, label: svg, icon: svg }); }); return options; }\",\n \"name\": \"icon\",\n \"inlineHelpText\": \"\",\n \"description\": \"\",\n \"hidden\": false,\n \"readonly\": false,\n \"disabled\": false\n }\n }\n ],\n \"id\": \"u:38b76ff2792d\",\n \"actions\": [\n {\n \"type\": \"button\",\n \"actionType\": \"cancel\",\n \"label\": \"${'Cancel' | t}\",\n \"id\": \"u:21d3cccf4d83\"\n },\n {\n \"type\": \"button\",\n \"actionType\": \"confirm\",\n \"label\": \"${'OK' | t}\",\n \"primary\": true,\n \"id\": \"u:238e5731a053\"\n }\n ],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false,\n \"onEvent\": {\n \"confirm\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"\",\n \"body\": [\n {\n \"type\": \"spinner\",\n \"id\": \"u:7b15becd491f\",\n \"overlay\": true\n }\n ],\n \"id\": \"u:38b76ff2798d\",\n \"actions\": [],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false\n }\n },\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": \"/service/api/objects/create_by_design\",\n \"method\": \"post\",\n \"adaptor\": \"window.location.href=Steedos.getRelativeUrl('/api/amisObjectFieldsDesign?oid=' + payload._id +`&assetUrls=${Builder.settings.assetUrls}`+'&retUrl='+window.location.href);return {}\",\n \"requestAdaptor\": \"api.data={appId: context.app.id, groupId: context.label, name: context.oName, label: context.oLabel, icon: context.icon}; return api;\",\n \"messages\": {}\n }\n }\n ]\n }\n }\n }\n }\n ]\n }\n }\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_new_micro_page'), "\",\n \"visibleOn\": \"!!this.isGroup\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"").concat(instance.t('frontend_menu_new_micro_page'), "\",\n \"body\": [\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.pages.name.label' | t}\",\n \"name\": \"oName\",\n \"id\": \"u:dae5884c1633\",\n \"placeholder\": \"").concat(instance.t('frontend_menu_dialog_name_placeholder'), "\",\n \"value\": \"p_${UUID(6)}\",\n \"required\": true,\n \"validateOnChange\": true,\n \"validations\": {\n \"isVariableName\": /^[a-zA-Z]([A-Za-z0-9]|_(?!_))*[A-Za-z0-9]$/\n }\n },\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.pages.label.label' | t}\",\n \"name\": \"oLabel\",\n \"id\": \"u:e5bd37f6691b\",\n \"required\": true\n },\n {\n \"type\": \"steedos-field\",\n \"label\": \"${'CustomField.tabs.icon.label' | t}\",\n \"config\": {\n \"label\": \"\u56FE\u6807\",\n \"type\": \"lookup\",\n \"required\": true,\n \"sort_no\": 30,\n \"optionsFunction\": \"function anonymous() { var options; options = []; _.forEach(Steedos.resources.sldsIcons.standard, function (svg) { return options.push({ value: svg, label: svg, icon: svg }); }); return options; }\",\n \"name\": \"icon\",\n \"inlineHelpText\": \"\",\n \"description\": \"\",\n \"hidden\": false,\n \"readonly\": false,\n \"disabled\": false\n }\n }\n ],\n \"id\": \"u:38b76ff2792d\",\n \"actions\": [\n {\n \"type\": \"button\",\n \"actionType\": \"cancel\",\n \"label\": \"${'Cancel' | t}\",\n \"id\": \"u:21d3cccf4d83\"\n },\n {\n \"type\": \"button\",\n \"actionType\": \"confirm\",\n \"label\": \"${'OK' | t}\",\n \"primary\": true,\n \"id\": \"u:238e5731a053\"\n }\n ],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false,\n \"onEvent\": {\n \"confirm\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"\",\n \"body\": [\n {\n \"type\": \"spinner\",\n \"id\": \"u:7b15becd491f\",\n \"overlay\": true\n }\n ],\n \"id\": \"u:38b76ff2798d\",\n \"actions\": [],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false\n }\n },\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": \"/service/api/pages/create_page_by_design\",\n \"method\": \"post\",\n \"adaptor\": \"window.location.href=Steedos.getRelativeUrl('/api/pageDesign?pageId=' + payload._id +`&assetUrls=${Builder.settings.assetUrls}`+'&retUrl='+window.location.href);return {}\",\n \"requestAdaptor\": \"api.data={appId: context.app.id, groupId: context.label, name: context.oName, label: context.oLabel, icon: context.icon}; return api;\",\n \"messages\": {}\n }\n }\n ]\n }\n }\n }\n }\n ]\n }\n }\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_new_url'), "\",\n \"visibleOn\": \"!!this.isGroup\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"").concat(instance.t('frontend_menu_new_url'), "\",\n \"body\": [\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.tabs.name.label' | t}\",\n \"name\": \"oName\",\n \"id\": \"u:dae5884c1633\",\n \"placeholder\": \"").concat(instance.t('frontend_menu_dialog_name_placeholder'), "\",\n \"required\": true,\n \"value\": \"t_${UUID(6)}\",\n \"validateOnChange\": true,\n \"validations\": {\n \"isVariableName\": /^[a-zA-Z]([A-Za-z0-9]|_(?!_))*[A-Za-z0-9]$/\n }\n },\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.tabs.label.label' | t}\",\n \"name\": \"fLabel\",\n \"id\": \"u:e5bd37f6691b\",\n \"required\": true\n },\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.tabs.url.label' | t}\",\n \"name\": \"fUrl\",\n \"id\": \"u:e5bd37f6691b\",\n \"required\": true\n },\n {\n \"type\": \"steedos-field\",\n \"label\": \"${'CustomField.tabs.icon.label' | t}\",\n \"config\": {\n \"label\": \"\u56FE\u6807\",\n \"type\": \"lookup\",\n \"required\": true,\n \"sort_no\": 30,\n \"optionsFunction\": \"function anonymous() { var options; options = []; _.forEach(Steedos.resources.sldsIcons.standard, function (svg) { return options.push({ value: svg, label: svg, icon: svg }); }); return options; }\",\n \"name\": \"icon\",\n \"inlineHelpText\": \"\",\n \"description\": \"\",\n \"hidden\": false,\n \"readonly\": false,\n \"disabled\": false\n }\n }\n ],\n \"id\": \"u:38b76ff2792d\",\n \"actions\": [\n {\n \"type\": \"button\",\n \"actionType\": \"cancel\",\n \"label\": \"${'Cancel' | t}\",\n \"id\": \"u:21d3cccf4d83\"\n },\n {\n \"type\": \"button\",\n \"actionType\": \"confirm\",\n \"label\": \"${'OK' | t}\",\n \"primary\": true,\n \"id\": \"u:238e5731a053\"\n }\n ],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false,\n \"onEvent\": {\n \"confirm\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"\",\n \"body\": [\n {\n \"type\": \"spinner\",\n \"id\": \"u:7b15becd491f\",\n \"overlay\": true\n }\n ],\n \"id\": \"u:38b76ff2798d\",\n \"actions\": [],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false\n }\n },\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": \"/service/api/tabs/create_link_tab_by_design\",\n \"method\": \"post\",\n \"requestAdaptor\": \"api.data={appId: context.app.id, groupId: context.label, name: context.oName, label: context.fLabel, icon: context.icon, url: context.fUrl}; return api;\",\n \"messages\": {}\n }\n },\n {\n \"componentId\": \"u:app-menu\",\n \"groupType\": \"component\",\n \"actionType\": \"reload\"\n }\n ]\n }\n }\n }\n }\n ]\n }\n }\n },\n {\n \"type\": \"divider\",\n \"visibleOn\": \"!!this.isGroup\",\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_add_existing_tabs'), "\",\n \"visibleOn\": \"!!this.isGroup\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"").concat(instance.t('frontend_menu_add_existing_tabs'), "\",\n \"body\": [\n {\n \"type\": \"steedos-field\",\n \"label\": \"\u9009\u9879\u5361\",\n \"config\": {\n \"type\": \"lookup\",\n \"reference_to\": \"tabs\",\n \"reference_to_field\": \"name\",\n \"required\": true,\n \"sort_no\": 30,\n \"name\": \"tabs\",\n \"multiple\": true,\n \"enable_enhanced_lookup\": true,\n \"amis\": {\n \"label\": false,\n \"embed\": true,\n }\n }\n }\n ],\n \"id\": \"u:709fd4d53437\",\n \"actions\": [\n {\n \"type\": \"button\",\n \"actionType\": \"cancel\",\n \"label\": \"${'Cancel' | t}\",\n \"id\": \"u:ba7b707cddd8\"\n },\n {\n \"type\": \"button\",\n \"actionType\": \"confirm\",\n \"label\": \"${'OK' | t}\",\n \"primary\": true,\n \"id\": \"u:2f3e5635b95d\"\n }\n ],\n \"showCloseButton\": true,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": true,\n \"showLoading\": true,\n \"draggable\": false,\n \"size\": \"md\",\n \"onEvent\": {\n \"confirm\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"options\": {},\n \"api\": {\n \"url\": \"/service/api/apps/update_app_tabs_by_design\",\n \"method\": \"post\",\n \"requestAdaptor\": \"api.data={appId: context.app.id, groupId: context.label, addTabNames: context.tabs}; return api;\",\n \"adaptor\": \"\",\n \"messages\": {}\n }\n },\n {\n \"componentId\": \"u:app-menu\",\n \"groupType\": \"component\",\n \"actionType\": \"reload\"\n }\n ]\n }\n }\n }\n }\n ]\n }\n }\n },\n {\n \"type\": \"divider\",\n \"visibleOn\": \"!!this.isGroup\",\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_edit_group'), "\",\n \"visibleOn\": \"!!this.isGroup\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"").concat(instance.t('frontend_menu_edit_group'), "\",\n \"data\": {\n \"appId\": \"\\${app.id}\",\n \"name\": \"\\${event.data.label}\",\n \"oldName\": \"\\${event.data.label}\",\n \"defaultOpen\": \"\\${event.data.default_open}\"\n },\n \"body\": [\n {\n \"type\": \"input-text\",\n \"label\": \"").concat(instance.t('frontend_menu_tabs_group_name_label'), "\",\n \"name\": \"name\",\n \"id\": \"u:e5bd37f6699b\",\n \"placeholder\": \"").concat(instance.t('frontend_menu_tabs_group_name_placeholder'), "\",\n \"required\": true\n },\n {\n \"type\": \"checkbox\",\n \"option\": \"").concat(instance.t('frontend_menu_tabs_group_default_open_label'), "\",\n \"name\": \"defaultOpen\",\n \"id\": \"u:dae5884c1623\",\n \"required\": true\n }\n ],\n \"id\": \"u:304b5b04c573\",\n \"actions\": [\n {\n \"type\": \"button\",\n \"actionType\": \"cancel\",\n \"label\": \"${'Cancel' | t}\",\n \"id\": \"u:21d3cccf4d85\"\n },\n {\n \"type\": \"button\",\n \"actionType\": \"confirm\",\n \"label\": \"${'OK' | t}\",\n \"primary\": true,\n \"id\": \"u:238e5731a05b\"\n }\n ],\n \"showCloseButton\": true,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": true,\n \"showLoading\": true,\n \"draggable\": false,\n \"onEvent\": {\n \"confirm\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": \"/service/api/apps/update_app_group_by_design\",\n \"method\": \"post\",\n \"adaptor\": \"\",\n \"requestAdaptor\": \"api.data={appId: context.appId, name: context.name, defaultOpen: context.defaultOpen, oldName: context.oldName}; return api;\",\n \"messages\": {}\n }\n },\n {\n \"componentId\": \"u:app-menu\",\n \"groupType\": \"component\",\n \"actionType\": \"reload\"\n }\n ]\n }\n }\n }\n }\n ]\n }\n }\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_view_object'), "\",\n \"visibleOn\": \"this.type==='object'\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": \"window.location.href=Steedos.getRelativeUrl('/api/amisObjectFieldsDesign?oid=' + event.data.id +`&assetUrls=${Builder.settings.assetUrls}`+'&retUrl='+window.location.href)\",\n \"expression\": \"${false}\"\n },\n {\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": \"/graphql\",\n \"method\": \"post\",\n \"adaptor\": \"const objects = payload.data.objects; if(objects && objects.length > 0){ return {data: objects[0]} }; return {data: null};\",\n \"requestAdaptor\": \"api.data={query: '{ objects(filters: [\\\"name\\\", \\\"=\\\", ' + context.id + ']) { _id name}}'}; return api;\"\n }\n },\n {\n \"actionType\": \"drawer\",\n \"drawer\": {\n \"type\": \"drawer\",\n \"title\": \" \",\n \"headerClassName\": \"hidden\",\n \"size\": \"lg\",\n \"width\": window.drawerWidth || \"70%\",\n \"bodyClassName\": \"p-0 m-0 bg-gray-100\",\n \"closeOnEsc\": true,\n \"closeOnOutside\": true,\n \"resizable\": true,\n \"actions\": [],\n \"body\": {\n \"type\": \"service\",\n \"id\": \"u:1678e148c8d2\",\n \"messages\": {},\n \"schemaApi\": {\n \"url\": \"/api/pageSchema/record?objectApiName=objects&formFactor=LARGE\",\n \"method\": \"get\",\n \"adaptor\": \"const schema = JSON.parse(payload.schema); schema.data={objectName: 'objects', _inDrawer: true, recordLoaded: false}; schema.objectApiName='objects'; schema.recordId=context.responseData._id; return {data: schema};\"\n }\n },\n \"className\": \"steedos-record-detail-drawer app-popover\",\n \"id\": \"u:fc5f055afa8c\"\n },\n \"preventDefault\": true\n },\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"expression\": \"${false}\",\n \"api\": {\n \"url\": \"/graphql\",\n \"method\": \"post\",\n \"adaptor\": \"const objects = payload.data.objects; if(objects && objects.length > 0){ try{const objectId = objects[0]._id; navigate('/app/admin/objects/view/'+objectId+'?side_object=objects&side_listview_id=all')}catch(e){payload.error=e.message;} }; return payload;\",\n \"requestAdaptor\": \"api.data={query: '{ objects(filters: [\\\"name\\\", \\\"=\\\", ' + context.id + ']) { _id name}}'}; return api;\",\n \"messages\": {}\n }\n }\n ]\n }\n }\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_edit_micro_page'), "\",\n \"visibleOn\": \"this.type==='page'\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": \"/graphql\",\n \"method\": \"post\",\n \"adaptor\": \"const tabs = payload.data.tabs; if(tabs && tabs.length > 0){ try{const pageId = tabs[0].page__expand._id; window.location.href=Steedos.getRelativeUrl('/api/pageDesign?pageId=' + pageId +`&assetUrls=${Builder.settings.assetUrls}`+'&retUrl='+window.location.href)}catch(e){payload.error=e.message;} }; return payload;\",\n \"requestAdaptor\": \"api.data={query: '{ tabs(filters: [\\\"name\\\", \\\"=\\\", ' + context.id + ']) { _id name page page__expand { _id } }}'}; return api;\",\n \"messages\": {}\n }\n }\n ]\n }\n }\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_edit_tab'), "\",\n \"visibleOn\": \"this.type==='url'\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": \"/graphql\",\n \"method\": \"post\",\n \"adaptor\": \"if(payload.data.tabs && payload.data.tabs.length > 0){payload.data=payload.data.tabs[0]}; return payload\",\n \"requestAdaptor\": \"api.data={query: '{ tabs(filters: [\\\"name\\\", \\\"=\\\", ' + context.id + ']) { _id oName:name fLabel:label fUrl:url icon }}'}; return api;\",\n \"messages\": {}\n }\n },\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"").concat(instance.t('frontend_menu_edit_url'), "\",\n \"data\": {\n \"appId\": \"\\${app.id}\",\n \"&\": \"\\${event.data.responseResult}\"\n },\n \"body\": [\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.tabs.name.label' | t}\",\n \"name\": \"oName\",\n \"id\": \"u:dae5884c1633\",\n \"placeholder\": \"").concat(instance.t('frontend_menu_dialog_name_placeholder'), "\",\n \"required\": true,\n \"disabled\": true\n },\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.tabs.label.label' | t}\",\n \"name\": \"fLabel\",\n \"id\": \"u:e5bd37f6691b\",\n \"required\": true\n },\n {\n \"type\": \"input-text\",\n \"label\": \"${'CustomField.tabs.url.label' | t}\",\n \"name\": \"fUrl\",\n \"id\": \"u:e5bd37f6691b\",\n \"required\": true\n },\n {\n \"type\": \"steedos-field\",\n \"label\": \"${'CustomField.tabs.icon.label' | t}\",\n \"config\": {\n \"label\": \"\u56FE\u6807\",\n \"type\": \"lookup\",\n \"required\": true,\n \"sort_no\": 30,\n \"optionsFunction\": \"function anonymous() { var options; options = []; _.forEach(Steedos.resources.sldsIcons.standard, function (svg) { return options.push({ value: svg, label: svg, icon: svg }); }); return options; }\",\n \"name\": \"icon\",\n \"inlineHelpText\": \"\",\n \"description\": \"\",\n \"hidden\": false,\n \"readonly\": false,\n \"disabled\": false\n }\n }\n ],\n \"id\": \"u:38b76ff2792d\",\n \"actions\": [\n {\n \"type\": \"button\",\n \"actionType\": \"cancel\",\n \"label\": \"${'Cancel' | t}\",\n \"id\": \"u:21d3cccf4d83\"\n },\n {\n \"type\": \"button\",\n \"actionType\": \"confirm\",\n \"label\": \"${'OK' | t}\",\n \"primary\": true,\n \"id\": \"u:238e5731a053\"\n }\n ],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false,\n \"onEvent\": {\n \"confirm\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"\",\n \"body\": [\n {\n \"type\": \"spinner\",\n \"id\": \"u:7b15becd491f\",\n \"overlay\": true\n }\n ],\n \"id\": \"u:38b76ff2798d\",\n \"actions\": [],\n \"showCloseButton\": false,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": false,\n \"showLoading\": false,\n \"draggable\": false\n }\n },\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": \"/service/api/tabs/update_link_tab_by_design\",\n \"method\": \"post\",\n \"requestAdaptor\": \"api.data={appId: context.appId, groupId: context.label, name: context.oName, label: context.fLabel, icon: context.icon, url: context.fUrl}; return api;\",\n \"messages\": {}\n }\n },\n {\n \"componentId\": \"u:app-menu\",\n \"groupType\": \"component\",\n \"actionType\": \"reload\"\n }\n ]\n }\n }\n }\n }\n ]\n }\n }\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_move_group'), "\",\n \"visibleOn\": \"!!!this.isGroup\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": \"event.setData({appId: event.data.app.id, groups: [{label: event.data.app.name, value: 0, children: _.map(event.data.tab_groups, (tGroup)=>{return {label: tGroup.group_name, value: tGroup.group_name}})}] , tabApiName: event.data.tabApiName, groupName: event.data.groupName})\"\n },\n {\n \"ignoreError\": false,\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"").concat(instance.t('frontend_menu_dialog_move_group'), "\",\n \"data\": {\n \"appId\": \"\\${event.data.appId}\",\n \"groups\": \"\\${event.data.groups}\",\n \"tabApiName\": \"\\${event.data.tabApiName}\",\n \"groupName\": \"\\${event.data.groupName}\",\n \"oldGroupName\": \"\\${event.data.groupName}\",\n },\n \"body\": [\n {\n \"type\": \"tree-select\",\n \"label\": \"\",\n \"name\": \"groupName\",\n \"id\": \"u:26d0b458ff51\",\n \"multiple\": false,\n \"source\": \"\\${groups}\"\n }\n ],\n \"id\": \"u:d69cbb95089a\",\n \"actions\": [\n {\n \"type\": \"button\",\n \"actionType\": \"cancel\",\n \"label\": \"${'Cancel' | t}\",\n \"id\": \"u:12261bf51dcb\"\n },\n {\n \"type\": \"button\",\n \"actionType\": \"confirm\",\n \"label\": \"${'OK' | t}\",\n \"primary\": true,\n \"id\": \"u:b144775ea124\"\n }\n ],\n \"showCloseButton\": true,\n \"closeOnOutside\": false,\n \"closeOnEsc\": false,\n \"showErrorMsg\": true,\n \"showLoading\": true,\n \"draggable\": false,\n \"onEvent\": {\n \"confirm\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"options\": {},\n \"api\": {\n \"url\": \"/service/api/apps/move_app_tab\",\n \"method\": \"post\",\n \"requestAdaptor\": \"api.data={appId: context.appId, groupName: context.groupName, oldGroupName: context.oldGroupName, tabName: context.tabApiName}; return api;\",\n \"adaptor\": \"\",\n \"messages\": {}\n }\n },\n {\n \"componentId\": \"u:app-menu\",\n \"groupType\": \"component\",\n \"actionType\": \"reload\"\n }\n ]\n }\n }\n }\n }\n ]\n }\n }\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_delete_tab'), "\",\n \"visibleOn\": \"!!!this.isGroup\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"options\": {},\n \"api\": {\n \"url\": \"/service/api/apps/delete_app_tab\",\n \"method\": \"post\",\n \"requestAdaptor\": \"api.data={appId: context.app.id, tabName: context.tabApiName};return api;\",\n \"adaptor\": \"\",\n \"messages\": {}\n }\n },\n {\n \"componentId\": \"u:app-menu\",\n \"groupType\": \"component\",\n \"actionType\": \"reload\"\n }\n ]\n }\n },\n \"id\": \"u:e54eed92d13f\",\n \"confirmText\": \"").concat(instance.t('frontend_button_delete_confirm_text'), "\"\n },\n {\n \"type\": \"button\",\n \"label\": \"").concat(instance.t('frontend_menu_delete_group'), "\",\n \"visibleOn\": \"!!this.isGroup\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": \"if(event.data.children && event.data.children.length > 0 && !event.data.children[0].isTempTabForEmptyGroup){doAction({'actionType': 'toast','args': { 'msgType': 'warning', 'msg': '\u5206\u7EC4\u4E0B\u6709\u6570\u636E,\u7981\u6B62\u5220\u9664'}});event.stopPropagation();};\"\n },\n {\n \"ignoreError\": false,\n \"outputVar\": \"responseResult\",\n \"actionType\": \"ajax\",\n \"options\": {},\n \"api\": {\n \"url\": \"/service/api/apps/delete_app_group\",\n \"method\": \"post\",\n \"requestAdaptor\": \"api.data={appId: context.app.id, groupName: context.label};return api;\",\n \"adaptor\": \"\",\n \"messages\": {}\n }\n },\n {\n \"componentId\": \"u:app-menu\",\n \"groupType\": \"component\",\n \"actionType\": \"reload\"\n }\n ]\n }\n },\n \"id\": \"u:e54eed92d13f\",\n \"confirmText\": \"").concat(instance.t('frontend_button_delete_confirm_text'), "\"\n }\n ]\n },\n ],\n \"source\": \"${items}\",\n //\u5DE6\u5C42\u663E\u793A\u65F6\u5BA1\u6279\u5355\u663E\u793Abadge\u6570\u91CF\n \"itemBadge\": {\n \"mode\": \"text\",\n \"text\": \"").concat(badgeText, "\",\n \"visibleOn\": \"${id == 'instance_tasks'}\",\n \"overflowCount\": 99,\n \"style\": stacked?{\n \"right\": \"20%\",\n \"margin-right\": \"-23px\",\n \"height\": \"20px\",\n \"border-radius\": \"10px\",\n \"font-size\": \"16px\",\n \"line-height\": \"18px\",\n \"top\": \"50%\"\n }:{\n \"transform\": \"translate(calc(50% - 17px), calc(-50% + 10px))\",\n \"border-radius\": \"6.5px\",\n \"height\": \"15px\",\n \"line-height\": \"13px\",\n \"padding\": \"0px 4px\",\n \"font-size\": \"12px\"\n }\n },\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"setValue\",\n \"componentId\": \"appMenuService\",\n \"args\": {\n \"value\": {\n \"tabId\": \"${event.data.item.id}\",\n \"items\": data.nav\n }\n },\n \"expression\":\"${event.data.item.id}\"\n },\n {\n \"actionType\": \"custom\",\n \"script\" : \"window.postMessage(Object.assign({type: 'nav.click', data: event.data.item}), '*');\"\n }\n ]\n },\n \"@tabId.changed\":{\n \"actions\":[\n {\n \"actionType\": \"setValue\",\n \"componentId\": \"appMenuService\",\n \"args\": {\n \"value\": {\n \"tabId\": \"${event.data.tabId}\",\n \"items\": data.nav\n }\n },\n \"expression\":\"${event.data.tabId}\"\n },\n {\n \"actionType\": \"custom\",\n \"script\" : \"window.postMessage(Object.assign({type: 'nav.click', data: event.data.item}), '*');\"\n }\n ]\n }\n }\n }\n ]\n };\n } catch (error) {\n console.log(`error`, error)\n }\n setTimeout(function(){\n $(\"[name='keywords']\").focus();\n }, 300);\n // console.log('AmisAppMenu AmisAppMenu=====>', payload)\n return payload;\n ")
|
|
29342
29386
|
}
|
|
29343
29387
|
};
|
|
29344
29388
|
// console.log(`AmisAppMenu schema=====>`, schema)
|
|
@@ -30298,7 +30342,7 @@ function generateRandomString$1(length) {
|
|
|
30298
30342
|
return sampleSize(characters, length).join('');
|
|
30299
30343
|
}
|
|
30300
30344
|
var AmisSteedosField = function (props) { return __awaiter(void 0, void 0, void 0, function () {
|
|
30301
|
-
var steedosField, field, _a, readonly, _b, ctx, config, fStatic, env, inInputTable, className, isLookupInTable, _c, appId, formFactor, editorClassName, lookupATagClick, defaultSource, source, fieldBaseProps, referenceTo_1, fieldValue, fieldRefObject, _d, _e, _f, _g, res, valueOptions_1, fieldValue, values, disPlayValue_1, _h, _j, _k, _l, schema, fieldSchema, fieldValue, fieldHtml_1, schema, map, tableFields, _m, _o, subField, subFieldName, fieldAmis, schema, error_1;
|
|
30345
|
+
var steedosField, field, _a, readonly, _b, ctx, config, fStatic, env, inInputTable, className, isLookupInTable, _c, appId, formFactor, editorClassName, t, lookupATagClick, defaultSource, source, fieldBaseProps, referenceTo_1, fieldValue, fieldRefObject, _d, _e, _f, _g, res, valueOptions_1, fieldValue, values, disPlayValue_1, _h, _j, _k, _l, schema, fieldSchema, fieldValue, fieldHtml_1, schema, map, tableFields, _m, _o, subField, subFieldName, fieldAmis, schema, error_1;
|
|
30302
30346
|
var _p, _q, _r, _s, _t, _u, _v, _w, _x, e_1, _y;
|
|
30303
30347
|
var _z, _0, _1, _2, _3, _4, _5;
|
|
30304
30348
|
return __generator(this, function (_6) {
|
|
@@ -30346,11 +30390,11 @@ var AmisSteedosField = function (props) { return __awaiter(void 0, void 0, void
|
|
|
30346
30390
|
config.amis.name = config.name;
|
|
30347
30391
|
}
|
|
30348
30392
|
}
|
|
30349
|
-
|
|
30393
|
+
t = window.steedosI18next.t;
|
|
30350
30394
|
if (config.type === 'formula' || config.type === 'summary') {
|
|
30351
30395
|
return [2 /*return*/, {
|
|
30352
30396
|
type: 'input-text',
|
|
30353
|
-
label: "".concat(config.label, "(
|
|
30397
|
+
label: "".concat(config.label, "(").concat(t('widgets-meta:formula_hidden', '新建、编辑时不可见'), ")"),
|
|
30354
30398
|
// className: 'mb-6',
|
|
30355
30399
|
readonly: true
|
|
30356
30400
|
}];
|