From 8089c14447f822c79b2342a966bf410cb945d032 Mon Sep 17 00:00:00 2001 From: colymba Date: Sun, 23 Jun 2013 15:08:26 +0300 Subject: [PATCH] added finish button --- code/GridFieldBulkImageUpload_Request.php | 26 +++++++++++++++++------ javascript/GridFieldBulkImageUpload.js | 25 ++++++++++++++++++++-- templates/BulkUploadButton.ss | 2 +- 3 files changed, 44 insertions(+), 9 deletions(-) diff --git a/code/GridFieldBulkImageUpload_Request.php b/code/GridFieldBulkImageUpload_Request.php index dcdcb96..a93276a 100644 --- a/code/GridFieldBulkImageUpload_Request.php +++ b/code/GridFieldBulkImageUpload_Request.php @@ -180,7 +180,24 @@ class GridFieldBulkImageUpload_Request extends RequestHandler { */ public function uploadForm($id = null, $fields = null) { - $actions = new FieldList(); + $crumbs = $this->Breadcrumbs(); + if($crumbs && $crumbs->count()>=2) + { + $one_level_up = $crumbs->offsetGet($crumbs->count()-2); + $one_level_up = $one_level_up->Link; + } + + $actions = new FieldList(); + + $actions->push( + FormAction::create('Finish', 'Finish') + ->setAttribute('id', 'bulkImageUploadFinishBtn') + ->addExtraClass('cms-panel-link') + ->setAttribute('data-icon', 'accept') + ->setAttribute('href', $one_level_up) + ->setUseButtonTag(true) + ->setAttribute('src', '')//changes type to image so isn't hooked by default actions handlers + ); $actions->push( FormAction::create('SaveAll', 'Save All') @@ -254,12 +271,9 @@ class GridFieldBulkImageUpload_Request extends RequestHandler { $actions ); - - $crumbs = $this->Breadcrumbs(); - if($crumbs && $crumbs->count()>=2) + if($one_level_up) { - $one_level_up = $crumbs->offsetGet($crumbs->count()-2); - $form->Backlink = $one_level_up->Link; + $form->Backlink = $one_level_up; } return $form; diff --git a/javascript/GridFieldBulkImageUpload.js b/javascript/GridFieldBulkImageUpload.js index 9064e1d..96cde2c 100644 --- a/javascript/GridFieldBulkImageUpload.js +++ b/javascript/GridFieldBulkImageUpload.js @@ -41,7 +41,7 @@ } }); - $('div.ss-upload .ss-uploadfield-item-editform form').entwine({ + $('#Form_uploadForm, div.ss-upload .ss-uploadfield-item-editform form').entwine({ onsubmit: function(e) { return false; } @@ -55,6 +55,28 @@ }, onunmatch: function(){} }); + + $('#bulkImageUploadFinishBtn').entwine({ + onmatch: function(){}, + onunmatch: function(){}, + onclick: function(e){ + var formsWithUpadtes = $('form.bulkImageUploadUpdateForm.hasUpdate').length, + confirmed = true; + + if ( formsWithUpadtes > 0 ) + { + confirmed = confirm( + "You have unsaved changes. Continuing will loose all unsaved data.\n\n" + + "Do your really want to continue?" + ); + } + + if (confirmed) + { + $('.cms-container').loadPanel(this.attr('href'), null, {}); + } + } + }); // end SS overhides // start add-on behaviours @@ -203,7 +225,6 @@ } }); - // }); diff --git a/templates/BulkUploadButton.ss b/templates/BulkUploadButton.ss index 94d62e7..c783407 100644 --- a/templates/BulkUploadButton.ss +++ b/templates/BulkUploadButton.ss @@ -1,3 +1,3 @@ - + $Label \ No newline at end of file