/** * Add GridFieldOrderableRows to the GridField * @param null $request * @return \Form */ public function EditForm($request = null) { $form = parent::EditForm($request); $fields = $form->Fields(); /** @var \GridField $gridField */ if ($gridField = $fields->dataFieldByName('Modular-Models-GridListFilters')) { if ($config = $gridField->getConfig()) { $config->addComponent(new GridFieldOrderableRows('Sort')); } } return $form; }
public function EditForm($request = null, $vars = null) { $form = parent::EditForm(); $grid = $form->Fields()->dataFieldByName('ContentChangeset'); $config = $grid->getConfig(); $config->removeComponentsByType('GridFieldDeleteAction'); $config->removeComponentsByType('GridFieldFilterHeader'); $config->removeComponentsByType('GridFieldAddNewButton'); $config->removeComponentsByType('GridFieldExportButton'); $config->removeComponentsByType('GridFieldPrintButton'); // $grid->setList($this->changesetService->getAvailableChangesets()); $config->getComponentByType('GridFieldDetailForm')->setItemEditFormCallback(function ($form, $itemRequest) { $actions = new FieldList(); $record = $form->getRecord(); if ($record->Status == 'Active') { $actions->push(FormAction::create('submitall', 'Submit all')->setUseButtonTag(true)->addExtraClass('ss-ui-action-constructive')); $actions->push(FormAction::create('revertall', 'Revert all')->setUseButtonTag(true)->addExtraClass('ss-ui-action-destructive')); $curmbs = $itemRequest->Breadcrumbs(); if ($curmbs && $curmbs->count() >= 2) { $one_level_up = $curmbs->offsetGet($curmbs->count() - 2); $text = sprintf("<a class=\"%s\" href=\"%s\">%s</a>", "crumb ss-ui-button ss-ui-action-destructive cms-panel-link ui-corner-all", $one_level_up->Link, _t('GridFieldDetailForm.CancelBtn', 'Cancel')); $actions->push(new LiteralField('cancelbutton', $text)); } $record->updateCMSActions($actions); } else { if ($record->Status == 'Published') { $nodes = DataList::create('RemoteSyncroNode')->map(); if ($nodes->count()) { $form->Fields()->insertBefore(new DropdownField('TargetNode', 'Deploy to', $nodes), 'ChangesetItems'); $actions->push(FormAction::create('push', 'Deploy changes')->setUseButtonTag(true)->addExtraClass('ss-ui-action-constructive')); } else { $form->Fields()->insertBefore(LiteralField::create('DeployNotice', '<strong>Create a Syncro node to deploy this changeset</strong>'), 'ChangesetItems'); } } } $form->setActions($actions); }); $config->getComponentByType('GridFieldDetailForm')->setItemRequestClass('ChangesetDetail_ItemRequest'); return $form; }
public function EditForm($request = null) { $form = parent::EditForm($request); Requirements::javascript(FLICKR_EDIT_TOOLS_PATH . '/javascript/flickredit.js'); Requirements::css(FLICKR_EDIT_TOOLS_PATH . '/css/flickredit.css'); $flickrSetPages = DataList::create('FlickrSetPage')->where('ParentID = 0'); //->sort('Title desc'); $flickrSetFolders = DataList::create('FlickrSetFolder')->sort('Title'); $html = '<h2>Flickr Set Folders</h2><div id="flickrFolders">'; foreach ($flickrSetFolders as $key => $folder) { $html .= '<div class="flickrSetFolderDroppable" data-id="' . $folder->ID . '">' . $folder->Title . '</div>'; } $html .= '</div><h2>Flickr Set Pages</h2><div id="flickrSetPages">'; foreach ($flickrSetPages as $key => $fspage) { $html .= '<div class="flickrSetDraggable" data-id="' . $fspage->ID . '">' . $fspage->Title . '</div>'; } $html .= '</div>'; $lf = new LiteralField('FlickrSetOrganizer', $html); //$form->Fields()->push($lf); $fl = new FieldList(); $fl->push($lf); $form->setFields($fl); return $form; }