// 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 };