Index: branches/unlabeled/unlabeled-1.1.2/core/admin_templates/stylesheets/stylesheets_edit_block.tpl
===================================================================
diff -u -r1469 -r1487
--- branches/unlabeled/unlabeled-1.1.2/core/admin_templates/stylesheets/stylesheets_edit_block.tpl (.../stylesheets_edit_block.tpl) (revision 1469)
+++ branches/unlabeled/unlabeled-1.1.2/core/admin_templates/stylesheets/stylesheets_edit_block.tpl (.../stylesheets_edit_block.tpl) (revision 1487)
@@ -63,7 +63,13 @@
set_hidden_field('remove_specials[selectors.block]',1);
submit_event('selectors.block','OnMassClone');
}
- ) );
+ ) );
+
+ a_toolbar.AddButton( new ToolBarButton('reset_to_base', '', function() {
+ set_hidden_field('remove_specials[selectors.block]',1);
+ submit_event('selectors.block','OnMassResetToBase');
+ }
+ ) );
a_toolbar.AddButton( new ToolBarSeparator('sep4') );
Index: branches/unlabeled/unlabeled-1.1.2/core/units/selectors/selectors_tag_processor.php
===================================================================
diff -u -r1484 -r1487
--- branches/unlabeled/unlabeled-1.1.2/core/units/selectors/selectors_tag_processor.php (.../selectors_tag_processor.php) (revision 1484)
+++ branches/unlabeled/unlabeled-1.1.2/core/units/selectors/selectors_tag_processor.php (.../selectors_tag_processor.php) (revision 1487)
@@ -49,6 +49,41 @@
return $ret;
}
+ function PredefinedOptions($params)
+ {
+ $field = $params['field'];
+ $object =& $this->Application->recallObject($this->getPrefixSpecial(),$this->Prefix, $params);
+
+ $value = $object->GetDBField($field);
+ $subfield = getArrayValue($params,'subfield');
+ if($subfield && $subfield != '$subfield') $value = $value[$subfield];
+
+ $value_field = getArrayValue($params,'value_field');
+ if(!$value_field) $value_field = $field;
+
+ $options = $object->GetFieldOptions($value_field);
+
+ $block_params['name'] = $params['block'];
+ $block_params['field'] = $params['field'];
+ $block_params['pass_params'] = 'true';
+
+ $selected_param_name = $params['selected_param'];
+ if (!$selected_param_name) $selected_param_name = $params['selected'];
+ $selected = $params['selected'];
+
+ $o = '';
+ foreach ($options['options'] as $key => $val) {
+ $block_params['key'] = $key;
+ $block_params['option'] = $val;
+ $block_params['field_name'] = $this->InputName($params);
+ $block_params[$selected_param_name] = ( $key == $value ? ' '.$selected : '');
+ $block_params['PrefixSpecial'] = $this->getPrefixSpecial();
+ $o .= $this->Application->ParseBlock($block_params, 1);
+ }
+
+ return $o;
+ }
+
}
?>
\ No newline at end of file
Index: branches/unlabeled/unlabeled-1.1.2/core/admin_templates/stylesheets/block_style_edit.tpl
===================================================================
diff -u -r1486 -r1487
--- branches/unlabeled/unlabeled-1.1.2/core/admin_templates/stylesheets/block_style_edit.tpl (.../block_style_edit.tpl) (revision 1486)
+++ branches/unlabeled/unlabeled-1.1.2/core/admin_templates/stylesheets/block_style_edit.tpl (.../block_style_edit.tpl) (revision 1487)
@@ -25,7 +25,7 @@
a_toolbar.AddButton( new ToolBarSeparator('sep1') );
- a_toolbar.AddButton( new ToolBarButton('reset_to_base', '', function() {
+ a_toolbar.AddButton( new ToolBarButton('reset_to_base', '', function() {
submit_event('selectors','OnResetToBase');
}
) );
Index: branches/unlabeled/unlabeled-1.1.2/core/admin_templates/stylesheets/style_editor.tpl
===================================================================
diff -u -r1486 -r1487
--- branches/unlabeled/unlabeled-1.1.2/core/admin_templates/stylesheets/style_editor.tpl (.../style_editor.tpl) (revision 1486)
+++ branches/unlabeled/unlabeled-1.1.2/core/admin_templates/stylesheets/style_editor.tpl (.../style_editor.tpl) (revision 1487)
@@ -35,7 +35,7 @@
a_toolbar.AddButton( new ToolBarSeparator('sep1') );
- a_toolbar.AddButton( new ToolBarButton('reset_to_base', '', function() {
+ a_toolbar.AddButton( new ToolBarButton('reset_to_base', '', function() {
submit_event('selectors','OnResetToBase');
}
) );
@@ -75,7 +75,7 @@
" name="" id="" onchange="">
-
+
|
|
@@ -85,15 +85,32 @@
-
+
+
-
-
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: branches/unlabeled/unlabeled-1.1.2/core/units/selectors/selectors_event_handler.php
===================================================================
diff -u -r1485 -r1487
--- branches/unlabeled/unlabeled-1.1.2/core/units/selectors/selectors_event_handler.php (.../selectors_event_handler.php) (revision 1485)
+++ branches/unlabeled/unlabeled-1.1.2/core/units/selectors/selectors_event_handler.php (.../selectors_event_handler.php) (revision 1487)
@@ -60,10 +60,13 @@
list($id,$field_values) = each($items_info);
if($id == 0)
{
- $object->Load( $field_values['ParentId'] );
+ $parent_id = getArrayValue($field_values,'ParentId');
+ if($parent_id) $object->Load($parent_id);
+
$object->SetFieldsFromHash($field_values);
$object->Create();
if( $object->IsTempTable() ) $object->setTempID();
+ $this->Application->SetVar($event->getPrefixSpecial().'_id', $object->GetID() );
}
else
{
@@ -189,7 +192,15 @@
$object->SetDBField('SelectorData', $selector_data);
return $selector_data;
}
- return $selector_data;
+ else
+ {
+ foreach($selector_data as $prop_name => $prop_value)
+ {
+ if(!$prop_value) unset($selector_data[$prop_name]);
+ }
+ $object->SetDBField('SelectorData', $selector_data);
+ return $selector_data;
+ }
}
/**
@@ -225,11 +236,31 @@
{
$object =& $event->getObject();
$object->SetFieldsFromHash( $this->getSubmittedFields($event) );
- $object->SetDBField( 'SelectorData', Array() );
- $object->Update();
+ $object->ResetStyle();
$event->redirect_params['pass'] = 'all,'.$event->getPrefixSpecial();
}
+
+ /**
+ * Resets selected styles properties to values of their base classes
+ *
+ * @param kEvent $event
+ */
+ function OnMassResetToBase(&$event)
+ {
+ $this->Application->setUnitOption($event->Prefix,'AutoLoad',false);
+ $object =& $event->getObject();
+
+ $items_info = $this->Application->GetVar( $event->getPrefixSpecial(true) );
+ if($items_info)
+ {
+ foreach($items_info as $id => $field_values)
+ {
+ $object->Load($id);
+ $object->ResetStyle();
+ }
+ }
+ }
}
?>
\ No newline at end of file
Index: branches/unlabeled/unlabeled-1.1.2/core/units/selectors/selectors_config.php
===================================================================
diff -u -r1484 -r1487
--- branches/unlabeled/unlabeled-1.1.2/core/units/selectors/selectors_config.php (.../selectors_config.php) (revision 1484)
+++ branches/unlabeled/unlabeled-1.1.2/core/units/selectors/selectors_config.php (.../selectors_config.php) (revision 1487)
@@ -98,9 +98,8 @@
),
'VirtualFields' => Array(
- 'FontStyle' => Array('type'=>'string', 'formatter'=>'kOptionsFormatter', 'options'=>Array('inherit'=>'inherit','normal'=>'normal','italic'=>'italic','oblique'=>'oblique') ),
-
-
+ 'FontStyle' => Array('type'=>'string', 'formatter'=>'kOptionsFormatter', 'options'=>Array(''=>'','inherit'=>'inherit','normal'=>'normal','italic'=>'italic','oblique'=>'oblique'), 'default'=>'' ),
+ 'FontWeight' => Array('type'=>'string', 'formatter'=>'kOptionsFormatter', 'options'=>Array(''=>'','inherit'=>'inherit','100'=>'100','200'=>'200','300'=>'300','normal'=>'normal','500'=>'500','600'=>'600','bold'=>'bold','800'=>'800','900'=>'900','lighter'=>'lighter','bolder'=>'bolder') ),
),
'Grids' => Array(
Index: branches/unlabeled/unlabeled-1.1.2/core/units/selectors/selectors_item.php
===================================================================
diff -u -r1484 -r1487
--- branches/unlabeled/unlabeled-1.1.2/core/units/selectors/selectors_item.php (.../selectors_item.php) (revision 1484)
+++ branches/unlabeled/unlabeled-1.1.2/core/units/selectors/selectors_item.php (.../selectors_item.php) (revision 1487)
@@ -31,8 +31,24 @@
$ret .= "\t$property_name: $property_value;".$separator;
}
- $ret .= $this->GetDBField('AdvancedCSS');
+ $advanced_css = $this->GetDBField('AdvancedCSS');
+ if($separator != "\n") $advanced_css = str_replace("\n",$separator,$advanced_css);
+ $ret .= $advanced_css;
+
return $ret;
}
+
+ /**
+ * Resets all block style attributes to it's base style
+ *
+ */
+ function ResetStyle()
+ {
+ if( $this->GetDBField('ParentId') )
+ {
+ $this->SetDBField( 'SelectorData', Array() );
+ $this->Update();
+ }
+ }
}
?>
\ No newline at end of file