Foren

Alloy UI Form Builder

thumbnail
Bruna Amorelli, geändert vor 9 Jahren.

Alloy UI Form Builder

New Member Beiträge: 3 Beitrittsdatum: 08.04.14 Neueste Beiträge
Olá pessoal!

Então, estou tentando implementar o form builder e depois de muito pesquisar ainda não descobri como recuperar os campos para poder disponibilizar o formulário montado pelo form builder.
Em um fórum, eu achei a solução abaixo, mas eu não consegui implementá-la:

var formXML = '<root>';

formBuilder.get('fields').each(
    function(item, index, collection) {
        var dataType = item.get('dataType'),
            indexType = item.get('indexType'),
            label = item.get('label'),
            multiple = item.get('multiple'),
            name = item.get('name'),
            options = item.get('options'),
            readOnly = item.get('readOnly'),
            repeatable = item.get('repeatable'),
            required = item.get('required'),
            showLabel = item.get('showLabel'),
            type = item.get('type'),
            width = item.get('width');

        var fieldXML = '<field>';
        fieldXML += '<type>' + dataType + '</type>';
        fieldXML += '<name>' + name + '</name>';
        fieldXML += '<required>' + required + '</required>';
        fieldXML += '</field>';
    }
}

formXML += '</root>';


Será que alguém faz ideia de como fazer isso?
OBS: Estou utilizando a versão do Liferay 6.1.2 GA3 .

Desde já agradeço a atenção de vcs!
thumbnail
Paulo Fernandes, geändert vor 9 Jahren.

RE: Alloy UI Form Builder

Regular Member Beiträge: 141 Beitrittsdatum: 09.08.13 Neueste Beiträge
Oi Bruna, tudo bem?

Bem vinda ao Fórum

Eu nunca utilizei o form builder, então não consigo ajudar muito.

Mas gostaria de saber se você já olhou a documentação aqui.

http://alloyui.com/versions/1.5.x/tutorials/form-builder/

Qualquer coisa, posta um comentário lá na documentação que o pessoal pode te ajudar.

Abraço
thumbnail
Bruna Amorelli, geändert vor 9 Jahren.

RE: Alloy UI Form Builder

New Member Beiträge: 3 Beitrittsdatum: 08.04.14 Neueste Beiträge
Oi Paulo,

Então, eu já havia olhado esta documentação. Ajuda a montar o form builder, mas não fala nada sobre extrair as informações.

Vou continuar realizando os meus testes, se conseguir achar uma solução, posto aqui emoticon

Agradeço a sua atenção!
thumbnail
Thiago Leão Moreira, geändert vor 9 Jahren.

RE: Alloy UI Form Builder

Liferay Legend Beiträge: 1449 Beitrittsdatum: 10.10.07 Neueste Beiträge
Olá Bruna, tudo bem? Você achou a solução?
thumbnail
Bruno Basto, geändert vor 9 Jahren.

RE: Alloy UI Form Builder

New Member Beiträge: 18 Beitrittsdatum: 13.05.10 Neueste Beiträge
Olá Bruna!

Você poderia elaborar "disponibilizar o formulário montado pelo form builder". O que você está querendo é apenas ler as informações contidas no Form Builder para gerar um formulário por contra própria ou você quer renderizar numa página do Liferay um formulário criado com o portlet de "Listas de dados dinâmicos"?
thumbnail
Bruna Amorelli, geändert vor 8 Jahren.

RE: Alloy UI Form Builder

New Member Beiträge: 3 Beitrittsdatum: 08.04.14 Neueste Beiträge
Oi pessoal!
Desculpem a demora, eu consegui achar um meio de recuperar as informações do formbuilder. Segue abaixo:

function saveFieldsForm() {   
    var formXML = '<root>';

    myFormBuilder.get('fields').each(
    function(item, index, collection) {
        var dataType = item.get('dataType'),
            indexType = item.get('indexType'),
            label = item.get('label'),
            multiple = item.get('multiple'),
            name = item.get('name'),
            options = item.get('options'),
            readOnly = item.get('readOnly'),
            repeatable = item.get('repeatable'),
            required = item.get('required'),
            showLabel = item.get('showLabel'),
            type = item.get('type'),
            tip = item.get('tip'),
            predefinedValue= item.get('predefinedValue'),
            width = item.get('width');

        var fieldXML = '<field>';
        fieldXML += '<type>' + type + '</type>';
        fieldXML += '<name>' + name + '</name>';
        fieldXML += '<required>' + required + '</required>';
        fieldXML += '<tip>' + tip + '';
        fieldXML += '<predefinedvalue>' + predefinedValue + '</predefinedvalue>';        
        fieldXML += '</tip></field>';
        alert("fieldXML: "+ fieldXML);
        formXML += fieldXML;
    });

    formXML += '</root>';
     alert("formXML: "+ formXML);

     AUI().use('aui-io-request',
                function(A) {           

            A.io.request(
                '&lt;%=ajaxURL%&gt;',{
                    data: {                         

                        formXML : formXML,

                    },
                    dataType: 'json',
                    on: {                                                                                            
                            success: function(data) {   
                                alert("Your form has been saved!")

                            },

                            error: function(jqXHR, textStatus, errorThrown) {

                                alert("Error, the content has not been saved! Please try again...");    
                                console.log(textStatus, errorThrown);                       

                                }           
                        }
                });    
                }); 
}