neo-register 1.0.0 → 1.0.2

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/index.esm.js CHANGED
@@ -122,10 +122,7 @@ function isEditorModel(EditorModelClass) {
122
122
  return false;
123
123
  }
124
124
  const _editorPluginObj = new EditorModelClass();
125
- if (!_editorPluginObj.cmpType) {
126
- console.error(`${consoleTag} / registerNeoEditorModel: 自定义组件注册失败,cmpType 不能为空。`);
127
- }
128
- else if (!_editorPluginObj.label) {
125
+ if (!_editorPluginObj.label) {
129
126
  console.error(`${consoleTag} / registerNeoEditorModel: 自定义组件注册失败,名称(label)不能为空。`);
130
127
  }
131
128
  else if (!_editorPluginObj.tags) {
@@ -166,6 +163,9 @@ function isProxy(obj) {
166
163
  function registerNeoEditorModel(curEditorModel, cmpType) {
167
164
  if (curEditorModel && isEditorModel(curEditorModel)) {
168
165
  const curCmpType = cmpType || new curEditorModel().cmpType;
166
+ if (!curCmpType) {
167
+ console.error(`${consoleTag} / registerNeoEditorModel: 自定义组件注册失败,cmpType 不能为空。`);
168
+ }
169
169
  const curEditorModelObj = new curEditorModel();
170
170
  Object.assign(curEditorModel.prototype, {
171
171
  custom: true,
@@ -1 +1 @@
1
- import e from"react";import o from"vue";function t(e,o,t=!0){const r=function(e,o=!0){const t=e&&e.__super?Object.create(e.__super,{__super:{value:e.__super,writable:!1,enumerable:!1}}):Object.create(Object.prototype);return o&&e&&Object.keys(e).forEach(o=>t[o]=e[o]),t}(e,t);return o&&Object.keys(o).forEach(e=>r[e]=o[e]),r}const r="[neo-register]";var s,n;function i(e,o){if(e&&function(e){let o=!1;if(!e)return!1;const t=new e;return t.cmpType?t.label?t.tags?Array.isArray(t.tags)?(t.icon||Object.assign(e.prototype,{icon:"https://neo-widgets.bj.bcebos.com/custom-widget.svg"}),o=!0):console.error(`${r} / registerNeoEditorModel: 自定义组件注册失败,组件分类(tags)格式异常。`):console.error(`${r} / registerNeoEditorModel: 自定义组件注册失败,组件分类(tags)不能为空。`):console.error(`${r} / registerNeoEditorModel: 自定义组件注册失败,名称(label)不能为空。`):console.error(`${r} / registerNeoEditorModel: 自定义组件注册失败,cmpType 不能为空。`),o}(e)){const t=o||(new e).cmpType,s=new e;if(Object.assign(e.prototype,{custom:!0,exposedToDesigner:s.exposedToDesigner??!0,namespace:s.namespace??"neo-cmp-cli",cmpType:t}),window&&window.postMessage){const o=function(e,o){window&&!window.NEOEditorCustomModels&&(window.NEOEditorCustomModels={});if(!window.NEOEditorCustomModels[e])return window.NEOEditorCustomModels[e]=o,e;console.error(`${r}注册自定义组件模型失败,已存在重名插件(${e})。`);return null}(t,e);o&&(console.info(`${r}触发注册自定义组件模型(${t})事件`),window.postMessage({type:"neo-model-register-event",eventMsg:`${r}注册一个 neo-editor 自定义组件模型`,cmpType:t},"*"))}}}function c(r){if(r&&("function"==typeof r||"object"==typeof r)){class s extends e.Component{domRef;vm;isUnmount;constructor(o,t){super(o),this.domRef=e.createRef(),this.isUnmount=!1,this.resolveNeoProps=this.resolveNeoProps.bind(this)}componentDidMount(){const{neoData:e,neoMSTData:s,neoFunc:n}=this.resolveNeoProps(),{data:i,...c}=r="function"==typeof r?new r:r,a=t("function"==typeof i?i():i,e);this.vm=new o({...c,data:()=>a,props:t(n,{...c.props||{},...s})}),Object.keys(n).forEach(e=>{this.vm.$props[e]=n[e]}),this.domRef.current&&this.domRef.current.appendChild(this.vm.$mount().$el)}componentDidUpdate(){if(!this.isUnmount){const{neoData:e}=this.resolveNeoProps();this.vm&&(Object.keys(e).forEach(o=>{this.vm[o]=e[o]}),this.vm.$forceUpdate())}}componentWillUnmount(){this.isUnmount=!0,this.vm&&this.vm.$destroy()}resolveNeoProps(){let e={},o={},t={};return Object.keys(this.props).forEach(r=>{const s=this.props[r];var n;"function"==typeof s?e[r]=s:(n=s)&&(n.$treenode||n.$mstObservable||n.$modelType||n.$modelId||"[object Proxy]"===Object.prototype.toString.call(n))?t[r]=s:o[r]=s}),{neoData:o,neoMSTData:t,neoFunc:e}}reload(){this.vm&&this.vm.reload?this.vm.reload():console.warn("自定义组件暂不支持reload动作。")}doAction(e,o){this.vm&&this.vm.doAction?this.vm.doAction(e,o):console.warn("自定义组件中不存在 doAction。")}render(){return e.createElement("div",{ref:this.domRef})}}return s}}function a(e,o){if(!e)return;const t={cmpType:"",usage:s.renderer,weight:0};var i;if(o&&(i=o,"String"===Object.prototype.toString.call(i).slice(8,-1))?Object.assign(t,{cmpType:o}):Object.assign(t,o),t&&!t.cmpType)console.error(`${r} / registerNeoCmp: 自定义组件注册失败,cmpType 不能为空。`);else{t.framework=t.framework?function(e){let o=n.react;if(!e)return o;let t=e.toLowerCase().trim();switch(t){case"jquery":case"jq":t=n.jquery;break;case"vue2":case"vue 2":case"vue2.0":case"vue 2.0":t=n.vue2;break;case"vue":case"vue3":case"vue 3":case"vue3.0":case"vue 3.0":t=n.vue3,console.error(`${r} 暂不支持 vue3.0 技术栈。`);break;default:t=n.react}return t}(t.framework):function(e){return"object"==typeof e&&(e._compiled&&e.components||e.__file&&e.__file.endsWith(".vue"))}(e)?"vue2":"react",t.usage=function(e){let o=s.renderer;if(!e)return o;let t=e.toLowerCase().trim();switch(t){case"renderer":case"renderers":default:t=s.renderer;break;case"formitem":case"form-item":case"form item":t=s.formitem}return t}(t.usage);const o={renderer:()=>{},formitem:()=>{}},i={react:e=>e,vue2:c,vue3:c}[t.framework](e);if(o[t.usage]){if(window&&window.postMessage){const e=function(e,o){window&&!window.NeoCustomCmps&&(window.NeoCustomCmps={});if(!window.NeoCustomCmps[e])return window.NeoCustomCmps[e]=o,e;console.error(`${r} / registerNeoCmp: 自定义组件注册失败,已存在重名渲染器(${e})。`);return null}(t.cmpType,{cmpType:t.cmpType,weight:t.weight,usage:t.usage,framework:t.framework,component:i,config:t});e&&(console.info(`${r}触发注册自定义组件(${e})事件`),window.postMessage({type:"neo-cmp-register-event",eventMsg:`${r}注册一个自定义组件`,neoRenderer:{cmpType:e,weight:t.weight,usage:t.usage,config:t}},"*"))}}else console.error(`${r} / registerNeoCmp: 自定义组件注册失败,暂不支持 ${t.usage} 组件类型。`)}}!function(e){e.renderer="renderer",e.formitem="formitem"}(s||(s={})),function(e){e.react="react",e.vue2="vue2",e.vue3="vue3",e.jquery="jquery"}(n||(n={}));export{c as createVue2Component,a as registerNeoCmp,i as registerNeoEditorModel};
1
+ import e from"react";import o from"vue";function t(e,o,t=!0){const r=function(e,o=!0){const t=e&&e.__super?Object.create(e.__super,{__super:{value:e.__super,writable:!1,enumerable:!1}}):Object.create(Object.prototype);return o&&e&&Object.keys(e).forEach(o=>t[o]=e[o]),t}(e,t);return o&&Object.keys(o).forEach(e=>r[e]=o[e]),r}const r="[neo-register]";var s,n;function i(e,o){if(e&&function(e){let o=!1;if(!e)return!1;const t=new e;return t.label?t.tags?Array.isArray(t.tags)?(t.icon||Object.assign(e.prototype,{icon:"https://neo-widgets.bj.bcebos.com/custom-widget.svg"}),o=!0):console.error(`${r} / registerNeoEditorModel: 自定义组件注册失败,组件分类(tags)格式异常。`):console.error(`${r} / registerNeoEditorModel: 自定义组件注册失败,组件分类(tags)不能为空。`):console.error(`${r} / registerNeoEditorModel: 自定义组件注册失败,名称(label)不能为空。`),o}(e)){const t=o||(new e).cmpType;t||console.error(`${r} / registerNeoEditorModel: 自定义组件注册失败,cmpType 不能为空。`);const s=new e;if(Object.assign(e.prototype,{custom:!0,exposedToDesigner:s.exposedToDesigner??!0,namespace:s.namespace??"neo-cmp-cli",cmpType:t}),window&&window.postMessage){const o=function(e,o){window&&!window.NEOEditorCustomModels&&(window.NEOEditorCustomModels={});if(!window.NEOEditorCustomModels[e])return window.NEOEditorCustomModels[e]=o,e;console.error(`${r}注册自定义组件模型失败,已存在重名插件(${e})。`);return null}(t,e);o&&(console.info(`${r}触发注册自定义组件模型(${t})事件`),window.postMessage({type:"neo-model-register-event",eventMsg:`${r}注册一个 neo-editor 自定义组件模型`,cmpType:t},"*"))}}}function c(r){if(r&&("function"==typeof r||"object"==typeof r)){class s extends e.Component{domRef;vm;isUnmount;constructor(o,t){super(o),this.domRef=e.createRef(),this.isUnmount=!1,this.resolveNeoProps=this.resolveNeoProps.bind(this)}componentDidMount(){const{neoData:e,neoMSTData:s,neoFunc:n}=this.resolveNeoProps(),{data:i,...c}=r="function"==typeof r?new r:r,a=t("function"==typeof i?i():i,e);this.vm=new o({...c,data:()=>a,props:t(n,{...c.props||{},...s})}),Object.keys(n).forEach(e=>{this.vm.$props[e]=n[e]}),this.domRef.current&&this.domRef.current.appendChild(this.vm.$mount().$el)}componentDidUpdate(){if(!this.isUnmount){const{neoData:e}=this.resolveNeoProps();this.vm&&(Object.keys(e).forEach(o=>{this.vm[o]=e[o]}),this.vm.$forceUpdate())}}componentWillUnmount(){this.isUnmount=!0,this.vm&&this.vm.$destroy()}resolveNeoProps(){let e={},o={},t={};return Object.keys(this.props).forEach(r=>{const s=this.props[r];var n;"function"==typeof s?e[r]=s:(n=s)&&(n.$treenode||n.$mstObservable||n.$modelType||n.$modelId||"[object Proxy]"===Object.prototype.toString.call(n))?t[r]=s:o[r]=s}),{neoData:o,neoMSTData:t,neoFunc:e}}reload(){this.vm&&this.vm.reload?this.vm.reload():console.warn("自定义组件暂不支持reload动作。")}doAction(e,o){this.vm&&this.vm.doAction?this.vm.doAction(e,o):console.warn("自定义组件中不存在 doAction。")}render(){return e.createElement("div",{ref:this.domRef})}}return s}}function a(e,o){if(!e)return;const t={cmpType:"",usage:s.renderer,weight:0};var i;if(o&&(i=o,"String"===Object.prototype.toString.call(i).slice(8,-1))?Object.assign(t,{cmpType:o}):Object.assign(t,o),t&&!t.cmpType)console.error(`${r} / registerNeoCmp: 自定义组件注册失败,cmpType 不能为空。`);else{t.framework=t.framework?function(e){let o=n.react;if(!e)return o;let t=e.toLowerCase().trim();switch(t){case"jquery":case"jq":t=n.jquery;break;case"vue2":case"vue 2":case"vue2.0":case"vue 2.0":t=n.vue2;break;case"vue":case"vue3":case"vue 3":case"vue3.0":case"vue 3.0":t=n.vue3,console.error(`${r} 暂不支持 vue3.0 技术栈。`);break;default:t=n.react}return t}(t.framework):function(e){return"object"==typeof e&&(e._compiled&&e.components||e.__file&&e.__file.endsWith(".vue"))}(e)?"vue2":"react",t.usage=function(e){let o=s.renderer;if(!e)return o;let t=e.toLowerCase().trim();switch(t){case"renderer":case"renderers":default:t=s.renderer;break;case"formitem":case"form-item":case"form item":t=s.formitem}return t}(t.usage);const o={renderer:()=>{},formitem:()=>{}},i={react:e=>e,vue2:c,vue3:c}[t.framework](e);if(o[t.usage]){if(window&&window.postMessage){const e=function(e,o){window&&!window.NeoCustomCmps&&(window.NeoCustomCmps={});if(!window.NeoCustomCmps[e])return window.NeoCustomCmps[e]=o,e;console.error(`${r} / registerNeoCmp: 自定义组件注册失败,已存在重名渲染器(${e})。`);return null}(t.cmpType,{cmpType:t.cmpType,weight:t.weight,usage:t.usage,framework:t.framework,component:i,config:t});e&&(console.info(`${r}触发注册自定义组件(${e})事件`),window.postMessage({type:"neo-cmp-register-event",eventMsg:`${r}注册一个自定义组件`,neoRenderer:{cmpType:e,weight:t.weight,usage:t.usage,config:t}},"*"))}}else console.error(`${r} / registerNeoCmp: 自定义组件注册失败,暂不支持 ${t.usage} 组件类型。`)}}!function(e){e.renderer="renderer",e.formitem="formitem"}(s||(s={})),function(e){e.react="react",e.vue2="vue2",e.vue3="vue3",e.jquery="jquery"}(n||(n={}));export{c as createVue2Component,a as registerNeoCmp,i as registerNeoEditorModel};
package/dist/index.umd.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see index.umd.js.LICENSE.txt */
2
- !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.neoRegister=o():e.neoRegister=o()}(this,function(){return function(){"use strict";var e={n:function(o){var r=o&&o.__esModule?function(){return o.default}:function(){return o};return e.d(r,{a:r}),r},d:function(o,r){for(var t in r)e.o(r,t)&&!e.o(o,t)&&Object.defineProperty(o,t,{enumerable:!0,get:r[t]})},o:function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},o={};e.r(o),e.d(o,{createVue2Component:function(){return y},registerNeoCmp:function(){return b},registerNeoEditorModel:function(){return u}});var r=require("@babel/runtime/helpers/extends"),t=e.n(r);function n(e,o,r){void 0===r&&(r=!0);var t=function(e,o){void 0===o&&(o=!0);var r=e&&e.__super?Object.create(e.__super,{__super:{value:e.__super,writable:!1,enumerable:!1}}):Object.create(Object.prototype);return o&&e&&Object.keys(e).forEach(function(o){return r[o]=e[o]}),r}(e,r);return o&&Object.keys(o).forEach(function(e){return t[e]=o[e]}),t}var i,s,c="[neo-register]";function u(e,o){if(e&&function(e){var o=!1;if(!e)return!1;var r=new e;return r.cmpType?r.label?r.tags?Array.isArray(r.tags)?(r.icon||Object.assign(e.prototype,{icon:"https://neo-widgets.bj.bcebos.com/custom-widget.svg"}),o=!0):console.error(c+" / registerNeoEditorModel: 自定义组件注册失败,组件分类(tags)格式异常。"):console.error(c+" / registerNeoEditorModel: 自定义组件注册失败,组件分类(tags)不能为空。"):console.error(c+" / registerNeoEditorModel: 自定义组件注册失败,名称(label)不能为空。"):console.error(c+" / registerNeoEditorModel: 自定义组件注册失败,cmpType 不能为空。"),o}(e)){var r,t,n=o||(new e).cmpType,i=new e;if(Object.assign(e.prototype,{custom:!0,exposedToDesigner:null==(r=i.exposedToDesigner)||r,namespace:null!=(t=i.namespace)?t:"neo-cmp-cli",cmpType:n}),window&&window.postMessage){var s=function(e,o){return window&&!window.NEOEditorCustomModels&&(window.NEOEditorCustomModels={}),window.NEOEditorCustomModels[e]?(console.error(c+"注册自定义组件模型失败,已存在重名插件("+e+")。"),null):(window.NEOEditorCustomModels[e]=o,e)}(n,e);s&&(console.info(c+"触发注册自定义组件模型("+n+")事件"),window.postMessage({type:"neo-model-register-event",eventMsg:c+"注册一个 neo-editor 自定义组件模型",cmpType:n},"*"))}}}!function(e){e.renderer="renderer",e.formitem="formitem"}(i||(i={})),function(e){e.react="react",e.vue2="vue2",e.vue3="vue3",e.jquery="jquery"}(s||(s={}));var a=require("@babel/runtime/helpers/objectWithoutPropertiesLoose"),p=e.n(a),f=require("@babel/runtime/helpers/inheritsLoose"),m=e.n(f),d=require("react"),l=e.n(d),v=require("vue"),w=e.n(v),g=["data"];function y(e){if(e&&("function"==typeof e||"object"==typeof e))return function(o){function r(e,r){var t;return(t=o.call(this,e)||this).domRef=void 0,t.vm=void 0,t.isUnmount=void 0,t.domRef=l().createRef(),t.isUnmount=!1,t.resolveNeoProps=t.resolveNeoProps.bind(t),t}m()(r,o);var i=r.prototype;return i.componentDidMount=function(){var o=this,r=this.resolveNeoProps(),i=r.neoData,s=r.neoMSTData,c=r.neoFunc,u=e="function"==typeof e?new e:e,a=u.data,f=p()(u,g),m=n("function"==typeof a?a():a,i);this.vm=new(w())(t()({},f,{data:function(){return m},props:n(c,t()({},f.props||{},s))})),Object.keys(c).forEach(function(e){o.vm.$props[e]=c[e]}),this.domRef.current&&this.domRef.current.appendChild(this.vm.$mount().$el)},i.componentDidUpdate=function(){var e=this;if(!this.isUnmount){var o=this.resolveNeoProps().neoData;this.vm&&(Object.keys(o).forEach(function(r){e.vm[r]=o[r]}),this.vm.$forceUpdate())}},i.componentWillUnmount=function(){this.isUnmount=!0,this.vm&&this.vm.$destroy()},i.resolveNeoProps=function(){var e=this,o={},r={},t={};return Object.keys(this.props).forEach(function(n){var i,s=e.props[n];"function"==typeof s?o[n]=s:(i=s)&&(i.$treenode||i.$mstObservable||i.$modelType||i.$modelId||"[object Proxy]"===Object.prototype.toString.call(i))?t[n]=s:r[n]=s}),{neoData:r,neoMSTData:t,neoFunc:o}},i.reload=function(){this.vm&&this.vm.reload?this.vm.reload():console.warn("自定义组件暂不支持reload动作。")},i.doAction=function(e,o){this.vm&&this.vm.doAction?this.vm.doAction(e,o):console.warn("自定义组件中不存在 doAction。")},i.render=function(){return l().createElement("div",{ref:this.domRef})},r}(l().Component)}function b(e,o){if(e){var r,t={cmpType:"",usage:i.renderer,weight:0};if(o&&(r=o,"String"===Object.prototype.toString.call(r).slice(8,-1))?Object.assign(t,{cmpType:o}):Object.assign(t,o),t&&!t.cmpType)console.error(c+" / registerNeoCmp: 自定义组件注册失败,cmpType 不能为空。");else{t.framework=t.framework?function(e){var o=s.react;if(!e)return o;var r=e.toLowerCase().trim();switch(r){case"jquery":case"jq":r=s.jquery;break;case"vue2":case"vue 2":case"vue2.0":case"vue 2.0":r=s.vue2;break;case"vue":case"vue3":case"vue 3":case"vue3.0":case"vue 3.0":r=s.vue3,console.error(c+" 暂不支持 vue3.0 技术栈。");break;default:r=s.react}return r}(t.framework):"object"==typeof(f=e)&&(f._compiled&&f.components||f.__file&&f.__file.endsWith(".vue"))?"vue2":"react",t.usage=function(e){var o=i.renderer;if(!e)return o;var r=e.toLowerCase().trim();switch(r){case"renderer":case"renderers":default:r=i.renderer;break;case"formitem":case"form-item":case"form item":r=i.formitem}return r}(t.usage);var n={react:function(e){return e},vue2:y,vue3:y}[t.framework](e);if({renderer:function(){},formitem:function(){}}[t.usage]){if(window&&window.postMessage){var u=(a=t.cmpType,p={cmpType:t.cmpType,weight:t.weight,usage:t.usage,framework:t.framework,component:n,config:t},window&&!window.NeoCustomCmps&&(window.NeoCustomCmps={}),window.NeoCustomCmps[a]?(console.error(c+" / registerNeoCmp: 自定义组件注册失败,已存在重名渲染器("+a+")。"),null):(window.NeoCustomCmps[a]=p,a));u&&(console.info(c+"触发注册自定义组件("+u+")事件"),window.postMessage({type:"neo-cmp-register-event",eventMsg:c+"注册一个自定义组件",neoRenderer:{cmpType:u,weight:t.weight,usage:t.usage,config:t}},"*"))}}else console.error(c+" / registerNeoCmp: 自定义组件注册失败,暂不支持 "+t.usage+" 组件类型。")}}var a,p,f}return o}()});
2
+ !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.neoRegister=o():e.neoRegister=o()}(this,function(){return function(){"use strict";var e={n:function(o){var r=o&&o.__esModule?function(){return o.default}:function(){return o};return e.d(r,{a:r}),r},d:function(o,r){for(var t in r)e.o(r,t)&&!e.o(o,t)&&Object.defineProperty(o,t,{enumerable:!0,get:r[t]})},o:function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},o={};e.r(o),e.d(o,{createVue2Component:function(){return y},registerNeoCmp:function(){return b},registerNeoEditorModel:function(){return u}});var r=require("@babel/runtime/helpers/extends"),t=e.n(r);function n(e,o,r){void 0===r&&(r=!0);var t=function(e,o){void 0===o&&(o=!0);var r=e&&e.__super?Object.create(e.__super,{__super:{value:e.__super,writable:!1,enumerable:!1}}):Object.create(Object.prototype);return o&&e&&Object.keys(e).forEach(function(o){return r[o]=e[o]}),r}(e,r);return o&&Object.keys(o).forEach(function(e){return t[e]=o[e]}),t}var i,s,c="[neo-register]";function u(e,o){if(e&&function(e){var o=!1;if(!e)return!1;var r=new e;return r.label?r.tags?Array.isArray(r.tags)?(r.icon||Object.assign(e.prototype,{icon:"https://neo-widgets.bj.bcebos.com/custom-widget.svg"}),o=!0):console.error(c+" / registerNeoEditorModel: 自定义组件注册失败,组件分类(tags)格式异常。"):console.error(c+" / registerNeoEditorModel: 自定义组件注册失败,组件分类(tags)不能为空。"):console.error(c+" / registerNeoEditorModel: 自定义组件注册失败,名称(label)不能为空。"),o}(e)){var r,t,n=o||(new e).cmpType;n||console.error(c+" / registerNeoEditorModel: 自定义组件注册失败,cmpType 不能为空。");var i=new e;if(Object.assign(e.prototype,{custom:!0,exposedToDesigner:null==(r=i.exposedToDesigner)||r,namespace:null!=(t=i.namespace)?t:"neo-cmp-cli",cmpType:n}),window&&window.postMessage){var s=function(e,o){return window&&!window.NEOEditorCustomModels&&(window.NEOEditorCustomModels={}),window.NEOEditorCustomModels[e]?(console.error(c+"注册自定义组件模型失败,已存在重名插件("+e+")。"),null):(window.NEOEditorCustomModels[e]=o,e)}(n,e);s&&(console.info(c+"触发注册自定义组件模型("+n+")事件"),window.postMessage({type:"neo-model-register-event",eventMsg:c+"注册一个 neo-editor 自定义组件模型",cmpType:n},"*"))}}}!function(e){e.renderer="renderer",e.formitem="formitem"}(i||(i={})),function(e){e.react="react",e.vue2="vue2",e.vue3="vue3",e.jquery="jquery"}(s||(s={}));var a=require("@babel/runtime/helpers/objectWithoutPropertiesLoose"),p=e.n(a),f=require("@babel/runtime/helpers/inheritsLoose"),d=e.n(f),m=require("react"),l=e.n(m),v=require("vue"),w=e.n(v),g=["data"];function y(e){if(e&&("function"==typeof e||"object"==typeof e))return function(o){function r(e,r){var t;return(t=o.call(this,e)||this).domRef=void 0,t.vm=void 0,t.isUnmount=void 0,t.domRef=l().createRef(),t.isUnmount=!1,t.resolveNeoProps=t.resolveNeoProps.bind(t),t}d()(r,o);var i=r.prototype;return i.componentDidMount=function(){var o=this,r=this.resolveNeoProps(),i=r.neoData,s=r.neoMSTData,c=r.neoFunc,u=e="function"==typeof e?new e:e,a=u.data,f=p()(u,g),d=n("function"==typeof a?a():a,i);this.vm=new(w())(t()({},f,{data:function(){return d},props:n(c,t()({},f.props||{},s))})),Object.keys(c).forEach(function(e){o.vm.$props[e]=c[e]}),this.domRef.current&&this.domRef.current.appendChild(this.vm.$mount().$el)},i.componentDidUpdate=function(){var e=this;if(!this.isUnmount){var o=this.resolveNeoProps().neoData;this.vm&&(Object.keys(o).forEach(function(r){e.vm[r]=o[r]}),this.vm.$forceUpdate())}},i.componentWillUnmount=function(){this.isUnmount=!0,this.vm&&this.vm.$destroy()},i.resolveNeoProps=function(){var e=this,o={},r={},t={};return Object.keys(this.props).forEach(function(n){var i,s=e.props[n];"function"==typeof s?o[n]=s:(i=s)&&(i.$treenode||i.$mstObservable||i.$modelType||i.$modelId||"[object Proxy]"===Object.prototype.toString.call(i))?t[n]=s:r[n]=s}),{neoData:r,neoMSTData:t,neoFunc:o}},i.reload=function(){this.vm&&this.vm.reload?this.vm.reload():console.warn("自定义组件暂不支持reload动作。")},i.doAction=function(e,o){this.vm&&this.vm.doAction?this.vm.doAction(e,o):console.warn("自定义组件中不存在 doAction。")},i.render=function(){return l().createElement("div",{ref:this.domRef})},r}(l().Component)}function b(e,o){if(e){var r,t={cmpType:"",usage:i.renderer,weight:0};if(o&&(r=o,"String"===Object.prototype.toString.call(r).slice(8,-1))?Object.assign(t,{cmpType:o}):Object.assign(t,o),t&&!t.cmpType)console.error(c+" / registerNeoCmp: 自定义组件注册失败,cmpType 不能为空。");else{t.framework=t.framework?function(e){var o=s.react;if(!e)return o;var r=e.toLowerCase().trim();switch(r){case"jquery":case"jq":r=s.jquery;break;case"vue2":case"vue 2":case"vue2.0":case"vue 2.0":r=s.vue2;break;case"vue":case"vue3":case"vue 3":case"vue3.0":case"vue 3.0":r=s.vue3,console.error(c+" 暂不支持 vue3.0 技术栈。");break;default:r=s.react}return r}(t.framework):"object"==typeof(f=e)&&(f._compiled&&f.components||f.__file&&f.__file.endsWith(".vue"))?"vue2":"react",t.usage=function(e){var o=i.renderer;if(!e)return o;var r=e.toLowerCase().trim();switch(r){case"renderer":case"renderers":default:r=i.renderer;break;case"formitem":case"form-item":case"form item":r=i.formitem}return r}(t.usage);var n={react:function(e){return e},vue2:y,vue3:y}[t.framework](e);if({renderer:function(){},formitem:function(){}}[t.usage]){if(window&&window.postMessage){var u=(a=t.cmpType,p={cmpType:t.cmpType,weight:t.weight,usage:t.usage,framework:t.framework,component:n,config:t},window&&!window.NeoCustomCmps&&(window.NeoCustomCmps={}),window.NeoCustomCmps[a]?(console.error(c+" / registerNeoCmp: 自定义组件注册失败,已存在重名渲染器("+a+")。"),null):(window.NeoCustomCmps[a]=p,a));u&&(console.info(c+"触发注册自定义组件("+u+")事件"),window.postMessage({type:"neo-cmp-register-event",eventMsg:c+"注册一个自定义组件",neoRenderer:{cmpType:u,weight:t.weight,usage:t.usage,config:t}},"*"))}}else console.error(c+" / registerNeoCmp: 自定义组件注册失败,暂不支持 "+t.usage+" 组件类型。")}}var a,p,f}return o}()});
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * neo-register v1.0.0
2
+ * neo-register v1.0.2
3
3
  * author: wibetter
4
4
  * build tool: AKFun
5
- * build time: Wed Sep 10 2025 13:41:28 GMT+0800 (中国标准时间)
5
+ * build time: Fri Sep 19 2025 15:47:14 GMT+0800 (中国标准时间)
6
6
  * build tool info: https://github.com/wibetter/akfun
7
7
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neo-register",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "neo自定义组件注册器(支持 react 和 vue2.0 技术栈),主要用于注册 neo 自定义组件、neo-editor 自定义组件模型。",
5
5
  "keywords": [
6
6
  "neo自定义组件注册器",
@@ -50,7 +50,7 @@
50
50
  "@types/vue": "^1.0.31",
51
51
  "husky": "^4.2.5",
52
52
  "lint-staged": "^10.2.9",
53
- "neo-cmp-cli": "^1.0.0",
53
+ "neo-cmp-cli": "^1.1.6",
54
54
  "prettier": "^2.0.5",
55
55
  "react": "^16.9.0",
56
56
  "react-dom": "^16.9.0"