Ignore:
Timestamp:
May 20, 2010, 2:56:52 PM (11 years ago)
Author:
tabma
Message:
  • first page of simple import wizard working with entity-/templatefilter
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/views/importer/index_simple.gsp

    r417 r449  
    55
    66<%@ page contentType="text/html;charset=UTF-8" %>
     7<g:setProvider library="jquery"/>
    78
    89<html>
     
    1011    <meta name="layout" content="main"/>
    1112    <title>Importer wizard (simple)</title>
    12   </head>
     13
     14<g:javascript>
     15/**
     16 * Update one select based on another select
     17 *
     18 * @author
     19 * @see     http://www.grails.org/Tag+-+remoteFunction
     20 * @param   string  select (form) name
     21 * @param   string  JSON data
     22 * @param   boolean keep the first option
     23 * @param   int     selected option
     24 * @param   string  if null, show this as option instead
     25 * @void
     26 */
     27function updateSelect(name,data,keepFirstOption,selected,presentNullAsThis) {   
     28    var rselect = $('#'+name).get(0)
     29    var items = data
     30
     31    if (items) {
     32
     33        // remove old options
     34        var start = (keepFirstOption) ? 0 : -1;
     35        var i = rselect.length
     36
     37        while (i > start) {
     38            rselect.remove(i)
     39            i--
     40        }
     41
     42        // add new options
     43        $.each(items,function() {
     44            var i = rselect.options.length
     45
     46            rselect.options[i] = new Option(
     47                (presentNullAsThis && this.name == null) ? presentNullAsThis : this.name,
     48                this.id
     49            );
     50            if (this.id == selected) rselect.options[i].selected = true
     51        });
     52    }
     53}
     54</g:javascript>
     55</head>
    1356  <body>
    1457    <h1>Importer wizard (simple)</h1>
     
    3780            </td>
    3881            <td>
    39                 <g:select name="entity" from="${entities}"/>
     82                <g:select
     83                name="entity"
     84                from="${entities}"             
     85                optionValue="${{it.value.name}}"
     86                optionKey="key"
     87                noSelection="['':'-Choose type of data-']"
     88                onChange="${remoteFunction( controller: 'importer',
     89                                            action:'ajaxGetTemplatesByEntity',
     90                                            params: '\'entity=\'+escape(this.value)',
     91                                            onSuccess:'updateSelect(\'template_id\',data,false,false,\'default\')')}" />
    4092            </td>
    4193        </tr>
     94        <tr>
     95            <td>
     96                Choose type of data template:
     97            </td>
     98            <td>
     99                <g:select name="template_id" optionKey="id" optionValue="name" from="[]" />
     100            </td>
     101        </tr>
     102
     103
    42104        <tr>
    43105            <td colspan="2">
Note: See TracChangeset for help on using the changeset viewer.