@govflanders/vl-widget-core
Advanced tools
Comparing version 1.2.0 to 1.2.1
@@ -1,1 +0,1 @@ | ||
"use strict";function _interopDefault(t){return t&&"object"==typeof t&&"default"in t?t.default:t}Object.defineProperty(exports,"__esModule",{value:!0});var Vue=_interopDefault(require("vue")),vlWidgetUtility=require("@govflanders/vl-widget-utility"),vlWidgetPlugin=require("@govflanders/vl-widget-plugin"),vlWidgetDependencyInjection=require("@govflanders/vl-widget-dependency-injection"),vlWidgetEvent=require("@govflanders/vl-widget-event"),vlWidgetModule=require("@govflanders/vl-widget-module"),vlWidgetRenderEngine=require("@govflanders/vl-widget-render-engine"),extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};function __extends(t,e){function n(){this.constructor=t}extendStatics(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}function __decorate(t,e,n,o){var r,i=arguments.length,u=i<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)u=Reflect.decorate(t,e,n,o);else for(var s=t.length-1;0<=s;s--)(r=t[s])&&(u=(i<3?r(u):3<i?r(e,n,u):r(e,n))||u);return 3<i&&u&&Object.defineProperty(e,n,u),u}function __metadata(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function __awaiter(i,u,s,a){return new(s||(s=Promise))(function(t,e){function n(t){try{r(a.next(t))}catch(t){e(t)}}function o(t){try{r(a.throw(t))}catch(t){e(t)}}function r(e){e.done?t(e.value):new s(function(t){t(e.value)}).then(n,o)}r((a=a.apply(i,u||[])).next())})}function __generator(n,o){var r,i,u,t,s={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return t={next:e(0),throw:e(1),return:e(2)},"function"==typeof Symbol&&(t[Symbol.iterator]=function(){return this}),t;function e(e){return function(t){return function(e){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,i&&(u=i[2&e[0]?"return":e[0]?"throw":"next"])&&!(u=u.call(i,e[1])).done)return u;switch(i=0,u&&(e=[0,u.value]),e[0]){case 0:case 1:u=e;break;case 4:return s.label++,{value:e[1],done:!1};case 5:s.label++,i=e[1],e=[0];continue;case 7:e=s.ops.pop(),s.trys.pop();continue;default:if(!(u=0<(u=s.trys).length&&u[u.length-1])&&(6===e[0]||2===e[0])){s=0;continue}if(3===e[0]&&(!u||e[1]>u[0]&&e[1]<u[3])){s.label=e[1];break}if(6===e[0]&&s.label<u[1]){s.label=u[1],u=e;break}if(u&&s.label<u[2]){s.label=u[2],s.ops.push(e);break}u[2]&&s.ops.pop(),s.trys.pop();continue}e=o.call(n,s)}catch(t){e=[6,t],i=0}finally{r=u=0}if(5&e[0])throw e[1];return{value:e[0]?e[1]:void 0,done:!0}}([e,t])}}}!function(t){t.StyleSheet="stylesheet",t.Script="script"}(exports.AssetType||(exports.AssetType={}));var AssetBase=function(){function t(t,e){this.options=t,this.document=e}return t.prototype.getDocument=function(){return this.document},t.prototype.getMountElement=function(){return this.getDocument().head},t.prototype.getOptions=function(){return this.options},t.prototype.isMounted=function(){return!!this.element&&!!this.element.parentNode},t.prototype.mount=function(){var i=this;return Promise.resolve().then(function(){return i.isMounted()?i:i.createElement().then(function(r){return new Promise(function(t,n){i.element=r;function o(){r.removeEventListener("load",o),r.removeEventListener("error",e),t(i)}var e=function t(){r.removeEventListener("load",o),r.removeEventListener("error",t);var e=new vlWidgetUtility.Error.RuntimeError("Asset "+i.getType()+" failed to resolve");i.unmount().then(function(){return n(e)}).catch(function(){return n(e)})};r.addEventListener("load",o),r.removeEventListener("error",e),vlWidgetUtility.Browser.DOM.mount(r,i.getMountElement()),i.getOptions().reference||o()})})})},t.prototype.unmount=function(){var e=this;return Promise.resolve().then(function(){return e.isMounted()?Promise.resolve().then(function(){var t=e.element;return t&&vlWidgetUtility.Browser.DOM.unmount(t),e.element=void 0,e}):e})},t.prototype.remount=function(){var t=this;return this.unmount().then(function(){return t.mount()})},t}(),DefaultScriptAsset=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.getMountElement=function(){return this.getDocument().body},e.prototype.createElement=function(){var o=this;return Promise.resolve().then(function(){var t=o.getOptions(),e=o.getDocument(),n=e.createElement("script");return(t.attributes||[]).forEach(function(t){n.setAttribute(t.name,""+t.value)}),n.setAttribute("type",t.type||"text/javascript"),t.reference?n.setAttribute("src",t.value):vlWidgetUtility.Browser.DOM.mount(e.createTextNode(t.value),n),n})},e.prototype.getType=function(){return exports.AssetType.Script},e}(AssetBase),DefaultStyleSheetAsset=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.createElement=function(){var o=this;return Promise.resolve().then(function(){var t=o.getOptions(),e=o.getDocument(),n=e.createElement(t.reference?"link":"style");return(t.attributes||[]).forEach(function(t){n.setAttribute(t.name,""+t.value)}),n.setAttribute("type",t.type||"text/css"),t.reference?(n.setAttribute("rel","stylesheet"),n.setAttribute("href",t.value)):vlWidgetUtility.Browser.DOM.mount(e.createTextNode(t.value),n),n})},e.prototype.getType=function(){return exports.AssetType.StyleSheet},e}(AssetBase),AssetManagerBase=function(){function t(){this.mounted=!1,this.assets=[]}return t.prototype.has=function(e){return-1<this.assets.findIndex(function(t){return t===e})},t.prototype.add=function(t){for(var e=0,n=Array.isArray(t)?t:[t];e<n.length;e++){var o=n[e];this.has(o)||(this.assets.push(o),this.isMounted()&&o.mount())}return this},t.prototype.remove=function(t){for(var e=Array.isArray(t)?t:[t],n=function(e){var t=o.assets.findIndex(function(t){return t===e});-1<t&&(o.assets=o.assets.slice(t,1),e.unmount())},o=this,r=0,i=e;r<i.length;r++){n(i[r])}return this},t.prototype.list=function(t){return t?this.assets.filter(t):this.assets.concat()},t.prototype.isMounted=function(){return this.mounted},t.prototype.mount=function(t){var n=this;return Promise.resolve().then(function(){return n.mounted=!0}).then(function(){var e=[];return n.list(t).forEach(function(t){e.push(t.mount())}),Promise.all(e)}).then(function(){return n})},t.prototype.unmount=function(t){var n=this;return Promise.resolve().then(function(){var e=[];return n.list(t).forEach(function(t){e.push(t.mount())}),Promise.all(e)}).then(function(){return n.mounted=!1}).then(function(){return n})},t.prototype.remount=function(t){var n=this;return Promise.resolve().then(function(){return n.mounted=!0}).then(function(){var e=[];return n.list(t).forEach(function(t){e.push(t.remount())}),Promise.all(e)}).then(function(){return n})},t}(),DefaultAssetManager=function(n){function t(t){var e=n.call(this)||this;return e.document=t,e}return __extends(t,n),t.prototype.getDocument=function(){return this.document},t.prototype.create=function(t,e){var n=this.getDocument();switch(t){case exports.AssetType.Script:return new DefaultScriptAsset(e,n);case exports.AssetType.StyleSheet:return new DefaultStyleSheetAsset(e,n);default:throw new vlWidgetUtility.Error.InvalidArgumentError('Asset type "'+t+'" is invalid')}},t}(AssetManagerBase);function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var PlatformRuntimeConfigBase=function(){function t(){}return t.prototype.getBoolean=function(t,e){var n=this.get(t,e);switch(_typeof(n)){case"boolean":return n;case"string":return"true"===n;default:return!!n}},t.prototype.getString=function(t,e){var n=this.get(t,e);switch(_typeof(n)){case"string":return n;default:return""+n}},t.prototype.getInteger=function(t,e){var n=this.get(t,e);switch(_typeof(n)){case"number":return n;default:return parseInt(n,10)}},t.prototype.getFloat=function(t,e){var n=this.get(t,e);switch(_typeof(n)){case"number":return n;default:return parseFloat(n)}},t}();!function(t){t.PluginContextProcessor="plugin.context.processor",t.PluginExtension="plugin.extension",t.Widget="widget"}(exports.PlatformRegistrationType||(exports.PlatformRegistrationType={}));var PLUGIN_CONTEXT_PROCESSOR_SERVICE="plugin.context.processor",DefaultPluginContextProcessorDiscovery=function(n){function t(t,e){return n.call(this,t,e,PLUGIN_CONTEXT_PROCESSOR_SERVICE)||this}return __extends(t,n),t}(vlWidgetPlugin.ModulePluginContextProcessorDiscovery),WidgetContextProcessorBase=function(c){function t(){return null!==c&&c.apply(this,arguments)||this}return __extends(t,c),t.prototype.getPluginExtensionContexts=function(t,e){return Promise.resolve(t.extensions||[])},t.prototype.onPostProcess=function(a,l){return __awaiter(this,void 0,void 0,function(){var e,n,o,r,i,u,s;return __generator(this,function(t){switch(t.label){case 0:return[4,c.prototype.onPostProcess.call(this,a,l)];case 1:return e=t.sent(),[4,this.getPluginExtensionContexts(e,l)];case 2:if(!(0<(n=t.sent()).length))return[3,9];o=[],r=0,i=n,t.label=3;case 3:if(!(r<i.length))return[3,8];u=i[r],t.label=4;case 4:return t.trys.push([4,6,,7]),[4,l.process(u)];case 5:return s=t.sent(),o.push(s),[3,7];case 6:return t.sent(),[3,7];case 7:return r++,[3,3];case 8:return e.extensions=o,[3,10];case 9:e.extensions=[],t.label=10;case 10:return[2,e]}})})},t}(vlWidgetPlugin.PluginContextProcessorBase),DefaultWidgetContextProcessor=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e}(WidgetContextProcessorBase),PluginExtensionContextProcessorBase=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e}(vlWidgetPlugin.PluginContextProcessorBase),DefaultPluginExtensionContextProcessor=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e}(PluginExtensionContextProcessorBase),DefaultWidgetContextProcessorFactory=function(){function t(){}return t.prototype.createPluginContextProcessor=function(t){return Promise.resolve().then(function(){return new DefaultWidgetContextProcessor})},t=__decorate([vlWidgetDependencyInjection.injectable()],t)}(),DefaultPluginExtensionContextProcessorFactory=function(){function t(){}return t.prototype.createPluginContextProcessor=function(t){return Promise.resolve().then(function(){return new DefaultPluginExtensionContextProcessor})},t=__decorate([vlWidgetDependencyInjection.injectable()],t)}(),DefaultPluginContextPipeline=function(o){function t(t,e){var n=o.call(this,e)||this;return n.moduleManager=t,n}return __extends(t,o),t.prototype.getModuleManager=function(){return this.moduleManager},t.prototype.process=function(t){var e=this,n=this.getModuleManager();return vlWidgetPlugin.installPluginContext(n,t).then(function(){return o.prototype.process.call(e,t)})},t=__decorate([vlWidgetDependencyInjection.injectable(),__metadata("design:paramtypes",[Object,Object])],t)}(vlWidgetPlugin.PluginContextPipelineBase),WIDGET_FACTORY_SERVICE="widget.factory",DefaultWidgetDiscovery=function(e){function t(t){return e.call(this,t.getModuleManager(),t.getServiceContainer(),WIDGET_FACTORY_SERVICE)||this}return __extends(t,e),t}(vlWidgetPlugin.ModulePluginDiscovery),PLUGIN_EXTENSION_FACTORY_SERVICE="plugin.extension.factory",DefaultPluginExtensionDiscovery=function(n){function t(t){var e=t.getRuntime();return n.call(this,e.getModuleManager(),e.getServiceContainer(),PLUGIN_EXTENSION_FACTORY_SERVICE)||this}return __extends(t,n),t}(vlWidgetPlugin.ModulePluginDiscovery),DefaultWidgetManager=function(e){function t(t){return e.call(this,t,new DefaultWidgetDiscovery(t))||this}return __extends(t,e),t.prototype.createPluginInstance=function(t){return e.prototype.createPluginInstance.call(this,t).then(function(t){return t.getRuntime().emit(new vlWidgetPlugin.GenericPluginEvent("vl.widget.created",t)),t})},t.prototype.mount=function(e){return this.each(function(t){return!e||e(t)?t.mount():Promise.resolve(t)})},t.prototype.unmount=function(e){return this.each(function(t){return!e||e(t)?t.unmount():Promise.resolve(t)})},t.prototype.remount=function(e){return this.each(function(t){return!e||e(t)?t.remount():Promise.resolve(t)})},t}(vlWidgetPlugin.PluginManagerBase),DefaultPluginExtensionManager=function(e){function t(t){return e.call(this,t,new DefaultPluginExtensionDiscovery(t))||this}return __extends(t,e),t}(vlWidgetPlugin.PluginExtensionManagerBase),PluginExtensionBase=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.onReady=function(){var e=this;return t.prototype.onReady.call(this).then(function(){return e.addEventBroadcast(function(t){return e.getPluginHost().emit(t.prefix(e.getPluginTypeId()))})}).then(function(){return e.getRuntime().getWidget().on("beforeMount",function(){return e.invokeHook("beforeMount")}).on("beforeUnmount",function(){return e.invokeHook("beforeUnmount")}).on("mounted",function(){return e.invokeHook("mounted")}).on("unmounted",function(){return e.invokeHook("unmounted")}),e}).then(function(){return e.isMounted()&&e.invokeHook("beforeMount").then(function(){return e.invokeHook("mounted")}),e})},e.prototype.onBeforeMount=function(){return Promise.resolve(this)},e.prototype.onMounted=function(){return Promise.resolve(this)},e.prototype.onBeforeUnmount=function(){return Promise.resolve(this)},e.prototype.onUnmounted=function(){return Promise.resolve(this)},e.prototype.isMounted=function(){return this.getRuntime().getWidget().isMounted()},e.prototype.createRuntime=function(){return new PluginExtensionWidgetRuntime(this)},e.prototype.getRuntime=function(){return void 0===this.pluginRuntime&&(this.pluginRuntime=this.createRuntime()),this.pluginRuntime},e}(vlWidgetPlugin.PluginBase),UIPluginExtensionBase=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return __extends(t,e),t.prototype.getComponentRoot=function(){return void 0===this.componentRoot&&(this.componentRoot=this.createComponentRoot()),this.componentRoot},t.prototype.getComponentStore=function(){return void 0===this.componentStore&&(this.componentStore=this.createComponentStore()),this.componentStore},t.prototype.onReady=function(){var t=this;return e.prototype.onReady.call(this).then(function(){return t.attachComponentRoot()})},t}(PluginExtensionBase),ExtensiblePluginExtensionBase=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.createExtensionManager=function(){return new DefaultPluginExtensionManager(this)},e.prototype.onReady=function(){var e=this;return t.prototype.onReady.call(this).then(function(){return e.addEventBroadcast(function(t){return e.getPluginHost().emit(t.prefix(e.getPluginTypeId()))})}).then(function(){return e.getRuntime().getWidget().on("beforeMount",function(){return e.invokeHook("beforeMount")}).on("beforeUnmount",function(){return e.invokeHook("beforeUnmount")}).on("mounted",function(){return e.invokeHook("mounted")}).on("unmounted",function(){return e.invokeHook("unmounted")}),e}).then(function(){return e.isMounted()&&e.invokeHook("beforeMount").then(function(){return e.invokeHook("mounted")}),e})},e.prototype.onBeforeMount=function(){return Promise.resolve(this)},e.prototype.onMounted=function(){return Promise.resolve(this)},e.prototype.onBeforeUnmount=function(){return Promise.resolve(this)},e.prototype.onUnmounted=function(){return Promise.resolve(this)},e.prototype.isMounted=function(){return this.getRuntime().getWidget().isMounted()},e.prototype.createRuntime=function(){return new PluginExtensionWidgetRuntime(this)},e.prototype.getRuntime=function(){return void 0===this.pluginRuntime&&(this.pluginRuntime=this.createRuntime()),this.pluginRuntime},e}(vlWidgetPlugin.ExtensiblePluginBase),ExtensibleUIPluginExtensionBase=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return __extends(t,e),t.prototype.getComponentRoot=function(){return void 0===this.componentRoot&&(this.componentRoot=this.createComponentRoot()),this.componentRoot},t.prototype.getComponentStore=function(){return void 0===this.componentStore&&(this.componentStore=this.createComponentStore()),this.componentStore},t.prototype.onReady=function(){var t=this;return e.prototype.onReady.call(this).then(function(){return t.attachComponentRoot()})},t}(ExtensiblePluginExtensionBase),WidgetBase=function(n){function t(){return null!==n&&n.apply(this,arguments)||this}return __extends(t,n),t.prototype.onReady=function(){var e=this;return n.prototype.onReady.call(this).then(function(){return e.addEventBroadcast(function(t){return e.getPluginHost().emit(t.prefix("vl.widget."+e.getPluginTypeId()))})})},t.prototype.onBeforeMount=function(){return Promise.resolve(this)},t.prototype.onMounted=function(){return Promise.resolve(this)},t.prototype.onBeforeUnmount=function(){return Promise.resolve(this)},t.prototype.onUnmounted=function(){return Promise.resolve(this)},t.prototype.validatePluginContext=function(t){if(n.prototype.validatePluginContext.call(this,t),"string"!=typeof t.id)throw new vlWidgetPlugin.PluginError(this,'Context property "id" should be a string');if(t.extensions&&!Array.isArray(t.extensions))throw new vlWidgetPlugin.PluginError(this,'Context property "extensions" should be an array')},t.prototype.resolveExtensionContexts=function(t){var e=this;return Promise.resolve().then(function(){switch(t){case vlWidgetPlugin.PluginExtensionConstraint.Optional:return e.getPluginContext().extensions||[];default:return[]}})},t.prototype.createExtensionManager=function(){return new DefaultPluginExtensionManager(this)},t.prototype.getComponentRoot=function(){return void 0===this.componentRoot&&(this.componentRoot=this.createComponentRoot()),this.componentRoot},t.prototype.getComponentStore=function(){return void 0===this.componentStore&&(this.componentStore=this.createComponentStore()),this.componentStore},t.prototype.createAssetManager=function(){if(!vlWidgetUtility.Environment.isBrowser())throw new vlWidgetUtility.Error.RuntimeError("Asset manager requires a browser runtime");return new DefaultAssetManager(window.document)},t.prototype.getAssetManager=function(){return void 0===this.assetManager&&(this.assetManager=this.createAssetManager()),this.assetManager},t.prototype.getPluginId=function(){return this.getPluginContext().id},t.prototype.createRuntime=function(){return new DefaultWidgetRuntime(this)},t.prototype.getRuntime=function(){return void 0===this.widgetRuntime&&(this.widgetRuntime=this.createRuntime()),this.widgetRuntime},t.prototype.getElement=function(){var t=this.getComponentRoot(),e=t.$el||null;if(null===e&&(t.$mount(),e=t.$el||null),null===e)throw new vlWidgetPlugin.PluginError(this,"Cannot resolve widget element");return e},t.prototype.getCurrentMountElement=function(){return this.currentMountElement||null},t.prototype.getMountElement=function(){return this.mountElement||null},t.prototype.setMountElement=function(t){return t!==this.getMountElement()&&(this.mountElement=t||void 0),this},t.prototype.isMounted=function(){return null!==this.getCurrentMountElement()},t.prototype.mount=function(){var n=this;return Promise.resolve().then(function(){var e=n.getMountElement();return n.isMounted()||null===e?n:n.invokeHook("beforeMount").then(function(){return n.getAssetManager().mount()}).then(function(){var t=n.getElement();return n.currentMountElement=vlWidgetUtility.Browser.DOM.replaceWith(e,t),n.getComponentRoot().$forceUpdate(),n.invokeHook("mounted")})})},t.prototype.unmount=function(){var e=this;return Promise.resolve().then(function(){var t=e.getCurrentMountElement();return e.isMounted()&&null!==t?e.invokeHook("beforeUnmount").then(function(){return vlWidgetUtility.Browser.DOM.replaceWith(e.getElement(),t),e.currentMountElement=void 0,e.invokeHook("unmounted")}).then(function(){return e.getAssetManager().unmount().then(function(){return e})}):e})},t.prototype.remount=function(){var t=this;return this.unmount().then(function(){return t.mount()})},t}(vlWidgetPlugin.ExtensiblePluginBase);function registerPluginContextProcessor(t,e){if("string"!=typeof t.pluginTypeId||"function"!=typeof t.pluginContextProcessorFactory)throw new vlWidgetUtility.Error.InvalidArgumentError("Plugin context processor registration should contain the following properties: pluginTypeId and pluginContextProcessorFactory");e.getServiceContainer().bind(PLUGIN_CONTEXT_PROCESSOR_SERVICE).to(t.pluginContextProcessorFactory).inSingletonScope().whenTargetNamed(t.pluginTypeId)}function registerPluginExtension(t,e){if("string"!=typeof t.pluginTypeId||"function"!=typeof t.pluginFactory)throw new vlWidgetUtility.Error.InvalidArgumentError("Plugin extension registration should contain the following properties: pluginTypeId and pluginFactory");e.getServiceContainer().bind(PLUGIN_EXTENSION_FACTORY_SERVICE).to(t.pluginFactory).inSingletonScope().whenTargetNamed(t.pluginTypeId)}function registerWidget(t,e){if("string"!=typeof t.pluginTypeId||"function"!=typeof t.pluginFactory)throw new vlWidgetUtility.Error.InvalidArgumentError("Widget registration should contain the following properties: pluginTypeId and pluginFactory");e.getServiceContainer().bind(WIDGET_FACTORY_SERVICE).to(t.pluginFactory).inSingletonScope().whenTargetNamed(t.pluginTypeId)}!function(t){t.Browser="browser",t.WebWorker="webworker",t.Server="server"}(exports.PlatformRuntimeEnvironment||(exports.PlatformRuntimeEnvironment={}));var WidgetRuntimeBase=function(){function t(){}return t.prototype.createServiceContainer=function(){var t=new vlWidgetDependencyInjection.DefaultServiceContainer;return t.bind("platform.runtime").toConstantValue(this),t.bind("plugin").toConstantValue(this.getPlugin()),t.bind("widget").toConstantValue(this.getWidget()),t},t.prototype.getServiceContainer=function(){return void 0===this.serviceContainer&&(this.serviceContainer=this.createServiceContainer(),this.linkServiceContainer(this.serviceContainer)),this.serviceContainer},t.prototype.getVersion=function(){return this.getWidget().getPluginHost().getVersion()},t.prototype.emit=function(t){return this.getWidget().getPluginHost().emit(t)},t.prototype.on=function(t,e){return this.getWidget().getPluginHost().on(t,e),this},t.prototype.off=function(t,e){return this.getWidget().getPluginHost().off(t,e),this},t.prototype.once=function(t,e){return this.getWidget().getPluginHost().once(t,e),this},t.prototype.addEventListener=function(t,e){return this.getWidget().getPluginHost().addEventListener(t,e),this},t.prototype.removeEventListener=function(t,e){return this.getWidget().getPluginHost().removeEventListener(t,e),this},t.prototype.addEventBroadcast=function(t){return this.getWidget().getPluginHost().addEventBroadcast(t),this},t.prototype.removeEventBroadcast=function(t){return this.getWidget().getPluginHost().removeEventBroadcast(t),this},t.prototype.getEventBroadcast=function(){return this.getWidget().getPluginHost().getEventBroadcast()},t.prototype.getModuleManager=function(){return this.getWidget().getPluginHost().getModuleManager()},t.prototype.getWidgetManager=function(){return this.getWidget().getPluginHost().getWidgetManager()},t.prototype.capture=function(t,e){return this.getWidget().getPluginHost().capture(t,e)},t.prototype.getEnvironment=function(){return this.getWidget().getPluginHost().getEnvironment()},t.prototype.getConfiguration=function(){return this.getWidget().getPluginHost().getConfiguration()},t.prototype.bootstrap=function(t){return this.getWidget().getPluginHost().bootstrap(t)},t.prototype.register=function(t){return this.getWidget().getPluginHost().register(t)},t}(),DefaultWidgetRuntime=function(n){function t(t){var e=n.call(this)||this;return e.widget=t,e}return __extends(t,n),t.prototype.getPlugin=function(){return this.getWidget()},t.prototype.linkServiceContainer=function(t){t.parent=this.getWidget().getPluginHost().getServiceContainer()},t.prototype.getWidget=function(){return this.widget},t}(WidgetRuntimeBase),PluginExtensionWidgetRuntime=function(n){function t(t){var e=n.call(this)||this;return e.pluginExtension=t,e}return __extends(t,n),t.prototype.linkServiceContainer=function(t){t.parent=this.getWidget().getRuntime().getServiceContainer()},t.prototype.getPlugin=function(){return this.pluginExtension},t.prototype.getWidget=function(){return this.getPlugin().getPluginHost().getRuntime().getWidget()},t}(WidgetRuntimeBase),PlatformRuntimeBase=function(){function t(t){this.moduleLoader=t,this.widgetCaptureQueue=[],this.initialize()}return t.prototype.initialize=function(){var i=this;this.on("vl.widget.created",function(r){vlWidgetUtility.Utility.nextTick(function(){for(var n=r.getSender(),t=function(e){vlWidgetUtility.Utility.nextTick(function(){var t="function"==typeof e.filter?e.filter:null;null!==t&&!t(n)||e.callback(n)})},e=0,o=i.widgetCaptureQueue;e<o.length;e++){t(o[e])}})})},t.prototype.createEventEmitter=function(){return new vlWidgetEvent.DefaultEventEmitter},t.prototype.getEventEmitter=function(){return void 0===this.eventEmitter&&(this.eventEmitter=this.createEventEmitter()),this.eventEmitter},t.prototype.emit=function(t){return this.getEventEmitter().emit(t)},t.prototype.on=function(t,e){return this.getEventEmitter().on(t,e),this},t.prototype.off=function(t,e){return this.getEventEmitter().off(t,e),this},t.prototype.once=function(t,e){return this.getEventEmitter().once(t,e),this},t.prototype.addEventListener=function(t,e){return this.getEventEmitter().addEventListener(t,e),this},t.prototype.removeEventListener=function(t,e){return this.getEventEmitter().removeEventListener(t,e),this},t.prototype.addEventBroadcast=function(t){return this.getEventEmitter().addEventBroadcast(t),this},t.prototype.removeEventBroadcast=function(t){return this.getEventEmitter().removeEventBroadcast(t),this},t.prototype.getEventBroadcast=function(){return this.getEventEmitter().getEventBroadcast()},t.prototype.createModuleManager=function(t){return new vlWidgetModule.DefaultModuleManager(t,this)},t.prototype.getModuleManager=function(){return void 0===this.moduleManager&&(this.moduleManager=this.createModuleManager(this.moduleLoader)),this.moduleManager},t.prototype.createServiceContainer=function(){return new vlWidgetDependencyInjection.DefaultServiceContainer},t.prototype.getServiceContainer=function(){return void 0===this.serviceContainer&&(this.serviceContainer=this.createServiceContainer()),this.serviceContainer},t.prototype.createWidgetManager=function(){return new DefaultWidgetManager(this)},t.prototype.getWidgetManager=function(){return void 0===this.widgetManager&&(this.widgetManager=this.createWidgetManager()),this.widgetManager},t.prototype.bootstrap=function(t){return this.getWidgetManager().createPluginInstance(t)},t.prototype.capture=function(o,r){var i=this;vlWidgetUtility.Utility.nextTick(function(){i.widgetCaptureQueue.push({callback:o,filter:r});for(var t=0,e=i.getWidgetManager().list(r);t<e.length;t++){var n=e[t];o(n)}})},t.prototype.getEnvironment=function(){return vlWidgetUtility.Environment.isServer()?exports.PlatformRuntimeEnvironment.Server:vlWidgetUtility.Environment.isWebWorker()?exports.PlatformRuntimeEnvironment.WebWorker:exports.PlatformRuntimeEnvironment.Browser},t.prototype.register=function(t){var e=this;return Promise.resolve().then(function(){switch(t.type){case exports.PlatformRegistrationType.PluginContextProcessor:registerPluginContextProcessor(t,e);break;case exports.PlatformRegistrationType.PluginExtension:registerPluginExtension(t,e);break;case exports.PlatformRegistrationType.Widget:registerWidget(t,e);break;default:throw new vlWidgetUtility.Error.InvalidArgumentError('Registration type "'+t.type+'" is invalid')}})},t}(),PluginStore=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.$widget=function(){var t=this.$plugin().getRuntime();if("function"!=typeof t.getWidget)throw new vlWidgetUtility.Error.RuntimeError("Plugin does not have a valid widget runtime");return t.getWidget()},e}(vlWidgetRenderEngine.PluginStore);Vue.use({install:function(t){t.mixin({beforeCreate:function(){var e=this;void 0===this.$widget&&(this.$widget=function(){var t=e.$plugin().getRuntime();if("function"!=typeof t.getWidget)throw new vlWidgetUtility.Error.RuntimeError("Plugin does not have a valid widget runtime");return t.getWidget()})}})}}),exports.AssetBase=AssetBase,exports.AssetManagerBase=AssetManagerBase,exports.DefaultAssetManager=DefaultAssetManager,exports.DefaultPluginContextPipeline=DefaultPluginContextPipeline,exports.DefaultPluginContextProcessorDiscovery=DefaultPluginContextProcessorDiscovery,exports.DefaultPluginExtensionContextProcessor=DefaultPluginExtensionContextProcessor,exports.DefaultPluginExtensionContextProcessorFactory=DefaultPluginExtensionContextProcessorFactory,exports.DefaultPluginExtensionDiscovery=DefaultPluginExtensionDiscovery,exports.DefaultPluginExtensionManager=DefaultPluginExtensionManager,exports.DefaultScriptAsset=DefaultScriptAsset,exports.DefaultStyleSheetAsset=DefaultStyleSheetAsset,exports.DefaultWidgetContextProcessor=DefaultWidgetContextProcessor,exports.DefaultWidgetContextProcessorFactory=DefaultWidgetContextProcessorFactory,exports.DefaultWidgetDiscovery=DefaultWidgetDiscovery,exports.DefaultWidgetManager=DefaultWidgetManager,exports.DefaultWidgetRuntime=DefaultWidgetRuntime,exports.ExtensiblePluginExtensionBase=ExtensiblePluginExtensionBase,exports.ExtensibleUIPluginExtensionBase=ExtensibleUIPluginExtensionBase,exports.PLUGIN_CONTEXT_PROCESSOR_SERVICE=PLUGIN_CONTEXT_PROCESSOR_SERVICE,exports.PLUGIN_EXTENSION_FACTORY_SERVICE=PLUGIN_EXTENSION_FACTORY_SERVICE,exports.PlatformRuntimeBase=PlatformRuntimeBase,exports.PlatformRuntimeConfigBase=PlatformRuntimeConfigBase,exports.PluginExtensionBase=PluginExtensionBase,exports.PluginExtensionContextProcessorBase=PluginExtensionContextProcessorBase,exports.PluginExtensionWidgetRuntime=PluginExtensionWidgetRuntime,exports.PluginStore=PluginStore,exports.UIPluginExtensionBase=UIPluginExtensionBase,exports.WIDGET_FACTORY_SERVICE=WIDGET_FACTORY_SERVICE,exports.WidgetBase=WidgetBase,exports.WidgetContextProcessorBase=WidgetContextProcessorBase,exports.WidgetRuntimeBase=WidgetRuntimeBase,exports.registerPluginContextProcessor=registerPluginContextProcessor,exports.registerPluginExtension=registerPluginExtension,exports.registerWidget=registerWidget; | ||
"use strict";function _interopDefault(t){return t&&"object"==typeof t&&"default"in t?t.default:t}Object.defineProperty(exports,"__esModule",{value:!0});var Vue=_interopDefault(require("vue")),vlWidgetUtility=require("@govflanders/vl-widget-utility"),vlWidgetPlugin=require("@govflanders/vl-widget-plugin"),vlWidgetDependencyInjection=require("@govflanders/vl-widget-dependency-injection"),vlWidgetEvent=require("@govflanders/vl-widget-event"),vlWidgetModule=require("@govflanders/vl-widget-module"),vlWidgetRenderEngine=require("@govflanders/vl-widget-render-engine"),extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])};function __extends(t,e){function n(){this.constructor=t}extendStatics(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}function __decorate(t,e,n,o){var r,i=arguments.length,u=i<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)u=Reflect.decorate(t,e,n,o);else for(var s=t.length-1;0<=s;s--)(r=t[s])&&(u=(i<3?r(u):3<i?r(e,n,u):r(e,n))||u);return 3<i&&u&&Object.defineProperty(e,n,u),u}function __metadata(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function __awaiter(i,u,s,a){return new(s||(s=Promise))(function(t,e){function n(t){try{r(a.next(t))}catch(t){e(t)}}function o(t){try{r(a.throw(t))}catch(t){e(t)}}function r(e){e.done?t(e.value):new s(function(t){t(e.value)}).then(n,o)}r((a=a.apply(i,u||[])).next())})}function __generator(n,o){var r,i,u,t,s={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return t={next:e(0),throw:e(1),return:e(2)},"function"==typeof Symbol&&(t[Symbol.iterator]=function(){return this}),t;function e(e){return function(t){return function(e){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,i&&(u=i[2&e[0]?"return":e[0]?"throw":"next"])&&!(u=u.call(i,e[1])).done)return u;switch(i=0,u&&(e=[0,u.value]),e[0]){case 0:case 1:u=e;break;case 4:return s.label++,{value:e[1],done:!1};case 5:s.label++,i=e[1],e=[0];continue;case 7:e=s.ops.pop(),s.trys.pop();continue;default:if(!(u=0<(u=s.trys).length&&u[u.length-1])&&(6===e[0]||2===e[0])){s=0;continue}if(3===e[0]&&(!u||e[1]>u[0]&&e[1]<u[3])){s.label=e[1];break}if(6===e[0]&&s.label<u[1]){s.label=u[1],u=e;break}if(u&&s.label<u[2]){s.label=u[2],s.ops.push(e);break}u[2]&&s.ops.pop(),s.trys.pop();continue}e=o.call(n,s)}catch(t){e=[6,t],i=0}finally{r=u=0}if(5&e[0])throw e[1];return{value:e[0]?e[1]:void 0,done:!0}}([e,t])}}}!function(t){t.StyleSheet="stylesheet",t.Script="script"}(exports.AssetType||(exports.AssetType={}));var AssetBase=function(){function t(t,e){this.options=t,this.document=e}return t.prototype.getDocument=function(){return this.document},t.prototype.getMountElement=function(){return this.getDocument().head},t.prototype.getOptions=function(){return this.options},t.prototype.isMounted=function(){return!!this.element&&!!this.element.parentNode},t.prototype.mount=function(){var i=this;return Promise.resolve().then(function(){return i.isMounted()?i:i.createElement().then(function(r){return new Promise(function(t,n){i.element=r;function o(){r.removeEventListener("load",o),r.removeEventListener("error",e),t(i)}var e=function t(){r.removeEventListener("load",o),r.removeEventListener("error",t);var e=new vlWidgetUtility.Error.RuntimeError("Asset "+i.getType()+" failed to resolve");i.unmount().then(function(){return n(e)}).catch(function(){return n(e)})};r.addEventListener("load",o),r.removeEventListener("error",e),vlWidgetUtility.Browser.DOM.mount(r,i.getMountElement()),i.getOptions().reference||o()})})})},t.prototype.unmount=function(){var e=this;return Promise.resolve().then(function(){return e.isMounted()?Promise.resolve().then(function(){var t=e.element;return t&&vlWidgetUtility.Browser.DOM.unmount(t),e.element=void 0,e}):e})},t.prototype.remount=function(){var t=this;return this.unmount().then(function(){return t.mount()})},t}(),DefaultScriptAsset=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.getMountElement=function(){return this.getDocument().body},e.prototype.createElement=function(){var o=this;return Promise.resolve().then(function(){var t=o.getOptions(),e=o.getDocument(),n=e.createElement("script");return(t.attributes||[]).forEach(function(t){n.setAttribute(t.name,""+t.value)}),n.setAttribute("type",t.type||"text/javascript"),t.reference?n.setAttribute("src",t.value):vlWidgetUtility.Browser.DOM.mount(e.createTextNode(t.value),n),n})},e.prototype.getType=function(){return exports.AssetType.Script},e}(AssetBase),DefaultStyleSheetAsset=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.createElement=function(){var o=this;return Promise.resolve().then(function(){var t=o.getOptions(),e=o.getDocument(),n=e.createElement(t.reference?"link":"style");return(t.attributes||[]).forEach(function(t){n.setAttribute(t.name,""+t.value)}),n.setAttribute("type",t.type||"text/css"),t.reference?(n.setAttribute("rel","stylesheet"),n.setAttribute("href",t.value)):vlWidgetUtility.Browser.DOM.mount(e.createTextNode(t.value),n),n})},e.prototype.getType=function(){return exports.AssetType.StyleSheet},e}(AssetBase),AssetManagerBase=function(){function t(){this.mounted=!1,this.assets=[]}return t.prototype.has=function(e){return-1<this.assets.findIndex(function(t){return t===e})},t.prototype.add=function(t){for(var e=0,n=Array.isArray(t)?t:[t];e<n.length;e++){var o=n[e];this.has(o)||(this.assets.push(o),this.isMounted()&&o.mount())}return this},t.prototype.remove=function(t){for(var e=Array.isArray(t)?t:[t],n=function(e){var t=o.assets.findIndex(function(t){return t===e});-1<t&&(o.assets=o.assets.slice(t,1),e.unmount())},o=this,r=0,i=e;r<i.length;r++){n(i[r])}return this},t.prototype.list=function(t){return t?this.assets.filter(t):this.assets.concat()},t.prototype.isMounted=function(){return this.mounted},t.prototype.mount=function(t){var n=this;return Promise.resolve().then(function(){return n.mounted=!0}).then(function(){var e=[];return n.list(t).forEach(function(t){e.push(t.mount())}),Promise.all(e)}).then(function(){return n})},t.prototype.unmount=function(t){var n=this;return Promise.resolve().then(function(){var e=[];return n.list(t).forEach(function(t){e.push(t.mount())}),Promise.all(e)}).then(function(){return n.mounted=!1}).then(function(){return n})},t.prototype.remount=function(t){var n=this;return Promise.resolve().then(function(){return n.mounted=!0}).then(function(){var e=[];return n.list(t).forEach(function(t){e.push(t.remount())}),Promise.all(e)}).then(function(){return n})},t}(),DefaultAssetManager=function(n){function t(t){var e=n.call(this)||this;return e.document=t,e}return __extends(t,n),t.prototype.getDocument=function(){return this.document},t.prototype.create=function(t,e){var n=this.getDocument();switch(t){case exports.AssetType.Script:return new DefaultScriptAsset(e,n);case exports.AssetType.StyleSheet:return new DefaultStyleSheetAsset(e,n);default:throw new vlWidgetUtility.Error.InvalidArgumentError('Asset type "'+t+'" is invalid')}},t}(AssetManagerBase);function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var PlatformRuntimeConfigBase=function(){function t(){}return t.prototype.getBoolean=function(t,e){var n=this.get(t,e);switch(_typeof(n)){case"boolean":return n;case"string":return"true"===n;default:return!!n}},t.prototype.getString=function(t,e){var n=this.get(t,e);switch(_typeof(n)){case"string":return n;default:return""+n}},t.prototype.getInteger=function(t,e){var n=this.get(t,e);switch(_typeof(n)){case"number":return n;default:return parseInt(n,10)}},t.prototype.getFloat=function(t,e){var n=this.get(t,e);switch(_typeof(n)){case"number":return n;default:return parseFloat(n)}},t}();!function(t){t.PluginContextProcessor="plugin.context.processor",t.PluginExtension="plugin.extension",t.Widget="widget"}(exports.PlatformRegistrationType||(exports.PlatformRegistrationType={}));var PLUGIN_CONTEXT_PROCESSOR_SERVICE="plugin.context.processor",DefaultPluginContextProcessorDiscovery=function(n){function t(t,e){return n.call(this,t,e,PLUGIN_CONTEXT_PROCESSOR_SERVICE)||this}return __extends(t,n),t}(vlWidgetPlugin.ModulePluginContextProcessorDiscovery),WidgetContextProcessorBase=function(c){function t(){return null!==c&&c.apply(this,arguments)||this}return __extends(t,c),t.prototype.getPluginExtensionContexts=function(t,e){return Promise.resolve(t.extensions||[])},t.prototype.onPostProcess=function(a,l){return __awaiter(this,void 0,void 0,function(){var e,n,o,r,i,u,s;return __generator(this,function(t){switch(t.label){case 0:return[4,c.prototype.onPostProcess.call(this,a,l)];case 1:return e=t.sent(),[4,this.getPluginExtensionContexts(e,l)];case 2:if(!(0<(n=t.sent()).length))return[3,9];o=[],r=0,i=n,t.label=3;case 3:if(!(r<i.length))return[3,8];u=i[r],t.label=4;case 4:return t.trys.push([4,6,,7]),[4,l.process(u)];case 5:return s=t.sent(),o.push(s),[3,7];case 6:return t.sent(),[3,7];case 7:return r++,[3,3];case 8:return e.extensions=o,[3,10];case 9:e.extensions=[],t.label=10;case 10:return[2,e]}})})},t}(vlWidgetPlugin.PluginContextProcessorBase),DefaultWidgetContextProcessor=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e}(WidgetContextProcessorBase),PluginExtensionContextProcessorBase=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e}(vlWidgetPlugin.PluginContextProcessorBase),DefaultPluginExtensionContextProcessor=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e}(PluginExtensionContextProcessorBase),DefaultWidgetContextProcessorFactory=function(){function t(){}return t.prototype.createPluginContextProcessor=function(t){return Promise.resolve().then(function(){return new DefaultWidgetContextProcessor})},t=__decorate([vlWidgetDependencyInjection.injectable()],t)}(),DefaultPluginExtensionContextProcessorFactory=function(){function t(){}return t.prototype.createPluginContextProcessor=function(t){return Promise.resolve().then(function(){return new DefaultPluginExtensionContextProcessor})},t=__decorate([vlWidgetDependencyInjection.injectable()],t)}(),DefaultPluginContextPipeline=function(o){function t(t,e){var n=o.call(this,e)||this;return n.moduleManager=t,n}return __extends(t,o),t.prototype.getModuleManager=function(){return this.moduleManager},t.prototype.process=function(t){var e=this,n=this.getModuleManager();return vlWidgetPlugin.installPluginContext(n,t).then(function(){return o.prototype.process.call(e,t)})},t=__decorate([vlWidgetDependencyInjection.injectable(),__metadata("design:paramtypes",[Object,Object])],t)}(vlWidgetPlugin.PluginContextPipelineBase),WIDGET_FACTORY_SERVICE="widget.factory",DefaultWidgetDiscovery=function(e){function t(t){return e.call(this,t.getModuleManager(),t.getServiceContainer(),WIDGET_FACTORY_SERVICE)||this}return __extends(t,e),t}(vlWidgetPlugin.ModulePluginDiscovery),PLUGIN_EXTENSION_FACTORY_SERVICE="plugin.extension.factory",DefaultPluginExtensionDiscovery=function(n){function t(t){var e=t.getRuntime();return n.call(this,e.getModuleManager(),e.getServiceContainer(),PLUGIN_EXTENSION_FACTORY_SERVICE)||this}return __extends(t,n),t}(vlWidgetPlugin.ModulePluginDiscovery),DefaultWidgetManager=function(e){function t(t){return e.call(this,t,new DefaultWidgetDiscovery(t))||this}return __extends(t,e),t.prototype.createPluginInstance=function(t){return e.prototype.createPluginInstance.call(this,t).then(function(t){return t.getRuntime().emit(new vlWidgetPlugin.GenericPluginEvent("vl.widget.created",t)),t})},t.prototype.mount=function(e){return this.each(function(t){return!e||e(t)?t.mount():Promise.resolve(t)})},t.prototype.unmount=function(e){return this.each(function(t){return!e||e(t)?t.unmount():Promise.resolve(t)})},t.prototype.remount=function(e){return this.each(function(t){return!e||e(t)?t.remount():Promise.resolve(t)})},t}(vlWidgetPlugin.PluginManagerBase),DefaultPluginExtensionManager=function(e){function t(t){return e.call(this,t,new DefaultPluginExtensionDiscovery(t))||this}return __extends(t,e),t}(vlWidgetPlugin.PluginExtensionManagerBase),PluginExtensionBase=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.onReady=function(){var e=this;return t.prototype.onReady.call(this).then(function(){return e.addEventBroadcast(function(t){return e.getPluginHost().emit(t.prefix(e.getPluginTypeId()))})}).then(function(){return e.getRuntime().getWidget().on("beforeMount",function(){return e.invokeHook("beforeMount")}).on("beforeUnmount",function(){return e.invokeHook("beforeUnmount")}).on("mounted",function(){return e.invokeHook("mounted")}).on("unmounted",function(){return e.invokeHook("unmounted")}),e}).then(function(){return e.isMounted()&&e.invokeHook("beforeMount").then(function(){return e.invokeHook("mounted")}),e})},e.prototype.onBeforeMount=function(){return Promise.resolve(this)},e.prototype.onMounted=function(){return Promise.resolve(this)},e.prototype.onBeforeUnmount=function(){return Promise.resolve(this)},e.prototype.onUnmounted=function(){return Promise.resolve(this)},e.prototype.isMounted=function(){return this.getRuntime().getWidget().isMounted()},e.prototype.createRuntime=function(){return new PluginExtensionWidgetRuntime(this)},e.prototype.getRuntime=function(){return void 0===this.pluginRuntime&&(this.pluginRuntime=this.createRuntime()),this.pluginRuntime},e}(vlWidgetPlugin.PluginBase),UIPluginExtensionBase=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return __extends(t,e),t.prototype.getComponentRoot=function(){return void 0===this.componentRoot&&(this.componentRoot=this.createComponentRoot()),this.componentRoot},t.prototype.getComponentStore=function(){return void 0===this.componentStore&&(this.componentStore=this.createComponentStore()),this.componentStore},t.prototype.onReady=function(){var t=this;return e.prototype.onReady.call(this).then(function(){return t.attachComponentRoot()})},t}(PluginExtensionBase),ExtensiblePluginExtensionBase=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.createExtensionManager=function(){return new DefaultPluginExtensionManager(this)},e.prototype.onReady=function(){var e=this;return t.prototype.onReady.call(this).then(function(){return e.addEventBroadcast(function(t){return e.getPluginHost().emit(t.prefix(e.getPluginTypeId()))})}).then(function(){return e.getRuntime().getWidget().on("beforeMount",function(){return e.invokeHook("beforeMount")}).on("beforeUnmount",function(){return e.invokeHook("beforeUnmount")}).on("mounted",function(){return e.invokeHook("mounted")}).on("unmounted",function(){return e.invokeHook("unmounted")}),e}).then(function(){return e.isMounted()&&e.invokeHook("beforeMount").then(function(){return e.invokeHook("mounted")}),e})},e.prototype.onBeforeMount=function(){return Promise.resolve(this)},e.prototype.onMounted=function(){return Promise.resolve(this)},e.prototype.onBeforeUnmount=function(){return Promise.resolve(this)},e.prototype.onUnmounted=function(){return Promise.resolve(this)},e.prototype.isMounted=function(){return this.getRuntime().getWidget().isMounted()},e.prototype.createRuntime=function(){return new PluginExtensionWidgetRuntime(this)},e.prototype.getRuntime=function(){return void 0===this.pluginRuntime&&(this.pluginRuntime=this.createRuntime()),this.pluginRuntime},e}(vlWidgetPlugin.ExtensiblePluginBase),ExtensibleUIPluginExtensionBase=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return __extends(t,e),t.prototype.getComponentRoot=function(){return void 0===this.componentRoot&&(this.componentRoot=this.createComponentRoot()),this.componentRoot},t.prototype.getComponentStore=function(){return void 0===this.componentStore&&(this.componentStore=this.createComponentStore()),this.componentStore},t.prototype.onReady=function(){var t=this;return e.prototype.onReady.call(this).then(function(){return t.attachComponentRoot()})},t}(ExtensiblePluginExtensionBase),WidgetBase=function(n){function t(){return null!==n&&n.apply(this,arguments)||this}return __extends(t,n),t.prototype.onReady=function(){var e=this;return n.prototype.onReady.call(this).then(function(){return e.addEventBroadcast(function(t){return e.getPluginHost().emit(t.prefix("vl.widget."+e.getPluginTypeId()))})})},t.prototype.onBeforeMount=function(){return Promise.resolve(this)},t.prototype.onMounted=function(){return Promise.resolve(this)},t.prototype.onBeforeUnmount=function(){return Promise.resolve(this)},t.prototype.onUnmounted=function(){return Promise.resolve(this)},t.prototype.validatePluginContext=function(t){if(n.prototype.validatePluginContext.call(this,t),"string"!=typeof t.id)throw new vlWidgetPlugin.PluginError(this,'Context property "id" should be a string');if(t.extensions&&!Array.isArray(t.extensions))throw new vlWidgetPlugin.PluginError(this,'Context property "extensions" should be an array')},t.prototype.resolveExtensionContexts=function(t){var e=this;return Promise.resolve().then(function(){switch(t){case vlWidgetPlugin.PluginExtensionConstraint.Optional:return e.getPluginContext().extensions||[];default:return[]}})},t.prototype.createExtensionManager=function(){return new DefaultPluginExtensionManager(this)},t.prototype.getComponentRoot=function(){return void 0===this.componentRoot&&(this.componentRoot=this.createComponentRoot()),this.componentRoot},t.prototype.getComponentStore=function(){return void 0===this.componentStore&&(this.componentStore=this.createComponentStore()),this.componentStore},t.prototype.createAssetManager=function(){if(this.getRuntime().getEnvironment()!==exports.PlatformRuntimeEnvironment.Browser)throw new vlWidgetUtility.Error.RuntimeError("Asset manager requires a browser runtime");return new DefaultAssetManager(window.document)},t.prototype.getAssetManager=function(){return void 0===this.assetManager&&(this.assetManager=this.createAssetManager()),this.assetManager},t.prototype.getPluginId=function(){return this.getPluginContext().id},t.prototype.createRuntime=function(){return new DefaultWidgetRuntime(this)},t.prototype.getRuntime=function(){return void 0===this.widgetRuntime&&(this.widgetRuntime=this.createRuntime()),this.widgetRuntime},t.prototype.getElement=function(){var t=this.getComponentRoot(),e=t.$el||null;if(null===e&&(t.$mount(),e=t.$el||null),null===e)throw new vlWidgetPlugin.PluginError(this,"Cannot resolve widget element");return e},t.prototype.getCurrentMountElement=function(){return this.currentMountElement||null},t.prototype.getMountElement=function(){return this.mountElement||null},t.prototype.setMountElement=function(t){return t!==this.getMountElement()&&(this.mountElement=t||void 0),this},t.prototype.isMounted=function(){return null!==this.getCurrentMountElement()},t.prototype.mount=function(){var n=this;return Promise.resolve().then(function(){var e=n.getMountElement();return n.isMounted()||null===e?n:n.invokeHook("beforeMount").then(function(){return n.getAssetManager().mount()}).then(function(){var t=n.getElement();return n.currentMountElement=vlWidgetUtility.Browser.DOM.replaceWith(e,t),n.getComponentRoot().$forceUpdate(),n.invokeHook("mounted")})})},t.prototype.unmount=function(){var e=this;return Promise.resolve().then(function(){var t=e.getCurrentMountElement();return e.isMounted()&&null!==t?e.invokeHook("beforeUnmount").then(function(){return vlWidgetUtility.Browser.DOM.replaceWith(e.getElement(),t),e.currentMountElement=void 0,e.invokeHook("unmounted")}).then(function(){return e.getAssetManager().unmount().then(function(){return e})}):e})},t.prototype.remount=function(){var t=this;return this.unmount().then(function(){return t.mount()})},t}(vlWidgetPlugin.ExtensiblePluginBase);function registerPluginContextProcessor(t,e){if("string"!=typeof t.pluginTypeId||"function"!=typeof t.pluginContextProcessorFactory)throw new vlWidgetUtility.Error.InvalidArgumentError("Plugin context processor registration should contain the following properties: pluginTypeId and pluginContextProcessorFactory");e.getServiceContainer().bind(PLUGIN_CONTEXT_PROCESSOR_SERVICE).to(t.pluginContextProcessorFactory).inSingletonScope().whenTargetNamed(t.pluginTypeId)}function registerPluginExtension(t,e){if("string"!=typeof t.pluginTypeId||"function"!=typeof t.pluginFactory)throw new vlWidgetUtility.Error.InvalidArgumentError("Plugin extension registration should contain the following properties: pluginTypeId and pluginFactory");e.getServiceContainer().bind(PLUGIN_EXTENSION_FACTORY_SERVICE).to(t.pluginFactory).inSingletonScope().whenTargetNamed(t.pluginTypeId)}function registerWidget(t,e){if("string"!=typeof t.pluginTypeId||"function"!=typeof t.pluginFactory)throw new vlWidgetUtility.Error.InvalidArgumentError("Widget registration should contain the following properties: pluginTypeId and pluginFactory");e.getServiceContainer().bind(WIDGET_FACTORY_SERVICE).to(t.pluginFactory).inSingletonScope().whenTargetNamed(t.pluginTypeId)}!function(t){t.Unknown="unknown",t.Browser="browser",t.WebWorker="webworker",t.Server="server"}(exports.PlatformRuntimeEnvironment||(exports.PlatformRuntimeEnvironment={}));var WidgetRuntimeBase=function(){function t(){}return t.prototype.createServiceContainer=function(){var t=new vlWidgetDependencyInjection.DefaultServiceContainer;return t.bind("platform.runtime").toConstantValue(this),t.bind("plugin").toConstantValue(this.getPlugin()),t.bind("widget").toConstantValue(this.getWidget()),t},t.prototype.getServiceContainer=function(){return void 0===this.serviceContainer&&(this.serviceContainer=this.createServiceContainer(),this.linkServiceContainer(this.serviceContainer)),this.serviceContainer},t.prototype.getVersion=function(){return this.getWidget().getPluginHost().getVersion()},t.prototype.emit=function(t){return this.getWidget().getPluginHost().emit(t)},t.prototype.on=function(t,e){return this.getWidget().getPluginHost().on(t,e),this},t.prototype.off=function(t,e){return this.getWidget().getPluginHost().off(t,e),this},t.prototype.once=function(t,e){return this.getWidget().getPluginHost().once(t,e),this},t.prototype.addEventListener=function(t,e){return this.getWidget().getPluginHost().addEventListener(t,e),this},t.prototype.removeEventListener=function(t,e){return this.getWidget().getPluginHost().removeEventListener(t,e),this},t.prototype.addEventBroadcast=function(t){return this.getWidget().getPluginHost().addEventBroadcast(t),this},t.prototype.removeEventBroadcast=function(t){return this.getWidget().getPluginHost().removeEventBroadcast(t),this},t.prototype.getEventBroadcast=function(){return this.getWidget().getPluginHost().getEventBroadcast()},t.prototype.getModuleManager=function(){return this.getWidget().getPluginHost().getModuleManager()},t.prototype.getWidgetManager=function(){return this.getWidget().getPluginHost().getWidgetManager()},t.prototype.capture=function(t,e){return this.getWidget().getPluginHost().capture(t,e)},t.prototype.getEnvironment=function(){return this.getWidget().getPluginHost().getEnvironment()},t.prototype.getConfiguration=function(){return this.getWidget().getPluginHost().getConfiguration()},t.prototype.bootstrap=function(t){return this.getWidget().getPluginHost().bootstrap(t)},t.prototype.register=function(t){return this.getWidget().getPluginHost().register(t)},t}(),DefaultWidgetRuntime=function(n){function t(t){var e=n.call(this)||this;return e.widget=t,e}return __extends(t,n),t.prototype.getPlugin=function(){return this.getWidget()},t.prototype.linkServiceContainer=function(t){t.parent=this.getWidget().getPluginHost().getServiceContainer()},t.prototype.getWidget=function(){return this.widget},t}(WidgetRuntimeBase),PluginExtensionWidgetRuntime=function(n){function t(t){var e=n.call(this)||this;return e.pluginExtension=t,e}return __extends(t,n),t.prototype.linkServiceContainer=function(t){t.parent=this.getWidget().getRuntime().getServiceContainer()},t.prototype.getPlugin=function(){return this.pluginExtension},t.prototype.getWidget=function(){return this.getPlugin().getPluginHost().getRuntime().getWidget()},t}(WidgetRuntimeBase),PlatformRuntimeBase=function(){function t(t){this.moduleLoader=t,this.widgetCaptureQueue=[],this.initialize()}return t.prototype.initialize=function(){var i=this;this.on("vl.widget.created",function(r){vlWidgetUtility.Utility.nextTick(function(){for(var n=r.getSender(),t=function(e){vlWidgetUtility.Utility.nextTick(function(){var t="function"==typeof e.filter?e.filter:null;null!==t&&!t(n)||e.callback(n)})},e=0,o=i.widgetCaptureQueue;e<o.length;e++){t(o[e])}})})},t.prototype.createEventEmitter=function(){return new vlWidgetEvent.DefaultEventEmitter},t.prototype.getEventEmitter=function(){return void 0===this.eventEmitter&&(this.eventEmitter=this.createEventEmitter()),this.eventEmitter},t.prototype.emit=function(t){return this.getEventEmitter().emit(t)},t.prototype.on=function(t,e){return this.getEventEmitter().on(t,e),this},t.prototype.off=function(t,e){return this.getEventEmitter().off(t,e),this},t.prototype.once=function(t,e){return this.getEventEmitter().once(t,e),this},t.prototype.addEventListener=function(t,e){return this.getEventEmitter().addEventListener(t,e),this},t.prototype.removeEventListener=function(t,e){return this.getEventEmitter().removeEventListener(t,e),this},t.prototype.addEventBroadcast=function(t){return this.getEventEmitter().addEventBroadcast(t),this},t.prototype.removeEventBroadcast=function(t){return this.getEventEmitter().removeEventBroadcast(t),this},t.prototype.getEventBroadcast=function(){return this.getEventEmitter().getEventBroadcast()},t.prototype.createModuleManager=function(t){return new vlWidgetModule.DefaultModuleManager(t,this)},t.prototype.getModuleManager=function(){return void 0===this.moduleManager&&(this.moduleManager=this.createModuleManager(this.moduleLoader)),this.moduleManager},t.prototype.createServiceContainer=function(){return new vlWidgetDependencyInjection.DefaultServiceContainer},t.prototype.getServiceContainer=function(){return void 0===this.serviceContainer&&(this.serviceContainer=this.createServiceContainer()),this.serviceContainer},t.prototype.createWidgetManager=function(){return new DefaultWidgetManager(this)},t.prototype.getWidgetManager=function(){return void 0===this.widgetManager&&(this.widgetManager=this.createWidgetManager()),this.widgetManager},t.prototype.bootstrap=function(t){return this.getWidgetManager().createPluginInstance(t)},t.prototype.capture=function(o,r){var i=this;vlWidgetUtility.Utility.nextTick(function(){i.widgetCaptureQueue.push({callback:o,filter:r});for(var t=0,e=i.getWidgetManager().list(r);t<e.length;t++){var n=e[t];o(n)}})},t.prototype.getEnvironment=function(){return vlWidgetUtility.Environment.isBrowser()?exports.PlatformRuntimeEnvironment.Browser:vlWidgetUtility.Environment.isWebWorker()?exports.PlatformRuntimeEnvironment.WebWorker:vlWidgetUtility.Environment.isServer()?exports.PlatformRuntimeEnvironment.Server:exports.PlatformRuntimeEnvironment.Unknown},t.prototype.register=function(t){var e=this;return Promise.resolve().then(function(){switch(t.type){case exports.PlatformRegistrationType.PluginContextProcessor:registerPluginContextProcessor(t,e);break;case exports.PlatformRegistrationType.PluginExtension:registerPluginExtension(t,e);break;case exports.PlatformRegistrationType.Widget:registerWidget(t,e);break;default:throw new vlWidgetUtility.Error.InvalidArgumentError('Registration type "'+t.type+'" is invalid')}})},t}(),PluginStore=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return __extends(e,t),e.prototype.$widget=function(){var t=this.$plugin().getRuntime();if("function"!=typeof t.getWidget)throw new vlWidgetUtility.Error.RuntimeError("Plugin does not have a valid widget runtime");return t.getWidget()},e}(vlWidgetRenderEngine.PluginStore);Vue.use({install:function(t){t.mixin({beforeCreate:function(){var e=this;void 0===this.$widget&&(this.$widget=function(){var t=e.$plugin().getRuntime();if("function"!=typeof t.getWidget)throw new vlWidgetUtility.Error.RuntimeError("Plugin does not have a valid widget runtime");return t.getWidget()})}})}}),exports.AssetBase=AssetBase,exports.AssetManagerBase=AssetManagerBase,exports.DefaultAssetManager=DefaultAssetManager,exports.DefaultPluginContextPipeline=DefaultPluginContextPipeline,exports.DefaultPluginContextProcessorDiscovery=DefaultPluginContextProcessorDiscovery,exports.DefaultPluginExtensionContextProcessor=DefaultPluginExtensionContextProcessor,exports.DefaultPluginExtensionContextProcessorFactory=DefaultPluginExtensionContextProcessorFactory,exports.DefaultPluginExtensionDiscovery=DefaultPluginExtensionDiscovery,exports.DefaultPluginExtensionManager=DefaultPluginExtensionManager,exports.DefaultScriptAsset=DefaultScriptAsset,exports.DefaultStyleSheetAsset=DefaultStyleSheetAsset,exports.DefaultWidgetContextProcessor=DefaultWidgetContextProcessor,exports.DefaultWidgetContextProcessorFactory=DefaultWidgetContextProcessorFactory,exports.DefaultWidgetDiscovery=DefaultWidgetDiscovery,exports.DefaultWidgetManager=DefaultWidgetManager,exports.DefaultWidgetRuntime=DefaultWidgetRuntime,exports.ExtensiblePluginExtensionBase=ExtensiblePluginExtensionBase,exports.ExtensibleUIPluginExtensionBase=ExtensibleUIPluginExtensionBase,exports.PLUGIN_CONTEXT_PROCESSOR_SERVICE=PLUGIN_CONTEXT_PROCESSOR_SERVICE,exports.PLUGIN_EXTENSION_FACTORY_SERVICE=PLUGIN_EXTENSION_FACTORY_SERVICE,exports.PlatformRuntimeBase=PlatformRuntimeBase,exports.PlatformRuntimeConfigBase=PlatformRuntimeConfigBase,exports.PluginExtensionBase=PluginExtensionBase,exports.PluginExtensionContextProcessorBase=PluginExtensionContextProcessorBase,exports.PluginExtensionWidgetRuntime=PluginExtensionWidgetRuntime,exports.PluginStore=PluginStore,exports.UIPluginExtensionBase=UIPluginExtensionBase,exports.WIDGET_FACTORY_SERVICE=WIDGET_FACTORY_SERVICE,exports.WidgetBase=WidgetBase,exports.WidgetContextProcessorBase=WidgetContextProcessorBase,exports.WidgetRuntimeBase=WidgetRuntimeBase,exports.registerPluginContextProcessor=registerPluginContextProcessor,exports.registerPluginExtension=registerPluginExtension,exports.registerWidget=registerWidget; |
{ | ||
"name": "@govflanders/vl-widget-core", | ||
"version": "1.2.0", | ||
"version": "1.2.1", | ||
"license": "MIT", | ||
@@ -26,8 +26,8 @@ "contributors": [ | ||
"dependencies": { | ||
"@govflanders/vl-widget-dependency-injection": "^1.2.0", | ||
"@govflanders/vl-widget-event": "^1.2.0", | ||
"@govflanders/vl-widget-module": "^1.2.0", | ||
"@govflanders/vl-widget-plugin": "^1.2.0", | ||
"@govflanders/vl-widget-render-engine": "^1.2.0", | ||
"@govflanders/vl-widget-utility": "^1.2.0" | ||
"@govflanders/vl-widget-dependency-injection": "^1.2.1", | ||
"@govflanders/vl-widget-event": "^1.2.1", | ||
"@govflanders/vl-widget-module": "^1.2.1", | ||
"@govflanders/vl-widget-plugin": "^1.2.1", | ||
"@govflanders/vl-widget-render-engine": "^1.2.1", | ||
"@govflanders/vl-widget-utility": "^1.2.1" | ||
}, | ||
@@ -34,0 +34,0 @@ "devDependencies": { |
@@ -6,2 +6,8 @@ /** | ||
/** | ||
* Runtime could not be determined. | ||
* | ||
* @var {string} | ||
*/ | ||
Unknown = "unknown", | ||
/** | ||
* Runtime represents a browser context. | ||
@@ -8,0 +14,0 @@ * |
@@ -90,9 +90,3 @@ import { ExtensiblePlugin, ExtensiblePluginBase, PluginExtensionManager, PluginExtensionConstraint, PluginContext } from '@govflanders/vl-widget-plugin'; | ||
/** | ||
* Resolve the extension contexts. | ||
* | ||
* @param {PluginExtensionConstraint} extensionConstraint | ||
* Constraint of which plugin extension contexts should be resolved. | ||
* | ||
* @return {Promise<PluginContext[]>} | ||
* A promise to resolve the extension contexts. | ||
* {@inheritdoc} | ||
*/ | ||
@@ -99,0 +93,0 @@ protected resolveExtensionContexts(extensionConstraint: PluginExtensionConstraint): Promise<PluginContext[]>; |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
2053
91916