function headway_register_default_elements() { HeadwayElementAPI::register_element(array('id' => 'default-text', 'name' => 'Paragraph Text', 'properties' => array('fonts'), 'default-element' => true, 'selector' => 'body')); HeadwayElementAPI::register_element(array('id' => 'default-hyperlink', 'name' => 'Hyperlink', 'properties' => array('fonts' => array('color', 'font-styling', 'capitalization'), 'text-shadow', 'borders', 'box-shadow', 'rounded-corners'), 'default-element' => true, 'selector' => 'a')); HeadwayElementAPI::register_element(array('id' => 'default-block', 'name' => 'Block', 'properties' => array('background', 'borders', 'fonts', 'padding', 'rounded-corners', 'box-shadow', 'overflow'), 'default-element' => true, 'selector' => '.block')); HeadwayElementAPI::register_element(array('id' => 'block-title', 'name' => 'Block Title', 'selector' => '.block-title', 'default-element' => true)); HeadwayElementAPI::register_element(array('id' => 'block-subtitle', 'name' => 'Block Subtitle', 'selector' => '.block-subtitle', 'default-element' => true)); }
function headway_register_structural_elements() { //Structure HeadwayElementAPI::register_group('structure', 'Structure'); HeadwayElementAPI::register_element(array('group' => 'structure', 'id' => 'body', 'name' => 'Body', 'selector' => 'body', 'properties' => array('background', 'borders'), 'disallow-nudging' => true)); HeadwayElementAPI::register_element(array('group' => 'structure', 'id' => 'wrapper', 'name' => 'Wrapper', 'selector' => 'div.wrapper', 'properties' => array('background', 'borders', 'padding', 'rounded-corners', 'box-shadow'))); //Blocks HeadwayElementAPI::register_group('blocks', 'Blocks'); }
public function register_block_element($args) { /* Add the selector prefix to the selector and even handle commas */ $selector_prefix = '.block-type-' . $this->id . ' '; $selector_array = explode(',', $args['selector']); foreach ($selector_array as $selector_index => $selector) { if (strpos(trim($selector_array[$selector_index]), '.block-type-') === 0) { continue; } $selector_array[$selector_index] = $selector_prefix . trim($selector); } $modified_selector = implode(',', $selector_array); /* End Selector Modification */ $defaults = array('group' => 'blocks', 'parent' => 'block-' . $this->id, 'id' => 'block-' . $this->id . '-' . $args['id'], 'name' => $args['name'], 'selector' => $modified_selector); //Unset the following so they don't overwrite the defaults unset($args['id']); unset($args['name']); unset($args['selector']); $element = array_merge($defaults, $args); //Go through states and add the selector prefix to each state if (isset($element['states']) && is_array($element['states'])) { foreach ($element['states'] as $state_name => $state_selector) { $state_selector_array = explode(',', $state_selector); foreach ($state_selector_array as $selector_index => $selector) { if (strpos(trim($state_selector_array[$selector_index]), '.block-type-') === 0) { continue; } $state_selector_array[$selector_index] = $selector_prefix . trim($selector); } $element['states'][$state_name] = trim(implode(',', $state_selector_array)); } } return HeadwayElementAPI::register_element($element); }