Use esse artigo para entender um componente personalizado HTML5 de amostra.

Este artigo descreve como criar componentes personalizados. O primeiro exemplo descreve o componente de imagem (que também é fornecido com o Animate CC) e o processo para compreender a estrutura e as etapas envolvidas no desenvolvimento. O segundo exemplo mostra como empacotar qualquer componente existente de interface de usuário (como jQueryUI) e importá-lo no Animate CC.

  1. Criar um componente de imagem DOM

    Crie uma categoria chamada Meus componentes

    a. Crie uma pasta chamada meuscomponentes na pasta <ComponentesHTML5> na primeira execução.

    b. Baixe o arquivo myimage.zip em anexo e extraia o conteúdo na pasta

        mycomponents.

    Download

    c. Reinicie o Animate.

Estrutura do diretório dentro da pasta meuscomponentes

Você deverá ver uma nova categoria chamada “Meus componentes” na pasta de componentes e um novo componente chamado Minha imagem dentro dele. Você pode arrastar e soltar no palco, definir a propriedade de origem da imagem e publicar o filme para exibir o componente personalizado em ação. 

Metadados do componente - components.js

Components.js

Observe que a categoria está definida como CATEGORY_MY_COMPONENTS. Os nomes de cada uma das propriedades também usam chaves similares. Esta é a chave da string localizada para o nome da categoria. Se você abrir strings.json na pasta local, verá as entradas a seguir.

Observação:

O erro mais comum na edição destes arquivos é uma vírgula desnecessária após o último elemento do arranjo.

Detalhes da categoria

O valor do campo de ícone é definido como Sp_Image_Sm. Se você acessar a pasta de recursos, notará os dois pngs a seguir com o prefixo Sp_Image_Sm.

Valor do campo de ícone

Estes são os ícones para as UIs escura e clara.

O valor do campo de origem em components.json é definido como “src/myimage.js”. 

(function($) {    

// Register a component with the className: my.Image,
	// and prototype with the following overrides 
	// getCreateOptions
	// getCreateString
	// getProperties
	// getAttributes
   	$.anwidget("my.Image", {
        	options: {
			'visible': true,
			'position': 'absolute'
        	},
		_props: ["left", "top", "width", "height", "position", "transform-origin", "transform"],
		
_attrs: ["id", "src", "alt", "class", "border"],
		
// Return a unique ID with the prefix image
		// _widgetID is a global declared in anwidget
		// This id is used only if the user has not set any instance ID for the component in Animate CC
		// Otherwise the user configured name is used
		getCreateOptions: function() {
			return $.extend(this.options, { 'id': "image" + _widgetID++ });
		},
		
// Return the string for creating the DOM element
		// For image we just need to create the <img> tag
		getCreateString: function() {
			return "<img>";
		},
		
// Set of configurable properties
		getProperties: function() {
			return this._props;
		},
		
// Set of configurable attributes
		getAttributes: function() {
			return this._attrs;
		}    
	});   
})(jQuery);

Siga os comentários no código para entendê-lo facilmente. 

Fique à vontade para ver a origem dos outros componentes que são fornecidos com o Animate. Na maioria dos casos, é possível usar um desses como ponto de partida e o configurar de acordo com os seus próprios requisitos.

Empacotar um componente jQuery-UI

Essa seção descreve como empacotar um widget jQuery-UI e usá-lo no Animate CC. Os mesmos conceitos podem ser usados para empacotar qualquer outro componente existente de qualquer outra estrutura de UI.

Vamos entender o componente empacotado DatePicker com o Animate CC, que é um widget jQuery-UI. Baixe e extraia os conteúdos do arquivo a seguir e use-os como referência.

Download

Estrutura do conteúdo extraído

A pasta chamada jquery-ui-1.12.0 é a origem do framework de interface do jQuery, que contém o widget DatePicker original e seus recursos como imagens e css para empacotar e usar no Animate CC como qualquer outro componente HTML5. Isso é necessário apenas para visualização local; quando você usa “bibliotecas hospedadas” nas configurações de Publicação, tem a opção de usar o cdn para fazer download das origens dependentes. 

Components.js

Há duas dependências padrão, jQuery e anwidget.js. Como anwidget.js não está no CDN, não temos nenhuma entrada de CDN para ele.

O próximo conjunto de entradas é para os outros recursos necessários para carregar o widget de seletor de data do jQueryUI. Se você estiver empacotando um widget de qualquer outra biblioteca, poderá especificar de modo semelhante o conjunto de dependências para ele. Essas dependências são baixadas antes de o componente ser inicializado.

Na seção de propriedades, nós expusemos apenas uma propriedade chamada de rótulo, que está vinculada à propriedade de rótulo do componente seletor de data. Da mesma forma, também podemos expor outras propriedades, qualquer propriedade que desejamos permitir ao usuário configurar no ambiente de criação do Animate. No tempo de execução, cada uma delas estará disponível como um par de chave e valor no arranjo options da instância. Podemos extrair o valor configurado e o aplicar no tempo de execução.

Arquivo de origem principal: src/datepicker.js.

Seções diferentes do exemplo

  1. getCreateString:

    O widget de seletor de data do jQuery-UI pega um elemento de texto de entrada e o converte em um elemento de seletor de data no tempo de execução. Assim, nós inicializamos o DOM.

  2. attach:

    É preciso substituir esta função para este widget. Essa API é chamada sempre que o elemento é anexado ao DOM. No entanto, devido à maneira como o tempo de execução subjacente (nesse caso, createjs) funciona, essa API pode ser chamada várias vezes durante uma extensão do quadro.

    Nós lembramos o estado anexado do elemento subjacente e chamamos a classe de base para anexar a API (usando this._superApply(arguments)). Se esta for a primeira vez que o elemento é anexado ao DOM principal, usamos a chamada do widget subjacente jQuery-UI para converter o DOM do nosso componente em um seletor de data. Consulte - https://jqueryui.com/datepicker/

    A maioria dos widgets Javascript funcionam de modo semelhante. Você pode usar a mesma técnica para empacotar qualquer componente de sua escolha e os adicionar ao Animate CC da mesma forma.

  3. Atualização: substituímos a atualização e aplicamos as propriedades css ao contêiner div e os atributos ao elemento DOM real.

    Observação:

    Quando você substitui APIs, como attach, detach ou update, avalie a implementação padrão da classe de base e chame a implementação de base no momento apropriado, caso contrário, a inicialização do componente poderá falhar.

Esta obra está licenciada sob uma licença não adaptada da Creative Commons Attribution-Noncommercial-Share Alike 3.0  As publicações do Twitter™ e do Facebook não são cobertas pelos termos do Creative Commons.

Avisos legais   |   Política de privacidade online