@wordpress/block-editor
Version:
65 lines (59 loc) • 2.19 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.allPatternsCategory = exports.INSERTER_SYNC_TYPES = exports.INSERTER_PATTERN_TYPES = void 0;
exports.isPatternFiltered = isPatternFiltered;
exports.starterPatternsCategory = exports.myPatternsCategory = void 0;
var _i18n = require("@wordpress/i18n");
/**
* WordPress dependencies
*/
const INSERTER_PATTERN_TYPES = exports.INSERTER_PATTERN_TYPES = {
user: 'user',
theme: 'theme',
directory: 'directory'
};
const INSERTER_SYNC_TYPES = exports.INSERTER_SYNC_TYPES = {
full: 'fully',
unsynced: 'unsynced'
};
const allPatternsCategory = exports.allPatternsCategory = {
name: 'allPatterns',
label: (0, _i18n._x)('All', 'patterns')
};
const myPatternsCategory = exports.myPatternsCategory = {
name: 'myPatterns',
label: (0, _i18n.__)('My patterns')
};
const starterPatternsCategory = exports.starterPatternsCategory = {
name: 'core/starter-content',
label: (0, _i18n.__)('Starter content')
};
function isPatternFiltered(pattern, sourceFilter, syncFilter) {
const isUserPattern = pattern.name.startsWith('core/block');
const isDirectoryPattern = pattern.source === 'core' || pattern.source?.startsWith('pattern-directory');
// If theme source selected, filter out user created patterns and those from
// the core patterns directory.
if (sourceFilter === INSERTER_PATTERN_TYPES.theme && (isUserPattern || isDirectoryPattern)) {
return true;
}
// If the directory source is selected, filter out user created patterns
// and those bundled with the theme.
if (sourceFilter === INSERTER_PATTERN_TYPES.directory && (isUserPattern || !isDirectoryPattern)) {
return true;
}
// If user source selected, filter out theme patterns.
if (sourceFilter === INSERTER_PATTERN_TYPES.user && pattern.type !== INSERTER_PATTERN_TYPES.user) {
return true;
}
// Filter by sync status.
if (syncFilter === INSERTER_SYNC_TYPES.full && pattern.syncStatus !== '') {
return true;
}
if (syncFilter === INSERTER_SYNC_TYPES.unsynced && pattern.syncStatus !== 'unsynced' && isUserPattern) {
return true;
}
return false;
}
//# sourceMappingURL=utils.js.map
;