<?php
use NewedgeMedia\BlockBuilder\PageBlock;
use SilverStripe\Forms\GridField\GridFieldConfig_RecordEditor;
use Symbiote\GridFieldExtensions\GridFieldOrderableRows;
use SilverStripe\Forms\GridField\GridField;
use SilverStripe\AssetAdmin\Forms\UploadField;
use TractorCow\Colorpicker\Forms\ColorField;
use SilverStripe\View\Requirements;
use SilverStripe\Assets\Image;
use SilverStripe\Forms\GridField\GridFieldConfig;

class BlockWidgetSectorDetail extends PageBlock {

    private static $singular_name = "Sector Detail Rows";

    private static $db = array(
        "Sort"     => "Int",
    );

    private static $fullOnly = true;

    private static $default_sort = "Sort";

    private static $allowed_page_types = array(
        "SectorDetailPage"
    );

    private static $has_many = array(
        "Items" => BlockWidgetSectorDetailItem::class
    );

    private static $has_one = array(
    );

    public function getCMSFields(){

        $fields = parent::getCMSFields();
        $fields->removeByName("Sort");
        $fields->removeByName("Items");
        if ($this->ID > 0){
            $gridFieldConfig = GridFieldConfig_RecordEditor::create();
            $gridFieldConfig->addComponent(new GridFieldOrderableRows('Sort'));
            $grid = new GridField("Items", "Items", $this->Items(), $gridFieldConfig);
            $fields->addFieldToTab("Root.Main", $grid);
        }        
        return $fields;
    }

    public function Output(){
    //      Requirements::css("themes/" . Config::inst()->get('SSViewer', 'theme') . "/css/.css");
    //      Requirements::javascript("themes/" . Config::inst()->get('SSViewer', 'theme') . "/javascript/.js");
            return parent::Output();
    }

}
