// Shared screen form view-model builder. function buildScreenFormViewModel(screen, data, message, currentUser, isEdit) { const viewScreen = Object.assign({ name: '', slug: '', playlist_id: null }, screen || {}); return { title: isEdit ? 'Edit screen' : 'Add screen', active: 'screens', message: message, currentUser: currentUser || null, playlists: (data && data.playlists) || [], screen: viewScreen, inUse: Boolean(viewScreen.inUse), isEdit: Boolean(isEdit), showSaveSecondaryActions: true, deleteDisabled: Boolean(isEdit) ? Boolean(viewScreen.inUse) : true, deleteConfirmMessage: Boolean(isEdit) ? 'Delete this screen?' : '', formAction: Boolean(isEdit) && viewScreen.id ? '/screens/' + viewScreen.id : '/screens', formAttrs: Boolean(isEdit) ? 'data-async-save data-async-save-close-url="/screens" data-async-save-new-url="/screens/new"' : 'data-async-save data-async-save-new-redirect="response-url" data-async-save-new-url="/screens/new"', cancelUrl: '/screens', deleteUrl: Boolean(isEdit) && viewScreen.id ? '/screens/' + viewScreen.id + '/delete' : '' }; } module.exports = { buildScreenFormViewModel: buildScreenFormViewModel };