Author: ornicar2
Date: 2010-01-26 17:53:32 +0100 (Tue, 26 Jan 2010)
New Revision: 27197
Removed:
plugins/diemPlugin/trunk/dmCorePlugin/data/sprites/
Modified:
plugins/diemPlugin/trunk/dmAdminPlugin/modules/dmInterface/actions/actions.class.php
plugins/diemPlugin/trunk/dmCorePlugin/config/dm/widget_types.yml
plugins/diemPlugin/trunk/dmCorePlugin/data/dm/i18n/en_fr.yml
plugins/diemPlugin/trunk/dmCorePlugin/web/css/sprite16.css
plugins/diemPlugin/trunk/dmCorePlugin/web/js/dmCorePageBar.js
plugins/diemPlugin/trunk/dmFrontPlugin/lib/dmWidget/menu/dmWidgetNavigationMenuForm.php
plugins/diemPlugin/trunk/dmFrontPlugin/lib/dmWidget/menu/dmWidgetNavigationMenuView.php
plugins/diemPlugin/trunk/dmFrontPlugin/modules/dmInterface/actions/actions.class.php
plugins/diemPlugin/trunk/dmFrontPlugin/modules/dmWidget/templates/forms/dmWidgetNavigationMenu.php
plugins/diemPlugin/trunk/dmFrontPlugin/web/css/widgetForm/menu.css
plugins/diemPlugin/trunk/dmFrontPlugin/web/js/widgetForm/dmWidgetNavigationMenuForm.js
Log:
[Diem]
- added the navigation menu widget
- removed deprecated sprite config
- made pages panel use new async asset loading
- added french translations
Modified:
plugins/diemPlugin/trunk/dmAdminPlugin/modules/dmInterface/actions/actions.class.php
===================================================================
---
plugins/diemPlugin/trunk/dmAdminPlugin/modules/dmInterface/actions/actions.class.php
2010-01-26 15:56:46 UTC (rev 27196)
+++
plugins/diemPlugin/trunk/dmAdminPlugin/modules/dmInterface/actions/actions.class.php
2010-01-26 16:53:32 UTC (rev 27197)
@@ -12,7 +12,7 @@
return $this->renderAsync(array(
'html' => $tree->render(),
'js' => array('lib.tree-component', 'lib.tree-css')
- ), false);
+ ), true);
}
}
\ No newline at end of file
Modified: plugins/diemPlugin/trunk/dmCorePlugin/config/dm/widget_types.yml
===================================================================
--- plugins/diemPlugin/trunk/dmCorePlugin/config/dm/widget_types.yml
2010-01-26 15:56:46 UTC (rev 27196)
+++ plugins/diemPlugin/trunk/dmCorePlugin/config/dm/widget_types.yml
2010-01-26 16:53:32 UTC (rev 27197)
@@ -26,8 +26,8 @@
breadCrumb:
cache: true
-# menu:
-# cache: true
+ menu:
+ cache: true
dmWidgetSearch:
Modified: plugins/diemPlugin/trunk/dmCorePlugin/data/dm/i18n/en_fr.yml
===================================================================
--- plugins/diemPlugin/trunk/dmCorePlugin/data/dm/i18n/en_fr.yml
2010-01-26 15:56:46 UTC (rev 27196)
+++ plugins/diemPlugin/trunk/dmCorePlugin/data/dm/i18n/en_fr.yml
2010-01-26 16:53:32 UTC (rev 27197)
@@ -397,4 +397,6 @@
"Open %1% and add the line:": "Ouvrez %1% et ajoutez la ligne :"
"Cut": "Couper"
"Copy": "Copier"
-"Paste": "Coller"
\ No newline at end of file
+"Paste": "Coller"
+"Drag & drop links here from the left PAGE panel": "Glisser-déposer une page
ici depuis le panneau PAGES"
+"Click to edit": "Cliquer pour modifier"
\ No newline at end of file
Modified: plugins/diemPlugin/trunk/dmCorePlugin/web/css/sprite16.css
===================================================================
--- plugins/diemPlugin/trunk/dmCorePlugin/web/css/sprite16.css 2010-01-26
15:56:46 UTC (rev 27196)
+++ plugins/diemPlugin/trunk/dmCorePlugin/web/css/sprite16.css 2010-01-26
16:53:32 UTC (rev 27197)
@@ -4,7 +4,7 @@
.s16_clear{background-position:0 -48px;}
.s16_layer{background-position:0 -64px;}
.s16_alert{background-position:0 -80px;}
-.s16_error{background-position:0 -96px;}
+.s16_error{background-position:0 -96px !important;}
.s16_first{background-position:0 -112px;}
.s16_previous{background-position:0 -128px;}
.s16_next{background-position:0 -144px;}
Modified: plugins/diemPlugin/trunk/dmCorePlugin/web/js/dmCorePageBar.js
===================================================================
--- plugins/diemPlugin/trunk/dmCorePlugin/web/js/dmCorePageBar.js
2010-01-26 15:56:46 UTC (rev 27196)
+++ plugins/diemPlugin/trunk/dmCorePlugin/web/js/dmCorePageBar.js
2010-01-26 16:53:32 UTC (rev 27197)
@@ -39,7 +39,7 @@
url: $.dm.ctrl.getHref('+/dmInterface/loadPageTree'),
success: function(html)
{
- $('#dm_page_tree').hide().html(html);
+ $('#dm_page_tree').hide().html(html).dmExtractEncodedAssets();
pageBar.refresh();
pageBar.element.unblock();
setTimeout(function()
Modified:
plugins/diemPlugin/trunk/dmFrontPlugin/lib/dmWidget/menu/dmWidgetNavigationMenuForm.php
===================================================================
---
plugins/diemPlugin/trunk/dmFrontPlugin/lib/dmWidget/menu/dmWidgetNavigationMenuForm.php
2010-01-26 15:56:46 UTC (rev 27196)
+++
plugins/diemPlugin/trunk/dmFrontPlugin/lib/dmWidget/menu/dmWidgetNavigationMenuForm.php
2010-01-26 16:53:32 UTC (rev 27197)
@@ -5,12 +5,25 @@
public function configure()
{
+ $this->validatorSchema['link'] = new sfValidatorPass();
+ $this->validatorSchema['text'] = new sfValidatorPass();
+
if (!$this->getDefault('items'))
{
$this->setDefault('items', array());
}
parent::configure();
+
+ $this->widgetSchema['ulClass'] = new sfWidgetFormInputText();
+ $this->validatorSchema['ulClass'] = new
dmValidatorCssClasses(array('required' => false));
+
+ $this->widgetSchema['ulClass']->setLabel('UL CSS class');
+
+ $this->widgetSchema['liClass'] = new sfWidgetFormInputText();
+ $this->validatorSchema['liClass'] = new
dmValidatorCssClasses(array('required' => false));
+
+ $this->widgetSchema['liClass']->setLabel('LI CSS class');
}
public function getStylesheets()
@@ -39,4 +52,22 @@
));
}
+ public function getWidgetValues()
+ {
+ $values = parent::getWidgetValues();
+
+ $values['items'] = array();
+
+ foreach($values['link'] as $index => $link)
+ {
+ $values['items'][] = array(
+ 'link' => $values['link'][$index],
+ 'text' => $values['text'][$index]
+ );
+ }
+
+ unset($values['link'], $values['text']);
+
+ return $values;
+ }
}
\ No newline at end of file
Modified:
plugins/diemPlugin/trunk/dmFrontPlugin/lib/dmWidget/menu/dmWidgetNavigationMenuView.php
===================================================================
---
plugins/diemPlugin/trunk/dmFrontPlugin/lib/dmWidget/menu/dmWidgetNavigationMenuView.php
2010-01-26 15:56:46 UTC (rev 27196)
+++
plugins/diemPlugin/trunk/dmFrontPlugin/lib/dmWidget/menu/dmWidgetNavigationMenuView.php
2010-01-26 16:53:32 UTC (rev 27197)
@@ -9,14 +9,34 @@
{
parent::configure();
- $this->addRequiredVar('elements');
+ $this->addRequiredVar(array('items', 'ulClass', 'liClass'));
}
+
+ protected function filterViewVars(array $vars = array())
+ {
+ $vars = parent::filterViewVars($vars);
+
+ $vars['menu'] = $this->getService('menu')
+ ->ulClass($vars['ulClass']);
+
+ foreach($vars['items'] as $index => $item)
+ {
+ $vars['menu']
+ ->addChild($index.'-'.dmString::slugify($item['text']), $item['link'])
+ ->label($item['text'])
+ ->liClass($vars['liClass']);
+ }
+
+ unset($vars['items'], $vars['liClass']);
+
+ return $vars;
+ }
protected function doRender()
{
$vars = $this->getViewVars();
- return '[menu]';
+ return $vars['menu']->render();
}
}
\ No newline at end of file
Modified:
plugins/diemPlugin/trunk/dmFrontPlugin/modules/dmInterface/actions/actions.class.php
===================================================================
---
plugins/diemPlugin/trunk/dmFrontPlugin/modules/dmInterface/actions/actions.class.php
2010-01-26 15:56:46 UTC (rev 27196)
+++
plugins/diemPlugin/trunk/dmFrontPlugin/modules/dmInterface/actions/actions.class.php
2010-01-26 16:53:32 UTC (rev 27197)
@@ -12,7 +12,7 @@
return $this->renderAsync(array(
'html' => $tree->render(),
'js' => array('lib.tree-component', 'lib.tree-css')
- ));
+ ), true);
}
public function executeReloadAddMenu(dmWebRequest $request)
Modified:
plugins/diemPlugin/trunk/dmFrontPlugin/modules/dmWidget/templates/forms/dmWidgetNavigationMenu.php
===================================================================
---
plugins/diemPlugin/trunk/dmFrontPlugin/modules/dmWidget/templates/forms/dmWidgetNavigationMenu.php
2010-01-26 15:56:46 UTC (rev 27196)
+++
plugins/diemPlugin/trunk/dmFrontPlugin/modules/dmWidget/templates/forms/dmWidgetNavigationMenu.php
2010-01-26 16:53:32 UTC (rev 27197)
@@ -14,14 +14,19 @@
£('div#'.$baseTabId.'_items.drop_zone',
£('ol.items_list', array('json' => array(
'items' => $items,
- 'delete_message' => __('Remove this item')
+ 'delete_message' => __('Remove'),
+ 'text_message' => __('Text'),
+ 'link_message' => __('Link'),
+ 'click_message' => __('Click to edit')
)), '').
£('div.dm_help.no_margin', __('Drag & drop links here from the left PAGE
panel'))
),
£('div#'.$baseTabId.'_advanced',
£('ul.dm_form_elements',
- $form['cssClass']->renderRow()
+ $form['cssClass']->renderRow().
+ $form['ulClass']->renderRow().
+ $form['liClass']->renderRow()
)
),
Modified: plugins/diemPlugin/trunk/dmFrontPlugin/web/css/widgetForm/menu.css
===================================================================
--- plugins/diemPlugin/trunk/dmFrontPlugin/web/css/widgetForm/menu.css
2010-01-26 15:56:46 UTC (rev 27196)
+++ plugins/diemPlugin/trunk/dmFrontPlugin/web/css/widgetForm/menu.css
2010-01-26 16:53:32 UTC (rev 27197)
@@ -9,56 +9,42 @@
}
div.dm_widget_navigation_menu_form li.item_element {
- padding: 3px;
+ padding: 5px;
border-bottom: 1px solid #D3D3D3;
- height: 40px;
position: relative;
+ cursor: move;
}
-div.dm_widget_navigation_menu_form li.item_element .delete_item_element {
- width: 9px;
- height: 8px;
- position: absolute;
- top: 3px;
- cursor: pointer;
-}
-
div.dm_widget_navigation_menu_form li.item_element:hover {
background: #F0F4FC;
}
-div.dm_widget_navigation_menu_form li.item_element img {
- position: absolute;
- top: 3px;
- left: 0;
- cursor: move;
+div.dm_widget_navigation_menu_form a.item_text {
+ font-weight: bold;
+ cursor: pointer;
}
-div.dm_widget_navigation_menu_form li.item_element .wrap {
- margin: 2px 0 2px 110px;
+div.dm_widget_navigation_menu_form ul.item_form {
+ display: none;
}
-div.dm_widget_navigation_menu_form li.item_element label {
+div.dm_widget_navigation_menu_form ul.item_form li {
+ margin: 2px 0;
+}
+
+div.dm_widget_navigation_menu_form ul.item_form li label {
float: left;
- width: 15%;
+ width: 25%;
+ margin-top: 1px;
}
-div.dm_widget_navigation_menu_form li.item_element input {
+div.dm_widget_navigation_menu_form ul.item_form li input {
border: 1px solid #FFF;
background: none;
- width: 78%
+ width: 70%
}
-div.dm_widget_navigation_menu_form li.item_element input:hover,
-div.dm_widget_navigation_menu_form li.item_element input:active {
+div.dm_widget_navigation_menu_form ul.item_form li input:hover,
+div.dm_widget_navigation_menu_form ul.item_form li input:active {
background: #FFF;
-}
-
-
-div.dm_widget_navigation_menu_form li.item_element input.droppable_active {
- background: url(../../../dm/core/images/default_bg_yellow.png) repeat-x
scroll 50% 50%;
-}
-
-div.dm_widget_navigation_menu_form li.item_element input.droppable_hover {
- background: url(../../../dm/core/images/default_bg_green.png) repeat-x
scroll 50% 50%;
}
\ No newline at end of file
Modified:
plugins/diemPlugin/trunk/dmFrontPlugin/web/js/widgetForm/dmWidgetNavigationMenuForm.js
===================================================================
---
plugins/diemPlugin/trunk/dmFrontPlugin/web/js/widgetForm/dmWidgetNavigationMenuForm.js
2010-01-26 15:56:46 UTC (rev 27196)
+++
plugins/diemPlugin/trunk/dmFrontPlugin/web/js/widgetForm/dmWidgetNavigationMenuForm.js
2010-01-26 16:53:32 UTC (rev 27197)
@@ -12,7 +12,7 @@
$items = $form.find('.items_list'),
- deleteMessage = $items.metadata().delete_message,
+ metadata = $items.metadata(),
createItemElement = function(item)
{
@@ -23,26 +23,42 @@
}, item);
var $li = $('<li class="item_element">')
- .html(' \
-<input class="id" type="hidden" name="'+formName+'[link][]"
value="'+item.link+'" /> \
-<input class="position" type="hidden" name="'+formName+'[item_position][]"
value="'+item.position+'" /> \
-<div class="item_text">'+item.text+'</div> \
-<img src="'+$.dm.ctrl.options.dm_core_asset_root+'images/cross-small.png"
class="delete_item_element" title="'+deleteMessage+'" />'
- )
- .block();
+ .html('\
+<a class="item_text" title="'+metadata.click_message+'">'+item.text+'</a> \
+<ul class="item_form"> \
+<li class="clearfix"><label>'+metadata.text_message+':</label><input
class="text" type="text" name="'+formName+'[text][]" value="'+item.text+'"
/></li> \
+<li class="clearfix"><label>'+metadata.link_message+':</label><input
class="link" type="text" name="'+formName+'[link][]" value="'+item.link+'"
/></li> \
+<li class="clearfix"><a class="remove">'+metadata.delete_message+'
'+item.text+'</li> \
+</ul>'
+ );
$items.append($li);
+ $li.find('a.item_text').click(function()
+ {
+ if (!$li.hasClass('dm_dragging'))
+ {
+ $li.find('ul.item_form').toggle(200);
+ }
+ })
+ .end()
+ .find('a.remove').click(function() {
+ if (confirm($(this).text()+' ?'))
+ {
+ $li.remove();
+ }
+ });
+
self.dmFrontForm('linkDroppable');
if ($items.hasClass('ui-sortable'))
{
- $items.sortable('refresh').trigger('resort');
+ $items.sortable('refresh');
}
};
$.each($items.metadata().items, function() {
- createMediaElement(this);
+ createItemElement(this);
});
$items.droppable({
@@ -52,7 +68,10 @@
tolerance: 'touch',
drop: function(event, ui)
{
- createItemElement({link:
'page:'+ui.draggable.attr('id').replace(/dmp/, '')});
+ createItemElement({
+ link: 'page:'+ui.draggable.attr('id').replace(/dmp/, ''),
+ text: ui.draggable.find('>a').text()
+ });
$items.attr('scrollTop', 999999);
}
@@ -64,11 +83,13 @@
tolerance: 'pointer',
stop: function(e, ui) {
$(this).trigger('resort');
+ },
+ start: function(e, ui) {
+ ui.item.addClass('dm_dragging');
+ },
+ stop: function(e, ui) {
+ setTimeout(function() { ui.item.removeClass('dm_dragging'); }, 200);
}
- }).bind('resort', function() {
- $('li.item_element', $items).each(function(index) {
- $('input.position', $(this)).val(index);
- });
});
}
});
\ No newline at end of file
--
You received this message because you are subscribed to the Google Groups
"symfony SVN" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/symfony-svn?hl=en.