Image-Tab
Event-handling verbessert. Die Links zu den Unterseiten funktioneren nun und werden richtig initialisiert und zurückgesetzt. Upload-Formula funktioniert noch nicht. git-svn-id: https://svn.libreccm.org/ccm/trunk@1911 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
755c7ab48a
commit
1c151d775c
|
|
@ -1111,3 +1111,4 @@ cms.ui.search.create.select_edit=Select item and edit
|
|||
|
||||
cms.ui.clear=Clear
|
||||
cms.ui.item_search.create.folder_missing=No folder selected
|
||||
cms.ui.images_links=
|
||||
|
|
|
|||
|
|
@ -1104,3 +1104,4 @@ cms.ui.clear=Zur\u00fccksetzen
|
|||
cms.ui.type.minimum_number_of_values_bigger_than_maximum_number_of_values=Maximaler Wert kleiner als minimaler Wert
|
||||
cms.ui.type.minimummaximum_number_of_values_cannot_be_negative=Keine negativen Werte erlaubt
|
||||
cms.ui.item_search.create.folder_missing=kein Ordner ausgew\u00e4hlt
|
||||
cms.ui.images_links=
|
||||
|
|
|
|||
|
|
@ -50,3 +50,4 @@ cms.ui.search.create.select_edit=
|
|||
|
||||
cms.ui.clear=
|
||||
cms.ui.item_search.create.folder_missing=
|
||||
cms.ui.images_links=
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ cms.contenttypes.ui.summary=R\u00e9sum\u00e9
|
|||
cms.contenttypes.ui.there_are_no_events=Il n'y a aucun \u00e9venement
|
||||
cms.contenttypes.ui.title=Titre
|
||||
cms.contenttypes.ui.view_image=voir l'image
|
||||
|
||||
|
||||
# Package com.arsdigita.cms.dispatcher
|
||||
# =====================================
|
||||
cms.dispatcher.cannot_find_domain_object=Impossible de trouver le domaine objet
|
||||
|
|
@ -77,7 +77,7 @@ cms.dispatcher.no_permission_to_access_resource=Vous n'avez pas la permission d'
|
|||
cms.dispatcher.not_implemented=Non impl\u00e9ment\u00e9
|
||||
cms.dispatcher.unknown_context=Contexte inconnu
|
||||
|
||||
|
||||
|
||||
# Package com.arsdigita.cms.formbuilder
|
||||
# =====================================
|
||||
cms.formbuilder.cannot_create_acsobject=Impossible de cr\u00e9er l'ACSObject
|
||||
|
|
@ -86,13 +86,13 @@ cms.formbuilder.no_such_form=Pas de formulaire
|
|||
cms.formbuilder.roll_me_back=TRANSLATE THIS: Roll me back (cms.formbuilder.roll_me_back)
|
||||
cms.formbuilder.css=Cascading Style Sheet (CSS) Class Attribute
|
||||
|
||||
|
||||
|
||||
# Package com.arsdigita.cms.installer
|
||||
# =====================================
|
||||
cms.installer.approval=Approbation
|
||||
cms.installer.article=Article
|
||||
cms.installer.authoring=Ecriture
|
||||
cms.installer.cannot_find_cms_package_type=Impossible de trouver le type package CMS
|
||||
cms.installer.cannot_find_cms_package_type=Impossible de trouver le type package CMS
|
||||
cms.installer.cannot_find_content_type=Impossible de trouver le type de contenu
|
||||
cms.installer.cannot_find_file=Impossible de trouver le fichier
|
||||
cms.installer.cannot_find_group_for_email=Impossible de trouver le groupe pour l'email
|
||||
|
|
@ -109,7 +109,7 @@ cms.installer.root_site_node_missing=Lien vers la racine du site manquant
|
|||
cms.installer.simple_publication=Publication simple
|
||||
cms.installer.template=Gabarit
|
||||
|
||||
|
||||
|
||||
# Package com.arsdigita.cms.lifecycle
|
||||
# ===================================
|
||||
cms.lifecycle.could_not_fetch_lifecycle=Impossible de trouver le cycle de vie
|
||||
|
|
@ -135,10 +135,10 @@ cms.publishToFile.publish_to_file_listener_could_not_be_created=La publication d
|
|||
cms.publishToFile.publish_to_file_setlocalrequestpassword_could_not_be_created=La publication du fichier pour la demande de mot de passe ne peut pas \u00eatre cr\u00e9\u00e9e
|
||||
cms.publishToFile.publishsource_sourcebase_must_end_in_=L'\u00e9dition source doit se terminer par '/'
|
||||
cms.publishToFile.server=Server
|
||||
cms.publishToFile.unable_to_find_closing_for_tag=Impossible de trouver '>' pour la fermeture du tag
|
||||
cms.publishToFile.unable_to_find_closing_for_tag=Impossible de trouver '>' pour la fermeture du tag
|
||||
cms.publishToFile.unable_to_get_contentitem=Impossible de trouve le contenu de l'\u00e9l\u00e9ment
|
||||
|
||||
|
||||
|
||||
# Package com.arsdigita.cms.ui
|
||||
# ============================
|
||||
cms.ui.actions=actions
|
||||
|
|
@ -196,7 +196,7 @@ cms.ui.no_content_section_for_page=Pas de r\u00e9pertoire de contenu pour cette
|
|||
cms.ui.no_items_matched_the_search=Pas d'\u00e9l\u00e9ment trouv\u00e9 dans la recherche
|
||||
|
||||
|
||||
|
||||
|
||||
# Package com.arsdigita.cms.ui.authoring
|
||||
# ======================================
|
||||
cms.ui.authoring.an_item_with_this_name_already_exists=Un \u00e9l\u00e9ment de ce nom existe d\u00e9j\u00e0
|
||||
|
|
@ -236,12 +236,12 @@ cms.ui.authoring.upload_a_new_image=T\u00e9l\u00e9charger une nouvelle image
|
|||
cms.ui.authoring.upload_image=T\u00e9l\u00e9charger l'image
|
||||
cms.ui.authoring.workflow=TRANSLATE THIS: Select a Workflow (cms.ui.authoring.workflow)
|
||||
|
||||
|
||||
|
||||
# Package com.arsdigita.cms.ui.authoringkit
|
||||
# =========================================
|
||||
cms.ui.authoringkit.authoring_kit_for=Kit d'\u00e9criture pour
|
||||
cms.ui.authoringkit.component=Composant
|
||||
cms.ui.authoringkit.content_type_id=Type de contenu ID#
|
||||
cms.ui.authoringkit.content_type_id=Type de contenu ID#
|
||||
cms.ui.authoringkit.create_component=Cr\u00e9er le composant
|
||||
cms.ui.authoringkit.createcomponent=Cr\u00e9er le composant
|
||||
cms.ui.authoringkit.current_row_does_not_exists=La ligne en cours n'exsite pas
|
||||
|
|
@ -251,7 +251,7 @@ cms.ui.authoringkit.label=Etiquette
|
|||
cms.ui.authoringkit.ordering=Commande
|
||||
cms.ui.authoringkit.submission_cancelled=Soumission annul\u00e9e
|
||||
|
||||
|
||||
|
||||
# Package com.arsdigita.cms.ui.category
|
||||
# =====================================
|
||||
cms.ui.category.add_a_subcategory=Ajouter une sous-rubrique
|
||||
|
|
@ -294,7 +294,7 @@ cms.ui.category.there_are_no_items_in_this_category=Il n'y a pas d'\u00e9l\u00e9
|
|||
cms.ui.category.url=URL
|
||||
# cms.ui.category.use_custom_permissions=Utiliser les droits personnalis\u00e9s
|
||||
|
||||
|
||||
|
||||
# Package com.arsdigita.cms.ui.cse
|
||||
# ================================
|
||||
cms.ui.cse.authorName=Author
|
||||
|
|
@ -305,17 +305,17 @@ cms.ui.cse.edit=Edit
|
|||
cms.ui.cse.editLink=edit
|
||||
cms.ui.cse.endDateTime=Live Until
|
||||
|
||||
|
||||
|
||||
# Package com.arsdigita.cms.ui.folder
|
||||
# ===================================
|
||||
cms.ui.folder.cancelled=Annul\u00e9
|
||||
cms.ui.folder.cannot_find_a_root_folder=Impossible de trouver le r\u00e9pertoire racine
|
||||
cms.ui.folder.na=N/A
|
||||
cms.ui.folder.na=N/A
|
||||
cms.ui.folder.no_source_items_specified=Pas d'\u00e9l\u00e9ment source sp\u00e9cifi\u00e9
|
||||
cms.ui.folder.parent=Parent Folder
|
||||
cms.ui.folder.rename=Rename folder
|
||||
|
||||
|
||||
|
||||
# Package com.arsdigita.cms.ui.formbuilder
|
||||
# ========================================
|
||||
cms.ui.formbuilder.description=Description
|
||||
|
|
@ -323,7 +323,7 @@ cms.ui.formbuilder.name=Nom
|
|||
cms.ui.formbuilder.oh_no_you_dont=non, vous ne pouvez pas
|
||||
cms.ui.formbuilder.title=Titre
|
||||
|
||||
|
||||
|
||||
# Package com.arsdigita.cms.ui.item
|
||||
# =================================
|
||||
cms.ui.item.access_denied=Acc\u00e8s refus\u00e9
|
||||
|
|
@ -345,7 +345,7 @@ cms.ui.item.submission_cancelled=Soumission abandonn\u00e9e
|
|||
cms.ui.item.the_current_row_does_not_exists=La ligne en cours n'exsite pas
|
||||
cms.ui.item.unpublish=D\u00e9publier
|
||||
|
||||
|
||||
|
||||
# Package com.arsdigita.cms.ui.lifecycle
|
||||
# ======================================
|
||||
cms.ui.lifecycle.add=Create new lifecycle
|
||||
|
|
@ -372,7 +372,7 @@ cms.ui.lifecycle.no_lifecycles_defined_for_this_section=Pas de cycle de vie d\u0
|
|||
cms.ui.lifecycle.phases=Etapes
|
||||
cms.ui.lifecycle.start_delay=D\u00e9lai de d\u00e9but
|
||||
|
||||
|
||||
|
||||
# Package com.arsdigita.cms.ui.permissions
|
||||
# ========================================
|
||||
cms.ui.permissions.add_administrator=Ajouter un administrateur
|
||||
|
|
@ -421,7 +421,7 @@ cms.ui.staff.no_users_were_selected=Pas d'utilisateur s\u00e9l\u00e9ctionn\u00e9
|
|||
cms.ui.staff.no_usersgroups_were_selected=Pas d'utilisateur/groupe s\u00e9l\u00e9ctionn\u00e9
|
||||
cms.ui.staff.not_a_role_adminstrator=Pas d'administrateur de r\u00f4le
|
||||
cms.ui.staff.not_an_administrator_for_roles=pas un administrateur pour les r\u00f4les
|
||||
cms.ui.staff.not_an_administrator_for_this_role=pas un administrateur pour ce r\u00f4le
|
||||
cms.ui.staff.not_an_administrator_for_this_role=pas un administrateur pour ce r\u00f4le
|
||||
cms.ui.staff.out_of_bounds=En dehors de la plage
|
||||
cms.ui.staff.privileges=Droits accord\u00e9s
|
||||
cms.ui.staff.privileges=Droits accord\u00e9s
|
||||
|
|
@ -581,3 +581,4 @@ cms.ui.search.create.select_edit=
|
|||
|
||||
cms.ui.clear=
|
||||
cms.ui.item_search.create.folder_missing=
|
||||
cms.ui.images_links=
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
package com.arsdigita.cms.ui;
|
||||
|
||||
import com.arsdigita.bebop.Component;
|
||||
import com.arsdigita.bebop.FormModel;
|
||||
import com.arsdigita.bebop.Label;
|
||||
import com.arsdigita.bebop.List;
|
||||
import com.arsdigita.bebop.ListPanel;
|
||||
|
|
@ -16,16 +17,17 @@ import com.arsdigita.bebop.Resettable;
|
|||
import com.arsdigita.bebop.SegmentedPanel;
|
||||
import com.arsdigita.bebop.SegmentedPanel.Segment;
|
||||
import com.arsdigita.bebop.SimpleContainer;
|
||||
import com.arsdigita.bebop.SingleSelectionModel;
|
||||
import com.arsdigita.bebop.event.ChangeEvent;
|
||||
import com.arsdigita.bebop.event.ChangeListener;
|
||||
import com.arsdigita.bebop.list.ListModel;
|
||||
import com.arsdigita.bebop.list.ListModelBuilder;
|
||||
import com.arsdigita.bebop.parameters.ParameterModel;
|
||||
import com.arsdigita.bebop.parameters.StringParameter;
|
||||
import com.arsdigita.cms.util.GlobalizationUtil;
|
||||
import com.arsdigita.toolbox.ui.ActionGroup;
|
||||
import com.arsdigita.toolbox.ui.LayoutPanel;
|
||||
import com.arsdigita.toolbox.ui.Section;
|
||||
import com.arsdigita.util.Assert;
|
||||
import com.arsdigita.util.LockableImpl;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
|
@ -47,14 +49,15 @@ public class ImagesPane extends LayoutPanel implements Resettable {
|
|||
private ListPanel m_listPanel;
|
||||
final private SegmentedPanel m_body;
|
||||
private HashMap<String, Segment> m_bodySegments = new HashMap();
|
||||
private final SingleSelectionModel m_model;
|
||||
private final ResettableParameterSingleSelectionModel m_model;
|
||||
private final List m_links;
|
||||
private final LinksSection m_modes;
|
||||
|
||||
public ImagesPane() {
|
||||
super();
|
||||
|
||||
m_model = new ParameterSingleSelectionModel(new StringParameter(List.SELECTED));
|
||||
|
||||
m_model = new ResettableParameterSingleSelectionModel(new StringParameter(List.SELECTED));
|
||||
m_model.setDefaultSelection(ImageComponent.LIBRARY);
|
||||
m_model.addChangeListener(new ImageAdminSelectionListener());
|
||||
|
||||
m_links = new List(new ImageAdminListModelBuilder());
|
||||
|
|
@ -63,8 +66,8 @@ public class ImagesPane extends LayoutPanel implements Resettable {
|
|||
final SimpleContainer left = new SimpleContainer();
|
||||
setLeft(left);
|
||||
|
||||
final LinksSection staff = new LinksSection();
|
||||
left.add(staff);
|
||||
m_modes = new LinksSection();
|
||||
left.add(m_modes);
|
||||
|
||||
m_body = new SegmentedPanel();
|
||||
setBody(m_body);
|
||||
|
|
@ -81,7 +84,7 @@ public class ImagesPane extends LayoutPanel implements Resettable {
|
|||
final ImageLibraryComponent library = new ImageLibraryComponent(ImageComponent.ADMIN_IMAGES);
|
||||
library.getForm().addInitListener(m_adminListener);
|
||||
library.getForm().addProcessListener(m_adminListener);
|
||||
library.addUploadLink(m_adminListener);
|
||||
// library.addUploadLink(m_adminListener);
|
||||
selectors.put(ImageComponent.LIBRARY, library);
|
||||
m_bodySegments.put(ImageComponent.LIBRARY, m_body.addSegment(
|
||||
new Label(GlobalizationUtil.globalize("cms.ui.image_library")),
|
||||
|
|
@ -107,69 +110,76 @@ public class ImagesPane extends LayoutPanel implements Resettable {
|
|||
|
||||
while (keys.hasNext()) {
|
||||
String key = keys.next();
|
||||
page.setVisibleDefault(m_bodySegments.get(key), ImageComponent.LIBRARY.equals(key));
|
||||
// for (int index = 0; index < m_bodySegments.get(key).size(); index++) {
|
||||
|
||||
// Component component = m_bodySegments.get(key).get(index);
|
||||
// page.setVisibleDefault(component, ImageComponent.LIBRARY.equals(key));
|
||||
// }
|
||||
page.setVisibleDefault(m_bodySegments.get(key), m_model.getDefaultSelection().equals(key));
|
||||
}
|
||||
|
||||
// final Map componentsMap = m_imageComponent.getComponentsMap();
|
||||
//
|
||||
// final Iterator keyIter = componentsMap.keySet().iterator();
|
||||
// while (keyIter.hasNext()) {
|
||||
// final Object key = keyIter.next();
|
||||
// final Component component = (Component) componentsMap.get(key);
|
||||
//
|
||||
// page.setVisibleDefault(component, ImageComponent.LIBRARY.equals(key));
|
||||
// }
|
||||
//
|
||||
page.addComponentStateParam(this, m_imageComponentKey);
|
||||
}
|
||||
|
||||
/**
|
||||
* Resets this pane and all its resettable components.
|
||||
*
|
||||
*
|
||||
* @param state Page state
|
||||
*/
|
||||
@Override
|
||||
public final void reset(final PageState state) {
|
||||
super.reset(state);
|
||||
|
||||
m_model.reset(state);
|
||||
this.setActiveImageComponent(state, m_model.getDefaultSelection());
|
||||
}
|
||||
|
||||
public final void setActiveImageComponent(PageState state, String activeComp) {
|
||||
|
||||
Iterator<String> keys = m_bodySegments.keySet().iterator();
|
||||
|
||||
while (keys.hasNext()) {
|
||||
|
||||
String key = keys.next();
|
||||
state.setVisible(m_bodySegments.get(key), ImageComponent.LIBRARY.equals(key));
|
||||
final boolean visibility = key.equals(activeComp);
|
||||
state.setVisible(m_bodySegments.get(key), visibility);
|
||||
|
||||
for (int index = 0; index < m_bodySegments.get(key).size(); index++) {
|
||||
|
||||
Component component = m_bodySegments.get(key).get(index);
|
||||
// state.setVisible(component, ImageComponent.LIBRARY.equals(key));
|
||||
// Reset all components if they are of type Resettable
|
||||
|
||||
// Reset all components if they are of type Resettable
|
||||
if (component instanceof Resettable) {
|
||||
((Resettable) component).reset(state);
|
||||
}
|
||||
|
||||
// Set visibility
|
||||
component.setVisible(state, visibility);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private class ResettableParameterSingleSelectionModel extends ParameterSingleSelectionModel
|
||||
implements Resettable {
|
||||
|
||||
// final Map componentsMap = m_imageComponent.getComponentsMap();
|
||||
// m_imageComponent.setSelectedKey(state, ImageComponent.LIBRARY);
|
||||
// final Iterator keyIter = componentsMap.keySet().iterator();
|
||||
// while (keyIter.hasNext()) {
|
||||
// final Object key = keyIter.next();
|
||||
// final Component component = (Component) componentsMap.get(key);
|
||||
//
|
||||
// state.setVisible(component, ImageComponent.LIBRARY.equals(key));
|
||||
//
|
||||
// // Reset all components if they are of type Resettable
|
||||
// if (component instanceof Resettable) {
|
||||
// ((Resettable) component).reset(state);
|
||||
// }
|
||||
// }
|
||||
private String defaultKey;
|
||||
|
||||
public ResettableParameterSingleSelectionModel(ParameterModel m) {
|
||||
super(m);
|
||||
}
|
||||
|
||||
public void setDefaultSelection(String selKey) {
|
||||
this.defaultKey = selKey;
|
||||
}
|
||||
|
||||
public String getDefaultSelection() {
|
||||
return defaultKey;
|
||||
}
|
||||
|
||||
public void reset(PageState state) {
|
||||
|
||||
if (Assert.isEnabled()) {
|
||||
final FormModel model = state.getPage().getStateModel();
|
||||
Assert.isTrue(model.containsFormParam(getStateParameter()));
|
||||
}
|
||||
|
||||
state.setValue(getStateParameter(), this.defaultKey);
|
||||
}
|
||||
}
|
||||
|
||||
private class ImageAdminListModel implements ListModel {
|
||||
|
|
@ -212,13 +222,13 @@ public class ImagesPane extends LayoutPanel implements Resettable {
|
|||
|
||||
final PageState state = e.getPageState();
|
||||
|
||||
// getBody().reset(state);
|
||||
// ImagesPane.this.reset(state);
|
||||
|
||||
if (m_model.isSelected(state)) {
|
||||
S_LOG.debug("The selection model is selected; displaying "
|
||||
+ "the item pane");
|
||||
|
||||
// getBody().push(state, getItemPane());
|
||||
ImagesPane.this.setActiveImageComponent(state, state.getControlEventValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -234,4 +244,4 @@ public class ImagesPane extends LayoutPanel implements Resettable {
|
|||
group.setSubject(m_links);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue