Custom admin grid returning blank

Shell script can be run only with sh command

Is there a familial term for apples and pears?

Banach space and Hilbert space topology

How to add power-LED to my small amplifier?

How is it possible for user to changed after storage was encrypted? (on OS X, Android)

Can I make popcorn with any corn?

How do we improve the relationship with a client software team that performs poorly and is becoming less collaborative?

Why are only specific transaction types accepted into the mempool?

Today is the Center

Download, install and reboot computer at night if needed

Copenhagen passport control - US citizen

Why did the Germans forbid the possession of pet pigeons in Rostov-on-Don in 1941?

What is the offset in a seaplane's hull?

What is the command to reset a PC without deleting any files

Why is "Reports" in sentence down without "The"

Why don't electromagnetic waves interact with each other?

How old can references or sources in a thesis be?

Symplectic equivalent of commuting matrices

What do you call a Matrix-like slowdown and camera movement effect?

The use of multiple foreign keys on same column in SQL Server

Continuity at a point in terms of closure

Are tax years 2016 & 2017 back taxes deductible for tax year 2018?

N.B. ligature in Latex

A newer friend of my brother's gave him a load of baseball cards that are supposedly extremely valuable. Is this a scam?



Custom admin grid returning blank







.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







0















I have an custom module on my magento 2 installation. The problem is when I access the admin grid, it's returning a blank page, just with the title of the page, like the following picture.



enter image description here



I alredy have tried to clean and flush the cache, but no succes.




My Controller/Adminhtml/Fat/Index.php




<?php

namespace PereiraTechFaturamentoControllerAdminhtmlFat;

class Index extends MagentoBackendAppAction
{
protected $resultPageFactory = false;

public function __construct(
MagentoBackendAppActionContext $context,
MagentoFrameworkViewResultPageFactory $resultPageFactory
)
{
parent::__construct($context);
$this->resultPageFactory = $resultPageFactory;
}

public function execute()
{
$resultPage = $this->resultPageFactory->create();
$resultPage->getConfig()->getTitle()->prepend((__('Faturamentos')));

return $resultPage;
}


}



etc/adminhtml/di.xml




<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/ObjectManager/etc/config.xsd">
<type name="MagentoFrameworkViewElementUiComponentDataProviderCollectionFactory">
<arguments>
<argument name="collections" xsi:type="array">
<item name="pepreiratech_faturamento_fat_listing_data_source" xsi:type="string">PereiraTechFaturamentoModelResourceModelFatGridCollection</item>
</argument>
</arguments>
</type>
<virtualType name="PereiraTechFaturamentoModelResourceModelFatGridCollection" type="MagentoFrameworkViewElementUiComponentDataProviderSearchResult">
<arguments>
<argument name="mainTable" xsi:type="string">pereiratech_fat</argument>
<argument name="resourceModel" xsi:type="string">PereirTechFaturamentoModelResourceModelFat</argument>
</arguments>
</virtualType>
</config>



etc/htmladmin/routes.xml




<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
<router id="admin">
<route id="fat" frontName="faturamento">
<module name="PereiraTech_Faturamento"/>
</route>
</router>
</config>



view/adminhtml/layout/pereiratech_faturamento_fat_index.xml




<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd">
<update handle="styles"/>
<body>
<referenceContainer name="content">
<uiComponent name="pereiratech_faturamento_fat_listing"/>
</referenceContainer>
</body>
</page>



view/adminhtml/ui_component/pereiratech_faturamento_fat_listing.xml




