burdy
Version:
Open Source Headless Platform
118 lines (117 loc) • 7 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importStar(require("react"));
const heading_1 = __importDefault(require("../../../components/heading"));
const hoc_1 = require("../../../helpers/hoc");
const content_type_create_panel_1 = __importDefault(require("../components/content-type-create-panel"));
const content_types_context_1 = require("../context/content-types.context");
const content_types_list_1 = __importDefault(require("../components/content-types-list"));
const content_types_command_bar_1 = __importDefault(require("../components/content-types-command-bar"));
const content_type_update_panel_1 = __importDefault(require("../components/content-type-update-panel"));
const content_types_delete_dialog_1 = __importDefault(require("../components/content-types-delete-dialog"));
const content_type_import_dialog_1 = __importDefault(require("../components/content-type-import-dialog"));
const react_2 = require("@fluentui/react");
const ContentTypesPage = () => {
var _a, _b;
const { selectedContentTypes, getContentTypes, contentTypesState, stateData, setStateData, params, setParams } = (0, content_types_context_1.useContentTypes)();
(0, react_1.useEffect)(() => {
getContentTypes.execute();
}, []);
const filters = [
{
name: 'All',
key: 'all'
},
{
name: 'Pages',
key: 'page'
},
{
name: 'Components',
key: 'component'
},
{
name: 'Posts',
key: 'post'
},
{
name: 'Fragments',
key: 'fragment'
}
];
return (react_1.default.createElement("div", { className: 'page-wrapper' },
react_1.default.createElement(content_types_command_bar_1.default, null),
react_1.default.createElement("div", { className: 'page-content page-content-scroll', style: { padding: '0 1rem' } },
react_1.default.createElement("div", { style: {
display: 'flex',
alignItems: 'center'
} },
react_1.default.createElement("div", { style: { marginRight: 10 } },
react_1.default.createElement(heading_1.default, { title: 'Content Types' })),
react_1.default.createElement(react_2.Pivot, { selectedKey: ((_a = params === null || params === void 0 ? void 0 : params.type) === null || _a === void 0 ? void 0 : _a.length) > 0 ? params === null || params === void 0 ? void 0 : params.type : 'all', headersOnly: true, "aria-label": 'Basic Pivot', onLinkClick: (item) => {
var _a;
const key = (_a = item === null || item === void 0 ? void 0 : item.props) === null || _a === void 0 ? void 0 : _a.itemKey;
const type = (key === null || key === void 0 ? void 0 : key.length) > 0 && key !== 'all' ? key : undefined;
setParams(Object.assign(Object.assign({}, (params || {})), { type }));
getContentTypes.execute(Object.assign(Object.assign({}, (params || {})), { type }));
} }, filters.map((item) => {
var _a;
return (react_1.default.createElement(react_2.PivotItem, { key: item.key, itemKey: item.key, headerText: ((_a = item === null || item === void 0 ? void 0 : item.name) === null || _a === void 0 ? void 0 : _a.length) > 0 ? item === null || item === void 0 ? void 0 : item.name : item === null || item === void 0 ? void 0 : item.key, style: { paddingTop: 20 } }));
}))),
react_1.default.createElement(content_types_list_1.default, null)),
react_1.default.createElement(content_type_create_panel_1.default, { isOpen: stateData === null || stateData === void 0 ? void 0 : stateData.createContentTypeOpen, defaultType: params === null || params === void 0 ? void 0 : params.type, onDismiss: () => {
setStateData('createContentTypeOpen', false);
}, onCreated: (data) => {
setStateData('createContentTypeOpen', false);
if ((params === null || params === void 0 ? void 0 : params.type) === (data === null || data === void 0 ? void 0 : data.type)) {
contentTypesState.create([data]);
}
else {
setParams({});
getContentTypes.execute();
}
} }),
react_1.default.createElement(content_type_update_panel_1.default, { isOpen: stateData === null || stateData === void 0 ? void 0 : stateData.updateContentTypeOpen, contentTypeId: (_b = selectedContentTypes[0]) === null || _b === void 0 ? void 0 : _b.id, onDismiss: () => {
setStateData('updateContentTypeOpen', false);
}, onUpdated: (data) => {
setStateData('updateContentTypeOpen', false);
contentTypesState.update([data]);
} }),
react_1.default.createElement(content_types_delete_dialog_1.default, { isOpen: stateData === null || stateData === void 0 ? void 0 : stateData.deleteContentTypesOpen, onDismiss: () => {
setStateData('deleteContentTypesOpen', false);
}, onDeleted: () => {
setStateData('deleteContentTypesOpen', false);
} }),
react_1.default.createElement(content_type_import_dialog_1.default, { isOpen: stateData === null || stateData === void 0 ? void 0 : stateData.importContentTypesOpen, onDismiss: () => {
setStateData('importContentTypesOpen', false);
}, onImported: () => {
setStateData('importContentTypesOpen', false);
setParams({});
getContentTypes.execute();
} })));
};
exports.default = (0, hoc_1.composeWrappers)({
contentTypesContext: content_types_context_1.ContentTypesContextProvider
})(ContentTypesPage);