UNPKG

@fleetbase/fleetops-engine

Version:

Fleet & Transport Management Extension for Fleetbase

42 lines (39 loc) 1.9 kB
import ResourceActionService from '@fleetbase/ember-core/services/resource-action'; export default class EntityActionsService extends ResourceActionService { constructor() { super(...arguments); this.initialize('entity', { defaultAttributes: { type: 'entity' } }); } modal = { create: (attributes = {}, options = {}, saveOptions = {}) => { const entity = this.createNewInstance(attributes); return this.modalsManager.show('modals/resource', { resource: entity, title: this.intl.t('common.create-a-new-resource', { resource: this.intl.t('resource.entity')?.toLowerCase() }), acceptButtonText: this.intl.t('common.create-resource', { resource: this.intl.t('resource.entity') }), component: 'entity/form', confirm: (modal) => this.modalTask.perform(modal, 'saveTask', entity, { refresh: true, ...saveOptions }), ...options, }); }, edit: (entity, options = {}, saveOptions = {}) => { return this.modalsManager.show('modals/resource', { resource: entity, title: entity.isNew ? 'Create new entity' : `Edit: ${entity.name ?? entity.public_id}`, acceptButtonText: this.intl.t('common.save-changes'), saveButtonIcon: 'save', component: 'entity/form', confirm: (modal) => this.modalTask.perform(modal, 'saveTask', entity, { refresh: true, ...saveOptions }), ...options, }); }, view: (entity, options = {}) => { return this.modalsManager.show('modals/resource', { resource: entity, title: entity.name ?? entity.public_id, component: 'entity/details', ...options, }); }, }; }