From c9fc7cda65c7b7bb8ea358bec67a07501ce24999 Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Wed, 30 May 2012 15:05:17 +0200 Subject: [PATCH 1/2] ENHANCEMENT Declaring Pjax fragments on CMS templates and forms --- code/controllers/AssetAdmin.php | 3 ++- code/controllers/CMSMain.php | 4 +++- templates/Includes/AssetAdmin_Content.ss | 2 +- templates/Includes/AssetAdmin_UploadContent.ss | 2 +- templates/Includes/CMSMain_Content.ss | 2 +- templates/Includes/CMSPagesController_Content.ss | 2 +- templates/Includes/CMSSettingsController_Content.ss | 2 +- templates/Includes/ReportAdmin_Content.ss | 2 +- 8 files changed, 11 insertions(+), 8 deletions(-) diff --git a/code/controllers/AssetAdmin.php b/code/controllers/AssetAdmin.php index 94ed93b5..a25c99ac 100644 --- a/code/controllers/AssetAdmin.php +++ b/code/controllers/AssetAdmin.php @@ -162,7 +162,7 @@ JS $uploadBtn = new LiteralField( 'UploadButton', sprintf( - '%s', + '%s', Controller::join_links(singleton('CMSFileAddController')->Link(), '?ID=' . $folder->ID), _t('Folder.UploadFilesButton', 'Upload') ) @@ -275,6 +275,7 @@ JS $form->setTemplate($this->getTemplatesWithSuffix('_EditForm')); // TODO Can't merge $FormAttributes in template at the moment $form->addExtraClass('cms-edit-form cms-panel-padded center ' . $this->BaseCSSClasses()); + $form->setAttribute('data-pjax-fragment', 'CurrentForm'); $form->Fields()->findOrMakeTab('Root')->setTemplate('CMSTabSet'); $this->extend('updateEditForm', $form); diff --git a/code/controllers/CMSMain.php b/code/controllers/CMSMain.php index ceec2522..05a3e7ff 100644 --- a/code/controllers/CMSMain.php +++ b/code/controllers/CMSMain.php @@ -625,6 +625,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr // TODO Can't merge $FormAttributes in template at the moment $form->addExtraClass('center ss-tabset ' . $this->BaseCSSClasses()); // if($form->Fields()->hasTabset()) $form->Fields()->findOrMakeTab('Root')->setTemplate('CMSTabSet'); + $form->setAttribute('data-pjax-fragment', 'CurrentForm'); if(!$record->canEdit() || $deletedFromStage) { $readonlyFields = $form->Fields()->makeReadonly(); @@ -720,7 +721,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr $num = $item->numChildren(); if($num) { return sprintf( - '%s', + '%s', $controller->Link(), $item->ID, $num @@ -737,6 +738,7 @@ class CMSMain extends LeftAndMain implements CurrentPageIdentifier, PermissionPr new FieldList($gridField), new FieldList() ); + $listview->setAttribute('data-pjax-fragment', 'ListViewForm'); $this->extend('updateListView', $listview); diff --git a/templates/Includes/AssetAdmin_Content.ss b/templates/Includes/AssetAdmin_Content.ss index c4d6fb1b..f85e365d 100644 --- a/templates/Includes/AssetAdmin_Content.ss +++ b/templates/Includes/AssetAdmin_Content.ss @@ -1,4 +1,4 @@ -
+
diff --git a/templates/Includes/AssetAdmin_UploadContent.ss b/templates/Includes/AssetAdmin_UploadContent.ss index 693b3ed8..af6be21a 100644 --- a/templates/Includes/AssetAdmin_UploadContent.ss +++ b/templates/Includes/AssetAdmin_UploadContent.ss @@ -1,4 +1,4 @@ -
+
diff --git a/templates/Includes/CMSMain_Content.ss b/templates/Includes/CMSMain_Content.ss index b53c7dd8..1e0d0b76 100644 --- a/templates/Includes/CMSMain_Content.ss +++ b/templates/Includes/CMSMain_Content.ss @@ -1,4 +1,4 @@ -
+
diff --git a/templates/Includes/CMSPagesController_Content.ss b/templates/Includes/CMSPagesController_Content.ss index 5a8ca5a7..0b056d91 100644 --- a/templates/Includes/CMSPagesController_Content.ss +++ b/templates/Includes/CMSPagesController_Content.ss @@ -1,4 +1,4 @@ -
+
diff --git a/templates/Includes/CMSSettingsController_Content.ss b/templates/Includes/CMSSettingsController_Content.ss index baf0ceec..bf45dce8 100644 --- a/templates/Includes/CMSSettingsController_Content.ss +++ b/templates/Includes/CMSSettingsController_Content.ss @@ -1,4 +1,4 @@ -
+
diff --git a/templates/Includes/ReportAdmin_Content.ss b/templates/Includes/ReportAdmin_Content.ss index 04ff5800..c926d375 100644 --- a/templates/Includes/ReportAdmin_Content.ss +++ b/templates/Includes/ReportAdmin_Content.ss @@ -1,4 +1,4 @@ -
+
From ad7c4432550762bbd7aedf9f2a81eeedcf4bd701 Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Wed, 30 May 2012 16:04:51 +0200 Subject: [PATCH 2/2] ENHANCEMENT Saving tab state for CMSPagesController --- code/controllers/CMSPagesController.php | 7 +++++++ templates/Includes/CMSPagesController_Content.ss | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/code/controllers/CMSPagesController.php b/code/controllers/CMSPagesController.php index 62180d60..5f401d7a 100644 --- a/code/controllers/CMSPagesController.php +++ b/code/controllers/CMSPagesController.php @@ -15,6 +15,13 @@ class CMSPagesController extends CMSMain { return false; } + /** + * @return String + */ + public function ViewState() { + return $this->request->getVar('view'); + } + /** * Doesn't deal with a single record, and we need * to avoid session state from previous record edits leaking in here. diff --git a/templates/Includes/CMSPagesController_Content.ss b/templates/Includes/CMSPagesController_Content.ss index 0b056d91..131d93bd 100644 --- a/templates/Includes/CMSPagesController_Content.ss +++ b/templates/Includes/CMSPagesController_Content.ss @@ -9,10 +9,10 @@