ForgeComponentes
es

Componentes

j-UIBuilder

jComponent 20 · jcomponent@20 component Ejemplo cargado con jComponent 20

Este componente representa la aplicación diseñada mediante UI Builder. Puede cargar la aplicación a través del path especificado en el componente o mediante la opción config.url. La ruta puede contener una dirección URL al esquema de la aplicación JSON o al objeto de la aplicación (JSON analizado).


Configuración:

  • app {String} un enlace al método/variable donde se almacenará la instancia app
  • url {String} un enlace al esquema de la aplicación (debe estar en el formato json)
  • css {Boolean} aplica el estilo de la aplicación al elemento actual (predeterminado: true)
  • id {String} sobrescribe el ID de la aplicación

Métodos:

  • component.load(data) el método carga app en el elemento actual

Propiedades:

  • component.app contiene una instancia app

¿Cómo manejar los datos?

<ui-component name="uibuilder" ... config="app:myapphandler"></ui-component>

<script>

	function myapphandler(app) {

		// app.component {jComponent}
		// app.schema {Object} uibuilder compiled design
		// app.schema.inputs {Array Objects}
		// app.schema.outputs {Array Objects}

		// How to capture data?
		app.on('output', function(meta) {
			// meta.id {String} output identifier
			// meta.data {Object} raw data from the builder
			// meta.app {Object} app instance
			// meta.instance {Object} which instance sent data?
			// meta.instanceid {String} an instance identifier
			// meta.component {Object} which component sent data?
			// meta.componentid {String} a component identifier
			// meta.err {String} optional, error handler (nullable)
			// meta.output {String} an output name
			// meta.note {String} optional, a note
			// meta.ref {String} an internal reference

			AJAX('POST /yourapi/', meta.data, function(response) {
				// What next?
			});

		});

		// How to inject data?
		// Example
		app.on('ready', function() {
			// First, you must know input identifier
			app.input('cidlm5caacg_load', { email: '@' }, console.log);
		});

	}

</script>

Úselo con <ui-component name="uibuilder">. Cuando el componente aún no está cargado, jComponent lo descarga en el primer uso desde la dirección en DEF.fallback (la CDN Componentator de forma predeterminada). Autor: Peter Širka. Fuente: repositorio de componentes Componentator, licencia MIT.

example.html
<ui-component name="uibuilder" config="url:https://cdn.componentator.com/uibuilder/demo/render/dashboard.json"></ui-component>