Commit Graph

68 Commits

Author SHA1 Message Date
Hamish Friedlander
4b54383d68 API change request handling to be more orthogonal
RequestHandler#handleAction now exists. It takes the request, and
the action to call on itself. All calls from handleRequest to call an action
will go through this method

Controller#handleAction has had it's signature changed to
match new RequestHandler#handleAction

RequestHandler#findAction has been added, which extracts the
"match URL to rules to find action" portion of RequestHandler#handleRequest
into a separate, overrideable function

GridField#handleAction has beeen renamed to handleAlterAction and
CMSBatchActionHandler#handleAction has been renamed to handleBatchAction to
avoid name clash with new RequestHandler#handleAction

Reason for change: The exact behaviour of request handling depended heavily
on whether you inherited from RequestHandler or Controller, and whether the
rule extracted it's action directly (like "foo/$ID" => 'foo') or dynamically
(like "$Action/$ID" => "handleAction"). This cleans up behaviour so
all calls follow the same path through handleRequest and handleAction, and
the additional behaviour that Controller adds is clear.
2013-02-18 14:56:04 +13:00
Andrew Short
16efd7402e ENHANCEMENT: Add grid field save handler. 2013-01-15 22:41:25 +11:00
Ingo Schommer
1ca3883a76 NEW Tooltip and inline help text support for CMS form fields 2012-12-14 01:58:04 +01:00
Simon Welsh
b0121b541c Add codesniffer that ensures indentation is with tabs. 2012-12-12 17:33:31 +13:00
Sean Harvey
8b0bb8dd09 API Replace deprecated FormField::createTag() with static create_tag()
GridField uses createTag() which is marked for deprecation, rather
than have it used as the cornerstone of generating FormField templates,
use it as a helper in case fields generate HTML tags from PHP.
2012-11-15 14:43:21 +13:00
Sam Minnee
1f7fc1f76a FIX Remove instances of lines longer than 120c
The entire framework repo (with the exception of system-generated files) has been amended to respect the 120c line-length limit.  This is in preparation for the enforcement of this rule with PHP_CodeSniffer.
2012-09-30 17:18:13 +13:00
Ingo Schommer
e2f073f38a Method visibility according to coding conventions 2012-09-20 10:46:59 +02:00
Simon Welsh
4ead89a4d0 API Adds getManipulatedList() method to GridField to get the SS_List after applying Manipulators 2012-09-06 23:42:48 +12:00
Andrew Short
eb733dee60 NEW Add set config method to GridField. 2012-07-04 13:13:23 +10:00
Ingo Schommer
02332da7fb MINOR GridField compat with ViewableData records (fixes #7479)
Only use relField() when it exists (usually on DataObject),
otherwise fall back to method or value returns
(same as original GridFieldDataColumns behaviour).
2012-06-15 13:33:34 +02:00
Sam Minnee
70d5ffefdd API CHANGE: Added GridField::addDataFields() to allow the definition of custom callbacks to be used by all GridField components.
API CHANGE: Added GridField::getDataFieldValue() to encapsulate field lookup for all components.
API CHANGE: Allow 'callback' key to be specified in a GridFieldDataColumn column info.  In this case, title should be put as the 'title' key of a map rather than simply the column info.
2012-06-06 16:12:05 +12:00
Naomi Guyer
16982ba17c ENHANCEMENT: Make GridFieldAddNewButton Content more specific
* Alter Grid Field "Add New" Button to take the name of the table (i.e.
"Add Member")
* Alter table names in security section to be singular so the button
text makes sense
2012-05-21 17:47:14 +12:00
Naomi Guyer
1747298786 ENHANCEMENT: Make GridFieldButtonRow more adaptable
* Add ability to choose where to put buttons (in buttonRow, toolbar
header, etc)
* Adjust styles to take these changes into account
2012-05-21 14:41:46 +12:00
Naomi Guyer
a7336e9dca ENHANCEMENT: Move GridField buttons out of table (fixes 7213)
* Added a separate component to grid field to hold buttons.
* Updated templates for changes
* Updated comments
2012-05-21 14:19:59 +12:00
Sam Minnee
c8e994d573 BUGFIX: Allow modification of a config's components after the grid field is instantiated. 2012-05-18 16:15:13 +12:00
Sean Harvey
0882741f54 API CHANGE Renamed setModel for DataModel instances to setDataModel for
semantics, and also to allow a field name called "Model"
2012-05-01 14:45:44 +12:00
Robert Curry
842784c8aa ENHANCEMENT: Fixes #7010. Move DisplayFields, FieldCasting and FieldFormatting functions from GridField to GridFieldDataColumns. 2012-04-19 12:44:59 +12:00
Ingo Schommer
a393d3937b ENHANCEMENT Anonymous function support in GridField->setFieldFormatting() 2012-04-17 17:11:43 +02:00
Simon Welsh
f07258f3cf MINOR Update @package values to match renaming sapphire 2012-04-15 10:50:19 +12:00
Simon Welsh
3a6341a251 API-CHANGE sapphire folder can now be renamed. 2012-04-15 10:50:19 +12:00
Andrew O'Neil
716ff9dcfa MINOR: Ensure all form fields have FieldHolder() with identical signature to FormField::FieldHolder(). Fixes E_STRICT warnings. 2012-04-11 18:07:55 +12:00
Andrew O'Neil
4be59a8d45 MINOR: Ensure all form fields Field() method has the same signature as FormField::Field(). Fixes E_STRICT warnings. 2012-04-11 17:33:36 +12:00
Ingo Schommer
1742b4b742 BUGFIX Fixed loading/saving regressions due to new PJAX logic introduced in e01b0aa3d0 2012-04-10 00:37:14 +02:00
Andrew O'Neil
de2832e65f ENHANCEMENT: Allow Object::create() to be called with late static binding.
This allows DataList::create('SiteTree') as equivalent to Object::create('DataList', 'SiteTree'), without
having to have a create() function on DataList. Required for E_STRICT compliance.
2012-03-27 17:57:42 +13:00
Sam Minnee
adbcf61c56 MINOR: Minor fixes after new SS_List interfaces cleanup 2012-03-09 17:50:32 +13:00
Stig Lindqvist
b6803f6141 MINOR Check that component getActions returns an array before using it 2012-03-09 17:07:42 +13:00
Sam Minnee
426f16764c ENHANCEMENT: GridFieldComponents will now use SS_Filterable, SS_Sortable, and SS_Limitable to determine which features are applicable to the List provided, and either throw an error, or silently disable the feature.
API CHANGE: Added throwExceptionOnBadDataType() to GridFilterFilter, GridFieldPaginator, and GridFieldSortableHeader.
2012-03-09 17:07:41 +13:00
Stig Lindqvist
09d6fa7bb3 API CHANGE Renamed GridFieldDefaultColumns to GridFieldDataColumns #6921 2012-03-09 14:07:40 +13:00
Stig Lindqvist
8b2213d56c MINOR Added per-record canView, canDelete, canCreate and canEdit checks on gridfield and gridfield components #6890 2012-03-09 10:58:01 +13:00
Sam Minnee
ed0e06c0f6 BUGFIX: Fix a couple of rebasing-related bugs in GridField. 2012-03-09 10:27:57 +13:00
Sam Minnee
7ea151789b MINOR: Formatted code a little better, at Stig's request. 2012-03-09 10:04:25 +13:00
Sam Minnee
5800db0239 API CHANGE: Allow for the creation of custom GridField fragments. (#6911) 2012-03-09 10:03:53 +13:00
Sam Minnee
c80e86f430 BUGFIX: Fix GridField::Field() 2012-03-09 09:58:57 +13:00
Ingo Schommer
e4a6dd5850 Merge branch 'integration'
Conflicts:
	forms/gridfield/GridField.php
2012-03-08 20:25:21 +01:00
Ingo Schommer
b321b9b995 MINOR Don't show GridField pagination when no records are found, and ensure the "no results" message is laid out correctly 2012-03-08 18:22:30 +01:00
Ingo Schommer
3e700d729f MINOR Renaming GridField_Action to GridField_FormAction, to better distinguish it from GridFieldActionProvider and GridFieldAction_Edit. The two are conceptually related, but not through inheritance, as the original naming suggested. 2012-03-08 15:22:00 +01:00
Ingo Schommer
1c344db339 MINOR More consistent overloading in GridField_Action, using standard getAttributes() method rather than custom template placeholders, removing setButtonIcon() and setButtonLabel() as those features already exist in the base implementation 2012-03-06 21:38:34 +01:00
Ingo Schommer
0b4228231c MINOR Integrating GridFieldSearch.js in GridField.js (and using entwine for it) 2012-03-06 21:38:34 +01:00
Julian Seidenberg
e0bd5d1070 ENHANCEMENT: SSF-106 adding a "no items found" message when returning an empty grid field 2012-03-06 12:36:59 +13:00
Hamish Friedlander
28bb83552a API-CHANGE: moving iterator support from ViewableData to SSViewer. New set of unit tests for iterator support functions. 2012-03-06 09:31:55 +13:00
Normann Lou
3ef957b704 APICHANGE SSF-53 : add ability to set an customised class of icons for a GridField_Action button 2012-03-05 15:47:35 +13:00
Ingo Schommer
b95abeedc6 Revert "MINOR SSF-53 : add ability to add customised class to GridField table" (introduces duplicate '.ss-gridfield' class in different levels of the DOM hierarchy)
This reverts commit 7bdc3d13fc.
2012-03-02 12:28:45 +01:00
Normann Lou
7bdc3d13fc MINOR SSF-53 : add ability to add customised class to GridField table 2012-03-02 16:27:34 +13:00
Ingo Schommer
bcc73de85e Merge branch '106-add-edit-records-rc'
Conflicts:
	admin/code/LeftAndMain.php
	admin/css/screen.css
	admin/scss/_style.scss
	admin/templates/Includes/LeftAndMain_EditForm.ss
	css/GridField.css
	filesystem/Folder.php
	forms/gridfield/GridField.php
	forms/gridfield/GridFieldDefaultColumns.php
	forms/gridfield/GridFieldPopupForms.php
2012-02-27 23:58:10 +01:00
Ingo Schommer
0bc6bffa9b BUGFIX Changed CSS class structure of GridField to avoid duplication of ".ss-gridfield" selector in different contexts, and make selectors less verbose (no more "fieldset.ss-gridfield"). Added "field" class to GridField container to ensure it displays correctly alongside other form fields (mainly around margins and paddings) 2012-02-23 23:29:58 +01:00
Ingo Schommer
abedf2a4a9 ENHANCEMENT Confirming deletion of records in GridField via JavaScript alert 2012-02-23 23:29:55 +01:00
Ingo Schommer
cbc2891c80 MINOR Metadata for GridField and Folder->getCMSFields() to allow opening folder references in the UI 2012-02-23 18:39:42 +01:00
Andrew O'Neil
b389138f50 MINOR Move gridfield actions HTML to templates 2012-02-22 16:19:45 +13:00
Ingo Schommer
5220a46fd0 ENHANCEMENT Inserting image via new dialog with ajax field retrieval and GridField file selection. Rewritten to jQuery.entwine and using the new HTML editor abstraction layer. 2012-02-14 13:53:35 +01:00
Ingo Schommer
c422e06b60 MINOR Removed GridField->requireDefaultCSS() idiom, not used elsewhere (or used for JS in the same class), should be handled through Requirements class instead 2012-02-14 13:53:32 +01:00