@nocobase/plugin-multi-app-manager 2.0.0-alpha.9 → 2.1.0-alpha.1
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/client/db3a142b120d6553.js +10 -0
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.js +1 -1
- package/dist/client/settings/schemas/applications.d.ts +63 -1
- package/dist/externalVersion.js +6 -5
- package/dist/locale/de-DE.json +19 -7
- package/dist/locale/en-US.json +21 -8
- package/dist/locale/es-ES.json +23 -6
- package/dist/locale/fr-FR.json +26 -0
- package/dist/locale/hu-HU.json +26 -0
- package/dist/locale/id-ID.json +26 -0
- package/dist/locale/it-IT.json +19 -7
- package/dist/locale/ja-JP.json +18 -6
- package/dist/locale/ko-KR.json +22 -7
- package/dist/locale/nl-NL.json +24 -9
- package/dist/locale/pt-BR.json +23 -6
- package/dist/locale/ru-RU.json +26 -0
- package/dist/locale/tr-TR.json +26 -0
- package/dist/locale/uk-UA.json +26 -0
- package/dist/locale/vi-VN.json +26 -0
- package/dist/locale/zh-CN.json +18 -17
- package/dist/locale/zh-TW.json +26 -0
- package/dist/node_modules/mariadb/package.json +1 -1
- package/dist/server/server.d.ts +3 -0
- package/dist/server/server.js +102 -25
- package/package.json +5 -2
- package/dist/client/bd12299af6cdc73a.js +0 -10
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
"use strict";(self.webpackChunk_nocobase_plugin_multi_app_manager=self.webpackChunk_nocobase_plugin_multi_app_manager||[]).push([["959"],{7101:function(e,n,t){t.r(n),t.d(n,{AppManager:function(){return g}});var a=t(3772),c=t(2721),r=t(8156),o=t.n(r),u=t(9570),i=t(2785),p=t(8875),l=function(e){var n=e.value,t=e.onChange,a=(0,i.g)().t;return o().createElement(c.Checkbox,{onChange:function(e){e.target.checked?t("".concat((0,p.uid)()).concat((0,p.uid)()).concat((0,p.uid)()).concat((0,p.uid)())):t("")},checked:!!n},a("Automatically generate a JWT secret"))},m=function(){var e=(0,a.useRecord)(),n=(0,a.useApp)();return e.cname?"//".concat(e.cname):n.getRouteUrl("/apps/".concat(e.name,"/admin/"))},s=function(){var e=(0,i.g)().t,n=m();return o().createElement("a",{href:n,target:"_blank",rel:"noreferrer"},e("View",{ns:"client"}))},g=function(){return o().createElement(c.Card,{bordered:!1},o().createElement(a.SchemaComponent,{schema:(0,u.J1)(),components:{AppVisitor:s,JwtSecretInput:l}}))}}}]);
|
package/dist/client/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
import { Plugin } from '@nocobase/client';
|
|
10
10
|
export declare class PluginMultiAppManagerClient extends Plugin {
|
|
11
11
|
load(): Promise<void>;
|
|
12
|
+
extendFormSchema(schema: any): void;
|
|
12
13
|
}
|
|
13
14
|
export default PluginMultiAppManagerClient;
|
|
14
15
|
export { formSchema, tableActionColumnSchema } from './settings/schemas/applications';
|
package/dist/client/index.js
CHANGED
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@formily/shared"),require("@nocobase/client"),require("react-router-dom"),require("react"),require("@formily/react"),require("@nocobase/utils/client"),require("antd"),require("antd-style"),require("react-i18next")):"function"==typeof define&&define.amd?define("@nocobase/plugin-multi-app-manager",["@formily/shared","@nocobase/client","react-router-dom","react","@formily/react","@nocobase/utils/client","antd","antd-style","react-i18next"],t):"object"==typeof exports?exports["@nocobase/plugin-multi-app-manager"]=t(require("@formily/shared"),require("@nocobase/client"),require("react-router-dom"),require("react"),require("@formily/react"),require("@nocobase/utils/client"),require("antd"),require("antd-style"),require("react-i18next")):e["@nocobase/plugin-multi-app-manager"]=t(e["@formily/shared"],e["@nocobase/client"],e["react-router-dom"],e.react,e["@formily/react"],e["@nocobase/utils/client"],e.antd,e["antd-style"],e["react-i18next"])}(self,function(e,t,n,r,o,i,a,c,u){return function(){var l,p,s,m,f,d,y={570:function(e,t,n){"use strict";n.d(t,{fK:function(){return A},kn:function(){return h},vh:function(){return x}});var r=n(875),o=n(584),i=n(772),a=n(156),c=n.n(a),u=n(785),l=n(784),p=n(721);function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function m(e,t,n,r,o,i,a){try{var c=e[i](a),u=c.value}catch(e){n(e);return}c.done?t(u):Promise.resolve(u).then(r,o)}function f(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function a(e){m(i,r,o,a,c,"next",e)}function c(e){m(i,r,o,a,c,"throw",e)}a(void 0)})}}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function y(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){d(e,t,n[t])})}return e}function b(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function v(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(i){return function(c){var u=[i,c];if(n)throw TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return a.label++,{value:u[1],done:!1};case 5:a.label++,r=u[1],u=[0];continue;case 7:u=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){a=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){a.label=u[1];break}if(6===u[0]&&a.label<o[1]){a.label=o[1],o=u;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(u);break}o[2]&&a.ops.pop(),a.trys.pop();continue}u=t.call(e,a)}catch(e){u=[6,e],r=0}finally{n=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var g={name:"applications",targetKey:"name",fields:[{type:"uid",name:"name",primaryKey:!0,prefix:"a",interface:"input",uiSchema:{type:"string",title:(0,u.W)("App ID"),required:!0,"x-component":"Input","x-validator":"uid"}},{type:"string",name:"displayName",interface:"input",uiSchema:{type:"string",title:(0,u.W)("App display name"),required:!0,"x-component":"Input"}},{type:"string",name:"pinned",interface:"checkbox",uiSchema:{type:"boolean","x-content":(0,u.W)("Pin to menu"),"x-component":"Checkbox"}},{type:"string",name:"status",interface:"radioGroup",defaultValue:"pending",uiSchema:{type:"string",title:(0,u.W)("App status"),enum:[{label:"Initializing",value:"initializing"},{label:"Initialized",value:"initialized"},{label:"Running",value:"running"},{label:"Commanding",value:"commanding"},{label:"Stopped",value:"stopped"},{label:"Error",value:"error"},{label:"Not found",value:"not_found"}],"x-component":"Radio.Group"}}]},h={type:"void","x-component":"div",properties:{displayName:{"x-component":"CollectionField","x-decorator":"FormItem"},name:{"x-component":"CollectionField","x-decorator":"FormItem","x-disabled":"{{ !createOnly }}"},"options.autoStart":{title:(0,o.tval)("Start mode",{ns:"@nocobase/plugin-multi-app-manager"}),"x-component":"Radio.Group","x-decorator":"FormItem",default:!1,enum:[{label:(0,o.tval)("Start on first visit",{ns:"@nocobase/plugin-multi-app-manager"}),value:!1},{label:(0,o.tval)("Start with main application",{ns:"@nocobase/plugin-multi-app-manager"}),value:!0}]},cname:{title:(0,u.W)("Custom domain"),"x-component":"Input","x-decorator":"FormItem"},pinned:{"x-component":"CollectionField","x-decorator":"FormItem"},"options.authManager":{type:"object","x-decorator":"FormItem","x-component":"Fieldset",title:'{{t("Authentication options", { ns: "'.concat(l.A,'" })}}'),properties:{"jwt.secret":{type:"string",title:'{{t("JWT secret", { ns: "'.concat(l.A,'" })}}'),description:'{{t("An independent JWT secret ensures data and session isolation from other applications.", { ns: "'.concat(l.A,'" })}}'),"x-decorator":"FormItem","x-component":"JwtSecretInput"}}}}},x={properties:{view:{type:"void","x-component":"AppVisitor","x-component-props":{}},update:{type:"void",title:'{{t("Edit")}}',"x-component":"Action.Link","x-component-props":{},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:"{{ cm.useValuesFromRecord }}"},title:'{{t("Edit")}}',properties:{formSchema:h,footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ cm.useUpdateAction }}"}}}}}}}},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action.Link","x-component-props":{confirm:{title:"{{t('Delete')}}",content:"{{t('Are you sure you want to delete it?')}}"},useAction:"{{cm.useDestroyAction}}"}}}},A={type:"object",properties:d({},(0,r.uid)(),{type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:g,resourceName:"applications",request:{resource:"applications",action:"list",params:{pageSize:50,sort:["-createdAt"],appends:[]}}},"x-component":"CollectionProvider_deprecated","x-component-props":{collection:g},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{filter:{"x-component":"Filter.Action","x-use-component-props":function(){var e,t,n=(0,i.useResourceContext)().collection,r=(0,i.useFilterFieldOptions)(n.fields),o=(0,i.useResourceActionContext)();return(0,i.useFilterFieldProps)({options:r,params:(null==(t=o.state)||null==(e=t.params)?void 0:e[0])||o.params,service:o})},default:{$and:[{displayName:{$includes:""}},{name:{$includes:""}}]},title:"{{t('Filter')}}","x-component-props":{icon:"FilterOutlined"},"x-align":"left"},migrateData:{type:"void",title:'{{ t("Migrate data to new multi-app", { ns: "'.concat(l.A,'" }) }}'),"x-component":"Action","x-component-props":{icon:"DeliveredProcedureOutlined",useAction:function(){(0,i.useResourceActionContext)().refresh,(0,i.useResourceContext)().resource,c().useRef();var e,t=(0,i.useAPIClient)(),n=(0,u.g)().t,r=(e=p.Form.useForm(),function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i=[],a=!0,c=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(i.push(n.value),i.length!==t);a=!0);}catch(e){c=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(c)throw r}}return i}}(e,1)||function(e,t){if(e){if("string"==typeof e)return s(e,1);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(e,t)}}(e,1)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0];return{run:function(){return f(function(){return v(this,function(e){switch(e.label){case 0:return r.resetFields(),[4,p.Modal.confirm({title:n("Migrate data"),content:c().createElement(p.Form,{form:r},c().createElement(p.Form.Item,{label:n("Port"),tooltip:n("When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate."),rules:[{required:!0,message:n("Port is required")}],name:"port"},c().createElement(p.InputNumber,{style:{width:"100%"},min:1}))),onOk:f(function(){var e,o,i;return v(this,function(a){switch(a.label){case 0:return[4,t.resource("pm").get({filterByTk:"multi-app"})];case 1:if(!(null==(o=a.sent().data)||null==(e=o.data)?void 0:e.enabled))return p.message.error(n("Multi-app is not enabled, please enable it first")),[2];return[4,r.validateFields()];case 2:return i=a.sent(),[4,t.request({url:"multiApplications:importFromMultiappManager",method:"post",data:{port:i.port}})];case 3:return a.sent(),p.message.success(n("Migrate successfully")),[2]}})})})];case 1:return e.sent(),[2]}})})()}}}}},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action","x-component-props":{icon:"DeleteOutlined",useAction:function(){var e=(0,i.useResourceActionContext)(),t=e.state,n=e.setState,r=e.refresh,o=(0,i.useResourceContext)().resource;return{run:function(){return f(function(){return v(this,function(e){switch(e.label){case 0:return[4,o.destroy({filterByTk:(null==t?void 0:t.selectedRowKeys)||[]})];case 1:return e.sent(),null==n||n({selectedRowKeys:[]}),r(),[2]}})})()}}},confirm:{title:"{{t('Delete')}}",content:"{{t('Are you sure you want to delete it?')}}"}}},create:{type:"void",title:'{{t("Add new")}}',"x-decorator":function(e){return c().createElement(i.SchemaComponentOptions,b(y({},e),{scope:{createOnly:!0}}))},"x-component":"Action","x-component-props":{type:"primary",icon:"PlusOutlined"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:function(e){var t=(0,i.useActionContext)();return(0,i.useRequest)(function(){return Promise.resolve({data:{name:"a_".concat((0,r.uid)())}})},b(y({},e),{refreshDeps:[t.visible]}))}},title:'{{t("Add new")}}',properties:{formSchema:h,footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ cm.useCreateAction }}"}}}}}}}}}},table:{type:"void","x-uid":"input","x-component":"Table.Void","x-component-props":{rowKey:"name",rowSelection:{type:"checkbox"},useDataSource:"{{ cm.useDataSourceFromRAC }}"},properties:{displayName:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{displayName:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},name:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{name:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},pinned:{type:"void",title:(0,u.W)("Pin to menu"),"x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{pinned:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},status:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{status:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},actions:{type:"void",title:'{{t("Actions")}}',"x-component":"Table.Column",properties:{actions:y({type:"void","x-component":"Space","x-component-props":{split:"|"}},x)}}}}}})}},785:function(e,t,n){"use strict";n.d(t,{W:function(){return i},g:function(){return o}});var r=n(238),o=function(){return{t:(0,r.useTranslation)("multi-app-manager").t}},i=function(e){return'{{t("'.concat(e,"\", { ns: 'multi-app-manager' })}}")}},784:function(e,t,n){"use strict";n.d(t,{A:function(){return r}});var r="multi-app-manager"},581:function(e){e.exports=function(e,t){return"undefined"!=typeof __deoptimization_sideEffect__&&__deoptimization_sideEffect__(e,t),t}},505:function(e){"use strict";e.exports=o},875:function(t){"use strict";t.exports=e},772:function(e){"use strict";e.exports=t},584:function(e){"use strict";e.exports=i},721:function(e){"use strict";e.exports=a},202:function(e){"use strict";e.exports=c},156:function(e){"use strict";e.exports=r},238:function(e){"use strict";e.exports=u},128:function(e){"use strict";e.exports=n}},b={};function v(e){var t=b[e];if(void 0!==t)return t.exports;var n=b[e]={exports:{}};return y[e](n,n.exports,v),n.exports}v.m=y,v.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return v.d(t,{a:t}),t},v.d=function(e,t){for(var n in t)v.o(t,n)&&!v.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},v.f={},v.e=function(e){return Promise.all(Object.keys(v.f).reduce(function(t,n){return v.f[n](e,t),t},[]))},v.u=function(e){return"bd12299af6cdc73a.js"},v.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),v.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},l={},p="@nocobase/plugin-multi-app-manager:",v.l=function(e,t,n,r){if(l[e])return void l[e].push(t);if(void 0!==n)for(var o,i,a=document.getElementsByTagName("script"),c=0;c<a.length;c++){var u=a[c];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==p+n){o=u;break}}o||(i=!0,(o=document.createElement("script")).charset="utf-8",o.timeout=120,v.nc&&o.setAttribute("nonce",v.nc),o.setAttribute("data-webpack",p+n),o.src=e),l[e]=[t];var s=function(t,n){o.onerror=o.onload=null,clearTimeout(m);var r=l[e];if(delete l[e],o.parentNode&&o.parentNode.removeChild(o),r&&r.forEach(function(e){return e(n)}),t)return t(n)},m=setTimeout(s.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=s.bind(null,o.onerror),o.onload=s.bind(null,o.onload),i&&document.head.appendChild(o)},v.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(s=window.__nocobase_public_path__||"/").endsWith("/")||(s+="/"),v.p=s+"static/plugins/@nocobase/plugin-multi-app-manager/dist/client/",m={909:0},v.f.j=function(e,t){var n=v.o(m,e)?m[e]:void 0;if(0!==n)if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=m[e]=[t,r]});t.push(n[2]=r);var o=v.p+v.u(e),i=Error();v.l(o,function(t){if(v.o(m,e)&&(0!==(n=m[e])&&(m[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",i.name="ChunkLoadError",i.type=r,i.request=o,n[1](i)}},"chunk-"+e,e)}},f=function(e,t){var n,r,o=t[0],i=t[1],a=t[2],c=0;if(o.some(function(e){return 0!==m[e]})){for(n in i)v.o(i,n)&&(v.m[n]=i[n]);a&&a(v)}for(e&&e(t);c<o.length;c++)r=o[c],v.o(m,r)&&m[r]&&m[r][0](),m[r]=0},(d=self.webpackChunk_nocobase_plugin_multi_app_manager=self.webpackChunk_nocobase_plugin_multi_app_manager||[]).forEach(f.bind(null,0)),d.push=f.bind(null,d.push.bind(d));var g={};return!function(){"use strict";v.r(g),v.d(g,{PluginMultiAppManagerClient:function(){return S},formSchema:function(){return f.kn},default:function(){return C},tableActionColumnSchema:function(){return f.vh}});var e=v(772),t=v(721),n=v(156),r=v.n(n),o=v(128),i=v(505),a=(0,i.connect)(t.Input,(0,i.mapReadPretty)(function(t){var n=(0,e.useApp)(),o=t.value&&r().createElement("a",{target:"_blank",href:n.getRouteUrl("/apps/".concat(t.value,"/admin")),rel:"noreferrer"},t.value);return r().createElement("div",{style:t.style},t.addonBefore,t.prefix,o,t.suffix,t.addonAfter)})),c=(0,v(202).createStyles)(function(e){return{button:{color:e.token.colorTextHeaderMenu+" !important"}}}),u=v(785);function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var p=function(){var n,i=c().styles,a=(0,e.useRequest)({resource:"applications",action:"listPinned"},{manual:!0}),p=a.data,s=a.run,m=(0,u.g)().t,f=(0,e.useApp)(),d=((function(e){if(Array.isArray(e))return l(e)})(n=((null==p?void 0:p.data)||[]).map(function(e){var t=f.getRouteUrl("/apps/".concat(e.name,"/admin/"));return e.cname&&(t="//".concat(e.cname)),{key:e.name,label:r().createElement("a",{href:t,target:"_blank",rel:"noopener noreferrer"},e.displayName||e.name)}}))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(n)||function(e,t){if(e){if("string"==typeof e)return l(e,void 0);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return l(e,t)}}(n)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).concat([{key:".manager",label:r().createElement(o.Link,{to:f.pluginSettingsManager.getRoutePath("multi-app-manager")},m("Manage applications"))}]);return r().createElement(t.Dropdown,{onOpenChange:function(e){s()},menu:{items:d}},r().createElement(t.Button,{className:i.button,title:"Apps",icon:r().createElement(e.Icon,{type:"AppstoreOutlined"})}))},s=function(t){return r().createElement(e.PinnedPluginListProvider,{items:{}},r().createElement(e.SchemaComponentOptions,{components:{MultiAppManager:p,AppNameInput:a}},t.children))},m=v(784),f=v(570),d=v(581);function y(e,t,n,r,o,i,a){try{var c=e[i](a),u=c.value}catch(e){n(e);return}c.done?t(u):Promise.resolve(u).then(r,o)}function b(e,t,n){return(b=w()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&x(o,n.prototype),o}).apply(null,arguments)}function h(e){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function x(e,t){return(x=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function A(e){var t="function"==typeof Map?new Map:void 0;return(A=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return b(e,arguments,h(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),x(n,e)})(e)}function w(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(w=function(){return!!e})()}var O=(0,e.lazy)(function(){return d("imported_-2qibu4_component",v.e("959").then(v.bind(v,931)))},"AppManager").AppManager,S=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function n(){var e,t;if(!(this instanceof n))throw TypeError("Cannot call a class as a function");return e=n,t=arguments,e=h(e),function(e,t){var n;if(t&&("object"==((n=t)&&"undefined"!=typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,w()?Reflect.construct(e,t||[],h(this).constructor):e.apply(this,t))}return n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),e&&x(n,e),t=[{key:"load",value:function(){var e,t=this;return(e=function(){return function(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(i){return function(c){var u=[i,c];if(n)throw TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return a.label++,{value:u[1],done:!1};case 5:a.label++,r=u[1],u=[0];continue;case 7:u=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){a=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){a.label=u[1];break}if(6===u[0]&&a.label<o[1]){a.label=o[1],o=u;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(u);break}o[2]&&a.ops.pop(),a.trys.pop();continue}u=t.call(e,a)}catch(e){u=[6,e],r=0}finally{n=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(e){return t.app.use(s),t.app.pluginSettingsManager.add(m.A,{title:'{{t("Multi-app manager (deprecated)", { ns: "'.concat(m.A,'" })}}'),icon:"AppstoreOutlined",Component:O,sort:1e3,aclSnippet:"pm.multi-app-manager.applications"}),[2]})},function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function a(e){y(i,r,o,a,c,"next",e)}function c(e){y(i,r,o,a,c,"throw",e)}a(void 0)})})()}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(n.prototype,t),n}(A(e.Plugin)),C=S}(),g}()});
|
|
10
|
+
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("react-i18next"),require("react-router-dom"),require("react"),require("@formily/react"),require("@nocobase/utils/client"),require("antd-style"),require("@formily/shared"),require("antd"),require("@nocobase/client")):"function"==typeof define&&define.amd?define("@nocobase/plugin-multi-app-manager",["react-i18next","react-router-dom","react","@formily/react","@nocobase/utils/client","antd-style","@formily/shared","antd","@nocobase/client"],e):"object"==typeof exports?exports["@nocobase/plugin-multi-app-manager"]=e(require("react-i18next"),require("react-router-dom"),require("react"),require("@formily/react"),require("@nocobase/utils/client"),require("antd-style"),require("@formily/shared"),require("antd"),require("@nocobase/client")):t["@nocobase/plugin-multi-app-manager"]=e(t["react-i18next"],t["react-router-dom"],t.react,t["@formily/react"],t["@nocobase/utils/client"],t["antd-style"],t["@formily/shared"],t.antd,t["@nocobase/client"])}(self,function(t,e,n,r,o,i,a,u,c){return function(){var s,p,l,f,d,m,y={9570:function(t,e,n){"use strict";n.d(e,{J1:function(){return w},kn:function(){return _},vh:function(){return A}});var r=n(8875),o=n(3772),i=n(7584),a=n(2721),u=n(8156),c=n.n(u),s=n(3784),p=n(2785);function l(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function f(t,e,n,r,o,i,a){try{var u=t[i](a),c=u.value}catch(t){n(t);return}u.done?e(c):Promise.resolve(c).then(r,o)}function d(t){return function(){var e=this,n=arguments;return new Promise(function(r,o){var i=t.apply(e,n);function a(t){f(i,r,o,a,u,"next",t)}function u(t){f(i,r,o,a,u,"throw",t)}a(void 0)})}}function m(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function y(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),r.forEach(function(e){m(t,e,n[e])})}return t}function v(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):(function(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);n.push.apply(n,r)}return n})(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}),t}function b(t,e){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=e.call(t,a)}catch(t){c=[6,t],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var h={name:"applications",targetKey:"name",fields:[{type:"uid",name:"name",primaryKey:!0,prefix:"a",interface:"input",uiSchema:{type:"string",title:(0,p.W)("App ID"),required:!0,"x-component":"Input","x-validator":"uid"}},{type:"string",name:"displayName",interface:"input",uiSchema:{type:"string",title:(0,p.W)("App display name"),required:!0,"x-component":"Input"}},{type:"string",name:"pinned",interface:"checkbox",uiSchema:{type:"boolean","x-content":(0,p.W)("Pin to menu"),"x-component":"Checkbox"}},{type:"string",name:"status",interface:"radioGroup",defaultValue:"pending",uiSchema:{type:"string",title:(0,p.W)("App status"),enum:[{label:"Preparing",value:"preparing"},{label:"Initializing",value:"initializing"},{label:"Initialized",value:"initialized"},{label:"Running",value:"running"},{label:"Commanding",value:"commanding"},{label:"Stopped",value:"stopped"},{label:"Error",value:"error"},{label:"Not found",value:"not_found"}],"x-component":"Radio.Group"}}]},x=function(){var t=(0,o.useResourceActionContext)(),e=t.state,n=t.setState,r=t.refresh,i=(0,o.useResourceContext)().resource;return{run:function(){return d(function(){return b(this,function(t){switch(t.label){case 0:return[4,i.destroy({filterByTk:(null==e?void 0:e.selectedRowKeys)||[]})];case 1:return t.sent(),null==n||n({selectedRowKeys:[]}),r(),[2]}})})()}}},g=function(){(0,o.useResourceActionContext)().refresh,(0,o.useResourceContext)().resource,c().useRef();var t,e=(0,o.useAPIClient)(),n=(0,p.g)().t,r=(t=a.Form.useForm(),function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n,r,o=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=o){var i=[],a=!0,u=!1;try{for(o=o.call(t);!(a=(n=o.next()).done)&&(i.push(n.value),i.length!==e);a=!0);}catch(t){u=!0,r=t}finally{try{a||null==o.return||o.return()}finally{if(u)throw r}}return i}}(t,1)||function(t,e){if(t){if("string"==typeof t)return l(t,1);var n=Object.prototype.toString.call(t).slice(8,-1);if("Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return l(t,e)}}(t,1)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[0];return{run:function(){return d(function(){return b(this,function(t){switch(t.label){case 0:return r.resetFields(),[4,a.Modal.confirm({title:n("Migrate data"),content:c().createElement(a.Form,{form:r},c().createElement(a.Form.Item,{label:n("Port"),tooltip:n("When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate."),rules:[{required:!0,message:n("Port is required")}],name:"port"},c().createElement(a.InputNumber,{style:{width:"100%"},min:1}))),onOk:d(function(){var t,o,i;return b(this,function(u){switch(u.label){case 0:return[4,e.resource("pm").get({filterByTk:"multi-app"})];case 1:if(!(null==(o=u.sent().data)||null==(t=o.data)?void 0:t.enabled))return a.message.error(n("Multi-app is not enabled, please enable it first")),[2];return[4,r.validateFields()];case 2:return i=u.sent(),[4,e.request({url:"multiApplications:importFromMultiappManager",method:"post",data:{port:i.port}})];case 3:return u.sent(),a.message.success(n("Migrate successfully")),[2]}})})})];case 1:return t.sent(),[2]}})})()}}},_={type:"void","x-component":"div",properties:{displayName:{"x-component":"CollectionField","x-decorator":"FormItem"},name:{"x-component":"CollectionField","x-decorator":"FormItem","x-disabled":"{{ !createOnly }}"},"options.autoStart":{title:(0,i.tval)("Start mode",{ns:"@nocobase/plugin-multi-app-manager"}),"x-component":"Radio.Group","x-decorator":"FormItem",default:!1,enum:[{label:(0,i.tval)("Start on first visit",{ns:"@nocobase/plugin-multi-app-manager"}),value:!1},{label:(0,i.tval)("Start with main application",{ns:"@nocobase/plugin-multi-app-manager"}),value:!0}]},cname:{title:(0,p.W)("Custom domain"),"x-component":"Input","x-decorator":"FormItem"},pinned:{"x-component":"CollectionField","x-decorator":"FormItem"},"options.authManager":{type:"object","x-decorator":"FormItem","x-component":"Fieldset",title:'{{t("Authentication options", { ns: "'.concat(s.A,'" })}}'),properties:{"jwt.secret":{type:"string",title:'{{t("JWT secret", { ns: "'.concat(s.A,'" })}}'),description:'{{t("An independent JWT secret ensures data and session isolation from other applications.", { ns: "'.concat(s.A,'" })}}'),"x-decorator":"FormItem","x-component":"JwtSecretInput"}}}}},A={properties:{start:{type:"void",title:'{{ t("Start") }}',"x-component":"Action.Link","x-component-props":{useAction:function(){var t=(0,o.useResourceActionContext)().refresh,e=(0,o.useResourceContext)(),n=e.resource,r=e.targetKey,i=(0,o.useRecord)()[r];return{run:function(){return d(function(){return b(this,function(e){switch(e.label){case 0:return[4,n.start({filterByTk:i})];case 1:return e.sent(),t(),[2]}})})()}}}}},stop:{type:"void",title:'{{ t("Stop") }}',"x-component":"Action.Link","x-component-props":{confirm:{title:"{{t('Stop')}}",content:"{{t('Are you sure you want to stop it?')}}"},useAction:function(){var t=(0,o.useResourceActionContext)().refresh,e=(0,o.useResourceContext)(),n=e.resource,r=e.targetKey,i=(0,o.useRecord)()[r];return{run:function(){return d(function(){return b(this,function(e){switch(e.label){case 0:return[4,n.stop({filterByTk:i})];case 1:return e.sent(),t(),[2]}})})()}}}}},view:{type:"void","x-component":"AppVisitor","x-component-props":{}},update:{type:"void",title:'{{t("Edit")}}',"x-component":"Action.Link","x-component-props":{},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:"{{ cm.useValuesFromRecord }}"},title:'{{t("Edit")}}',properties:{formSchema:_,footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ cm.useUpdateAction }}"}}}}}}}},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action.Link","x-component-props":{confirm:{title:"{{t('Delete')}}",content:"{{t('Are you sure you want to delete it?')}}"},useAction:"{{cm.useDestroyAction}}"}}}},j=function(){var t,e,n=(0,o.useResourceContext)().collection,r=(0,o.useFilterFieldOptions)(n.fields),i=(0,o.useResourceActionContext)();return(0,o.useFilterFieldProps)({options:r,params:(null==(e=i.state)||null==(t=e.params)?void 0:t[0])||i.params,service:i})};function w(){return{type:"object",properties:m({},(0,r.uid)(),{type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:h,resourceName:"applications",request:{resource:"applications",action:"list",params:{pageSize:50,sort:["-createdAt"],appends:[]}}},"x-component":"CollectionProvider_deprecated","x-component-props":{collection:h},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{filter:{"x-component":"Filter.Action","x-use-component-props":j,default:{$and:[{displayName:{$includes:""}},{name:{$includes:""}}]},title:"{{t('Filter')}}","x-component-props":{icon:"FilterOutlined"},"x-align":"left"},migrateData:{type:"void",title:'{{ t("Migrate data to new multi-app", { ns: "'.concat(s.A,'" }) }}'),"x-component":"Action","x-component-props":{icon:"DeliveredProcedureOutlined",useAction:g}},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action","x-component-props":{icon:"DeleteOutlined",useAction:x,confirm:{title:"{{t('Delete')}}",content:"{{t('Are you sure you want to delete it?')}}"}}},create:{type:"void",title:'{{t("Add new")}}',"x-decorator":function(t){return c().createElement(o.SchemaComponentOptions,v(y({},t),{scope:{createOnly:!0}}))},"x-component":"Action","x-component-props":{type:"primary",icon:"PlusOutlined"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:function(t){var e=(0,o.useActionContext)();return(0,o.useRequest)(function(){return Promise.resolve({data:{name:"a_".concat((0,r.uid)())}})},v(y({},t),{refreshDeps:[e.visible]}))}},title:'{{t("Add new")}}',properties:{formSchema:_,footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ cm.useCreateAction }}"}}}}}}}}}},table:{type:"void","x-uid":"input","x-component":"Table.Void","x-component-props":{rowKey:"name",rowSelection:{type:"checkbox"},useDataSource:"{{ cm.useDataSourceFromRAC }}"},properties:{displayName:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{displayName:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},name:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{name:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},pinned:{type:"void",title:(0,p.W)("Pin to menu"),"x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{pinned:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},status:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{status:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},actions:{type:"void",title:'{{t("Actions")}}',"x-component":"Table.Column",properties:{actions:y({type:"void","x-component":"Space","x-component-props":{split:"|"}},A)}}}}}})}}},2785:function(t,e,n){"use strict";n.d(e,{W:function(){return i},g:function(){return o}});var r=n(3238),o=function(){return{t:(0,r.useTranslation)("multi-app-manager").t}},i=function(t){return'{{t("'.concat(t,"\", { ns: 'multi-app-manager' })}}")}},3784:function(t,e,n){"use strict";n.d(e,{A:function(){return r}});var r="multi-app-manager"},7973:function(t,e,n){var r=n(1783),o=n(1012),i=n(9900),a=n(6691),u=n(2018);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=o,c.prototype.get=i,c.prototype.has=a,c.prototype.set=u,t.exports=c},2768:function(t,e,n){var r=n(9896),o=n(2473),i=n(4678),a=n(1240),u=n(4296);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=o,c.prototype.get=i,c.prototype.has=a,c.prototype.set=u,t.exports=c},1725:function(t,e,n){t.exports=n(6369)(n(5031),"Map")},736:function(t,e,n){var r=n(6660),o=n(8472),i=n(5637),a=n(9389),u=n(9804);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}c.prototype.clear=r,c.prototype.delete=o,c.prototype.get=i,c.prototype.has=a,c.prototype.set=u,t.exports=c},5382:function(t,e,n){var r=n(2768),o=n(3533),i=n(7064),a=n(9955),u=n(6087),c=n(3990);function s(t){var e=this.__data__=new r(t);this.size=e.size}s.prototype.clear=o,s.prototype.delete=i,s.prototype.get=a,s.prototype.has=u,s.prototype.set=c,t.exports=s},5869:function(t,e,n){t.exports=n(5031).Symbol},8930:function(t,e,n){t.exports=n(5031).Uint8Array},7485:function(t){t.exports=function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}},4505:function(t,e,n){var r=n(1650),o=n(8497),i=n(6227),a=n(939),u=n(3501),c=n(2855),s=Object.prototype.hasOwnProperty;t.exports=function(t,e){var n=i(t),p=!n&&o(t),l=!n&&!p&&a(t),f=!n&&!p&&!l&&c(t),d=n||p||l||f,m=d?r(t.length,String):[],y=m.length;for(var v in t)(e||s.call(t,v))&&!(d&&("length"==v||l&&("offset"==v||"parent"==v)||f&&("buffer"==v||"byteLength"==v||"byteOffset"==v)||u(v,y)))&&m.push(v);return m}},3153:function(t,e,n){var r=n(2544),o=n(3947);t.exports=function(t,e,n){(void 0===n||o(t[e],n))&&(void 0!==n||e in t)||r(t,e,n)}},5699:function(t,e,n){var r=n(2544),o=n(3947),i=Object.prototype.hasOwnProperty;t.exports=function(t,e,n){var a=t[e];i.call(t,e)&&o(a,n)&&(void 0!==n||e in t)||r(t,e,n)}},8746:function(t,e,n){var r=n(3947);t.exports=function(t,e){for(var n=t.length;n--;)if(r(t[n][0],e))return n;return -1}},2544:function(t,e,n){var r=n(6554);t.exports=function(t,e,n){"__proto__"==e&&r?r(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}},1315:function(t,e,n){var r=n(2917),o=Object.create;t.exports=function(){function t(){}return function(e){if(!r(e))return{};if(o)return o(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}()},3627:function(t,e,n){t.exports=n(3179)()},4365:function(t,e,n){var r=n(5869),o=n(7043),i=n(5283),a=r?r.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":a&&a in Object(t)?o(t):i(t)}},8719:function(t,e,n){var r=n(4365),o=n(5620);t.exports=function(t){return o(t)&&"[object Arguments]"==r(t)}},9930:function(t,e,n){var r=n(3098),o=n(8754),i=n(2917),a=n(1304),u=/^\[object .+?Constructor\]$/,c=Object.prototype,s=Function.prototype.toString,p=c.hasOwnProperty,l=RegExp("^"+s.call(p).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!i(t)||o(t))&&(r(t)?l:u).test(a(t))}},7707:function(t,e,n){var r=n(4365),o=n(6613),i=n(5620),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,t.exports=function(t){return i(t)&&o(t.length)&&!!a[r(t)]}},3352:function(t,e,n){var r=n(2917),o=n(2947),i=n(5753),a=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return i(t);var e=o(t),n=[];for(var u in t)"constructor"==u&&(e||!a.call(t,u))||n.push(u);return n}},5580:function(t,e,n){var r=n(5382),o=n(3153),i=n(3627),a=n(2669),u=n(2917),c=n(9403),s=n(9341);t.exports=function t(e,n,p,l,f){e!==n&&i(n,function(i,c){if(f||(f=new r),u(i))a(e,n,c,p,t,l,f);else{var d=l?l(s(e,c),i,c+"",e,n,f):void 0;void 0===d&&(d=i),o(e,c,d)}},c)}},2669:function(t,e,n){var r=n(3153),o=n(6550),i=n(7173),a=n(3096),u=n(1931),c=n(8497),s=n(6227),p=n(5559),l=n(939),f=n(3098),d=n(2917),m=n(4087),y=n(2855),v=n(9341),b=n(5079);t.exports=function(t,e,n,h,x,g,_){var A=v(t,n),j=v(e,n),w=_.get(j);if(w)return void r(t,n,w);var O=g?g(A,j,n+"",t,e,_):void 0,S=void 0===O;if(S){var P=s(j),C=!P&&l(j),k=!P&&!C&&y(j);O=j,P||C||k?s(A)?O=A:p(A)?O=a(A):C?(S=!1,O=o(j,!0)):k?(S=!1,O=i(j,!0)):O=[]:m(j)||c(j)?(O=A,c(A)?O=b(A):(!d(A)||f(A))&&(O=u(j))):S=!1}S&&(_.set(j,O),x(O,j,h,g,_),_.delete(j)),r(t,n,O)}},1229:function(t,e,n){var r=n(9974),o=n(2478),i=n(8286);t.exports=function(t,e){return i(o(t,e,r),t+"")}},1792:function(t,e,n){var r=n(6710),o=n(6554),i=n(9974);t.exports=o?function(t,e){return o(t,"toString",{configurable:!0,enumerable:!1,value:r(e),writable:!0})}:i},1650:function(t){t.exports=function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}},8611:function(t){t.exports=function(t){return function(e){return t(e)}}},2658:function(t,e,n){var r=n(8930);t.exports=function(t){var e=new t.constructor(t.byteLength);return new r(e).set(new r(t)),e}},6550:function(t,e,n){t=n.nmd(t);var r=n(5031),o=e&&!e.nodeType&&e,i=o&&t&&!t.nodeType&&t,a=i&&i.exports===o?r.Buffer:void 0,u=a?a.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var n=t.length,r=u?u(n):new t.constructor(n);return t.copy(r),r}},7173:function(t,e,n){var r=n(2658);t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}},3096:function(t){t.exports=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}},6734:function(t,e,n){var r=n(5699),o=n(2544);t.exports=function(t,e,n,i){var a=!n;n||(n={});for(var u=-1,c=e.length;++u<c;){var s=e[u],p=i?i(n[s],t[s],s,n,t):void 0;void 0===p&&(p=t[s]),a?o(n,s,p):r(n,s,p)}return n}},3823:function(t,e,n){t.exports=n(5031)["__core-js_shared__"]},9354:function(t,e,n){var r=n(1229),o=n(9131);t.exports=function(t){return r(function(e,n){var r=-1,i=n.length,a=i>1?n[i-1]:void 0,u=i>2?n[2]:void 0;for(a=t.length>3&&"function"==typeof a?(i--,a):void 0,u&&o(n[0],n[1],u)&&(a=i<3?void 0:a,i=1),e=Object(e);++r<i;){var c=n[r];c&&t(e,c,r,a)}return e})}},3179:function(t){t.exports=function(t){return function(e,n,r){for(var o=-1,i=Object(e),a=r(e),u=a.length;u--;){var c=a[t?u:++o];if(!1===n(i[c],c,i))break}return e}}},6554:function(t,e,n){var r=n(6369);t.exports=function(){try{var t=r(Object,"defineProperty");return t({},"",{}),t}catch(t){}}()},5274:function(t,e,n){t.exports="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g},9623:function(t,e,n){var r=n(9005);t.exports=function(t,e){var n=t.__data__;return r(e)?n["string"==typeof e?"string":"hash"]:n.map}},6369:function(t,e,n){var r=n(9930),o=n(4502);t.exports=function(t,e){var n=o(t,e);return r(n)?n:void 0}},5918:function(t,e,n){t.exports=n(6942)(Object.getPrototypeOf,Object)},7043:function(t,e,n){var r=n(5869),o=Object.prototype,i=o.hasOwnProperty,a=o.toString,u=r?r.toStringTag:void 0;t.exports=function(t){var e=i.call(t,u),n=t[u];try{t[u]=void 0;var r=!0}catch(t){}var o=a.call(t);return r&&(e?t[u]=n:delete t[u]),o}},4502:function(t){t.exports=function(t,e){return null==t?void 0:t[e]}},1783:function(t,e,n){var r=n(8163);t.exports=function(){this.__data__=r?r(null):{},this.size=0}},1012:function(t){t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=+!!e,e}},9900:function(t,e,n){var r=n(8163),o=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(r){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return o.call(e,t)?e[t]:void 0}},6691:function(t,e,n){var r=n(8163),o=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return r?void 0!==e[t]:o.call(e,t)}},2018:function(t,e,n){var r=n(8163);t.exports=function(t,e){var n=this.__data__;return this.size+=+!this.has(t),n[t]=r&&void 0===e?"__lodash_hash_undefined__":e,this}},1931:function(t,e,n){var r=n(1315),o=n(5918),i=n(2947);t.exports=function(t){return"function"!=typeof t.constructor||i(t)?{}:r(o(t))}},3501:function(t){var e=/^(?:0|[1-9]\d*)$/;t.exports=function(t,n){var r=typeof t;return!!(n=null==n?0x1fffffffffffff:n)&&("number"==r||"symbol"!=r&&e.test(t))&&t>-1&&t%1==0&&t<n}},9131:function(t,e,n){var r=n(3947),o=n(654),i=n(3501),a=n(2917);t.exports=function(t,e,n){if(!a(n))return!1;var u=typeof e;return("number"==u?!!(o(n)&&i(e,n.length)):"string"==u&&e in n)&&r(n[e],t)}},9005:function(t){t.exports=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},8754:function(t,e,n){var r,o=n(3823),i=(r=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return!!i&&i in t}},2947:function(t){var e=Object.prototype;t.exports=function(t){var n=t&&t.constructor;return t===("function"==typeof n&&n.prototype||e)}},9896:function(t){t.exports=function(){this.__data__=[],this.size=0}},2473:function(t,e,n){var r=n(8746),o=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return!(n<0)&&(n==e.length-1?e.pop():o.call(e,n,1),--this.size,!0)}},4678:function(t,e,n){var r=n(8746);t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]}},1240:function(t,e,n){var r=n(8746);t.exports=function(t){return r(this.__data__,t)>-1}},4296:function(t,e,n){var r=n(8746);t.exports=function(t,e){var n=this.__data__,o=r(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this}},6660:function(t,e,n){var r=n(7973),o=n(2768),i=n(1725);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(i||o),string:new r}}},8472:function(t,e,n){var r=n(9623);t.exports=function(t){var e=r(this,t).delete(t);return this.size-=+!!e,e}},5637:function(t,e,n){var r=n(9623);t.exports=function(t){return r(this,t).get(t)}},9389:function(t,e,n){var r=n(9623);t.exports=function(t){return r(this,t).has(t)}},9804:function(t,e,n){var r=n(9623);t.exports=function(t,e){var n=r(this,t),o=n.size;return n.set(t,e),this.size+=+(n.size!=o),this}},8163:function(t,e,n){t.exports=n(6369)(Object,"create")},5753:function(t){t.exports=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}},1378:function(t,e,n){t=n.nmd(t);var r=n(5274),o=e&&!e.nodeType&&e,i=o&&t&&!t.nodeType&&t,a=i&&i.exports===o&&r.process,u=function(){try{var t=i&&i.require&&i.require("util").types;if(t)return t;return a&&a.binding&&a.binding("util")}catch(t){}}();t.exports=u},5283:function(t){var e=Object.prototype.toString;t.exports=function(t){return e.call(t)}},6942:function(t){t.exports=function(t,e){return function(n){return t(e(n))}}},2478:function(t,e,n){var r=n(7485),o=Math.max;t.exports=function(t,e,n){return e=o(void 0===e?t.length-1:e,0),function(){for(var i=arguments,a=-1,u=o(i.length-e,0),c=Array(u);++a<u;)c[a]=i[e+a];a=-1;for(var s=Array(e+1);++a<e;)s[a]=i[a];return s[e]=n(c),r(t,this,s)}}},5031:function(t,e,n){var r=n(5274),o="object"==typeof self&&self&&self.Object===Object&&self;t.exports=r||o||Function("return this")()},9341:function(t){t.exports=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}},8286:function(t,e,n){var r=n(1792);t.exports=n(1358)(r)},1358:function(t){var e=Date.now;t.exports=function(t){var n=0,r=0;return function(){var o=e(),i=16-(o-r);if(r=o,i>0){if(++n>=800)return arguments[0]}else n=0;return t.apply(void 0,arguments)}}},3533:function(t,e,n){var r=n(2768);t.exports=function(){this.__data__=new r,this.size=0}},7064:function(t){t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},9955:function(t){t.exports=function(t){return this.__data__.get(t)}},6087:function(t){t.exports=function(t){return this.__data__.has(t)}},3990:function(t,e,n){var r=n(2768),o=n(1725),i=n(736);t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!o||a.length<199)return a.push([t,e]),this.size=++n.size,this;n=this.__data__=new i(a)}return n.set(t,e),this.size=n.size,this}},1304:function(t){var e=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return e.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},6710:function(t){t.exports=function(t){return function(){return t}}},3947:function(t){t.exports=function(t,e){return t===e||t!=t&&e!=e}},9974:function(t){t.exports=function(t){return t}},8497:function(t,e,n){var r=n(8719),o=n(5620),i=Object.prototype,a=i.hasOwnProperty,u=i.propertyIsEnumerable;t.exports=r(function(){return arguments}())?r:function(t){return o(t)&&a.call(t,"callee")&&!u.call(t,"callee")}},6227:function(t){t.exports=Array.isArray},654:function(t,e,n){var r=n(3098),o=n(6613);t.exports=function(t){return null!=t&&o(t.length)&&!r(t)}},5559:function(t,e,n){var r=n(654),o=n(5620);t.exports=function(t){return o(t)&&r(t)}},939:function(t,e,n){t=n.nmd(t);var r=n(5031),o=n(3863),i=e&&!e.nodeType&&e,a=i&&t&&!t.nodeType&&t,u=a&&a.exports===i?r.Buffer:void 0,c=u?u.isBuffer:void 0;t.exports=c||o},3098:function(t,e,n){var r=n(4365),o=n(2917);t.exports=function(t){if(!o(t))return!1;var e=r(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},6613:function(t){t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=0x1fffffffffffff}},2917:function(t){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},5620:function(t){t.exports=function(t){return null!=t&&"object"==typeof t}},4087:function(t,e,n){var r=n(4365),o=n(5918),i=n(5620),a=Object.prototype,u=Function.prototype.toString,c=a.hasOwnProperty,s=u.call(Object);t.exports=function(t){if(!i(t)||"[object Object]"!=r(t))return!1;var e=o(t);if(null===e)return!0;var n=c.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&u.call(n)==s}},2855:function(t,e,n){var r=n(7707),o=n(8611),i=n(1378),a=i&&i.isTypedArray;t.exports=a?o(a):r},9403:function(t,e,n){var r=n(4505),o=n(3352),i=n(654);t.exports=function(t){return i(t)?r(t,!0):o(t)}},9782:function(t,e,n){var r=n(5580);t.exports=n(9354)(function(t,e,n){r(t,e,n)})},3863:function(t){t.exports=function(){return!1}},5079:function(t,e,n){var r=n(6734),o=n(9403);t.exports=function(t){return r(t,o(t))}},3581:function(t){t.exports=function(t,e){return"undefined"!=typeof __deoptimization_sideEffect__&&__deoptimization_sideEffect__(t,e),e}},3505:function(t){"use strict";t.exports=r},8875:function(t){"use strict";t.exports=a},3772:function(t){"use strict";t.exports=c},7584:function(t){"use strict";t.exports=o},2721:function(t){"use strict";t.exports=u},8202:function(t){"use strict";t.exports=i},8156:function(t){"use strict";t.exports=n},3238:function(e){"use strict";e.exports=t},6128:function(t){"use strict";t.exports=e}},v={};function b(t){var e=v[t];if(void 0!==e)return e.exports;var n=v[t]={id:t,loaded:!1,exports:{}};return y[t](n,n.exports,b),n.loaded=!0,n.exports}b.m=y,b.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return b.d(e,{a:e}),e},b.d=function(t,e){for(var n in e)b.o(e,n)&&!b.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},b.f={},b.e=function(t){return Promise.all(Object.keys(b.f).reduce(function(e,n){return b.f[n](t,e),e},[]))},b.u=function(t){return"db3a142b120d6553.js"},b.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(t){if("object"==typeof window)return window}}(),b.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},s={},p="@nocobase/plugin-multi-app-manager:",b.l=function(t,e,n,r){if(s[t])return void s[t].push(e);if(void 0!==n)for(var o,i,a=document.getElementsByTagName("script"),u=0;u<a.length;u++){var c=a[u];if(c.getAttribute("src")==t||c.getAttribute("data-webpack")==p+n){o=c;break}}o||(i=!0,(o=document.createElement("script")).charset="utf-8",o.timeout=120,b.nc&&o.setAttribute("nonce",b.nc),o.setAttribute("data-webpack",p+n),o.src=t),s[t]=[e];var l=function(e,n){o.onerror=o.onload=null,clearTimeout(f);var r=s[t];if(delete s[t],o.parentNode&&o.parentNode.removeChild(o),r&&r.forEach(function(t){return t(n)}),e)return e(n)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),i&&document.head.appendChild(o)},b.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},b.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t},(l=window.__nocobase_public_path__||"/").endsWith("/")||(l+="/"),b.p=l+"static/plugins/@nocobase/plugin-multi-app-manager/dist/client/",f={909:0},b.f.j=function(t,e){var n=b.o(f,t)?f[t]:void 0;if(0!==n)if(n)e.push(n[2]);else{var r=new Promise(function(e,r){n=f[t]=[e,r]});e.push(n[2]=r);var o=b.p+b.u(t),i=Error();b.l(o,function(e){if(b.o(f,t)&&(0!==(n=f[t])&&(f[t]=void 0),n)){var r=e&&("load"===e.type?"missing":e.type),o=e&&e.target&&e.target.src;i.message="Loading chunk "+t+" failed.\n("+r+": "+o+")",i.name="ChunkLoadError",i.type=r,i.request=o,n[1](i)}},"chunk-"+t,t)}},d=function(t,e){var n,r,o=e[0],i=e[1],a=e[2],u=0;if(o.some(function(t){return 0!==f[t]})){for(n in i)b.o(i,n)&&(b.m[n]=i[n]);a&&a(b)}for(t&&t(e);u<o.length;u++)r=o[u],b.o(f,r)&&f[r]&&f[r][0](),f[r]=0},(m=self.webpackChunk_nocobase_plugin_multi_app_manager=self.webpackChunk_nocobase_plugin_multi_app_manager||[]).forEach(d.bind(null,0)),m.push=d.bind(null,m.push.bind(m));var h={};return!function(){"use strict";b.r(h),b.d(h,{PluginMultiAppManagerClient:function(){return S},formSchema:function(){return f.kn},default:function(){return P},tableActionColumnSchema:function(){return f.vh}});var t=b(3772),e=b(2721),n=b(8156),r=b.n(n),o=b(6128),i=b(3505),a=(0,i.connect)(e.Input,(0,i.mapReadPretty)(function(e){var n=(0,t.useApp)(),o=e.value&&r().createElement("a",{target:"_blank",href:n.getRouteUrl("/apps/".concat(e.value,"/admin")),rel:"noreferrer"},e.value);return r().createElement("div",{style:e.style},e.addonBefore,e.prefix,o,e.suffix,e.addonAfter)})),u=(0,b(8202).createStyles)(function(t){return{button:{color:t.token.colorTextHeaderMenu+" !important"}}}),c=b(2785);function s(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}var p=function(){var n,i=u().styles,a=(0,t.useRequest)({resource:"applications",action:"listPinned"},{manual:!0}),p=a.data,l=a.run,f=(0,c.g)().t,d=(0,t.useApp)(),m=((function(t){if(Array.isArray(t))return s(t)})(n=((null==p?void 0:p.data)||[]).map(function(t){var e=d.getRouteUrl("/apps/".concat(t.name,"/admin/"));return t.cname&&(e="//".concat(t.cname)),{key:t.name,label:r().createElement("a",{href:e,target:"_blank",rel:"noopener noreferrer"},t.displayName||t.name)}}))||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(n)||function(t,e){if(t){if("string"==typeof t)return s(t,void 0);var n=Object.prototype.toString.call(t).slice(8,-1);if("Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(t,e)}}(n)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).concat([{key:".manager",label:r().createElement(o.Link,{to:d.pluginSettingsManager.getRoutePath("multi-app-manager")},f("Manage applications"))}]);return r().createElement(e.Dropdown,{onOpenChange:function(t){l()},menu:{items:m}},r().createElement(e.Button,{className:i.button,title:"Apps",icon:r().createElement(t.Icon,{type:"AppstoreOutlined"})}))},l=function(e){return r().createElement(t.PinnedPluginListProvider,{items:{}},r().createElement(t.SchemaComponentOptions,{components:{MultiAppManager:p,AppNameInput:a}},e.children))},f=b(9570),d=b(9782),m=b.n(d),y=b(3784),v=b(3581);function x(t,e,n,r,o,i,a){try{var u=t[i](a),c=u.value}catch(t){n(t);return}u.done?e(c):Promise.resolve(c).then(r,o)}function g(t,e,n){return(g=w()?Reflect.construct:function(t,e,n){var r=[null];r.push.apply(r,e);var o=new(Function.bind.apply(t,r));return n&&A(o,n.prototype),o}).apply(null,arguments)}function _(t){return(_=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function A(t,e){return(A=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function j(t){var e="function"==typeof Map?new Map:void 0;return(j=function(t){if(null===t||-1===Function.toString.call(t).indexOf("[native code]"))return t;if("function"!=typeof t)throw TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return g(t,arguments,_(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),A(n,t)})(t)}function w(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(w=function(){return!!t})()}var O=(0,t.lazy)(function(){return v("imported_-2qibu4_component",b.e("959").then(b.bind(b,7101)))},"AppManager").AppManager,S=function(t){var e;if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");function n(){var t,e;if(!(this instanceof n))throw TypeError("Cannot call a class as a function");return t=n,e=arguments,t=_(t),function(t,e){var n;if(e&&("object"==((n=e)&&"undefined"!=typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof e))return e;if(void 0===t)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(this,w()?Reflect.construct(t,e||[],_(this).constructor):t.apply(this,e))}return n.prototype=Object.create(t&&t.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),t&&A(n,t),e=[{key:"load",value:function(){var t,e=this;return(t=function(){return function(t,e){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=e.call(t,a)}catch(t){c=[6,t],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(t){return e.app.use(l),e.app.pluginSettingsManager.add(y.A,{title:'{{t("Multi-app manager (deprecated)", { ns: "'.concat(y.A,'" })}}'),icon:"AppstoreOutlined",Component:O,sort:1e3,aclSnippet:"pm.multi-app-manager.applications"}),[2]})},function(){var e=this,n=arguments;return new Promise(function(r,o){var i=t.apply(e,n);function a(t){x(i,r,o,a,u,"next",t)}function u(t){x(i,r,o,a,u,"throw",t)}a(void 0)})})()}},{key:"extendFormSchema",value:function(t){m()(f.kn,t)}}],function(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}(n.prototype,e),n}(j(t.Plugin)),P=S}(),h}()});
|
|
@@ -7,6 +7,12 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
import { ISchema } from '@formily/react';
|
|
10
|
+
export declare const useStop: () => {
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
};
|
|
13
|
+
export declare const useStart: () => {
|
|
14
|
+
run(): Promise<void>;
|
|
15
|
+
};
|
|
10
16
|
export declare const useDestroy: () => {
|
|
11
17
|
run(): Promise<void>;
|
|
12
18
|
};
|
|
@@ -23,4 +29,60 @@ export declare const useFilterActionProps: () => {
|
|
|
23
29
|
onSubmit: (values: any) => any;
|
|
24
30
|
onReset: () => any;
|
|
25
31
|
};
|
|
26
|
-
export declare
|
|
32
|
+
export declare function getSchema(): import("@formily/react").Stringify<{
|
|
33
|
+
[key: symbol]: any;
|
|
34
|
+
[key: `x-${string}`]: any;
|
|
35
|
+
[key: `x-${number}`]: any;
|
|
36
|
+
version?: string;
|
|
37
|
+
name?: import("@formily/react").SchemaKey;
|
|
38
|
+
title?: any;
|
|
39
|
+
description?: any;
|
|
40
|
+
default?: any;
|
|
41
|
+
readOnly?: boolean;
|
|
42
|
+
writeOnly?: boolean;
|
|
43
|
+
type?: import("@formily/react").SchemaTypes;
|
|
44
|
+
enum?: import("@formily/react").SchemaEnum<any>;
|
|
45
|
+
const?: any;
|
|
46
|
+
multipleOf?: number;
|
|
47
|
+
maximum?: number;
|
|
48
|
+
exclusiveMaximum?: number;
|
|
49
|
+
minimum?: number;
|
|
50
|
+
exclusiveMinimum?: number;
|
|
51
|
+
maxLength?: number;
|
|
52
|
+
minLength?: number;
|
|
53
|
+
pattern?: string | RegExp;
|
|
54
|
+
maxItems?: number;
|
|
55
|
+
minItems?: number;
|
|
56
|
+
uniqueItems?: boolean;
|
|
57
|
+
maxProperties?: number;
|
|
58
|
+
minProperties?: number;
|
|
59
|
+
required?: string | boolean | string[];
|
|
60
|
+
format?: string;
|
|
61
|
+
$ref?: string;
|
|
62
|
+
$namespace?: string;
|
|
63
|
+
definitions?: import("@formily/react").SchemaProperties<any, any, any, any, any, any, any, any>;
|
|
64
|
+
properties?: import("@formily/react").SchemaProperties<any, any, any, any, any, any, any, any>;
|
|
65
|
+
items?: import("@formily/react").SchemaItems<any, any, any, any, any, any, any, any>;
|
|
66
|
+
additionalItems?: import("@formily/react").Stringify<any>;
|
|
67
|
+
patternProperties?: import("@formily/react").SchemaProperties<any, any, any, any, any, any, any, any>;
|
|
68
|
+
additionalProperties?: import("@formily/react").Stringify<any>;
|
|
69
|
+
"x-value"?: any;
|
|
70
|
+
"x-index"?: number;
|
|
71
|
+
"x-pattern"?: any;
|
|
72
|
+
"x-display"?: any;
|
|
73
|
+
"x-validator"?: any;
|
|
74
|
+
"x-decorator"?: any;
|
|
75
|
+
"x-decorator-props"?: any;
|
|
76
|
+
"x-component"?: any;
|
|
77
|
+
"x-component-props"?: any;
|
|
78
|
+
"x-reactions"?: import("@formily/react").SchemaReactions<any>;
|
|
79
|
+
"x-content"?: any;
|
|
80
|
+
"x-data"?: any;
|
|
81
|
+
"x-visible"?: boolean;
|
|
82
|
+
"x-hidden"?: boolean;
|
|
83
|
+
"x-disabled"?: boolean;
|
|
84
|
+
"x-editable"?: boolean;
|
|
85
|
+
"x-read-only"?: boolean;
|
|
86
|
+
"x-read-pretty"?: boolean;
|
|
87
|
+
"x-compile-omitted"?: string[];
|
|
88
|
+
}>;
|
package/dist/externalVersion.js
CHANGED
|
@@ -8,18 +8,19 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
module.exports = {
|
|
11
|
-
"@nocobase/client": "2.
|
|
11
|
+
"@nocobase/client": "2.1.0-alpha.1",
|
|
12
12
|
"antd": "5.24.2",
|
|
13
13
|
"react": "18.2.0",
|
|
14
14
|
"@formily/react": "2.3.7",
|
|
15
15
|
"@formily/shared": "2.3.7",
|
|
16
16
|
"antd-style": "3.7.1",
|
|
17
17
|
"react-router-dom": "6.30.1",
|
|
18
|
-
"react-i18next": "11.18.6",
|
|
19
|
-
"@nocobase/database": "2.0.0-alpha.9",
|
|
20
|
-
"@nocobase/server": "2.0.0-alpha.9",
|
|
21
18
|
"lodash": "4.17.21",
|
|
19
|
+
"react-i18next": "11.18.6",
|
|
20
|
+
"@nocobase/database": "2.1.0-alpha.1",
|
|
21
|
+
"@nocobase/server": "2.1.0-alpha.1",
|
|
22
|
+
"@nocobase/telemetry": "2.1.0-alpha.1",
|
|
22
23
|
"mysql2": "3.11.0",
|
|
23
24
|
"pg": "8.11.3",
|
|
24
|
-
"@nocobase/utils": "2.
|
|
25
|
+
"@nocobase/utils": "2.1.0-alpha.1"
|
|
25
26
|
};
|
package/dist/locale/de-DE.json
CHANGED
|
@@ -1,14 +1,26 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"Applications": "Anwendungen",
|
|
4
|
-
"App display name": "App-Anzeigename",
|
|
2
|
+
"An independent JWT secret ensures data and session isolation from other applications.": "An independent JWT secret ensures data and session isolation from other applications.",
|
|
5
3
|
"App ID": "App-ID",
|
|
6
|
-
"
|
|
4
|
+
"App display name": "App-Anzeigename",
|
|
5
|
+
"Applications": "Anwendungen",
|
|
6
|
+
"Authentication options": "Authentication options",
|
|
7
|
+
"Auto start": "Automatischer Start",
|
|
8
|
+
"Automatically generate a JWT secret": "Automatically generate a JWT secret",
|
|
7
9
|
"Custom domain": "Benutzerdefinierte Domain",
|
|
10
|
+
"JWT secret": "JWT secret",
|
|
8
11
|
"Manage applications": "Anwendungen verwalten",
|
|
12
|
+
"Migrate data": "Migrate data",
|
|
13
|
+
"Migrate data to new multi-app": "Migrate data to new multi-app",
|
|
14
|
+
"Migrate successfully": "Migrate successfully",
|
|
15
|
+
"Multi-app is not enabled, please enable it first": "Multi-app is not enabled, please enable it first",
|
|
16
|
+
"Multi-app manager": "Multi-App-Manager",
|
|
17
|
+
"Multi-app manager (deprecated)": "Multi-app manager (deprecated)",
|
|
18
|
+
"Pin to menu": "An Menü anheften",
|
|
19
|
+
"Please enter the port": "Please enter the port",
|
|
20
|
+
"Port": "Port",
|
|
9
21
|
"Standalone deployment": "Eigenständige Bereitstellung",
|
|
10
|
-
"Auto start": "Automatischer Start",
|
|
11
22
|
"Start mode": "Startmodus",
|
|
12
23
|
"Start on first visit": "Beim ersten Besuch starten",
|
|
13
|
-
"Start with main application": "Mit Hauptanwendung starten"
|
|
14
|
-
|
|
24
|
+
"Start with main application": "Mit Hauptanwendung starten",
|
|
25
|
+
"When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate.": "When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate."
|
|
26
|
+
}
|
package/dist/locale/en-US.json
CHANGED
|
@@ -1,13 +1,26 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"Applications": "Applications",
|
|
4
|
-
"App display name": "App display name",
|
|
2
|
+
"An independent JWT secret ensures data and session isolation from other applications.": "An independent JWT secret ensures data and session isolation from other applications.",
|
|
5
3
|
"App ID": "App ID",
|
|
6
|
-
"
|
|
4
|
+
"App display name": "App display name",
|
|
5
|
+
"Applications": "Applications",
|
|
6
|
+
"Authentication options": "Authentication options",
|
|
7
|
+
"Auto start": "Auto start",
|
|
8
|
+
"Automatically generate a JWT secret": "Automatically generate a JWT secret",
|
|
7
9
|
"Custom domain": "Custom domain",
|
|
10
|
+
"JWT secret": "JWT secret",
|
|
8
11
|
"Manage applications": "Manage applications",
|
|
9
|
-
"
|
|
10
|
-
"
|
|
12
|
+
"Migrate data": "Migrate data",
|
|
13
|
+
"Migrate data to new multi-app": "Migrate data to new multi-app",
|
|
14
|
+
"Migrate successfully": "Migrate successfully",
|
|
15
|
+
"Multi-app is not enabled, please enable it first": "Multi-app is not enabled, please enable it first",
|
|
16
|
+
"Multi-app manager": "Multi-app manager",
|
|
17
|
+
"Multi-app manager (deprecated)": "Multi-app manager (deprecated)",
|
|
18
|
+
"Pin to menu": "Pin to menu",
|
|
19
|
+
"Please enter the port": "Please enter the port",
|
|
11
20
|
"Port": "Port",
|
|
12
|
-
"
|
|
13
|
-
|
|
21
|
+
"Standalone deployment": "Standalone deployment",
|
|
22
|
+
"Start mode": "Start mode",
|
|
23
|
+
"Start on first visit": "Start on first visit",
|
|
24
|
+
"Start with main application": "Start with main application",
|
|
25
|
+
"When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate.": "When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate."
|
|
26
|
+
}
|
package/dist/locale/es-ES.json
CHANGED
|
@@ -1,9 +1,26 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"Applications": "Aplicaciones",
|
|
4
|
-
"App display name": "Mostrar nombre de aplicación",
|
|
2
|
+
"An independent JWT secret ensures data and session isolation from other applications.": "An independent JWT secret ensures data and session isolation from other applications.",
|
|
5
3
|
"App ID": "ID de aplicación",
|
|
6
|
-
"
|
|
4
|
+
"App display name": "Mostrar nombre de aplicación",
|
|
5
|
+
"Applications": "Aplicaciones",
|
|
6
|
+
"Authentication options": "Authentication options",
|
|
7
|
+
"Auto start": "Auto start",
|
|
8
|
+
"Automatically generate a JWT secret": "Automatically generate a JWT secret",
|
|
7
9
|
"Custom domain": "Dominio personalizado",
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
+
"JWT secret": "JWT secret",
|
|
11
|
+
"Manage applications": "Gestionar aplicaciones",
|
|
12
|
+
"Migrate data": "Migrate data",
|
|
13
|
+
"Migrate data to new multi-app": "Migrate data to new multi-app",
|
|
14
|
+
"Migrate successfully": "Migrate successfully",
|
|
15
|
+
"Multi-app is not enabled, please enable it first": "Multi-app is not enabled, please enable it first",
|
|
16
|
+
"Multi-app manager": "Gestor de aplicaciones múltiples",
|
|
17
|
+
"Multi-app manager (deprecated)": "Multi-app manager (deprecated)",
|
|
18
|
+
"Pin to menu": " Fijar al menú",
|
|
19
|
+
"Please enter the port": "Please enter the port",
|
|
20
|
+
"Port": "Port",
|
|
21
|
+
"Standalone deployment": "Standalone deployment",
|
|
22
|
+
"Start mode": "Start mode",
|
|
23
|
+
"Start on first visit": "Start on first visit",
|
|
24
|
+
"Start with main application": "Start with main application",
|
|
25
|
+
"When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate.": "When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate."
|
|
26
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"An independent JWT secret ensures data and session isolation from other applications.": "An independent JWT secret ensures data and session isolation from other applications.",
|
|
3
|
+
"App ID": "App ID",
|
|
4
|
+
"App display name": "App display name",
|
|
5
|
+
"Applications": "Applications",
|
|
6
|
+
"Authentication options": "Authentication options",
|
|
7
|
+
"Auto start": "Auto start",
|
|
8
|
+
"Automatically generate a JWT secret": "Automatically generate a JWT secret",
|
|
9
|
+
"Custom domain": "Custom domain",
|
|
10
|
+
"JWT secret": "JWT secret",
|
|
11
|
+
"Manage applications": "Manage applications",
|
|
12
|
+
"Migrate data": "Migrate data",
|
|
13
|
+
"Migrate data to new multi-app": "Migrate data to new multi-app",
|
|
14
|
+
"Migrate successfully": "Migrate successfully",
|
|
15
|
+
"Multi-app is not enabled, please enable it first": "Multi-app is not enabled, please enable it first",
|
|
16
|
+
"Multi-app manager": "Multi-app manager",
|
|
17
|
+
"Multi-app manager (deprecated)": "Multi-app manager (deprecated)",
|
|
18
|
+
"Pin to menu": "Pin to menu",
|
|
19
|
+
"Please enter the port": "Please enter the port",
|
|
20
|
+
"Port": "Port",
|
|
21
|
+
"Standalone deployment": "Standalone deployment",
|
|
22
|
+
"Start mode": "Start mode",
|
|
23
|
+
"Start on first visit": "Start on first visit",
|
|
24
|
+
"Start with main application": "Start with main application",
|
|
25
|
+
"When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate.": "When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate."
|
|
26
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"An independent JWT secret ensures data and session isolation from other applications.": "An independent JWT secret ensures data and session isolation from other applications.",
|
|
3
|
+
"App ID": "Alkalmazás azonosító",
|
|
4
|
+
"App display name": "Alkalmazás megjelenített neve",
|
|
5
|
+
"Applications": "Alkalmazások",
|
|
6
|
+
"Authentication options": "Authentication options",
|
|
7
|
+
"Auto start": "Automatikus indítás",
|
|
8
|
+
"Automatically generate a JWT secret": "Automatically generate a JWT secret",
|
|
9
|
+
"Custom domain": "Egyéni domain",
|
|
10
|
+
"JWT secret": "JWT secret",
|
|
11
|
+
"Manage applications": "Alkalmazások kezelése",
|
|
12
|
+
"Migrate data": "Migrate data",
|
|
13
|
+
"Migrate data to new multi-app": "Migrate data to new multi-app",
|
|
14
|
+
"Migrate successfully": "Migrate successfully",
|
|
15
|
+
"Multi-app is not enabled, please enable it first": "Multi-app is not enabled, please enable it first",
|
|
16
|
+
"Multi-app manager": "Több alkalmazás kezelő",
|
|
17
|
+
"Multi-app manager (deprecated)": "Multi-app manager (deprecated)",
|
|
18
|
+
"Pin to menu": "Rögzítés a menüben",
|
|
19
|
+
"Please enter the port": "Please enter the port",
|
|
20
|
+
"Port": "Port",
|
|
21
|
+
"Standalone deployment": "Önálló telepítés",
|
|
22
|
+
"Start mode": "Indítási mód",
|
|
23
|
+
"Start on first visit": "Indítás az első látogatáskor",
|
|
24
|
+
"Start with main application": "Indítás a fő alkalmazással",
|
|
25
|
+
"When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate.": "When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate."
|
|
26
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"An independent JWT secret ensures data and session isolation from other applications.": "An independent JWT secret ensures data and session isolation from other applications.",
|
|
3
|
+
"App ID": "ID Aplikasi",
|
|
4
|
+
"App display name": "Nama tampilan aplikasi",
|
|
5
|
+
"Applications": "Aplikasi",
|
|
6
|
+
"Authentication options": "Authentication options",
|
|
7
|
+
"Auto start": "Mulai otomatis",
|
|
8
|
+
"Automatically generate a JWT secret": "Automatically generate a JWT secret",
|
|
9
|
+
"Custom domain": "Domain kustom",
|
|
10
|
+
"JWT secret": "JWT secret",
|
|
11
|
+
"Manage applications": "Kelola aplikasi",
|
|
12
|
+
"Migrate data": "Migrate data",
|
|
13
|
+
"Migrate data to new multi-app": "Migrate data to new multi-app",
|
|
14
|
+
"Migrate successfully": "Migrate successfully",
|
|
15
|
+
"Multi-app is not enabled, please enable it first": "Multi-app is not enabled, please enable it first",
|
|
16
|
+
"Multi-app manager": "Manajer multi-aplikasi",
|
|
17
|
+
"Multi-app manager (deprecated)": "Multi-app manager (deprecated)",
|
|
18
|
+
"Pin to menu": "Sematkan ke menu",
|
|
19
|
+
"Please enter the port": "Please enter the port",
|
|
20
|
+
"Port": "Port",
|
|
21
|
+
"Standalone deployment": "Penyebaran mandiri",
|
|
22
|
+
"Start mode": "Mode mulai",
|
|
23
|
+
"Start on first visit": "Mulai pada kunjungan pertama",
|
|
24
|
+
"Start with main application": "Mulai dengan aplikasi utama",
|
|
25
|
+
"When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate.": "When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate."
|
|
26
|
+
}
|
package/dist/locale/it-IT.json
CHANGED
|
@@ -1,14 +1,26 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"Applications": "Applicazioni",
|
|
4
|
-
"App display name": "Nome visualizzato app",
|
|
2
|
+
"An independent JWT secret ensures data and session isolation from other applications.": "An independent JWT secret ensures data and session isolation from other applications.",
|
|
5
3
|
"App ID": "ID app",
|
|
6
|
-
"
|
|
4
|
+
"App display name": "Nome visualizzato app",
|
|
5
|
+
"Applications": "Applicazioni",
|
|
6
|
+
"Authentication options": "Authentication options",
|
|
7
|
+
"Auto start": "Avvio automatico",
|
|
8
|
+
"Automatically generate a JWT secret": "Automatically generate a JWT secret",
|
|
7
9
|
"Custom domain": "Dominio personalizzato",
|
|
10
|
+
"JWT secret": "JWT secret",
|
|
8
11
|
"Manage applications": "Gestisci applicazioni",
|
|
12
|
+
"Migrate data": "Migrate data",
|
|
13
|
+
"Migrate data to new multi-app": "Migrate data to new multi-app",
|
|
14
|
+
"Migrate successfully": "Migrate successfully",
|
|
15
|
+
"Multi-app is not enabled, please enable it first": "Multi-app is not enabled, please enable it first",
|
|
16
|
+
"Multi-app manager": "Gestore multi-app",
|
|
17
|
+
"Multi-app manager (deprecated)": "Multi-app manager (deprecated)",
|
|
18
|
+
"Pin to menu": "Fissa al menu",
|
|
19
|
+
"Please enter the port": "Please enter the port",
|
|
20
|
+
"Port": "Port",
|
|
9
21
|
"Standalone deployment": "Distribuzione autonoma",
|
|
10
|
-
"Auto start": "Avvio automatico",
|
|
11
22
|
"Start mode": "Modalità di avvio",
|
|
12
23
|
"Start on first visit": "Avvia alla prima visita",
|
|
13
|
-
"Start with main application": "Avvia con l'applicazione principale"
|
|
14
|
-
|
|
24
|
+
"Start with main application": "Avvia con l'applicazione principale",
|
|
25
|
+
"When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate.": "When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate."
|
|
26
|
+
}
|
package/dist/locale/ja-JP.json
CHANGED
|
@@ -1,14 +1,26 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"Applications": "アプリケーション",
|
|
4
|
-
"App display name": "アプリ表示名",
|
|
2
|
+
"An independent JWT secret ensures data and session isolation from other applications.": "An independent JWT secret ensures data and session isolation from other applications.",
|
|
5
3
|
"App ID": "アプリID",
|
|
6
|
-
"
|
|
4
|
+
"App display name": "アプリ表示名",
|
|
5
|
+
"Applications": "アプリケーション",
|
|
6
|
+
"Authentication options": "Authentication options",
|
|
7
|
+
"Auto start": "自動起動",
|
|
8
|
+
"Automatically generate a JWT secret": "Automatically generate a JWT secret",
|
|
7
9
|
"Custom domain": "カスタムドメイン",
|
|
10
|
+
"JWT secret": "JWT secret",
|
|
8
11
|
"Manage applications": "アプリケーションを管理",
|
|
12
|
+
"Migrate data": "Migrate data",
|
|
13
|
+
"Migrate data to new multi-app": "Migrate data to new multi-app",
|
|
14
|
+
"Migrate successfully": "Migrate successfully",
|
|
15
|
+
"Multi-app is not enabled, please enable it first": "Multi-app is not enabled, please enable it first",
|
|
16
|
+
"Multi-app manager": "マルチアプリ管理",
|
|
17
|
+
"Multi-app manager (deprecated)": "Multi-app manager (deprecated)",
|
|
18
|
+
"Pin to menu": "メニューに固定",
|
|
19
|
+
"Please enter the port": "Please enter the port",
|
|
20
|
+
"Port": "Port",
|
|
9
21
|
"Standalone deployment": "スタンドアロンデプロイメント",
|
|
10
|
-
"Auto start": "自動起動",
|
|
11
22
|
"Start mode": "起動モード",
|
|
12
23
|
"Start on first visit": "初回訪問時に起動する",
|
|
13
|
-
"Start with main application": "メインアプリケーションと共に起動する"
|
|
24
|
+
"Start with main application": "メインアプリケーションと共に起動する",
|
|
25
|
+
"When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate.": "When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate."
|
|
14
26
|
}
|
package/dist/locale/ko-KR.json
CHANGED
|
@@ -1,11 +1,26 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"
|
|
2
|
+
"An independent JWT secret ensures data and session isolation from other applications.": "An independent JWT secret ensures data and session isolation from other applications.",
|
|
3
|
+
"App ID": "앱 ID",
|
|
4
4
|
"App display name": "앱 표시 이름",
|
|
5
|
-
"
|
|
6
|
-
"
|
|
5
|
+
"Applications": "애플리케이션",
|
|
6
|
+
"Authentication options": "Authentication options",
|
|
7
|
+
"Auto start": "자동 시작",
|
|
8
|
+
"Automatically generate a JWT secret": "Automatically generate a JWT secret",
|
|
7
9
|
"Custom domain": "사용자 정의 도메인",
|
|
8
|
-
"
|
|
10
|
+
"JWT secret": "JWT secret",
|
|
11
|
+
"Manage applications": "애플리케이션 관리",
|
|
12
|
+
"Migrate data": "Migrate data",
|
|
13
|
+
"Migrate data to new multi-app": "Migrate data to new multi-app",
|
|
14
|
+
"Migrate successfully": "Migrate successfully",
|
|
15
|
+
"Multi-app is not enabled, please enable it first": "Multi-app is not enabled, please enable it first",
|
|
16
|
+
"Multi-app manager": "다중 앱 관리자",
|
|
17
|
+
"Multi-app manager (deprecated)": "Multi-app manager (deprecated)",
|
|
18
|
+
"Pin to menu": "메뉴에 고정",
|
|
19
|
+
"Please enter the port": "Please enter the port",
|
|
20
|
+
"Port": "Port",
|
|
9
21
|
"Standalone deployment": "독립형 배포",
|
|
10
|
-
"
|
|
11
|
-
|
|
22
|
+
"Start mode": "시작 모드",
|
|
23
|
+
"Start on first visit": "첫 방문 시 시작",
|
|
24
|
+
"Start with main application": "메인 애플리케이션과 함께 시작",
|
|
25
|
+
"When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate.": "When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate."
|
|
26
|
+
}
|
package/dist/locale/nl-NL.json
CHANGED
|
@@ -1,11 +1,26 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
"An independent JWT secret ensures data and session isolation from other applications.": "An independent JWT secret ensures data and session isolation from other applications.",
|
|
3
|
+
"App ID": "App ID",
|
|
4
|
+
"App display name": "App weergavenaam",
|
|
5
|
+
"Applications": "Applicaties",
|
|
6
|
+
"Authentication options": "Authentication options",
|
|
7
|
+
"Auto start": "Automatisch starten",
|
|
8
|
+
"Automatically generate a JWT secret": "Automatically generate a JWT secret",
|
|
9
|
+
"Custom domain": "Aangepast domein",
|
|
10
|
+
"JWT secret": "JWT secret",
|
|
11
|
+
"Manage applications": "Beheer applicaties",
|
|
12
|
+
"Migrate data": "Migrate data",
|
|
13
|
+
"Migrate data to new multi-app": "Migrate data to new multi-app",
|
|
14
|
+
"Migrate successfully": "Migrate successfully",
|
|
15
|
+
"Multi-app is not enabled, please enable it first": "Multi-app is not enabled, please enable it first",
|
|
16
|
+
"Multi-app manager": "Multi-app beheerder",
|
|
17
|
+
"Multi-app manager (deprecated)": "Multi-app manager (deprecated)",
|
|
18
|
+
"Pin to menu": "Vastmaken aan menu",
|
|
19
|
+
"Please enter the port": "Please enter the port",
|
|
20
|
+
"Port": "Port",
|
|
21
|
+
"Standalone deployment": "Zelfstandige implementatie",
|
|
22
|
+
"Start mode": "Start mode",
|
|
23
|
+
"Start on first visit": "Start on first visit",
|
|
24
|
+
"Start with main application": "Start with main application",
|
|
25
|
+
"When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate.": "When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate."
|
|
11
26
|
}
|
package/dist/locale/pt-BR.json
CHANGED
|
@@ -1,9 +1,26 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"Applications": "Aplicativos",
|
|
4
|
-
"App display name": "Nome de exibição do aplicativo",
|
|
2
|
+
"An independent JWT secret ensures data and session isolation from other applications.": "An independent JWT secret ensures data and session isolation from other applications.",
|
|
5
3
|
"App ID": "ID do aplicativo",
|
|
6
|
-
"
|
|
4
|
+
"App display name": "Nome de exibição do aplicativo",
|
|
5
|
+
"Applications": "Aplicativos",
|
|
6
|
+
"Authentication options": "Authentication options",
|
|
7
|
+
"Auto start": "Auto start",
|
|
8
|
+
"Automatically generate a JWT secret": "Automatically generate a JWT secret",
|
|
7
9
|
"Custom domain": "Domínio personalizado",
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
+
"JWT secret": "JWT secret",
|
|
11
|
+
"Manage applications": "Gerenciar aplicativos",
|
|
12
|
+
"Migrate data": "Migrate data",
|
|
13
|
+
"Migrate data to new multi-app": "Migrate data to new multi-app",
|
|
14
|
+
"Migrate successfully": "Migrate successfully",
|
|
15
|
+
"Multi-app is not enabled, please enable it first": "Multi-app is not enabled, please enable it first",
|
|
16
|
+
"Multi-app manager": "Gerenciador de aplicativos múltiplos",
|
|
17
|
+
"Multi-app manager (deprecated)": "Multi-app manager (deprecated)",
|
|
18
|
+
"Pin to menu": "Fixar no menu",
|
|
19
|
+
"Please enter the port": "Please enter the port",
|
|
20
|
+
"Port": "Port",
|
|
21
|
+
"Standalone deployment": "Standalone deployment",
|
|
22
|
+
"Start mode": "Start mode",
|
|
23
|
+
"Start on first visit": "Start on first visit",
|
|
24
|
+
"Start with main application": "Start with main application",
|
|
25
|
+
"When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate.": "When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate."
|
|
26
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"An independent JWT secret ensures data and session isolation from other applications.": "An independent JWT secret ensures data and session isolation from other applications.",
|
|
3
|
+
"App ID": "ID приложения",
|
|
4
|
+
"App display name": "Отображаемое имя приложения",
|
|
5
|
+
"Applications": "Приложения",
|
|
6
|
+
"Authentication options": "Authentication options",
|
|
7
|
+
"Auto start": "Автозапуск",
|
|
8
|
+
"Automatically generate a JWT secret": "Automatically generate a JWT secret",
|
|
9
|
+
"Custom domain": "Пользовательский домен",
|
|
10
|
+
"JWT secret": "JWT secret",
|
|
11
|
+
"Manage applications": "Управление приложениями",
|
|
12
|
+
"Migrate data": "Migrate data",
|
|
13
|
+
"Migrate data to new multi-app": "Migrate data to new multi-app",
|
|
14
|
+
"Migrate successfully": "Migrate successfully",
|
|
15
|
+
"Multi-app is not enabled, please enable it first": "Multi-app is not enabled, please enable it first",
|
|
16
|
+
"Multi-app manager": "Менеджер многоприложений",
|
|
17
|
+
"Multi-app manager (deprecated)": "Multi-app manager (deprecated)",
|
|
18
|
+
"Pin to menu": "Закрепить в меню",
|
|
19
|
+
"Please enter the port": "Please enter the port",
|
|
20
|
+
"Port": "Port",
|
|
21
|
+
"Standalone deployment": "Автономное развертывание",
|
|
22
|
+
"Start mode": "Режим запуска",
|
|
23
|
+
"Start on first visit": "Запускать при первом посещении",
|
|
24
|
+
"Start with main application": "Запускать вместе с главным приложением",
|
|
25
|
+
"When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate.": "When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate."
|
|
26
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"An independent JWT secret ensures data and session isolation from other applications.": "An independent JWT secret ensures data and session isolation from other applications.",
|
|
3
|
+
"App ID": "App ID",
|
|
4
|
+
"App display name": "App display name",
|
|
5
|
+
"Applications": "Applications",
|
|
6
|
+
"Authentication options": "Authentication options",
|
|
7
|
+
"Auto start": "Auto start",
|
|
8
|
+
"Automatically generate a JWT secret": "Automatically generate a JWT secret",
|
|
9
|
+
"Custom domain": "Custom domain",
|
|
10
|
+
"JWT secret": "JWT secret",
|
|
11
|
+
"Manage applications": "Manage applications",
|
|
12
|
+
"Migrate data": "Migrate data",
|
|
13
|
+
"Migrate data to new multi-app": "Migrate data to new multi-app",
|
|
14
|
+
"Migrate successfully": "Migrate successfully",
|
|
15
|
+
"Multi-app is not enabled, please enable it first": "Multi-app is not enabled, please enable it first",
|
|
16
|
+
"Multi-app manager": "Multi-app manager",
|
|
17
|
+
"Multi-app manager (deprecated)": "Multi-app manager (deprecated)",
|
|
18
|
+
"Pin to menu": "Pin to menu",
|
|
19
|
+
"Please enter the port": "Please enter the port",
|
|
20
|
+
"Port": "Port",
|
|
21
|
+
"Standalone deployment": "Standalone deployment",
|
|
22
|
+
"Start mode": "Start mode",
|
|
23
|
+
"Start on first visit": "Start on first visit",
|
|
24
|
+
"Start with main application": "Start with main application",
|
|
25
|
+
"When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate.": "When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate."
|
|
26
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"An independent JWT secret ensures data and session isolation from other applications.": "An independent JWT secret ensures data and session isolation from other applications.",
|
|
3
|
+
"App ID": "App ID",
|
|
4
|
+
"App display name": "App display name",
|
|
5
|
+
"Applications": "Applications",
|
|
6
|
+
"Authentication options": "Authentication options",
|
|
7
|
+
"Auto start": "Auto start",
|
|
8
|
+
"Automatically generate a JWT secret": "Automatically generate a JWT secret",
|
|
9
|
+
"Custom domain": "Custom domain",
|
|
10
|
+
"JWT secret": "JWT secret",
|
|
11
|
+
"Manage applications": "Manage applications",
|
|
12
|
+
"Migrate data": "Migrate data",
|
|
13
|
+
"Migrate data to new multi-app": "Migrate data to new multi-app",
|
|
14
|
+
"Migrate successfully": "Migrate successfully",
|
|
15
|
+
"Multi-app is not enabled, please enable it first": "Multi-app is not enabled, please enable it first",
|
|
16
|
+
"Multi-app manager": "Multi-app manager",
|
|
17
|
+
"Multi-app manager (deprecated)": "Multi-app manager (deprecated)",
|
|
18
|
+
"Pin to menu": "Pin to menu",
|
|
19
|
+
"Please enter the port": "Please enter the port",
|
|
20
|
+
"Port": "Port",
|
|
21
|
+
"Standalone deployment": "Standalone deployment",
|
|
22
|
+
"Start mode": "Start mode",
|
|
23
|
+
"Start on first visit": "Start on first visit",
|
|
24
|
+
"Start with main application": "Start with main application",
|
|
25
|
+
"When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate.": "When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate."
|
|
26
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"An independent JWT secret ensures data and session isolation from other applications.": "An independent JWT secret ensures data and session isolation from other applications.",
|
|
3
|
+
"App ID": "App ID",
|
|
4
|
+
"App display name": "App display name",
|
|
5
|
+
"Applications": "Applications",
|
|
6
|
+
"Authentication options": "Authentication options",
|
|
7
|
+
"Auto start": "Auto start",
|
|
8
|
+
"Automatically generate a JWT secret": "Automatically generate a JWT secret",
|
|
9
|
+
"Custom domain": "Custom domain",
|
|
10
|
+
"JWT secret": "JWT secret",
|
|
11
|
+
"Manage applications": "Manage applications",
|
|
12
|
+
"Migrate data": "Migrate data",
|
|
13
|
+
"Migrate data to new multi-app": "Migrate data to new multi-app",
|
|
14
|
+
"Migrate successfully": "Migrate successfully",
|
|
15
|
+
"Multi-app is not enabled, please enable it first": "Multi-app is not enabled, please enable it first",
|
|
16
|
+
"Multi-app manager": "Multi-app manager",
|
|
17
|
+
"Multi-app manager (deprecated)": "Multi-app manager (deprecated)",
|
|
18
|
+
"Pin to menu": "Pin to menu",
|
|
19
|
+
"Please enter the port": "Please enter the port",
|
|
20
|
+
"Port": "Port",
|
|
21
|
+
"Standalone deployment": "Standalone deployment",
|
|
22
|
+
"Start mode": "Start mode",
|
|
23
|
+
"Start on first visit": "Start on first visit",
|
|
24
|
+
"Start with main application": "Start with main application",
|
|
25
|
+
"When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate.": "When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate."
|
|
26
|
+
}
|
package/dist/locale/zh-CN.json
CHANGED
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"Applications": "应用",
|
|
4
|
-
"App display name": "应用名称",
|
|
2
|
+
"An independent JWT secret ensures data and session isolation from other applications.": "独立的 JWT 密钥,保证与其他应用的数据与会话隔离。",
|
|
5
3
|
"App ID": "应用标识",
|
|
6
|
-
"
|
|
4
|
+
"App display name": "应用名称",
|
|
5
|
+
"Applications": "应用",
|
|
6
|
+
"Authentication options": "认证选项",
|
|
7
|
+
"Auto start": "自动启动",
|
|
8
|
+
"Automatically generate a JWT secret": "自动生成 JWT 密钥",
|
|
7
9
|
"Custom domain": "自定义域名",
|
|
10
|
+
"JWT secret": "JWT 密钥",
|
|
8
11
|
"Manage applications": "管理应用",
|
|
12
|
+
"Migrate data": "迁移数据",
|
|
13
|
+
"Migrate data to new multi-app": "迁移数据至新多应用",
|
|
14
|
+
"Migrate successfully": "迁移成功",
|
|
15
|
+
"Multi-app is not enabled, please enable it first": "多应用未启用,请先启用",
|
|
16
|
+
"Multi-app manager": "多应用管理",
|
|
17
|
+
"Multi-app manager (deprecated)": "多应用管理(已废弃)",
|
|
18
|
+
"Pin to menu": "在菜单上显示",
|
|
19
|
+
"Please enter the port": "请输入端口号",
|
|
20
|
+
"Port": "端口号",
|
|
9
21
|
"Standalone deployment": "独立部署",
|
|
10
|
-
"Auto start": "自动启动",
|
|
11
22
|
"Start mode": "启动方式",
|
|
12
23
|
"Start on first visit": "首次访问时启动",
|
|
13
24
|
"Start with main application": "随主应用一同启动",
|
|
14
|
-
"
|
|
15
|
-
|
|
16
|
-
"Automatically generate a JWT secret": "自动生成 JWT 密钥",
|
|
17
|
-
"An independent JWT secret ensures data and session isolation from other applications.": "独立的 JWT 密钥,保证与其他应用的数据与会话隔离。",
|
|
18
|
-
"Migrate data": "迁移数据",
|
|
19
|
-
"Migrate successfully": "迁移成功",
|
|
20
|
-
"Port": "端口号",
|
|
21
|
-
"When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate.": "迁移数据时,系统会基于该端口号自动为每个应用分配一个递增的端口号,您也可以在迁移后手动修改。",
|
|
22
|
-
"Migrate data to new multi-app": "迁移数据至新多应用",
|
|
23
|
-
"Multi-app is not enabled, please enable it first": "多应用未启用,请先启用",
|
|
24
|
-
"Please enter the port": "请输入端口号"
|
|
25
|
-
}
|
|
25
|
+
"When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate.": "迁移数据时,系统会基于该端口号自动为每个应用分配一个递增的端口号,您也可以在迁移后手动修改。"
|
|
26
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"An independent JWT secret ensures data and session isolation from other applications.": "An independent JWT secret ensures data and session isolation from other applications.",
|
|
3
|
+
"App ID": "App ID",
|
|
4
|
+
"App display name": "App display name",
|
|
5
|
+
"Applications": "Applications",
|
|
6
|
+
"Authentication options": "Authentication options",
|
|
7
|
+
"Auto start": "Auto start",
|
|
8
|
+
"Automatically generate a JWT secret": "Automatically generate a JWT secret",
|
|
9
|
+
"Custom domain": "Custom domain",
|
|
10
|
+
"JWT secret": "JWT secret",
|
|
11
|
+
"Manage applications": "Manage applications",
|
|
12
|
+
"Migrate data": "Migrate data",
|
|
13
|
+
"Migrate data to new multi-app": "Migrate data to new multi-app",
|
|
14
|
+
"Migrate successfully": "Migrate successfully",
|
|
15
|
+
"Multi-app is not enabled, please enable it first": "Multi-app is not enabled, please enable it first",
|
|
16
|
+
"Multi-app manager": "Multi-app manager",
|
|
17
|
+
"Multi-app manager (deprecated)": "Multi-app manager (deprecated)",
|
|
18
|
+
"Pin to menu": "Pin to menu",
|
|
19
|
+
"Please enter the port": "Please enter the port",
|
|
20
|
+
"Port": "Port",
|
|
21
|
+
"Standalone deployment": "Standalone deployment",
|
|
22
|
+
"Start mode": "Start mode",
|
|
23
|
+
"Start on first visit": "Start on first visit",
|
|
24
|
+
"Start with main application": "Start with main application",
|
|
25
|
+
"When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate.": "When migrate data, the system automatically assigns an incrementing port number to each application based on this port number. You can also manually modify port number after the migrate."
|
|
26
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"mariadb","version":"2.5.6","description":"fast mariadb/mysql connector.","main":"promise.js","types":"types/index.d.ts","directories":{"lib":"lib","test":"test"},"private":false,"scripts":{"test":"npm run test:types-prettier && npm run test:prettier && npm run test:types && npm run test:lint && npm run test:base","test:base":"mocha --no-parallel --timeout 5000 \"test/**/*.js\" ","test:lint":"eslint \"{lib,test}/**/*.js\" ","test:types":"eslint \"types/*.ts\" ","test:types-prettier":"prettier --write \"types/*.ts\"","test:prettier":"prettier --write \"{tools,lib,test,benchmarks}/**/*.js\"","coverage":"npm run coverage:test && npm run coverage:report","coverage:test":"nyc mocha --no-parallel --timeout 5000 \"test/**/*.js\"","coverage:report":"nyc report --reporter=text-lcov > coverage.lcov && codecov","benchmark":"node ./benchmarks/benchmarks.js","generate":"node ./tools/generate-mariadb.js"},"repository":{"type":"git","url":"git+https://github.com/mariadb-corporation/mariadb-connector-nodejs.git"},"keywords":["mariadb","mysql","client","driver","connector"],"files":["lib","types/index.d.ts","promise.js","callback.js"],"engines":{"node":">= 10.13"},"author":"Diego Dupin <diego.dupin@mariadb.com>","license":"LGPL-2.1-or-later","dependencies":{"@types/geojson":"^7946.0.8","@types/node":"^17.0.10","denque":"^2.0.1","iconv-lite":"^0.6.3","long":"^5.2.0","moment-timezone":"^0.5.34","please-upgrade-node":"^3.2.0"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^5.10.0","@typescript-eslint/parser":"^5.10.0","benchmark":"^2.1.4","chai":"^4.3.4","codecov":"^3.8.2","chalk":"^4.1.2","dom-parser":"^0.1.6","error-stack-parser":"^2.0.6","eslint":"^8.7.0","eslint-config-prettier":"^8.3.0","eslint-plugin-markdown":"^2.2.1","eslint-plugin-prettier":"^4.0.0","mocha":"^9.2.0","mocha-lcov-reporter":"^1.3.0","nyc":"^15.1.0","prettier":"^2.5.1","typescript":"^4.5.5"},"bugs":{"url":"https://jira.mariadb.org/projects/CONJS/"},"homepage":"https://github.com/mariadb-corporation/mariadb-connector-nodejs#readme","_lastModified":"2025-
|
|
1
|
+
{"name":"mariadb","version":"2.5.6","description":"fast mariadb/mysql connector.","main":"promise.js","types":"types/index.d.ts","directories":{"lib":"lib","test":"test"},"private":false,"scripts":{"test":"npm run test:types-prettier && npm run test:prettier && npm run test:types && npm run test:lint && npm run test:base","test:base":"mocha --no-parallel --timeout 5000 \"test/**/*.js\" ","test:lint":"eslint \"{lib,test}/**/*.js\" ","test:types":"eslint \"types/*.ts\" ","test:types-prettier":"prettier --write \"types/*.ts\"","test:prettier":"prettier --write \"{tools,lib,test,benchmarks}/**/*.js\"","coverage":"npm run coverage:test && npm run coverage:report","coverage:test":"nyc mocha --no-parallel --timeout 5000 \"test/**/*.js\"","coverage:report":"nyc report --reporter=text-lcov > coverage.lcov && codecov","benchmark":"node ./benchmarks/benchmarks.js","generate":"node ./tools/generate-mariadb.js"},"repository":{"type":"git","url":"git+https://github.com/mariadb-corporation/mariadb-connector-nodejs.git"},"keywords":["mariadb","mysql","client","driver","connector"],"files":["lib","types/index.d.ts","promise.js","callback.js"],"engines":{"node":">= 10.13"},"author":"Diego Dupin <diego.dupin@mariadb.com>","license":"LGPL-2.1-or-later","dependencies":{"@types/geojson":"^7946.0.8","@types/node":"^17.0.10","denque":"^2.0.1","iconv-lite":"^0.6.3","long":"^5.2.0","moment-timezone":"^0.5.34","please-upgrade-node":"^3.2.0"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^5.10.0","@typescript-eslint/parser":"^5.10.0","benchmark":"^2.1.4","chai":"^4.3.4","codecov":"^3.8.2","chalk":"^4.1.2","dom-parser":"^0.1.6","error-stack-parser":"^2.0.6","eslint":"^8.7.0","eslint-config-prettier":"^8.3.0","eslint-plugin-markdown":"^2.2.1","eslint-plugin-prettier":"^4.0.0","mocha":"^9.2.0","mocha-lcov-reporter":"^1.3.0","nyc":"^15.1.0","prettier":"^2.5.1","typescript":"^4.5.5"},"bugs":{"url":"https://jira.mariadb.org/projects/CONJS/"},"homepage":"https://github.com/mariadb-corporation/mariadb-connector-nodejs#readme","_lastModified":"2025-12-31T16:46:44.022Z"}
|
package/dist/server/server.d.ts
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
import { IDatabaseOptions, Transactionable } from '@nocobase/database';
|
|
10
10
|
import Application, { Plugin } from '@nocobase/server';
|
|
11
11
|
import { ApplicationModel } from '../server';
|
|
12
|
+
import { Meter } from '@nocobase/telemetry';
|
|
12
13
|
export type AppDbCreator = (app: Application, options?: Transactionable & {
|
|
13
14
|
context?: any;
|
|
14
15
|
applicationModel?: ApplicationModel;
|
|
@@ -19,6 +20,7 @@ export declare class PluginMultiAppManagerServer extends Plugin {
|
|
|
19
20
|
appDbCreator: AppDbCreator;
|
|
20
21
|
appOptionsFactory: AppOptionsFactory;
|
|
21
22
|
subAppUpgradeHandler: SubAppUpgradeHandler;
|
|
23
|
+
meter: Meter;
|
|
22
24
|
static getDatabaseConfig(app: Application): IDatabaseOptions;
|
|
23
25
|
handleSyncMessage(message: any): Promise<void>;
|
|
24
26
|
setSubAppUpgradeHandler(handler: SubAppUpgradeHandler): void;
|
|
@@ -26,5 +28,6 @@ export declare class PluginMultiAppManagerServer extends Plugin {
|
|
|
26
28
|
setAppDbCreator(appDbCreator: AppDbCreator): void;
|
|
27
29
|
beforeLoad(): void;
|
|
28
30
|
beforeEnable(): Promise<void>;
|
|
31
|
+
setMetrics(): void;
|
|
29
32
|
load(): Promise<void>;
|
|
30
33
|
}
|
package/dist/server/server.js
CHANGED
|
@@ -142,13 +142,15 @@ const defaultAppOptionsFactory = (appName, mainApp) => {
|
|
|
142
142
|
cacheManager: {
|
|
143
143
|
...mainApp.options.cacheManager,
|
|
144
144
|
prefix: appName
|
|
145
|
-
}
|
|
145
|
+
},
|
|
146
|
+
logger: mainApp.options.logger
|
|
146
147
|
};
|
|
147
148
|
};
|
|
148
149
|
class PluginMultiAppManagerServer extends import_server.Plugin {
|
|
149
150
|
appDbCreator = defaultDbCreator;
|
|
150
151
|
appOptionsFactory = defaultAppOptionsFactory;
|
|
151
152
|
subAppUpgradeHandler = defaultSubAppUpgradeHandle;
|
|
153
|
+
meter;
|
|
152
154
|
static getDatabaseConfig(app) {
|
|
153
155
|
let oldConfig = app.options.database instanceof import_database.Database ? app.options.database.options : app.options.database;
|
|
154
156
|
if (!oldConfig && app.db) {
|
|
@@ -176,6 +178,10 @@ class PluginMultiAppManagerServer extends import_server.Plugin {
|
|
|
176
178
|
});
|
|
177
179
|
subApp.runCommand("start", "--quickstart");
|
|
178
180
|
}
|
|
181
|
+
if (type === "subAppStopped") {
|
|
182
|
+
const { appName } = message;
|
|
183
|
+
await import_server.AppSupervisor.getInstance().stopApp(appName);
|
|
184
|
+
}
|
|
179
185
|
if (type === "removeApp") {
|
|
180
186
|
const { appName } = message;
|
|
181
187
|
await import_server.AppSupervisor.getInstance().removeApp(appName);
|
|
@@ -200,8 +206,44 @@ class PluginMultiAppManagerServer extends import_server.Plugin {
|
|
|
200
206
|
throw new Error("@nocobase/plugin-multi-app-manager can only be enabled in the main app");
|
|
201
207
|
}
|
|
202
208
|
}
|
|
209
|
+
setMetrics() {
|
|
210
|
+
this.meter = this.app.telemetry.metric.getMeter();
|
|
211
|
+
if (!this.meter) {
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
const subAppStatusGauge = this.meter.createObservableGauge("sub_app_status", {
|
|
215
|
+
description: "Number of sub applications by cached status in supervisor.appStatus"
|
|
216
|
+
});
|
|
217
|
+
this.meter.addBatchObservableCallback(
|
|
218
|
+
(observableResult) => {
|
|
219
|
+
const supervisor = import_server.AppSupervisor.getInstance();
|
|
220
|
+
const allStatuses = { ...supervisor.appStatus };
|
|
221
|
+
const createCounts = () => ({
|
|
222
|
+
preparing: 0,
|
|
223
|
+
initializing: 0,
|
|
224
|
+
initialized: 0,
|
|
225
|
+
running: 0,
|
|
226
|
+
commanding: 0,
|
|
227
|
+
stopped: 0,
|
|
228
|
+
error: 0,
|
|
229
|
+
not_found: 0
|
|
230
|
+
});
|
|
231
|
+
const cachedCounts = createCounts();
|
|
232
|
+
for (let status of Object.values(allStatuses)) {
|
|
233
|
+
if (!status) {
|
|
234
|
+
status = "stopped";
|
|
235
|
+
}
|
|
236
|
+
if (cachedCounts[status] !== void 0) cachedCounts[status]++;
|
|
237
|
+
}
|
|
238
|
+
for (const [status, count] of Object.entries(cachedCounts)) {
|
|
239
|
+
observableResult.observe(subAppStatusGauge, count, { status });
|
|
240
|
+
}
|
|
241
|
+
},
|
|
242
|
+
[subAppStatusGauge]
|
|
243
|
+
);
|
|
244
|
+
}
|
|
203
245
|
async load() {
|
|
204
|
-
|
|
246
|
+
this.setMetrics();
|
|
205
247
|
this.db.on(
|
|
206
248
|
"applications.afterCreateWithAssociations",
|
|
207
249
|
async (model, options) => {
|
|
@@ -220,17 +262,33 @@ class PluginMultiAppManagerServer extends import_server.Plugin {
|
|
|
220
262
|
appName: name
|
|
221
263
|
});
|
|
222
264
|
});
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
context: options.context
|
|
265
|
+
subApp.on("afterStop", async () => {
|
|
266
|
+
this.sendSyncMessage({
|
|
267
|
+
type: "subAppStopped",
|
|
268
|
+
appName: name
|
|
228
269
|
});
|
|
229
|
-
|
|
270
|
+
});
|
|
271
|
+
const quickstart = async () => {
|
|
272
|
+
try {
|
|
273
|
+
await this.appDbCreator(subApp, {
|
|
274
|
+
transaction,
|
|
275
|
+
applicationModel: model,
|
|
276
|
+
context: options.context
|
|
277
|
+
});
|
|
278
|
+
} catch (error) {
|
|
279
|
+
this.log.error(error, { method: "appDbCreator" });
|
|
280
|
+
import_server.AppSupervisor.getInstance().setAppStatus(subApp.name, "error");
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
await import_server.AppSupervisor.getInstance().getApp(subApp.name);
|
|
230
284
|
};
|
|
231
|
-
const startPromise = quickstart();
|
|
232
285
|
if ((_a = options == null ? void 0 : options.context) == null ? void 0 : _a.waitSubAppInstall) {
|
|
233
|
-
await
|
|
286
|
+
await quickstart();
|
|
287
|
+
await subApp.runCommand("start", "--quickstart");
|
|
288
|
+
} else {
|
|
289
|
+
quickstart().catch((err) => {
|
|
290
|
+
this.log.error(err);
|
|
291
|
+
});
|
|
234
292
|
}
|
|
235
293
|
}
|
|
236
294
|
);
|
|
@@ -258,6 +316,9 @@ class PluginMultiAppManagerServer extends import_server.Plugin {
|
|
|
258
316
|
return;
|
|
259
317
|
}
|
|
260
318
|
const mainApp = await appSupervisor.getApp("main");
|
|
319
|
+
if (!mainApp) {
|
|
320
|
+
return;
|
|
321
|
+
}
|
|
261
322
|
const applicationRecord = await mainApp.db.getRepository("applications").findOne({
|
|
262
323
|
filter: {
|
|
263
324
|
name
|
|
@@ -270,9 +331,6 @@ class PluginMultiAppManagerServer extends import_server.Plugin {
|
|
|
270
331
|
if ((instanceOptions == null ? void 0 : instanceOptions.standaloneDeployment) && appSupervisor.runningMode !== "single") {
|
|
271
332
|
return;
|
|
272
333
|
}
|
|
273
|
-
if (!applicationRecord) {
|
|
274
|
-
return;
|
|
275
|
-
}
|
|
276
334
|
const subApp = applicationRecord.registerToSupervisor(mainApp, {
|
|
277
335
|
appOptionsFactory: self.appOptionsFactory
|
|
278
336
|
});
|
|
@@ -282,6 +340,12 @@ class PluginMultiAppManagerServer extends import_server.Plugin {
|
|
|
282
340
|
appName: name
|
|
283
341
|
});
|
|
284
342
|
});
|
|
343
|
+
subApp.on("afterStop", async () => {
|
|
344
|
+
this.sendSyncMessage({
|
|
345
|
+
type: "subAppStopped",
|
|
346
|
+
appName: name
|
|
347
|
+
});
|
|
348
|
+
});
|
|
285
349
|
if (!loadButNotStart) {
|
|
286
350
|
await subApp.runCommand("start", "--quickstart");
|
|
287
351
|
}
|
|
@@ -325,21 +389,11 @@ class PluginMultiAppManagerServer extends import_server.Plugin {
|
|
|
325
389
|
"options.autoStart": true
|
|
326
390
|
}
|
|
327
391
|
});
|
|
328
|
-
const promises = [];
|
|
329
392
|
for (const subAppInstance of subApps) {
|
|
330
|
-
|
|
331
|
-
(async () => {
|
|
332
|
-
if (!appSupervisor.hasApp(subAppInstance.name)) {
|
|
333
|
-
await import_server.AppSupervisor.getInstance().getApp(subAppInstance.name);
|
|
334
|
-
} else if (appSupervisor.getAppStatus(subAppInstance.name) === "initialized") {
|
|
335
|
-
(await import_server.AppSupervisor.getInstance().getApp(subAppInstance.name)).runCommand("start", "--quickstart");
|
|
336
|
-
}
|
|
337
|
-
})()
|
|
338
|
-
);
|
|
393
|
+
import_server.AppSupervisor.getInstance().getApp(subAppInstance.name);
|
|
339
394
|
}
|
|
340
|
-
await Promise.all(promises);
|
|
341
395
|
} catch (err) {
|
|
342
|
-
|
|
396
|
+
this.log.error("Auto register sub applications failed: ", err);
|
|
343
397
|
}
|
|
344
398
|
});
|
|
345
399
|
this.app.on("afterUpgrade", async (app, options) => {
|
|
@@ -353,6 +407,29 @@ class PluginMultiAppManagerServer extends import_server.Plugin {
|
|
|
353
407
|
}
|
|
354
408
|
});
|
|
355
409
|
ctx.body = items;
|
|
410
|
+
await next();
|
|
411
|
+
}
|
|
412
|
+
});
|
|
413
|
+
this.app.resourcer.registerActionHandlers({
|
|
414
|
+
"applications:stop": async (ctx, next) => {
|
|
415
|
+
const { filterByTk } = ctx.action.params;
|
|
416
|
+
import_server.AppSupervisor.getInstance().stopApp(filterByTk);
|
|
417
|
+
ctx.body = "ok";
|
|
418
|
+
await next();
|
|
419
|
+
}
|
|
420
|
+
});
|
|
421
|
+
this.app.resourcer.registerActionHandlers({
|
|
422
|
+
"applications:start": async (ctx, next) => {
|
|
423
|
+
const { filterByTk } = ctx.action.params;
|
|
424
|
+
import_server.AppSupervisor.getInstance().startApp(filterByTk);
|
|
425
|
+
ctx.body = "ok";
|
|
426
|
+
await next();
|
|
427
|
+
}
|
|
428
|
+
});
|
|
429
|
+
this.app.resourcer.registerActionHandlers({
|
|
430
|
+
"applications:memoryUsage": async (ctx, next) => {
|
|
431
|
+
ctx.body = process.memoryUsage();
|
|
432
|
+
await next();
|
|
356
433
|
}
|
|
357
434
|
});
|
|
358
435
|
this.app.acl.allow("applications", "listPinned", "loggedIn");
|
package/package.json
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nocobase/plugin-multi-app-manager",
|
|
3
3
|
"displayName": "Multi-app manager (deprecated)",
|
|
4
|
+
"displayName.ru-RU": "Менеджер мульти-приложений",
|
|
4
5
|
"displayName.zh-CN": "多应用管理器(已废弃)",
|
|
5
6
|
"description": "Multi-app runs applications in a process-sharing manner, suitable for testing and demo environments only. Do not use it in production.",
|
|
7
|
+
"description.ru-RU": "Позволяет динамически создавать несколько приложений без отдельных развертываний.",
|
|
6
8
|
"description.zh-CN": "多应用以进程共享的方式运行,仅适合测试和演示环境,生产环境下请勿使用。",
|
|
7
|
-
"version": "2.
|
|
9
|
+
"version": "2.1.0-alpha.1",
|
|
8
10
|
"license": "AGPL-3.0",
|
|
9
11
|
"main": "./dist/server/index.js",
|
|
10
12
|
"homepage": "https://docs.nocobase.com/handbook/multi-app-manager",
|
|
13
|
+
"homepage.ru-RU": "https://docs-ru.nocobase.com/handbook/multi-app-manager",
|
|
11
14
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/multi-app-manager",
|
|
12
15
|
"devDependencies": {
|
|
13
16
|
"@formily/react": "2.x",
|
|
@@ -28,7 +31,7 @@
|
|
|
28
31
|
"@nocobase/test": "2.x",
|
|
29
32
|
"@nocobase/utils": "2.x"
|
|
30
33
|
},
|
|
31
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "d27baf21569643d6fa83f882233f4e90eb5b89f1",
|
|
32
35
|
"keywords": [
|
|
33
36
|
"system"
|
|
34
37
|
]
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This file is part of the NocoBase (R) project.
|
|
3
|
-
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
-
* Authors: NocoBase Team.
|
|
5
|
-
*
|
|
6
|
-
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
-
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
"use strict";(self.webpackChunk_nocobase_plugin_multi_app_manager=self.webpackChunk_nocobase_plugin_multi_app_manager||[]).push([["959"],{931:function(e,n,t){t.r(n),t.d(n,{AppManager:function(){return g}});var a=t(772),c=t(721),r=t(156),o=t.n(r),u=t(570),i=t(785),p=t(875),l=function(e){var n=e.value,t=e.onChange,a=(0,i.g)().t;return o().createElement(c.Checkbox,{onChange:function(e){e.target.checked?t("".concat((0,p.uid)()).concat((0,p.uid)()).concat((0,p.uid)()).concat((0,p.uid)())):t("")},checked:!!n},a("Automatically generate a JWT secret"))},m=function(){var e=(0,a.useRecord)(),n=(0,a.useApp)();return e.cname?"//".concat(e.cname):n.getRouteUrl("/apps/".concat(e.name,"/admin/"))},s=function(){var e=(0,i.g)().t,n=m();return o().createElement("a",{href:n,target:"_blank",rel:"noreferrer"},e("View",{ns:"client"}))},g=function(){return o().createElement(c.Card,{bordered:!1},o().createElement(a.SchemaComponent,{schema:u.fK,components:{AppVisitor:s,JwtSecretInput:l}}))}}}]);
|