34 lines
1.2 KiB
JavaScript
34 lines
1.2 KiB
JavaScript
// Shared canvas size form view-model builder.
|
|
|
|
function buildDefaultCanvasSize() {
|
|
return {
|
|
id: null,
|
|
name: '',
|
|
width: 1920,
|
|
height: 1080
|
|
};
|
|
}
|
|
|
|
function buildCanvasSizeFormViewModel(canvasSize, message, currentUser, isEdit) {
|
|
const viewCanvasSize = Object.assign(buildDefaultCanvasSize(), canvasSize || {});
|
|
|
|
return {
|
|
title: isEdit ? 'Edit canvas size' : 'Add canvas size',
|
|
active: 'canvas-sizes',
|
|
message: message,
|
|
currentUser: currentUser || null,
|
|
canvasSize: viewCanvasSize,
|
|
inUse: Boolean(viewCanvasSize && viewCanvasSize.inUse),
|
|
isEdit: Boolean(isEdit),
|
|
formAction: isEdit && viewCanvasSize ? '/canvas-sizes/' + viewCanvasSize.id : '/canvas-sizes',
|
|
formAttrs: 'data-async-save' + (isEdit ? ' data-async-save-close-url="/canvas-sizes"' : ' data-async-save-new-redirect="response-url"') + ' data-async-save-new-url="/canvas-sizes/new"',
|
|
cancelUrl: '/canvas-sizes',
|
|
deleteUrl: isEdit && viewCanvasSize ? '/canvas-sizes/' + viewCanvasSize.id + '/delete' : '',
|
|
deleteConfirmMessage: 'Delete this canvas size?',
|
|
deleteDisabled: !isEdit || Boolean(viewCanvasSize && viewCanvasSize.inUse)
|
|
};
|
|
}
|
|
|
|
module.exports = {
|
|
buildCanvasSizeFormViewModel: buildCanvasSizeFormViewModel
|
|
}; |