<listing xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
<argument name="data" xsi:type="array">
<item name="js_config" xsi:type="array">
<item name="provider" xsi:type="string">pereiratech_faturamento_fat_listing.pereiratech_faturamento_fat_listing_data_source</item>
<item name="deps" xsi:type="string">pereiratech_faturamento_fat_listing.pereiratech_faturamento_fat_listing_data_source</item>
</item>
<item name="spinner" xsi:type="string">spinner_columns</item>
<item name="buttons" xsi:type="array">
<item name="add" xsi:type="array">
<item name="name" xsi:type="string">add</item>
<item name="label" xsi:type="string" translate="true">Novo faturamento</item>
<item name="class" xsi:type="string">primary</item>
<item name="url" xsi:type="string">*/*/new</item>
</item>
</item>
</argument>
<dataSource name="pereiratech_fat">
<argument name="dataProvider" xsi:type="configurableObject">
<argument name="class" xsi:type="string">MagentoFrameworkViewElementUiComponentDataProviderDataProvider</argument>
<argument name="name" xsi:type="string">pereiratech_faturamento_fat_listing_data_source</argument>
<argument name="primaryFieldName" xsi:type="string">fat_id</argument>
<argument name="requestFieldName" xsi:type="string">id</argument>
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="component" xsi:type="string">Magento_Ui/js/grid/provider</item>
<item name="update_url" xsi:type="url" path="mui/index/render"/>
<item name="storageConfig" xsi:type="array">
<item name="indexField" xsi:type="string">fat_id</item>
</item>
</item>
</argument>
</argument>
</dataSource>
<listingToolbar name="listing_top">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="sticky" xsi:type="boolean">true</item>
</item>
</argument>
<bookmark name="bookmarks"/>
<columnsControls name="columns_controls"/>
<exportButton name="export_button"/>
<filters name="listing_filters" />
<filterSearch name="fulltext"/>
<massaction name="listing_massaction">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="component" xsi:type="string">Magento_Ui/js/grid/tree-massactions</item>
</item>
</argument>
<action name="delete">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="type" xsi:type="string">delete</item>
<item name="label" xsi:type="string" translate="true">Delete</item>
<item name="url" xsi:type="url" path="pereiratech_faturamento/fat/massDelete"/>
<item name="confirm" xsi:type="array">
<item name="title" xsi:type="string" translate="true">Delete Post</item>
<item name="message" xsi:type="string" translate="true">Are you sure you wan't to delete selected items?</item>
</item>
</item>
</argument>
</action>
</massaction>
<paging name="listing_paging"/>
</listingToolbar>
<columns name="spinner_columns">
<selectionsColumn name="ids">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="resizeEnabled" xsi:type="boolean">false</item>
<item name="resizeDefaultWidth" xsi:type="string">55</item>
<item name="indexField" xsi:type="string">fat_id</item>
</item>
</argument>
</selectionsColumn>
<column name="fat_id">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">textRange</item>
<item name="sorting" xsi:type="string">asc</item>
<item name="label" xsi:type="string" translate="true">ID</item>
</item>
</argument>
</column>
<column name="cliente">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">text</item>
<item name="editor" xsi:type="array">
<item name="editorType" xsi:type="string">text</item>
<item name="validation" xsi:type="array">
<item name="required-entry" xsi:type="boolean">true</item>
</item>
</item>
<item name="label" xsi:type="string" translate="true">Cliente</item>
</item>
</argument>
</column>
<column name="cliente_cpf_cnpj">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">text</item>
<item name="editor" xsi:type="array">
<item name="editorType" xsi:type="string">text</item>
<item name="validation" xsi:type="array">
<item name="required-entry" xsi:type="boolean">true</item>
</item>
</item>
<item name="label" xsi:type="string" translate="true">CPF/CNPJ</item>
</item>
</argument>
</column>
<column name="vendas_id">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">text</item>
<item name="editor" xsi:type="array">
<item name="editorType" xsi:type="string">text</item>
<item name="validation" xsi:type="array">
<item name="required-entry" xsi:type="boolean">true</item>
</item>
</item>
<item name="label" xsi:type="string" translate="true">Ordens</item>
</item>
</argument>
</column>
<column name="data_inicio" class="MagentoUiComponentListingColumnsDate">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">dateRange</item>
<item name="component" xsi:type="string">Magento_Ui/js/grid/columns/date</item>
<item name="dataType" xsi:type="string">date</item>
<item name="label" xsi:type="string" translate="true">De</item>
</item>
</argument>
</column>
<column name="data_fim" class="MagentoUiComponentListingColumnsDate">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">dateRange</item>
<item name="component" xsi:type="string">Magento_Ui/js/grid/columns/date</item>
<item name="dataType" xsi:type="string">date</item>
<item name="label" xsi:type="string" translate="true">Até</item>
</item>
</argument>
</column>
<column name="subtotal">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">text</item>
<item name="editor" xsi:type="array">
<item name="editorType" xsi:type="string">text</item>
<item name="validation" xsi:type="array">
<item name="required-entry" xsi:type="boolean">true</item>
</item>
</item>
<item name="label" xsi:type="string" translate="true">Subtotal</item>
</item>
</argument>
</column>
<column name="desconto">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">text</item>
<item name="editor" xsi:type="array">
<item name="editorType" xsi:type="string">text</item>
<item name="validation" xsi:type="array">
<item name="required-entry" xsi:type="boolean">true</item>
</item>
</item>
<item name="label" xsi:type="string" translate="true">Desconto</item>
</item>
</argument>
</column>
<column name="total">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">text</item>
<item name="editor" xsi:type="array">
<item name="editorType" xsi:type="string">text</item>
<item name="validation" xsi:type="array">
<item name="required-entry" xsi:type="boolean">true</item>
</item>
</item>
<item name="label" xsi:type="string" translate="true">Total</item>
</item>
</argument>
</column>
<column name="pago">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="filter" xsi:type="string">text</item>
<item name="editor" xsi:type="array">
<item name="editorType" xsi:type="string">text</item>
<item name="validation" xsi:type="array">
<item name="required-entry" xsi:type="boolean">true</item>
</item>
</item>
<item name="label" xsi:type="string" translate="true">Pago</item>
</item>
</argument>
</column>
</columns>
</listing>








share







New contributor




Murilo Pereira is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.



























    0















    I have an custom module on my magento 2 installation. The problem is when I access the admin grid, it's returning a blank page, just with the title of the page, like the following picture.



    enter image description here



    I alredy have tried to clean and flush the cache, but no succes.




    My Controller/Adminhtml/Fat/Index.php




    <?php

    namespace PereiraTechFaturamentoControllerAdminhtmlFat;

    class Index extends MagentoBackendAppAction
    {
    protected $resultPageFactory = false;

    public function __construct(
    MagentoBackendAppActionContext $context,
    MagentoFrameworkViewResultPageFactory $resultPageFactory
    )
    {
    parent::__construct($context);
    $this->resultPageFactory = $resultPageFactory;
    }

    public function execute()
    {
    $resultPage = $this->resultPageFactory->create();
    $resultPage->getConfig()->getTitle()->prepend((__('Faturamentos')));

    return $resultPage;
    }


    }



    etc/adminhtml/di.xml




    <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/ObjectManager/etc/config.xsd">
    <type name="MagentoFrameworkViewElementUiComponentDataProviderCollectionFactory">
    <arguments>
    <argument name="collections" xsi:type="array">
    <item name="pepreiratech_faturamento_fat_listing_data_source" xsi:type="string">PereiraTechFaturamentoModelResourceModelFatGridCollection</item>
    </argument>
    </arguments>
    </type>
    <virtualType name="PereiraTechFaturamentoModelResourceModelFatGridCollection" type="MagentoFrameworkViewElementUiComponentDataProviderSearchResult">
    <arguments>
    <argument name="mainTable" xsi:type="string">pereiratech_fat</argument>
    <argument name="resourceModel" xsi:type="string">PereirTechFaturamentoModelResourceModelFat</argument>
    </arguments>
    </virtualType>
    </config>



    etc/htmladmin/routes.xml




    <?xml version="1.0"?>
    <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
    <router id="admin">
    <route id="fat" frontName="faturamento">
    <module name="PereiraTech_Faturamento"/>
    </route>
    </router>
    </config>



    view/adminhtml/layout/pereiratech_faturamento_fat_index.xml




    <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd">
    <update handle="styles"/>
    <body>
    <referenceContainer name="content">
    <uiComponent name="pereiratech_faturamento_fat_listing"/>
    </referenceContainer>
    </body>
    </page>



    view/adminhtml/ui_component/pereiratech_faturamento_fat_listing.xml




    <listing xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
    <argument name="data" xsi:type="array">
    <item name="js_config" xsi:type="array">
    <item name="provider" xsi:type="string">pereiratech_faturamento_fat_listing.pereiratech_faturamento_fat_listing_data_source</item>
    <item name="deps" xsi:type="string">pereiratech_faturamento_fat_listing.pereiratech_faturamento_fat_listing_data_source</item>
    </item>
    <item name="spinner" xsi:type="string">spinner_columns</item>
    <item name="buttons" xsi:type="array">
    <item name="add" xsi:type="array">
    <item name="name" xsi:type="string">add</item>
    <item name="label" xsi:type="string" translate="true">Novo faturamento</item>
    <item name="class" xsi:type="string">primary</item>
    <item name="url" xsi:type="string">*/*/new</item>
    </item>
    </item>
    </argument>
    <dataSource name="pereiratech_fat">
    <argument name="dataProvider" xsi:type="configurableObject">
    <argument name="class" xsi:type="string">MagentoFrameworkViewElementUiComponentDataProviderDataProvider</argument>
    <argument name="name" xsi:type="string">pereiratech_faturamento_fat_listing_data_source</argument>
    <argument name="primaryFieldName" xsi:type="string">fat_id</argument>
    <argument name="requestFieldName" xsi:type="string">id</argument>
    <argument name="data" xsi:type="array">
    <item name="config" xsi:type="array">
    <item name="component" xsi:type="string">Magento_Ui/js/grid/provider</item>
    <item name="update_url" xsi:type="url" path="mui/index/render"/>
    <item name="storageConfig" xsi:type="array">
    <item name="indexField" xsi:type="string">fat_id</item>
    </item>
    </item>
    </argument>
    </argument>
    </dataSource>
    <listingToolbar name="listing_top">
    <argument name="data" xsi:type="array">
    <item name="config" xsi:type="array">
    <item name="sticky" xsi:type="boolean">true</item>
    </item>
    </argument>
    <bookmark name="bookmarks"/>
    <columnsControls name="columns_controls"/>
    <exportButton name="export_button"/>
    <filters name="listing_filters" />
    <filterSearch name="fulltext"/>
    <massaction name="listing_massaction">
    <argument name="data" xsi:type="array">
    <item name="config" xsi:type="array">
    <item name="component" xsi:type="string">Magento_Ui/js/grid/tree-massactions</item>
    </item>
    </argument>
    <action name="delete">
    <argument name="data" xsi:type="array">
    <item name="config" xsi:type="array">
    <item name="type" xsi:type="string">delete</item>
    <item name="label" xsi:type="string" translate="true">Delete</item>
    <item name="url" xsi:type="url" path="pereiratech_faturamento/fat/massDelete"/>
    <item name="confirm" xsi:type="array">
    <item name="title" xsi:type="string" translate="true">Delete Post</item>
    <item name="message" xsi:type="string" translate="true">Are you sure you wan't to delete selected items?</item>
    </item>
    </item>
    </argument>
    </action>
    </massaction>
    <paging name="listing_paging"/>
    </listingToolbar>
    <columns name="spinner_columns">
    <selectionsColumn name="ids">
    <argument name="data" xsi:type="array">
    <item name="config" xsi:type="array">
    <item name="resizeEnabled" xsi:type="boolean">false</item>
    <item name="resizeDefaultWidth" xsi:type="string">55</item>
    <item name="indexField" xsi:type="string">fat_id</item>
    </item>
    </argument>
    </selectionsColumn>
    <column name="fat_id">
    <argument name="data" xsi:type="array">
    <item name="config" xsi:type="array">
    <item name="filter" xsi:type="string">textRange</item>
    <item name="sorting" xsi:type="string">asc</item>
    <item name="label" xsi:type="string" translate="true">ID</item>
    </item>
    </argument>
    </column>
    <column name="cliente">
    <argument name="data" xsi:type="array">
    <item name="config" xsi:type="array">
    <item name="filter" xsi:type="string">text</item>
    <item name="editor" xsi:type="array">
    <item name="editorType" xsi:type="string">text</item>
    <item name="validation" xsi:type="array">
    <item name="required-entry" xsi:type="boolean">true</item>
    </item>
    </item>
    <item name="label" xsi:type="string" translate="true">Cliente</item>
    </item>
    </argument>
    </column>
    <column name="cliente_cpf_cnpj">
    <argument name="data" xsi:type="array">
    <item name="config" xsi:type="array">
    <item name="filter" xsi:type="string">text</item>
    <item name="editor" xsi:type="array">
    <item name="editorType" xsi:type="string">text</item>
    <item name="validation" xsi:type="array">
    <item name="required-entry" xsi:type="boolean">true</item>
    </item>
    </item>
    <item name="label" xsi:type="string" translate="true">CPF/CNPJ</item>
    </item>
    </argument>
    </column>
    <column name="vendas_id">
    <argument name="data" xsi:type="array">
    <item name="config" xsi:type="array">
    <item name="filter" xsi:type="string">text</item>
    <item name="editor" xsi:type="array">
    <item name="editorType" xsi:type="string">text</item>
    <item name="validation" xsi:type="array">
    <item name="required-entry" xsi:type="boolean">true</item>
    </item>
    </item>
    <item name="label" xsi:type="string" translate="true">Ordens</item>
    </item>
    </argument>
    </column>
    <column name="data_inicio" class="MagentoUiComponentListingColumnsDate">
    <argument name="data" xsi:type="array">
    <item name="config" xsi:type="array">
    <item name="filter" xsi:type="string">dateRange</item>
    <item name="component" xsi:type="string">Magento_Ui/js/grid/columns/date</item>
    <item name="dataType" xsi:type="string">date</item>
    <item name="label" xsi:type="string" translate="true">De</item>
    </item>
    </argument>
    </column>
    <column name="data_fim" class="MagentoUiComponentListingColumnsDate">
    <argument name="data" xsi:type="array">
    <item name="config" xsi:type="array">
    <item name="filter" xsi:type="string">dateRange</item>
    <item name="component" xsi:type="string">Magento_Ui/js/grid/columns/date</item>
    <item name="dataType" xsi:type="string">date</item>
    <item name="label" xsi:type="string" translate="true">Até</item>
    </item>
    </argument>
    </column>
    <column name="subtotal">
    <argument name="data" xsi:type="array">
    <item name="config" xsi:type="array">
    <item name="filter" xsi:type="string">text</item>
    <item name="editor" xsi:type="array">
    <item name="editorType" xsi:type="string">text</item>
    <item name="validation" xsi:type="array">
    <item name="required-entry" xsi:type="boolean">true</item>
    </item>
    </item>
    <item name="label" xsi:type="string" translate="true">Subtotal</item>
    </item>
    </argument>
    </column>
    <column name="desconto">
    <argument name="data" xsi:type="array">
    <item name="config" xsi:type="array">
    <item name="filter" xsi:type="string">text</item>
    <item name="editor" xsi:type="array">
    <item name="editorType" xsi:type="string">text</item>
    <item name="validation" xsi:type="array">
    <item name="required-entry" xsi:type="boolean">true</item>
    </item>
    </item>
    <item name="label" xsi:type="string" translate="true">Desconto</item>
    </item>
    </argument>
    </column>
    <column name="total">
    <argument name="data" xsi:type="array">
    <item name="config" xsi:type="array">
    <item name="filter" xsi:type="string">text</item>
    <item name="editor" xsi:type="array">
    <item name="editorType" xsi:type="string">text</item>
    <item name="validation" xsi:type="array">
    <item name="required-entry" xsi:type="boolean">true</item>
    </item>
    </item>
    <item name="label" xsi:type="string" translate="true">Total</item>
    </item>
    </argument>
    </column>
    <column name="pago">
    <argument name="data" xsi:type="array">
    <item name="config" xsi:type="array">
    <item name="filter" xsi:type="string">text</item>
    <item name="editor" xsi:type="array">
    <item name="editorType" xsi:type="string">text</item>
    <item name="validation" xsi:type="array">
    <item name="required-entry" xsi:type="boolean">true</item>
    </item>
    </item>
    <item name="label" xsi:type="string" translate="true">Pago</item>
    </item>
    </argument>
    </column>
    </columns>
    </listing>








    share







    New contributor




    Murilo Pereira is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.























      0












      0








      0








      I have an custom module on my magento 2 installation. The problem is when I access the admin grid, it's returning a blank page, just with the title of the page, like the following picture.



      enter image description here



      I alredy have tried to clean and flush the cache, but no succes.




      My Controller/Adminhtml/Fat/Index.php




      <?php

      namespace PereiraTechFaturamentoControllerAdminhtmlFat;

      class Index extends MagentoBackendAppAction
      {
      protected $resultPageFactory = false;

      public function __construct(
      MagentoBackendAppActionContext $context,
      MagentoFrameworkViewResultPageFactory $resultPageFactory
      )
      {
      parent::__construct($context);
      $this->resultPageFactory = $resultPageFactory;
      }

      public function execute()
      {
      $resultPage = $this->resultPageFactory->create();
      $resultPage->getConfig()->getTitle()->prepend((__('Faturamentos')));

      return $resultPage;
      }


      }



      etc/adminhtml/di.xml




      <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/ObjectManager/etc/config.xsd">
      <type name="MagentoFrameworkViewElementUiComponentDataProviderCollectionFactory">
      <arguments>
      <argument name="collections" xsi:type="array">
      <item name="pepreiratech_faturamento_fat_listing_data_source" xsi:type="string">PereiraTechFaturamentoModelResourceModelFatGridCollection</item>
      </argument>
      </arguments>
      </type>
      <virtualType name="PereiraTechFaturamentoModelResourceModelFatGridCollection" type="MagentoFrameworkViewElementUiComponentDataProviderSearchResult">
      <arguments>
      <argument name="mainTable" xsi:type="string">pereiratech_fat</argument>
      <argument name="resourceModel" xsi:type="string">PereirTechFaturamentoModelResourceModelFat</argument>
      </arguments>
      </virtualType>
      </config>



      etc/htmladmin/routes.xml




      <?xml version="1.0"?>
      <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
      <router id="admin">
      <route id="fat" frontName="faturamento">
      <module name="PereiraTech_Faturamento"/>
      </route>
      </router>
      </config>



      view/adminhtml/layout/pereiratech_faturamento_fat_index.xml




      <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd">
      <update handle="styles"/>
      <body>
      <referenceContainer name="content">
      <uiComponent name="pereiratech_faturamento_fat_listing"/>
      </referenceContainer>
      </body>
      </page>



      view/adminhtml/ui_component/pereiratech_faturamento_fat_listing.xml




      <listing xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
      <argument name="data" xsi:type="array">
      <item name="js_config" xsi:type="array">
      <item name="provider" xsi:type="string">pereiratech_faturamento_fat_listing.pereiratech_faturamento_fat_listing_data_source</item>
      <item name="deps" xsi:type="string">pereiratech_faturamento_fat_listing.pereiratech_faturamento_fat_listing_data_source</item>
      </item>
      <item name="spinner" xsi:type="string">spinner_columns</item>
      <item name="buttons" xsi:type="array">
      <item name="add" xsi:type="array">
      <item name="name" xsi:type="string">add</item>
      <item name="label" xsi:type="string" translate="true">Novo faturamento</item>
      <item name="class" xsi:type="string">primary</item>
      <item name="url" xsi:type="string">*/*/new</item>
      </item>
      </item>
      </argument>
      <dataSource name="pereiratech_fat">
      <argument name="dataProvider" xsi:type="configurableObject">
      <argument name="class" xsi:type="string">MagentoFrameworkViewElementUiComponentDataProviderDataProvider</argument>
      <argument name="name" xsi:type="string">pereiratech_faturamento_fat_listing_data_source</argument>
      <argument name="primaryFieldName" xsi:type="string">fat_id</argument>
      <argument name="requestFieldName" xsi:type="string">id</argument>
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="component" xsi:type="string">Magento_Ui/js/grid/provider</item>
      <item name="update_url" xsi:type="url" path="mui/index/render"/>
      <item name="storageConfig" xsi:type="array">
      <item name="indexField" xsi:type="string">fat_id</item>
      </item>
      </item>
      </argument>
      </argument>
      </dataSource>
      <listingToolbar name="listing_top">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="sticky" xsi:type="boolean">true</item>
      </item>
      </argument>
      <bookmark name="bookmarks"/>
      <columnsControls name="columns_controls"/>
      <exportButton name="export_button"/>
      <filters name="listing_filters" />
      <filterSearch name="fulltext"/>
      <massaction name="listing_massaction">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="component" xsi:type="string">Magento_Ui/js/grid/tree-massactions</item>
      </item>
      </argument>
      <action name="delete">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="type" xsi:type="string">delete</item>
      <item name="label" xsi:type="string" translate="true">Delete</item>
      <item name="url" xsi:type="url" path="pereiratech_faturamento/fat/massDelete"/>
      <item name="confirm" xsi:type="array">
      <item name="title" xsi:type="string" translate="true">Delete Post</item>
      <item name="message" xsi:type="string" translate="true">Are you sure you wan't to delete selected items?</item>
      </item>
      </item>
      </argument>
      </action>
      </massaction>
      <paging name="listing_paging"/>
      </listingToolbar>
      <columns name="spinner_columns">
      <selectionsColumn name="ids">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="resizeEnabled" xsi:type="boolean">false</item>
      <item name="resizeDefaultWidth" xsi:type="string">55</item>
      <item name="indexField" xsi:type="string">fat_id</item>
      </item>
      </argument>
      </selectionsColumn>
      <column name="fat_id">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="filter" xsi:type="string">textRange</item>
      <item name="sorting" xsi:type="string">asc</item>
      <item name="label" xsi:type="string" translate="true">ID</item>
      </item>
      </argument>
      </column>
      <column name="cliente">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="filter" xsi:type="string">text</item>
      <item name="editor" xsi:type="array">
      <item name="editorType" xsi:type="string">text</item>
      <item name="validation" xsi:type="array">
      <item name="required-entry" xsi:type="boolean">true</item>
      </item>
      </item>
      <item name="label" xsi:type="string" translate="true">Cliente</item>
      </item>
      </argument>
      </column>
      <column name="cliente_cpf_cnpj">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="filter" xsi:type="string">text</item>
      <item name="editor" xsi:type="array">
      <item name="editorType" xsi:type="string">text</item>
      <item name="validation" xsi:type="array">
      <item name="required-entry" xsi:type="boolean">true</item>
      </item>
      </item>
      <item name="label" xsi:type="string" translate="true">CPF/CNPJ</item>
      </item>
      </argument>
      </column>
      <column name="vendas_id">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="filter" xsi:type="string">text</item>
      <item name="editor" xsi:type="array">
      <item name="editorType" xsi:type="string">text</item>
      <item name="validation" xsi:type="array">
      <item name="required-entry" xsi:type="boolean">true</item>
      </item>
      </item>
      <item name="label" xsi:type="string" translate="true">Ordens</item>
      </item>
      </argument>
      </column>
      <column name="data_inicio" class="MagentoUiComponentListingColumnsDate">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="filter" xsi:type="string">dateRange</item>
      <item name="component" xsi:type="string">Magento_Ui/js/grid/columns/date</item>
      <item name="dataType" xsi:type="string">date</item>
      <item name="label" xsi:type="string" translate="true">De</item>
      </item>
      </argument>
      </column>
      <column name="data_fim" class="MagentoUiComponentListingColumnsDate">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="filter" xsi:type="string">dateRange</item>
      <item name="component" xsi:type="string">Magento_Ui/js/grid/columns/date</item>
      <item name="dataType" xsi:type="string">date</item>
      <item name="label" xsi:type="string" translate="true">Até</item>
      </item>
      </argument>
      </column>
      <column name="subtotal">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="filter" xsi:type="string">text</item>
      <item name="editor" xsi:type="array">
      <item name="editorType" xsi:type="string">text</item>
      <item name="validation" xsi:type="array">
      <item name="required-entry" xsi:type="boolean">true</item>
      </item>
      </item>
      <item name="label" xsi:type="string" translate="true">Subtotal</item>
      </item>
      </argument>
      </column>
      <column name="desconto">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="filter" xsi:type="string">text</item>
      <item name="editor" xsi:type="array">
      <item name="editorType" xsi:type="string">text</item>
      <item name="validation" xsi:type="array">
      <item name="required-entry" xsi:type="boolean">true</item>
      </item>
      </item>
      <item name="label" xsi:type="string" translate="true">Desconto</item>
      </item>
      </argument>
      </column>
      <column name="total">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="filter" xsi:type="string">text</item>
      <item name="editor" xsi:type="array">
      <item name="editorType" xsi:type="string">text</item>
      <item name="validation" xsi:type="array">
      <item name="required-entry" xsi:type="boolean">true</item>
      </item>
      </item>
      <item name="label" xsi:type="string" translate="true">Total</item>
      </item>
      </argument>
      </column>
      <column name="pago">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="filter" xsi:type="string">text</item>
      <item name="editor" xsi:type="array">
      <item name="editorType" xsi:type="string">text</item>
      <item name="validation" xsi:type="array">
      <item name="required-entry" xsi:type="boolean">true</item>
      </item>
      </item>
      <item name="label" xsi:type="string" translate="true">Pago</item>
      </item>
      </argument>
      </column>
      </columns>
      </listing>








      share







      New contributor




      Murilo Pereira is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      I have an custom module on my magento 2 installation. The problem is when I access the admin grid, it's returning a blank page, just with the title of the page, like the following picture.



      enter image description here



      I alredy have tried to clean and flush the cache, but no succes.




      My Controller/Adminhtml/Fat/Index.php




      <?php

      namespace PereiraTechFaturamentoControllerAdminhtmlFat;

      class Index extends MagentoBackendAppAction
      {
      protected $resultPageFactory = false;

      public function __construct(
      MagentoBackendAppActionContext $context,
      MagentoFrameworkViewResultPageFactory $resultPageFactory
      )
      {
      parent::__construct($context);
      $this->resultPageFactory = $resultPageFactory;
      }

      public function execute()
      {
      $resultPage = $this->resultPageFactory->create();
      $resultPage->getConfig()->getTitle()->prepend((__('Faturamentos')));

      return $resultPage;
      }


      }



      etc/adminhtml/di.xml




      <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/ObjectManager/etc/config.xsd">
      <type name="MagentoFrameworkViewElementUiComponentDataProviderCollectionFactory">
      <arguments>
      <argument name="collections" xsi:type="array">
      <item name="pepreiratech_faturamento_fat_listing_data_source" xsi:type="string">PereiraTechFaturamentoModelResourceModelFatGridCollection</item>
      </argument>
      </arguments>
      </type>
      <virtualType name="PereiraTechFaturamentoModelResourceModelFatGridCollection" type="MagentoFrameworkViewElementUiComponentDataProviderSearchResult">
      <arguments>
      <argument name="mainTable" xsi:type="string">pereiratech_fat</argument>
      <argument name="resourceModel" xsi:type="string">PereirTechFaturamentoModelResourceModelFat</argument>
      </arguments>
      </virtualType>
      </config>



      etc/htmladmin/routes.xml




      <?xml version="1.0"?>
      <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
      <router id="admin">
      <route id="fat" frontName="faturamento">
      <module name="PereiraTech_Faturamento"/>
      </route>
      </router>
      </config>



      view/adminhtml/layout/pereiratech_faturamento_fat_index.xml




      <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd">
      <update handle="styles"/>
      <body>
      <referenceContainer name="content">
      <uiComponent name="pereiratech_faturamento_fat_listing"/>
      </referenceContainer>
      </body>
      </page>



      view/adminhtml/ui_component/pereiratech_faturamento_fat_listing.xml




      <listing xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
      <argument name="data" xsi:type="array">
      <item name="js_config" xsi:type="array">
      <item name="provider" xsi:type="string">pereiratech_faturamento_fat_listing.pereiratech_faturamento_fat_listing_data_source</item>
      <item name="deps" xsi:type="string">pereiratech_faturamento_fat_listing.pereiratech_faturamento_fat_listing_data_source</item>
      </item>
      <item name="spinner" xsi:type="string">spinner_columns</item>
      <item name="buttons" xsi:type="array">
      <item name="add" xsi:type="array">
      <item name="name" xsi:type="string">add</item>
      <item name="label" xsi:type="string" translate="true">Novo faturamento</item>
      <item name="class" xsi:type="string">primary</item>
      <item name="url" xsi:type="string">*/*/new</item>
      </item>
      </item>
      </argument>
      <dataSource name="pereiratech_fat">
      <argument name="dataProvider" xsi:type="configurableObject">
      <argument name="class" xsi:type="string">MagentoFrameworkViewElementUiComponentDataProviderDataProvider</argument>
      <argument name="name" xsi:type="string">pereiratech_faturamento_fat_listing_data_source</argument>
      <argument name="primaryFieldName" xsi:type="string">fat_id</argument>
      <argument name="requestFieldName" xsi:type="string">id</argument>
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="component" xsi:type="string">Magento_Ui/js/grid/provider</item>
      <item name="update_url" xsi:type="url" path="mui/index/render"/>
      <item name="storageConfig" xsi:type="array">
      <item name="indexField" xsi:type="string">fat_id</item>
      </item>
      </item>
      </argument>
      </argument>
      </dataSource>
      <listingToolbar name="listing_top">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="sticky" xsi:type="boolean">true</item>
      </item>
      </argument>
      <bookmark name="bookmarks"/>
      <columnsControls name="columns_controls"/>
      <exportButton name="export_button"/>
      <filters name="listing_filters" />
      <filterSearch name="fulltext"/>
      <massaction name="listing_massaction">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="component" xsi:type="string">Magento_Ui/js/grid/tree-massactions</item>
      </item>
      </argument>
      <action name="delete">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="type" xsi:type="string">delete</item>
      <item name="label" xsi:type="string" translate="true">Delete</item>
      <item name="url" xsi:type="url" path="pereiratech_faturamento/fat/massDelete"/>
      <item name="confirm" xsi:type="array">
      <item name="title" xsi:type="string" translate="true">Delete Post</item>
      <item name="message" xsi:type="string" translate="true">Are you sure you wan't to delete selected items?</item>
      </item>
      </item>
      </argument>
      </action>
      </massaction>
      <paging name="listing_paging"/>
      </listingToolbar>
      <columns name="spinner_columns">
      <selectionsColumn name="ids">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="resizeEnabled" xsi:type="boolean">false</item>
      <item name="resizeDefaultWidth" xsi:type="string">55</item>
      <item name="indexField" xsi:type="string">fat_id</item>
      </item>
      </argument>
      </selectionsColumn>
      <column name="fat_id">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="filter" xsi:type="string">textRange</item>
      <item name="sorting" xsi:type="string">asc</item>
      <item name="label" xsi:type="string" translate="true">ID</item>
      </item>
      </argument>
      </column>
      <column name="cliente">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="filter" xsi:type="string">text</item>
      <item name="editor" xsi:type="array">
      <item name="editorType" xsi:type="string">text</item>
      <item name="validation" xsi:type="array">
      <item name="required-entry" xsi:type="boolean">true</item>
      </item>
      </item>
      <item name="label" xsi:type="string" translate="true">Cliente</item>
      </item>
      </argument>
      </column>
      <column name="cliente_cpf_cnpj">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="filter" xsi:type="string">text</item>
      <item name="editor" xsi:type="array">
      <item name="editorType" xsi:type="string">text</item>
      <item name="validation" xsi:type="array">
      <item name="required-entry" xsi:type="boolean">true</item>
      </item>
      </item>
      <item name="label" xsi:type="string" translate="true">CPF/CNPJ</item>
      </item>
      </argument>
      </column>
      <column name="vendas_id">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="filter" xsi:type="string">text</item>
      <item name="editor" xsi:type="array">
      <item name="editorType" xsi:type="string">text</item>
      <item name="validation" xsi:type="array">
      <item name="required-entry" xsi:type="boolean">true</item>
      </item>
      </item>
      <item name="label" xsi:type="string" translate="true">Ordens</item>
      </item>
      </argument>
      </column>
      <column name="data_inicio" class="MagentoUiComponentListingColumnsDate">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="filter" xsi:type="string">dateRange</item>
      <item name="component" xsi:type="string">Magento_Ui/js/grid/columns/date</item>
      <item name="dataType" xsi:type="string">date</item>
      <item name="label" xsi:type="string" translate="true">De</item>
      </item>
      </argument>
      </column>
      <column name="data_fim" class="MagentoUiComponentListingColumnsDate">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="filter" xsi:type="string">dateRange</item>
      <item name="component" xsi:type="string">Magento_Ui/js/grid/columns/date</item>
      <item name="dataType" xsi:type="string">date</item>
      <item name="label" xsi:type="string" translate="true">Até</item>
      </item>
      </argument>
      </column>
      <column name="subtotal">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="filter" xsi:type="string">text</item>
      <item name="editor" xsi:type="array">
      <item name="editorType" xsi:type="string">text</item>
      <item name="validation" xsi:type="array">
      <item name="required-entry" xsi:type="boolean">true</item>
      </item>
      </item>
      <item name="label" xsi:type="string" translate="true">Subtotal</item>
      </item>
      </argument>
      </column>
      <column name="desconto">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="filter" xsi:type="string">text</item>
      <item name="editor" xsi:type="array">
      <item name="editorType" xsi:type="string">text</item>
      <item name="validation" xsi:type="array">
      <item name="required-entry" xsi:type="boolean">true</item>
      </item>
      </item>
      <item name="label" xsi:type="string" translate="true">Desconto</item>
      </item>
      </argument>
      </column>
      <column name="total">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="filter" xsi:type="string">text</item>
      <item name="editor" xsi:type="array">
      <item name="editorType" xsi:type="string">text</item>
      <item name="validation" xsi:type="array">
      <item name="required-entry" xsi:type="boolean">true</item>
      </item>
      </item>
      <item name="label" xsi:type="string" translate="true">Total</item>
      </item>
      </argument>
      </column>
      <column name="pago">
      <argument name="data" xsi:type="array">
      <item name="config" xsi:type="array">
      <item name="filter" xsi:type="string">text</item>
      <item name="editor" xsi:type="array">
      <item name="editorType" xsi:type="string">text</item>
      <item name="validation" xsi:type="array">
      <item name="required-entry" xsi:type="boolean">true</item>
      </item>
      </item>
      <item name="label" xsi:type="string" translate="true">Pago</item>
      </item>
      </argument>
      </column>
      </columns>
      </listing>






      magento2 module adminhtml custom-options custom





      share







      New contributor




      Murilo Pereira is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.










      share







      New contributor




      Murilo Pereira is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.








      share



      share






      New contributor




      Murilo Pereira is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 3 mins ago









      Murilo PereiraMurilo Pereira

      11




      11




      New contributor




      Murilo Pereira is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Murilo Pereira is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Murilo Pereira is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          0






          active

          oldest

          votes












          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "479"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });






          Murilo Pereira is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f269066%2fcustom-admin-grid-returning-blank%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          Murilo Pereira is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          Murilo Pereira is a new contributor. Be nice, and check out our Code of Conduct.













          Murilo Pereira is a new contributor. Be nice, and check out our Code of Conduct.












          Murilo Pereira is a new contributor. Be nice, and check out our Code of Conduct.
















          Thanks for contributing an answer to Magento Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f269066%2fcustom-admin-grid-returning-blank%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          迭戈·戈丁...

          A phrase ”follow into" in a context The 2019 Stack Overflow Developer Survey Results Are...

          1960s short story making fun of James Bond-style spy fiction The 2019 Stack Overflow Developer...