Changeset 27197
- Timestamp:
- 01/26/10 17:53:32 (3 years ago)
- Files:
-
- plugins/diemPlugin/trunk/dmAdminPlugin/modules/dmInterface/actions/actions.class.php (modified) (1 diff)
- plugins/diemPlugin/trunk/dmCorePlugin/config/dm/widget_types.yml (modified) (1 diff)
- plugins/diemPlugin/trunk/dmCorePlugin/data/dm/i18n/en_fr.yml (modified) (1 diff)
- plugins/diemPlugin/trunk/dmCorePlugin/data/sprites (deleted)
- plugins/diemPlugin/trunk/dmCorePlugin/web/css/sprite16.css (modified) (1 diff)
- plugins/diemPlugin/trunk/dmCorePlugin/web/js/dmCorePageBar.js (modified) (1 diff)
- plugins/diemPlugin/trunk/dmFrontPlugin/lib/dmWidget/menu/dmWidgetNavigationMenuForm.php (modified) (3 diffs)
- plugins/diemPlugin/trunk/dmFrontPlugin/lib/dmWidget/menu/dmWidgetNavigationMenuView.php (modified) (2 diffs)
- plugins/diemPlugin/trunk/dmFrontPlugin/modules/dmInterface/actions/actions.class.php (modified) (1 diff)
- plugins/diemPlugin/trunk/dmFrontPlugin/modules/dmWidget/templates/forms/dmWidgetNavigationMenu.php (modified) (2 diffs)
- plugins/diemPlugin/trunk/dmFrontPlugin/web/css/widgetForm/menu.css (modified) (2 diffs)
- plugins/diemPlugin/trunk/dmFrontPlugin/web/js/widgetForm/dmWidgetNavigationMenuForm.js (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
plugins/diemPlugin/trunk/dmAdminPlugin/modules/dmInterface/actions/actions.class.php
r27036 r27197 13 13 'html' => $tree->render(), 14 14 'js' => array('lib.tree-component', 'lib.tree-css') 15 ), false);15 ), true); 16 16 } 17 17 plugins/diemPlugin/trunk/dmCorePlugin/config/dm/widget_types.yml
r27194 r27197 27 27 cache: true 28 28 29 #menu:30 #cache: true29 menu: 30 cache: true 31 31 32 32 dmWidgetSearch: plugins/diemPlugin/trunk/dmCorePlugin/data/dm/i18n/en_fr.yml
r26386 r27197 399 399 "Copy": "Copier" 400 400 "Paste": "Coller" 401 "Drag & drop links here from the left PAGE panel": "Glisser-déposer une page ici depuis le panneau PAGES" 402 "Click to edit": "Cliquer pour modifier" plugins/diemPlugin/trunk/dmCorePlugin/web/css/sprite16.css
r26386 r27197 5 5 .s16_layer{background-position:0 -64px;} 6 6 .s16_alert{background-position:0 -80px;} 7 .s16_error{background-position:0 -96px ;}7 .s16_error{background-position:0 -96px !important;} 8 8 .s16_first{background-position:0 -112px;} 9 9 .s16_previous{background-position:0 -128px;} plugins/diemPlugin/trunk/dmCorePlugin/web/js/dmCorePageBar.js
r26816 r27197 40 40 success: function(html) 41 41 { 42 $('#dm_page_tree').hide().html(html) ;42 $('#dm_page_tree').hide().html(html).dmExtractEncodedAssets(); 43 43 pageBar.refresh(); 44 44 pageBar.element.unblock(); plugins/diemPlugin/trunk/dmFrontPlugin/lib/dmWidget/menu/dmWidgetNavigationMenuForm.php
r27194 r27197 6 6 public function configure() 7 7 { 8 $this->validatorSchema['link'] = new sfValidatorPass(); 9 $this->validatorSchema['text'] = new sfValidatorPass(); 10 8 11 if (!$this->getDefault('items')) 9 12 { … … 12 15 13 16 parent::configure(); 17 18 $this->widgetSchema['ulClass'] = new sfWidgetFormInputText(); 19 $this->validatorSchema['ulClass'] = new dmValidatorCssClasses(array('required' => false)); 20 21 $this->widgetSchema['ulClass']->setLabel('UL CSS class'); 22 23 $this->widgetSchema['liClass'] = new sfWidgetFormInputText(); 24 $this->validatorSchema['liClass'] = new dmValidatorCssClasses(array('required' => false)); 25 26 $this->widgetSchema['liClass']->setLabel('LI CSS class'); 14 27 } 15 28 … … 40 53 } 41 54 55 public function getWidgetValues() 56 { 57 $values = parent::getWidgetValues(); 58 59 $values['items'] = array(); 60 61 foreach($values['link'] as $index => $link) 62 { 63 $values['items'][] = array( 64 'link' => $values['link'][$index], 65 'text' => $values['text'][$index] 66 ); 67 } 68 69 unset($values['link'], $values['text']); 70 71 return $values; 72 } 42 73 } plugins/diemPlugin/trunk/dmFrontPlugin/lib/dmWidget/menu/dmWidgetNavigationMenuView.php
r27079 r27197 10 10 parent::configure(); 11 11 12 $this->addRequiredVar('elements'); 12 $this->addRequiredVar(array('items', 'ulClass', 'liClass')); 13 } 14 15 protected function filterViewVars(array $vars = array()) 16 { 17 $vars = parent::filterViewVars($vars); 18 19 $vars['menu'] = $this->getService('menu') 20 ->ulClass($vars['ulClass']); 21 22 foreach($vars['items'] as $index => $item) 23 { 24 $vars['menu'] 25 ->addChild($index.'-'.dmString::slugify($item['text']), $item['link']) 26 ->label($item['text']) 27 ->liClass($vars['liClass']); 28 } 29 30 unset($vars['items'], $vars['liClass']); 31 32 return $vars; 13 33 } 14 34 … … 17 37 $vars = $this->getViewVars(); 18 38 19 return '[menu]';39 return $vars['menu']->render(); 20 40 } 21 41 plugins/diemPlugin/trunk/dmFrontPlugin/modules/dmInterface/actions/actions.class.php
r26729 r27197 13 13 'html' => $tree->render(), 14 14 'js' => array('lib.tree-component', 'lib.tree-css') 15 ) );15 ), true); 16 16 } 17 17 plugins/diemPlugin/trunk/dmFrontPlugin/modules/dmWidget/templates/forms/dmWidgetNavigationMenu.php
r27194 r27197 15 15 £('ol.items_list', array('json' => array( 16 16 'items' => $items, 17 'delete_message' => __('Remove this item') 17 'delete_message' => __('Remove'), 18 'text_message' => __('Text'), 19 'link_message' => __('Link'), 20 'click_message' => __('Click to edit') 18 21 )), ''). 19 22 £('div.dm_help.no_margin', __('Drag & drop links here from the left PAGE panel')) … … 22 25 £('div#'.$baseTabId.'_advanced', 23 26 £('ul.dm_form_elements', 24 $form['cssClass']->renderRow() 27 $form['cssClass']->renderRow(). 28 $form['ulClass']->renderRow(). 29 $form['liClass']->renderRow() 25 30 ) 26 31 ), plugins/diemPlugin/trunk/dmFrontPlugin/web/css/widgetForm/menu.css
r27194 r27197 10 10 11 11 div.dm_widget_navigation_menu_form li.item_element { 12 padding: 3px;12 padding: 5px; 13 13 border-bottom: 1px solid #D3D3D3; 14 height: 40px;15 14 position: relative; 16 } 17 18 div.dm_widget_navigation_menu_form li.item_element .delete_item_element { 19 width: 9px; 20 height: 8px; 21 position: absolute; 22 top: 3px; 23 cursor: pointer; 15 cursor: move; 24 16 } 25 17 … … 28 20 } 29 21 30 div.dm_widget_navigation_menu_form li.item_element img { 31 position: absolute; 32 top: 3px; 33 left: 0; 34 cursor: move; 22 div.dm_widget_navigation_menu_form a.item_text { 23 font-weight: bold; 24 cursor: pointer; 35 25 } 36 26 37 div.dm_widget_navigation_menu_form li.item_element .wrap{38 margin: 2px 0 2px 110px;27 div.dm_widget_navigation_menu_form ul.item_form { 28 display: none; 39 29 } 40 30 41 div.dm_widget_navigation_menu_form li.item_element label { 42 float: left; 43 width: 15%; 31 div.dm_widget_navigation_menu_form ul.item_form li { 32 margin: 2px 0; 44 33 } 45 34 46 div.dm_widget_navigation_menu_form li.item_element input { 35 div.dm_widget_navigation_menu_form ul.item_form li label { 36 float: left; 37 width: 25%; 38 margin-top: 1px; 39 } 40 41 div.dm_widget_navigation_menu_form ul.item_form li input { 47 42 border: 1px solid #FFF; 48 43 background: none; 49 width: 7 8%44 width: 70% 50 45 } 51 46 52 div.dm_widget_navigation_menu_form li.item_elementinput:hover,53 div.dm_widget_navigation_menu_form li.item_elementinput:active {47 div.dm_widget_navigation_menu_form ul.item_form li input:hover, 48 div.dm_widget_navigation_menu_form ul.item_form li input:active { 54 49 background: #FFF; 55 50 } 56 57 58 div.dm_widget_navigation_menu_form li.item_element input.droppable_active {59 background: url(../../../dm/core/images/default_bg_yellow.png) repeat-x scroll 50% 50%;60 }61 62 div.dm_widget_navigation_menu_form li.item_element input.droppable_hover {63 background: url(../../../dm/core/images/default_bg_green.png) repeat-x scroll 50% 50%;64 }plugins/diemPlugin/trunk/dmFrontPlugin/web/js/widgetForm/dmWidgetNavigationMenuForm.js
r27194 r27197 13 13 $items = $form.find('.items_list'), 14 14 15 deleteMessage = $items.metadata().delete_message,15 metadata = $items.metadata(), 16 16 17 17 createItemElement = function(item) … … 24 24 25 25 var $li = $('<li class="item_element">') 26 .html(' \ 27 <input class="id" type="hidden" name="'+formName+'[link][]" value="'+item.link+'" /> \ 28 <input class="position" type="hidden" name="'+formName+'[item_position][]" value="'+item.position+'" /> \ 29 <div class="item_text">'+item.text+'</div> \ 30 <img src="'+$.dm.ctrl.options.dm_core_asset_root+'images/cross-small.png" class="delete_item_element" title="'+deleteMessage+'" />' 31 ) 32 .block(); 26 .html('\ 27 <a class="item_text" title="'+metadata.click_message+'">'+item.text+'</a> \ 28 <ul class="item_form"> \ 29 <li class="clearfix"><label>'+metadata.text_message+':</label><input class="text" type="text" name="'+formName+'[text][]" value="'+item.text+'" /></li> \ 30 <li class="clearfix"><label>'+metadata.link_message+':</label><input class="link" type="text" name="'+formName+'[link][]" value="'+item.link+'" /></li> \ 31 <li class="clearfix"><a class="remove">'+metadata.delete_message+' '+item.text+'</li> \ 32 </ul>' 33 ); 33 34 34 35 $items.append($li); 36 37 $li.find('a.item_text').click(function() 38 { 39 if (!$li.hasClass('dm_dragging')) 40 { 41 $li.find('ul.item_form').toggle(200); 42 } 43 }) 44 .end() 45 .find('a.remove').click(function() { 46 if (confirm($(this).text()+' ?')) 47 { 48 $li.remove(); 49 } 50 }); 35 51 36 52 self.dmFrontForm('linkDroppable'); … … 38 54 if ($items.hasClass('ui-sortable')) 39 55 { 40 $items.sortable('refresh') .trigger('resort');56 $items.sortable('refresh'); 41 57 } 42 58 }; 43 59 44 60 $.each($items.metadata().items, function() { 45 create MediaElement(this);61 createItemElement(this); 46 62 }); 47 63 … … 53 69 drop: function(event, ui) 54 70 { 55 createItemElement({link: 'page:'+ui.draggable.attr('id').replace(/dmp/, '')}); 71 createItemElement({ 72 link: 'page:'+ui.draggable.attr('id').replace(/dmp/, ''), 73 text: ui.draggable.find('>a').text() 74 }); 56 75 57 76 $items.attr('scrollTop', 999999); … … 65 84 stop: function(e, ui) { 66 85 $(this).trigger('resort'); 86 }, 87 start: function(e, ui) { 88 ui.item.addClass('dm_dragging'); 89 }, 90 stop: function(e, ui) { 91 setTimeout(function() { ui.item.removeClass('dm_dragging'); }, 200); 67 92 } 68 }).bind('resort', function() {69 $('li.item_element', $items).each(function(index) {70 $('input.position', $(this)).val(index);71 });72 93 }); 73 94 }