Skip to content

Commit

Permalink
[schema] Fix wrong asset type names and use asset.originalFilename a…
Browse files Browse the repository at this point in the history
…s default preview title for images (#235)

* [schema] Fix wrong asset type names and use asset.originalFilename as default preview title for images

* [base] Update schema definitions for assets

* [base] Give the asset types better titles
  • Loading branch information
bjoerge committed Oct 12, 2017
1 parent f7a7021 commit 4de8a0c
Show file tree
Hide file tree
Showing 6 changed files with 114 additions and 25 deletions.
46 changes: 37 additions & 9 deletions packages/@sanity/base/src/schema/types/fileAsset.js
Original file line number Diff line number Diff line change
@@ -1,32 +1,60 @@
export default {
name: 'fileAsset',
title: 'File asset',
name: 'sanity.fileAsset',
title: 'File',
type: 'object',
fieldsets: [
{
name: 'system',
title: 'System fields',
description: 'These are read only'
}
],
fields: [
{
name: 'assetId',
name: 'originalFilename',
type: 'string',
title: 'Original file name'
},
{
name: 'extension',
type: 'string',
title: 'Asset ID'
title: 'File extension'
},
{
name: 'project',
name: 'mimeType',
type: 'string',
title: 'Project'
title: 'Mime type'
},
{
name: 'label',
type: 'string',
title: 'Label'
},
{
name: 'assetId',
type: 'string',
title: 'Asset ID',
readOnly: true,
fieldset: 'system'
},
{
name: 'path',
type: 'string',
title: 'Path'
title: 'Path',
readOnly: true,
fieldset: 'system'
},
{
name: 'url',
type: 'string',
title: 'Url'
title: 'Url',
readOnly: true,
fieldset: 'system'
}
],
preview: {
select: {
title: 'originalFilename'
}
]
}
}
80 changes: 69 additions & 11 deletions packages/@sanity/base/src/schema/types/imageAsset.js
Original file line number Diff line number Diff line change
@@ -1,38 +1,80 @@
const PALETTE_FIELDS = [
{name: 'background', type: 'string', title: 'Background'},
{name: 'foreground', type: 'string', title: 'Foreground'},
{name: 'population', type: 'number', title: 'Population'},
{name: 'title', type: 'string', title: 'String'},
]
export default {
name: 'imageAsset',
title: 'Image asset',
name: 'sanity.imageAsset',
title: 'Image',
type: 'object',
fieldsets: [
{
name: 'system',
title: 'System fields',
description: 'These are read only'
},
{
name: 'metadata',
title: 'Extra metadata…',
options: {
collapsable: true
}
}
],
fields: [
{
name: 'assetId',
name: 'originalFilename',
type: 'string',
title: 'Asset ID'
title: 'Original file name'
},
{
name: 'project',
name: 'extension',
type: 'string',
title: 'Project'
title: 'File extension'
},
{
name: 'mimeType',
type: 'string',
title: 'Mime type'
},
{
name: 'label',
type: 'string',
title: 'Label'
},
{
name: 'assetId',
type: 'string',
title: 'Asset ID',
readOnly: true,
fieldset: 'system'
},
{
name: 'path',
type: 'string',
title: 'Path'
title: 'Path',
readOnly: true,
fieldset: 'system'
},
{
name: 'url',
type: 'string',
title: 'Url'
title: 'Url',
readOnly: true,
fieldset: 'system'
},
{
name: 'metadata',
type: 'object',
title: 'Metadata',
readOnly: true,
fieldset: 'metadata',
fields: [
{
name: 'location',
type: 'geopoint'
},
{
name: 'dimensions',
type: 'object',
Expand All @@ -44,10 +86,26 @@ export default {
]
},
{
name: 'location',
type: 'geopoint'
name: 'palette',
type: 'object',
title: 'Palette',
fields: [
{name: 'darkMuted', type: 'object', title: 'Dark Muted', fields: PALETTE_FIELDS},
{name: 'lightVibrant', type: 'object', title: 'Light Vibrant', fields: PALETTE_FIELDS},
{name: 'darkVibrant', type: 'object', title: 'Dark Vibrant', fields: PALETTE_FIELDS},
{name: 'vibrant', type: 'object', title: 'Vibrant', fields: PALETTE_FIELDS},
{name: 'dominant', type: 'object', title: 'Dominant', fields: PALETTE_FIELDS},
{name: 'lightMuted', type: 'object', title: 'Light Muted', fields: PALETTE_FIELDS},
{name: 'muted', type: 'object', title: 'Muted', fields: PALETTE_FIELDS}
]
}
]
}
]
],
preview: {
select: {
title: 'originalFilename',
imageUrl: 'url'
}
}
}
2 changes: 1 addition & 1 deletion packages/@sanity/data-aspects/src/DataAspectsResolver.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import config from 'config:@sanity/data-aspects'
import {startCase} from 'lodash'
const bundledTypeNames = ['geopoint', 'richDate', 'date', 'imageAsset', 'fileAsset']
const bundledTypeNames = ['geopoint', 'richDate', 'date', 'sanity.imageAsset', 'sanity.fileAsset']

class DataAspectsResolver {

Expand Down
7 changes: 5 additions & 2 deletions packages/@sanity/schema/src/preview/guessPreviewConfig.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ function fieldHasReferenceTo(fieldDef, refType) {
}

function isImageAssetField(fieldDef) {
return fieldHasReferenceTo(fieldDef, 'imageAsset')
return fieldHasReferenceTo(fieldDef, 'sanity.imageAsset')
}

function resolveImageAssetPath(typeDef) {
Expand All @@ -26,7 +26,7 @@ function resolveImageAssetPath(typeDef) {
}

function isFileAssetField(fieldDef) {
return fieldHasReferenceTo(fieldDef, 'fileAsset')
return fieldHasReferenceTo(fieldDef, 'sanity.fileAsset')
}

function resolveFileAssetPath(typeDef) {
Expand Down Expand Up @@ -67,6 +67,9 @@ export default function guessPreviewFields(rawObjectTypeDef) {
if (fileAssetPath) {
titleField = `${fileAssetPath}.originalFilename`
}
if (imageAssetPath) {
titleField = `${imageAssetPath}.originalFilename`
}
}

if (!titleField && !imageAssetPath) {
Expand Down
2 changes: 1 addition & 1 deletion packages/@sanity/schema/src/types/file.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import createPreviewGetter from '../preview/createPreviewGetter'
export const ASSET_FIELD = {
name: 'asset',
type: 'reference',
to: {type: 'fileAsset'}
to: {type: 'sanity.fileAsset'}
}

const OVERRIDABLE_FIELDS = [
Expand Down
2 changes: 1 addition & 1 deletion packages/@sanity/schema/src/types/image/fieldDefs.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
export const ASSET_FIELD = {
name: 'asset',
type: 'reference',
to: [{type: 'imageAsset'}]
to: [{type: 'sanity.imageAsset'}]
}

export const HOTSPOT_FIELD = {
Expand Down

0 comments on commit 4de8a0c

Please sign in to comment.