How does a backend CMS page form define the data to be passed to its UI component on the client (JavaScript) side?

Related reading: An example of a backend CMS page’s data for its UI component.


https://github.com/magento/magento2/blob/e0ed4bad/app/code/Magento/Cms/Model/Page/DataProvider.php#L14-L14




https://github.com/magento/magento2/blob/e0ed4bad/app/code/Magento/Cms/Model/Page/DataProvider.php#L59-L78

An example of the data:

{
	"page_id": "5",
	"title": "Magento 2",
	"page_layout": "1column",
	"meta_keywords": "",
	"meta_description": "",
	"identifier": "home",
	"content_heading": "",
	"content": "<p><strong>Some</strong> <strong>test</strong> <del>content</del>. 123456789<br>{{widget type=\"Magento\\CatalogWidget\\Block\\Product\\ProductsList\" products_count=\"10\" template=\"product/widget/content/grid.phtml\" conditions_encoded=\"a:2:[i:1;a:4:[s:4:`type`;s:50:`Magento|CatalogWidget|Model|Rule|Condition|Combine`;s:10:`aggregator`;s:3:`all`;s:5:`value`;s:1:`1`;s:9:`new_child`;s:0:``;]s:4:`1--1`;a:4:[s:4:`type`;s:50:`Magento|CatalogWidget|Model|Rule|Condition|Product`;s:9:`attribute`;s:12:`category_ids`;s:8:`operator`;s:2:`==`;s:5:`value`;s:1:`6`;]]\"}}</p></p>\r\n",
	"creation_time": "2015-07-17 16:55:44",
	"update_time": "2015-11-11 00:04:00",
	"is_active": "1",
	"sort_order": "0",
	"layout_update_xml": "",
	"custom_theme": null,
	"custom_root_template": null,
	"custom_layout_update_xml": null,
	"custom_theme_from": null,
	"custom_theme_to": null,
	"markdown": "**Some** **test** ~~content~~. 123456789\r\n{{widget type=\"Magento\\CatalogWidget\\Block\\Product\\ProductsList\" products_count=\"10\" template=\"product/widget/content/grid.phtml\" conditions_encoded=\"a:2:[i:1;a:4:[s:4:`type`;s:50:`Magento|CatalogWidget|Model|Rule|Condition|Combine`;s:10:`aggregator`;s:3:`all`;s:5:`value`;s:1:`1`;s:9:`new_child`;s:0:``;]s:4:`1--1`;a:4:[s:4:`type`;s:50:`Magento|CatalogWidget|Model|Rule|Condition|Product`;s:9:`attribute`;s:12:`category_ids`;s:8:`operator`;s:2:`==`;s:5:`value`;s:1:`6`;]]\"}}</p>\r\n",
	"_first_store_id": "1",
	"store_code": "mage2_pro",
	"store_id": ["1"]
}

See also: