From 83874d7ca8bb964d1096db0d659533f332b0d5d7 Mon Sep 17 00:00:00 2001 From: Alec Smecher Date: Wed, 26 Sep 2012 11:23:05 -0700 Subject: [PATCH] *6339* Removing LegacyLinkAction usage --- .../grid/filter/PKPFilterGridHandler.inc.php | 29 ++-- .../grid/filter/PKPFilterGridRow.inc.php | 32 ++-- .../grid/filter/form/FilterForm.inc.php | 2 +- classes/filter/BooleanFilterSetting.inc.php | 2 +- js/classes/Handler.js | 17 ++- .../grid/filter/form/filterForm.tpl | 142 ++++++++---------- 6 files changed, 107 insertions(+), 117 deletions(-) diff --git a/classes/controllers/grid/filter/PKPFilterGridHandler.inc.php b/classes/controllers/grid/filter/PKPFilterGridHandler.inc.php index 77bef8f5d12..fb3c4021ac9 100644 --- a/classes/controllers/grid/filter/PKPFilterGridHandler.inc.php +++ b/classes/controllers/grid/filter/PKPFilterGridHandler.inc.php @@ -128,13 +128,17 @@ function initialize(&$request) { // Grid action $router =& $request->getRouter(); + import('lib.pkp.classes.linkAction.request.AjaxModal'); $this->addAction( - new LegacyLinkAction( + new LinkAction( 'addFilter', - LINK_ACTION_MODE_MODAL, - LINK_ACTION_TYPE_APPEND, - $router->url($request, null, null, 'addFilter'), - 'grid.action.addItem' + new AjaxModal( + $router->url($request, null, null, 'addFilter'), + __('grid.action.addItem'), + 'modal_manage' + ), + __('grid.action.addItem'), + 'add_filter' ) ); @@ -235,22 +239,13 @@ function updateFilter(&$args, &$request) { // Persist the filter. $filterForm->execute($request); - // Render the updated filter row into - // a JSON response - $row =& $this->getRowInstance(); - $row->setGridId($this->getId()); - $row->setId($filter->getId()); - $row->setData($filter); - $row->initialize($request); - $json = new JSONMessage(true, $this->renderRowInternally($request, $row)); + return DAO::getDataChangedEvent(); } else { // Re-display the filter form with error messages // so that the user can fix it. $json = new JSONMessage(false, $filterForm->fetch($request)); + return $json->getString(); } - - // Return the serialized JSON response - return $json->getString(); } /** @@ -267,7 +262,7 @@ function deleteFilter(&$args, &$request) { $result = $filterDao->deleteObject($filter); if ($result) { - $json = new JSONMessage(true); + return DAO::getDataChangedEvent(); } else { $json = new JSONMessage(false, __('manager.setup.filter.grid.errorDeletingFilter')); } diff --git a/classes/controllers/grid/filter/PKPFilterGridRow.inc.php b/classes/controllers/grid/filter/PKPFilterGridRow.inc.php index 78b23a71c99..06b03f69491 100644 --- a/classes/controllers/grid/filter/PKPFilterGridRow.inc.php +++ b/classes/controllers/grid/filter/PKPFilterGridRow.inc.php @@ -48,29 +48,33 @@ function initialize(&$request) { // settings to be configured. $filter =& $this->getData(); assert(is_a($filter, 'Filter')); + import('lib.pkp.classes.linkAction.request.AjaxModal'); if ($filter->hasSettings()) { $this->addAction( - new LegacyLinkAction( + new LinkAction( 'editFilter', - LINK_ACTION_MODE_MODAL, - LINK_ACTION_TYPE_REPLACE, - $router->url($request, null, null, 'editFilter', null, $actionArgs), - 'grid.action.edit', - null, + new AjaxModal( + $router->url($request, null, null, 'editFilter', null, $actionArgs), + __('grid.action.edit'), + 'edit' + ), + __('grid.action.edit'), 'edit' ) ); } + import('lib.pkp.classes.linkAction.request.RemoteActionConfirmationModal'); $this->addAction( - new LegacyLinkAction( + new LinkAction( 'deleteFilter', - LINK_ACTION_MODE_CONFIRM, - LINK_ACTION_TYPE_REMOVE, - $router->url($request, null, null, 'deleteFilter', null, $actionArgs), - 'grid.action.delete', - null, - 'delete', - __('manager.setup.filter.grid.confirmDelete', array('filterName' => $filter->getDisplayName())) + new RemoteActionConfirmationModal( + __('manager.setup.filter.grid.confirmDelete', array('filterName' => $filter->getDisplayName())), + __('common.delete'), + $router->url($request, null, null, 'deleteFilter', null, $actionArgs), + 'modal_delete' + ), + __('common.delete'), + 'delete' ) ); } diff --git a/classes/controllers/grid/filter/form/FilterForm.inc.php b/classes/controllers/grid/filter/form/FilterForm.inc.php index abd1aa6491f..f4e7be36d48 100644 --- a/classes/controllers/grid/filter/form/FilterForm.inc.php +++ b/classes/controllers/grid/filter/form/FilterForm.inc.php @@ -60,7 +60,7 @@ function FilterForm(&$filter, $title, $description, $filterGroupSymbolic) { $this->setData('filterSettings', $filter->getSettings()); foreach($filter->getSettings() as $filterSetting) { // Add check corresponding to filter setting. - $settingCheck =& $filterSetting->getCheck($form); + $settingCheck =& $filterSetting->getCheck($this); if (!is_null($settingCheck)) $this->addCheck($settingCheck); } } diff --git a/classes/filter/BooleanFilterSetting.inc.php b/classes/filter/BooleanFilterSetting.inc.php index 707f8c60a1a..70e2ba55189 100644 --- a/classes/filter/BooleanFilterSetting.inc.php +++ b/classes/filter/BooleanFilterSetting.inc.php @@ -40,4 +40,4 @@ function &getCheck(&$form) { return $check; } } -?> \ No newline at end of file +?> diff --git a/js/classes/Handler.js b/js/classes/Handler.js index 75086e06783..008f53bd03f 100644 --- a/js/classes/Handler.js +++ b/js/classes/Handler.js @@ -231,7 +231,7 @@ /** * Completely remove all traces of the handler from the * HTML element to which it is bound and leave the element in - * it's previous state. + * its previous state. * * Subclasses should override this method if necessary but * should always call this implementation. @@ -278,6 +278,21 @@ }; + /** + * Sets the HTML element this handler is bound to. + * + * @protected + * @param {jQuery} $htmlElement The element this handler should be bound to. + * @return {jQuery} Passes through the supplied parameter. + */ + $.pkp.classes.Handler.prototype.setHtmlElement = function($htmlElement) { + $.pkp.classes.Handler.checkContext_(this); + + // Return the HTML element. + return this.$htmlElement_ = $htmlElement; + }; + + /** * Bind an event to a handler operation. * diff --git a/templates/controllers/grid/filter/form/filterForm.tpl b/templates/controllers/grid/filter/form/filterForm.tpl index dc0ee675ce9..b46c7c8fa18 100644 --- a/templates/controllers/grid/filter/form/filterForm.tpl +++ b/templates/controllers/grid/filter/form/filterForm.tpl @@ -7,95 +7,71 @@ * Filter grid form *} -{assign var=uid value="-"|uniqid} -
+{assign var="uid" value="-"|uniqid} + + +
{if $noMoreTemplates} - {literal}{/literal}

{translate key='manager.setup.filter.noMoreTemplates'}

{else} - -

{translate key=$formTitle}

- -

{translate key=$formDescription filterDisplayName=$filterDisplayName}

+

{translate key=$formTitle}

- {include file="common/formErrors.tpl"} +

{translate key=$formDescription filterDisplayName=$filterDisplayName}

- {if $filterTemplates} - {* Template selection *} - {fbvElement type="select" id="filterTemplateSelect"|concat:$uid name="filterTemplateId" - from=$filterTemplates translate=false defaultValue="-1" defaultLabel="manager.setup.filter.pleaseSelect"|translate} - {literal}{/literal} - {else} - {literal}{/literal} + {if $filterTemplates} + {* Template selection *} + {fbvElement type="select" id="filterTemplateSelect"|concat:$uid name="filterTemplateId" + from=$filterTemplates translate=false defaultValue="-1" defaultLabel="manager.setup.filter.pleaseSelect"|translate} + {else} + {assign var=hasRequiredField value=false} + + {foreach from=$filterSettings item=filterSetting} + {if $filterSetting->getRequired() == $smarty.const.FORM_VALIDATOR_REQUIRED_VALUE} + {assign var=filterSettingRequired value='1'} + {assign var=hasRequiredField value=true} + {else} + {assign var=filterSettingRequired value=''} + {/if} + + + {capture assign=settingValueVar}{ldelim}${$filterSetting->getName()}{rdelim}{/capture} + {eval|assign:"settingValue" var=$settingValueVar} + + + {/foreach} +
{fieldLabel name=$filterSetting->getName() key=$filterSetting->getDisplayName() required=$filterSettingRequired} + {if $filterSetting|is_a:SetFilterSetting} + {fbvElement type="select" id=$filterSetting->getName() name=$filterSetting->getName() + from=$filterSetting->getLocalizedAcceptedValues() selected=$settingValue translate=false} + {elseif $filterSetting|is_a:BooleanFilterSetting} + {fbvElement type="checkbox" id=$filterSetting->getName() name=$filterSetting->getName() + checked=$settingValue} + {else} + {fbvElement type="text" id=$filterSetting->getName() name=$filterSetting->getName() + size=$fbvStyles.size.LARGE maxlength=250 value=$settingValue} + {/if} +
+ {if $hasRequiredField}

{translate key="common.requiredField"}

{/if} - {assign var=hasRequiredField value=false} - - {foreach from=$filterSettings item=filterSetting} - {if $filterSetting->getRequired() == $smarty.const.FORM_VALIDATOR_REQUIRED_VALUE} - {assign var=filterSettingRequired value='1'} - {assign var=hasRequiredField value=true} - {else} - {assign var=filterSettingRequired value=''} - {/if} - - - {capture assign=settingValueVar}{ldelim}${$filterSetting->getName()}{rdelim}{/capture} - {eval|assign:"settingValue" var=$settingValueVar} - - - {/foreach} -
{fieldLabel name=$filterSetting->getName() key=$filterSetting->getDisplayName() required=$filterSettingRequired} - {if $filterSetting|is_a:SetFilterSetting} - {fbvElement type="select" id=$filterSetting->getName() name=$filterSetting->getName() - from=$filterSetting->getLocalizedAcceptedValues() selected=$settingValue translate=false} - {elseif $filterSetting|is_a:BooleanFilterSetting} - {fbvElement type="checkbox" id=$filterSetting->getName() name=$filterSetting->getName() - checked=$settingValue} - {else} - {fbvElement type="text" id=$filterSetting->getName() name=$filterSetting->getName() - size=$fbvStyles.size.LARGE maxlength=250 value=$settingValue} - {/if} -
- {if $hasRequiredField}

{translate key="common.requiredField"}

{/if} + {if $filterId}{/if} + {if $filterTemplateId}{/if} + {/if} - {if $filterId}{/if} - {if $filterTemplateId}{/if} - {/if} -
{/if} -
- + {fbvFormButtons submitText="common.save"} +