Dive into secure and efficient coding practices with our curated list of the top 10 examples showcasing 'datocms-client' in functional components in JavaScript. Our advanced machine learning engine meticulously scans each line of code, cross-referencing millions of open source libraries to ensure your implementation is not just functional, but also robust and secure. Elevate your React applications to new heights by mastering the art of handling side effects, API calls, and asynchronous operations with confidence and precision.
window.DatoCmsPlugin.init((plugin) => {
plugin.startAutoResizer();
const dato = new SiteClient(plugin.parameters.global.datoCmsApiToken);
const container = document.createElement('div');
container.classList.add('container');
document.body.appendChild(container);
const title = document.createElement('h4');
title.classList.add('title');
title.textContent = plugin.parameters.instance.title;
container.appendChild(title);
const postItemType = Object.values(plugin.itemTypes).find(
itemType => itemType.attributes.api_key === plugin.parameters.instance.itemTypeApiKey,
);
const linkField = Object.values(plugin.fields).find(field => (
field.relationships.item_type.data.id === postItemType.id
&& field.attributes.api_key === plugin.parameters.instance.fieldApiKey
async fetchContent (store) {
const { addCollection, getCollection } = store
const { apiToken, apiUrl, previewMode } = this.options
const clientHeaders = {
'X-Reason': 'dump',
'X-SSG': 'gridsome'
}
const client = apiUrl
? new SiteClient(apiToken, clientHeaders, apiUrl)
: new SiteClient(apiToken, clientHeaders)
const loader = new Loader(client, previewMode)
await loader.load()
const { itemsRepo, entitiesRepo } = loader
const cache = {}
for (const itemType of itemsRepo.itemTypes) {
const { titleField, fields } = itemType
const slugField = fields.find(({ fieldType }) => fieldType === 'slug')
cache[itemType.id] = { titleField, slugField }
const collection = addCollection(
async fetchContent (store) {
const { addCollection, getCollection } = store
const { apiToken, apiUrl, previewMode } = this.options
const clientHeaders = {
'X-Reason': 'dump',
'X-SSG': 'gridsome'
}
const client = apiUrl
? new SiteClient(apiToken, clientHeaders, apiUrl)
: new SiteClient(apiToken, clientHeaders)
const loader = new Loader(client, previewMode)
await loader.load()
const { itemsRepo, entitiesRepo } = loader
const cache = {}
for (const itemType of itemsRepo.itemTypes) {
const { titleField, fields } = itemType
const slugField = fields.find(({ fieldType }) => fieldType === 'slug')
cache[itemType.id] = { titleField, slugField }
module.exports = async (
{ actions, getNode, getNodesByType, reporter, parentSpan, schema, store },
{
apiToken,
disableLiveReload,
previewMode,
apiUrl,
localeFallbacks: rawLocaleFallbacks,
},
) => {
let client = apiUrl
? new SiteClient(apiToken, CLIENT_HEADERS, apiUrl)
: new SiteClient(apiToken, CLIENT_HEADERS);
const localeFallbacks = rawLocaleFallbacks || {};
const loader = new Loader(client, process.env.GATSBY_CLOUD || previewMode);
const program = store.getState().program;
const cacheDir = `${program.directory}/.cache/datocms-assets`;
if (!fs.existsSync(cacheDir)) {
fs.mkdirSync(cacheDir);
}
const context = {
entitiesRepo: loader.entitiesRepo,
actions,
getNode,
constructor(opts) {
Object.assign(this, this.validate(opts))
this.client = new SiteClient(opts.token, { 'X-Api-Version': '1' })
bindAllClass(this, ['apply', 'run'])
}
module.exports = async (
{ actions, getNode, getNodesByType, reporter, parentSpan, schema, store },
{
apiToken,
disableLiveReload,
previewMode,
apiUrl,
localeFallbacks: rawLocaleFallbacks,
},
) => {
let client = apiUrl
? new SiteClient(apiToken, CLIENT_HEADERS, apiUrl)
: new SiteClient(apiToken, CLIENT_HEADERS);
const localeFallbacks = rawLocaleFallbacks || {};
const loader = new Loader(client, process.env.GATSBY_CLOUD || previewMode);
const program = store.getState().program;
const cacheDir = `${program.directory}/.cache/datocms-assets`;
if (!fs.existsSync(cacheDir)) {
fs.mkdirSync(cacheDir);
}
const context = {
entitiesRepo: loader.entitiesRepo,
actions,
async fetchContent (store) {
const { addCollection, getCollection } = store
const { apiToken, apiUrl, previewMode } = this.options
const clientHeaders = {
'X-Reason': 'dump',
'X-SSG': 'gridsome'
}
const client = apiUrl
? new SiteClient(apiToken, clientHeaders, apiUrl)
: new SiteClient(apiToken, clientHeaders)
const loader = new Loader(client, previewMode)
await loader.load()
const { itemsRepo, entitiesRepo } = loader
const cache = {}
for (const itemType of itemsRepo.itemTypes) {
const { titleField, fields } = itemType
const slugField = fields.find(({ fieldType }) => fieldType === 'slug')
cache[itemType.id] = { titleField, slugField }
const collection = addCollection(
this.createTypeName(itemType.name),
)
{ actions, getNode, getNodesByType, reporter, parentSpan, schema, store },
{
apiToken,
disableLiveReload,
previewMode,
apiUrl,
localeFallbacks: rawLocaleFallbacks,
},
) => {
let client = apiUrl
? new SiteClient(apiToken, CLIENT_HEADERS, apiUrl)
: new SiteClient(apiToken, CLIENT_HEADERS);
const localeFallbacks = rawLocaleFallbacks || {};
const loader = new Loader(client, process.env.GATSBY_CLOUD || previewMode);
const program = store.getState().program;
const cacheDir = `${program.directory}/.cache/datocms-assets`;
if (!fs.existsSync(cacheDir)) {
fs.mkdirSync(cacheDir);
}
const context = {
entitiesRepo: loader.entitiesRepo,
actions,
getNode,
getNodesByType,
localeFallbacks,
schema,
store,
var _require = require('humps'),
camelize = _require.camelize,
pascalize = _require.pascalize;
var initNodeFromEntity = require('./initNodeFromEntity');
var addDigestToNode = require('./addDigestToNode');
var mId = require('./makeId');
var createTextNode = require('./createTextNode');
var createAssetNode = require('./createAssetNode');
var createSeoMetaTagsNode = require('./createSeoMetaTagsNode');
var _require2 = require('datocms-client'),
Item = _require2.Item,
i18n = _require2.i18n,
buildField = _require2.buildField;
var objectEntries = require('object.entries');
var itemNodeId = function itemNodeId(repo, id, locale) {
if (!id) {
return null;
}
var itemEntity = repo.findEntity('item', id);
return mId(itemEntity, locale);
};
module.exports = function createItemNodes(repo, itemsRepo, createNode) {
var items = repo.findEntitiesOfType('item');
var site = repo.findEntitiesOfType('site')[0];
'use strict';
var addDigestToNode = require('./addDigestToNode');
var _require = require('datocms-client'),
buildField = _require.buildField;
var objectAssign = require('object-assign');
module.exports = function createAssetNode(parent, field, value, itemsRepo, createNode) {
if (!value) {
return null;
}
var node = objectAssign({
id: 'DatoCmsAsset-' + value,
parent: parent.id,
children: [],
internal: {
type: 'DatoCmsAsset'
}
}, buildField('file', value, itemsRepo).toMap());