Changeset 5466


Ignore:
Timestamp:
07/09/14 14:31:20 (10 years ago)
Author:
Twan Goosen
Message:

adding/removing keyword fields through javascript

Location:
vlo/branches/vlo-3.1-vcr/vlo-web-app/src/main
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • vlo/branches/vlo-3.1-vcr/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/JavaScriptResources.java

    r5161 r5466  
    1818
    1919import eu.clarin.cmdi.vlo.wicket.pages.RecordPage;
     20import eu.clarin.cmdi.vlo.wicket.pages.VirtualCollectionSubmissionPage;
    2021import eu.clarin.cmdi.vlo.wicket.pages.VloBasePage;
    2122import org.apache.wicket.request.resource.JavaScriptResourceReference;
     
    3132    private final static JavaScriptResourceReference JQUERY_WATERMARK = new JavaScriptResourceReference(VloBasePage.class, "jquery.watermark-3.1.4/jquery.watermark.min.js");
    3233    private final static JavaScriptResourceReference HIGHLIGHT = new JavaScriptResourceReference(RecordPage.class, "searchhi.js");
     34    private final static JavaScriptResourceReference VCR = new JavaScriptResourceReference(VirtualCollectionSubmissionPage.class, "vlo-vcr-submission.js");
    3335
    3436    public static JavaScriptResourceReference getVloFrontJS() {
     
    4850    }
    4951
     52    public static JavaScriptResourceReference getVloVcrSubmissonJS() {
     53        return VCR;
     54    }
     55   
     56   
     57
    5058}
  • vlo/branches/vlo-3.1-vcr/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/VloWicketApplication.java

    r5227 r5466  
    8181                JavaScriptResources.getVloFrontJS(),
    8282                JavaScriptResources.getVloHeaderJS(),
    83                 JavaScriptResources.getJQueryWatermarkJS()
     83                JavaScriptResources.getJQueryWatermarkJS(),
     84                JavaScriptResources.getVloVcrSubmissonJS()
    8485        );
    8586    }
  • vlo/branches/vlo-3.1-vcr/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/pages/VirtualCollectionSubmissionPage.html

    r5464 r5466  
    4040                    to the Virtual Collection Registry first.
    4141                </p>
     42               
     43                <hr />
    4244
    4345                <form id="virtualCollectionForm" wicket:id="vcrForm" method="post" name="vcrForm" action="[VCR endpoint]">
    44                     <fieldset style="border:0px;">
    45                         <input type="hidden" name="type" value="EXTENSIONAL" />
     46                    <input type="hidden" name="type" value="EXTENSIONAL" />
    4647
     48                    <p>
    4749                        <label for="collectionName">
    4850                            Collection name:
    4951                            <input wicket:id="collectionName" type="text" name="name" value="[Collection name]" size="40" /> 
    5052                        </label>
     53                    </p>
    5154
    52                         <wicket:container wicket:id="metadataUris">
    53                             <input wicket:id="metadataUri" type="hidden" name="metadataUri" value="http://md1" />
    54                         </wicket:container>
    55                     </fieldset>
     55                    <div>
     56                        <label for="keywords">Keywords</label>
     57                        <fieldset wicket:id="keywords" id="keywords">
     58                            <div id="keywordswrapper">
     59                                <p class="keywordwrapper" wicket:id="keyword">
     60                                    <input wicket:id="keywordField" type="text" name="keyword" value="keyword" />
     61                                    <a href="#" class="removekeyword">Remove</a>
     62                                </p>
     63                            </div>
     64                            <p>
     65                                <a href="#" id="addkeyword">Add a keyword</a>
     66                            </p>
     67                        </fieldset>
     68                    </div>
     69
     70                    <wicket:container wicket:id="metadataUris">
     71                        <input wicket:id="metadataUri" type="hidden" name="metadataUri" value="http://md1" />
     72                    </wicket:container>
    5673                    <input type="submit" value="Create collection" />
    5774                </form>
  • vlo/branches/vlo-3.1-vcr/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/pages/VirtualCollectionSubmissionPage.java

    r5464 r5466  
    1818
    1919import eu.clarin.cmdi.vlo.FacetConstants;
     20import eu.clarin.cmdi.vlo.JavaScriptResources;
     21import eu.clarin.cmdi.vlo.pojo.FacetSelection;
    2022import eu.clarin.cmdi.vlo.pojo.QueryFacetsSelection;
    2123import eu.clarin.cmdi.vlo.wicket.model.SolrFieldStringModel;
    2224import eu.clarin.cmdi.vlo.wicket.provider.SolrDocumentProvider;
     25import java.util.ArrayList;
     26import java.util.List;
    2327import org.apache.solr.common.SolrDocument;
    2428import org.apache.wicket.AttributeModifier;
    25 import org.apache.wicket.Component;
    26 import org.apache.wicket.behavior.Behavior;
    2729import org.apache.wicket.markup.head.IHeaderResponse;
    28 import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
     30import org.apache.wicket.markup.head.JavaScriptHeaderItem;
    2931import org.apache.wicket.markup.html.WebMarkupContainer;
    3032import org.apache.wicket.markup.html.basic.Label;
     33import org.apache.wicket.markup.html.list.ListItem;
     34import org.apache.wicket.markup.html.list.ListView;
    3135import org.apache.wicket.markup.repeater.Item;
    3236import org.apache.wicket.markup.repeater.data.DataView;
     
    3539import org.apache.wicket.model.Model;
    3640import org.apache.wicket.model.PropertyModel;
     41import org.apache.wicket.model.util.ListModel;
    3742
    3843/**
     
    6671        collectionName.add(new AttributeModifier("value", nameModel));
    6772        form.add(collectionName);
    68        
     73
    6974        final SolrDocumentProvider provider = new SolrDocumentProvider(getModel());
    7075        form.add(new DataView<SolrDocument>("metadataUris", provider) {
     
    8388        });
    8489
     90        final WebMarkupContainer keywords = new WebMarkupContainer("keywords");
     91        keywords.setOutputMarkupId(true);
     92        form.add(keywords);
     93       
     94        final ArrayList<String> keywordsList = new ArrayList<String>();
     95        for (FacetSelection selection : model.getObject().getSelection().values()) {
     96            for (String value : selection.getValues()) {
     97                keywordsList.add(value);
     98            }
     99        }
     100
     101        final IModel<List<String>> keywordsModel = new ListModel<String>(keywordsList);
     102        keywords.add(new ListView<String>("keyword", keywordsModel) {
     103
     104            @Override
     105            protected void populateItem(final ListItem<String> item) {
     106                final WebMarkupContainer keywordField = new WebMarkupContainer("keywordField");
     107                keywordField.add(new AttributeModifier("value", item.getModel()));
     108                item.add(keywordField);
     109
     110//                item.add(new AjaxLink("remove") {
     111//
     112//                    @Override
     113//                    public void onClick(AjaxRequestTarget target) {
     114//                        keywordsModel.getObject().remove(item.getModelObject());
     115//                        target.add(keywords);
     116//                    }
     117//                });
     118            }
     119        });
     120//        keywords.add(new AjaxLink("add") {
     121//           
     122//            @Override
     123//            public void onClick(AjaxRequestTarget target) {
     124//                keywordsModel.getObject().add("");
     125//                target.add(keywords);
     126//            }
     127//        });
     128
    85129        add(new Label("itemCount", new PropertyModel<Long>(provider, "size")));
    86130    }
    87131
     132    @Override
     133    public void renderHead(IHeaderResponse response) {
     134        super.renderHead(response);
     135        response.render(JavaScriptHeaderItem.forReference(JavaScriptResources.getVloVcrSubmissonJS()));
     136    }
     137   
     138   
     139
    88140}
  • vlo/branches/vlo-3.1-vcr/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/pages/VloBasePage.java

    r5315 r5466  
    148148    @Override
    149149    public void renderHead(IHeaderResponse response) {
     150        // Always include JQuery first
     151        response.render(JavaScriptHeaderItem.forReference(getApplication().getJavaScriptLibrarySettings().getJQueryReference()));
    150152        // Include CSS. Exact file will be chosen on basis of current locale and style (theme)
    151153        response.render(CssHeaderItem.forReference(new CssResourceReference(VloBasePage.class, "vlo.css", getLocale(), getStyle(), getVariation())));
Note: See TracChangeset for help on using the changeset viewer.