private static function echo_component_form($post_id, $component = null) { $edit = !empty($component); if (!$edit) { $component = new WpakComponent('', '', 'posts-list'); } $component_id = $edit ? WpakComponentsStorage::get_component_id($post_id, $component) : '0'; $components_types = WpakComponentsTypes::get_available_components_types(); ?> <div id="component-form-<?php echo $component_id; ?> " class="component-form"> <table class="form-table"> <tr valign="top"> <th scope="row"><?php _e('Component label', WpAppKit::i18n_domain); ?> </th> <td><input class="can-reset" type="text" name="component_label" value="<?php echo $component->label; ?> " /></td> </tr> <?php if ($edit) { ?> <tr valign="top"> <th scope="row"><?php _e('Component slug', WpAppKit::i18n_domain); ?> </th> <td><input class="can-reset" type="text" name="component_slug" value="<?php echo $component->slug; ?> " /></td> </tr> <?php } ?> <tr valign="top"> <th scope="row"><?php _e('Component type', WpAppKit::i18n_domain); ?> </th> <td> <select type="text" name="component_type" class="component-type"> <?php foreach ($components_types as $type => $data) { ?> <?php $selected = $type == $component->type ? 'selected="selected"' : ''; ?> <option value="<?php echo $type; ?> " <?php echo $selected; ?> ><?php echo $data['label']; ?> </option> <?php } ?> </select> </td> </tr> <tr valign="top"> <th scope="row"><?php _e('Component options', WpAppKit::i18n_domain); ?> </th> <td class="component-options-target"> <?php WpakComponentsTypes::echo_form_fields($component->type, $edit ? $component : null); ?> </td> </tr> </table> <input type="hidden" name="component_id" value="<?php echo $component_id; ?> "/> <input type="hidden" name="component_post_id" value="<?php echo $post_id; ?> " /> <p class="submit"> <a class="button-secondary alignleft cancel" title="<?php _e('Cancel', WpAppKit::i18n_domain); ?> " href="#" <?php echo !$edit ? 'id="cancel-new-component"' : ''; ?> ><?php _e('Cancel', WpAppKit::i18n_domain); ?> </a> <a class="button button-primary component-form-submit" data-id="<?php echo $component_id; ?> "><?php echo $edit ? __('Save Changes', WpAppKit::i18n_domain) : 'Save new component'; ?> </a> </p> </div> <?php }