Search in sources :

Example 31 with Model

use of org.ovirt.engine.ui.uicommonweb.models.Model in project ovirt-engine by oVirt.

the class UserModule method getPermissionListProvider.

@Provides
@Singleton
public SearchableDetailModelProvider<Permission, UserListModel, UserPermissionListModel> getPermissionListProvider(EventBus eventBus, Provider<DefaultConfirmationPopupPresenterWidget> defaultConfirmPopupProvider, final Provider<UserRolesPopupPresenterWidget> popupProvider, final Provider<RolePermissionsRemoveConfirmationPopupPresenterWidget> removeConfirmPopupProvider, final Provider<UserListModel> mainModelProvider, final Provider<UserPermissionListModel> modelProvider) {
    SearchableDetailTabModelProvider<Permission, UserListModel, UserPermissionListModel> result = new SearchableDetailTabModelProvider<Permission, UserListModel, UserPermissionListModel>(eventBus, defaultConfirmPopupProvider) {

        @Override
        public AbstractModelBoundPopupPresenterWidget<? extends Model, ?> getModelPopup(UserPermissionListModel source, UICommand lastExecutedCommand, Model windowModel) {
            UserPermissionListModel model = getModel();
            if (lastExecutedCommand == model.getAddRoleToUserCommand()) {
                return popupProvider.get();
            } else {
                return super.getModelPopup(source, lastExecutedCommand, windowModel);
            }
        }

        @Override
        public AbstractModelBoundPopupPresenterWidget<? extends ConfirmationModel, ?> getConfirmModelPopup(UserPermissionListModel source, UICommand lastExecutedCommand) {
            if (lastExecutedCommand == getModel().getRemoveCommand()) {
                return removeConfirmPopupProvider.get();
            } else {
                return super.getConfirmModelPopup(source, lastExecutedCommand);
            }
        }
    };
    result.setMainModelProvider(mainModelProvider);
    result.setModelProvider(modelProvider);
    return result;
}
Also used : Permission(org.ovirt.engine.core.common.businessentities.Permission) UserPermissionListModel(org.ovirt.engine.ui.uicommonweb.models.users.UserPermissionListModel) UserGeneralModel(org.ovirt.engine.ui.uicommonweb.models.users.UserGeneralModel) ConfirmationModel(org.ovirt.engine.ui.uicommonweb.models.ConfirmationModel) UserQuotaListModel(org.ovirt.engine.ui.uicommonweb.models.users.UserQuotaListModel) UserListModel(org.ovirt.engine.ui.uicommonweb.models.users.UserListModel) Model(org.ovirt.engine.ui.uicommonweb.models.Model) UserEventNotifierListModel(org.ovirt.engine.ui.uicommonweb.models.users.UserEventNotifierListModel) UserEventListModel(org.ovirt.engine.ui.uicommonweb.models.users.UserEventListModel) UserGroupListModel(org.ovirt.engine.ui.uicommonweb.models.users.UserGroupListModel) UserListModel(org.ovirt.engine.ui.uicommonweb.models.users.UserListModel) UICommand(org.ovirt.engine.ui.uicommonweb.UICommand) UserPermissionListModel(org.ovirt.engine.ui.uicommonweb.models.users.UserPermissionListModel) SearchableDetailTabModelProvider(org.ovirt.engine.ui.common.uicommon.model.SearchableDetailTabModelProvider) Singleton(com.google.inject.Singleton) Provides(com.google.inject.Provides)

Example 32 with Model

use of org.ovirt.engine.ui.uicommonweb.models.Model in project ovirt-engine by oVirt.

the class UserModule method getUserListProvider.

// Main List Model
@Provides
@Singleton
public MainModelProvider<DbUser, UserListModel> getUserListProvider(EventBus eventBus, Provider<DefaultConfirmationPopupPresenterWidget> defaultConfirmPopupProvider, final Provider<AssignTagsPopupPresenterWidget> assignTagsPopupProvider, final Provider<PermissionsPopupPresenterWidget> popupProvider, final Provider<RemoveConfirmationPopupPresenterWidget> removeConfirmPopupProvider, final Provider<UserListModel> modelProvider) {
    MainViewModelProvider<DbUser, UserListModel> result = new MainViewModelProvider<DbUser, UserListModel>(eventBus, defaultConfirmPopupProvider) {

        @Override
        public AbstractModelBoundPopupPresenterWidget<? extends Model, ?> getModelPopup(UserListModel source, UICommand lastExecutedCommand, Model windowModel) {
            UserListModel model = getModel();
            if (lastExecutedCommand == model.getAssignTagsCommand()) {
                return assignTagsPopupProvider.get();
            } else if (lastExecutedCommand == model.getAddCommand()) {
                return popupProvider.get();
            } else {
                return super.getModelPopup(source, lastExecutedCommand, windowModel);
            }
        }

        @Override
        public AbstractModelBoundPopupPresenterWidget<? extends ConfirmationModel, ?> getConfirmModelPopup(UserListModel source, UICommand lastExecutedCommand) {
            if (lastExecutedCommand == getModel().getRemoveCommand()) {
                return removeConfirmPopupProvider.get();
            } else {
                return super.getConfirmModelPopup(source, lastExecutedCommand);
            }
        }
    };
    result.setModelProvider(modelProvider);
    return result;
}
Also used : MainViewModelProvider(org.ovirt.engine.ui.common.uicommon.model.MainViewModelProvider) UserPermissionListModel(org.ovirt.engine.ui.uicommonweb.models.users.UserPermissionListModel) UserGeneralModel(org.ovirt.engine.ui.uicommonweb.models.users.UserGeneralModel) ConfirmationModel(org.ovirt.engine.ui.uicommonweb.models.ConfirmationModel) UserQuotaListModel(org.ovirt.engine.ui.uicommonweb.models.users.UserQuotaListModel) UserListModel(org.ovirt.engine.ui.uicommonweb.models.users.UserListModel) Model(org.ovirt.engine.ui.uicommonweb.models.Model) UserEventNotifierListModel(org.ovirt.engine.ui.uicommonweb.models.users.UserEventNotifierListModel) UserEventListModel(org.ovirt.engine.ui.uicommonweb.models.users.UserEventListModel) UserGroupListModel(org.ovirt.engine.ui.uicommonweb.models.users.UserGroupListModel) UserListModel(org.ovirt.engine.ui.uicommonweb.models.users.UserListModel) UICommand(org.ovirt.engine.ui.uicommonweb.UICommand) DbUser(org.ovirt.engine.core.common.businessentities.aaa.DbUser) Singleton(com.google.inject.Singleton) Provides(com.google.inject.Provides)

Example 33 with Model

use of org.ovirt.engine.ui.uicommonweb.models.Model in project ovirt-engine by oVirt.

the class VirtualMachineModule method getVmDiskListProvider.

@Provides
@Singleton
public SearchableDetailModelProvider<Disk, VmListModel<Void>, VmDiskListModel> getVmDiskListProvider(EventBus eventBus, Provider<DefaultConfirmationPopupPresenterWidget> defaultConfirmPopupProvider, final Provider<VmDiskPopupPresenterWidget> popupProvider, final Provider<VmDiskAttachPopupPresenterWidget> attachPopupProvider, final Provider<VmDiskRemovePopupPresenterWidget> removeConfirmPopupProvider, final Provider<VmDiskSparsifyPopupPresenterWidget> sparsifyConfirmPopupProvider, final Provider<DisksAllocationPopupPresenterWidget> movePopupProvider, final Provider<ChangeQuotaPopupPresenterWidget> changeQutoaPopupProvider, final Provider<VmListModel<Void>> mainModelProvider, final Provider<VmDiskListModel> modelProvider) {
    SearchableDetailTabModelProvider<Disk, VmListModel<Void>, VmDiskListModel> result = new SearchableDetailTabModelProvider<Disk, VmListModel<Void>, VmDiskListModel>(eventBus, defaultConfirmPopupProvider) {

        @Override
        public AbstractModelBoundPopupPresenterWidget<? extends Model, ?> getModelPopup(VmDiskListModel source, UICommand lastExecutedCommand, Model windowModel) {
            VmDiskListModel model = getModel();
            if (lastExecutedCommand == model.getNewCommand() || lastExecutedCommand == model.getEditCommand()) {
                return popupProvider.get();
            } else if (lastExecutedCommand == getModel().getAttachCommand()) {
                return attachPopupProvider.get();
            } else if (lastExecutedCommand == getModel().getMoveCommand()) {
                return movePopupProvider.get();
            } else if (lastExecutedCommand == getModel().getChangeQuotaCommand()) {
                return changeQutoaPopupProvider.get();
            } else {
                return super.getModelPopup(source, lastExecutedCommand, windowModel);
            }
        }

        @Override
        public AbstractModelBoundPopupPresenterWidget<? extends ConfirmationModel, ?> getConfirmModelPopup(VmDiskListModel source, UICommand lastExecutedCommand) {
            if (lastExecutedCommand == getModel().getRemoveCommand()) {
                return removeConfirmPopupProvider.get();
            } else if (lastExecutedCommand == getModel().getSparsifyCommand()) {
                return sparsifyConfirmPopupProvider.get();
            } else {
                return super.getConfirmModelPopup(source, lastExecutedCommand);
            }
        }
    };
    result.setMainModelProvider(mainModelProvider);
    result.setModelProvider(modelProvider);
    return result;
}
Also used : VmListModel(org.ovirt.engine.ui.uicommonweb.models.vms.VmListModel) VmListModel(org.ovirt.engine.ui.uicommonweb.models.vms.VmListModel) VmDevicesListModel(org.ovirt.engine.ui.uicommonweb.models.vms.VmDevicesListModel) VmAffinityGroupListModel(org.ovirt.engine.ui.uicommonweb.models.configure.scheduling.affinity_groups.list.VmAffinityGroupListModel) VmErrataCountModel(org.ovirt.engine.ui.uicommonweb.models.VmErrataCountModel) VmGuestInfoModel(org.ovirt.engine.ui.uicommonweb.models.vms.VmGuestInfoModel) AttachDiskModel(org.ovirt.engine.ui.uicommonweb.models.vms.AttachDiskModel) NewDiskModel(org.ovirt.engine.ui.uicommonweb.models.vms.NewDiskModel) VmInterfaceListModel(org.ovirt.engine.ui.uicommonweb.models.vms.VmInterfaceListModel) ImportVmsModel(org.ovirt.engine.ui.uicommonweb.models.vms.ImportVmsModel) VmHighPerformanceConfigurationModel(org.ovirt.engine.ui.uicommonweb.models.vms.VmHighPerformanceConfigurationModel) VncInfoModel(org.ovirt.engine.ui.uicommonweb.models.vms.VncInfoModel) ImportVmFromExportDomainModel(org.ovirt.engine.ui.uicommonweb.models.vms.ImportVmFromExportDomainModel) VmDiskListModel(org.ovirt.engine.ui.uicommonweb.models.vms.VmDiskListModel) VmAffinityLabelListModel(org.ovirt.engine.ui.uicommonweb.models.configure.labels.list.VmAffinityLabelListModel) VmAppListModel(org.ovirt.engine.ui.uicommonweb.models.vms.VmAppListModel) PermissionListModel(org.ovirt.engine.ui.uicommonweb.models.configure.PermissionListModel) EditDiskModel(org.ovirt.engine.ui.uicommonweb.models.vms.EditDiskModel) ConfirmationModel(org.ovirt.engine.ui.uicommonweb.models.ConfirmationModel) VmSnapshotListModel(org.ovirt.engine.ui.uicommonweb.models.vms.VmSnapshotListModel) VmEventListModel(org.ovirt.engine.ui.uicommonweb.models.vms.VmEventListModel) VmGeneralModel(org.ovirt.engine.ui.uicommonweb.models.vms.VmGeneralModel) Model(org.ovirt.engine.ui.uicommonweb.models.Model) VmGuestContainerListModel(org.ovirt.engine.ui.uicommonweb.models.vms.VmGuestContainerListModel) VmHostDeviceListModel(org.ovirt.engine.ui.uicommonweb.models.vms.hostdev.VmHostDeviceListModel) ImportVmFromExternalProviderModel(org.ovirt.engine.ui.uicommonweb.models.vms.ImportVmFromExternalProviderModel) VmNextRunConfigurationModel(org.ovirt.engine.ui.uicommonweb.models.vms.VmNextRunConfigurationModel) VmErrataListModel(org.ovirt.engine.ui.uicommonweb.models.VmErrataListModel) VmImportGeneralModel(org.ovirt.engine.ui.uicommonweb.models.vms.VmImportGeneralModel) UICommand(org.ovirt.engine.ui.uicommonweb.UICommand) Disk(org.ovirt.engine.core.common.businessentities.storage.Disk) VmDiskListModel(org.ovirt.engine.ui.uicommonweb.models.vms.VmDiskListModel) SearchableDetailTabModelProvider(org.ovirt.engine.ui.common.uicommon.model.SearchableDetailTabModelProvider) Singleton(com.google.inject.Singleton) Provides(com.google.inject.Provides)

Example 34 with Model

use of org.ovirt.engine.ui.uicommonweb.models.Model in project ovirt-engine by oVirt.

the class DataCenterModule method getDataCenterStorageListProvider.

// Search-able Detail Models
@Provides
@Singleton
public SearchableDetailModelProvider<StorageDomain, DataCenterListModel, DataCenterStorageListModel> getDataCenterStorageListProvider(EventBus eventBus, Provider<DefaultConfirmationPopupPresenterWidget> defaultConfirmPopupProvider, final Provider<FindSingleStoragePopupPresenterWidget> singlePopupProvider, final Provider<FindMultiStoragePopupPresenterWidget> multiPopupProvider, final Provider<RemoveConfirmationPopupPresenterWidget> removeConfirmPopupProvider, final Provider<DataCenterListModel> mainModelProvider, final Provider<DataCenterStorageListModel> modelProvider) {
    SearchableDetailTabModelProvider<StorageDomain, DataCenterListModel, DataCenterStorageListModel> result = new SearchableDetailTabModelProvider<StorageDomain, DataCenterListModel, DataCenterStorageListModel>(eventBus, defaultConfirmPopupProvider) {

        @Override
        public AbstractModelBoundPopupPresenterWidget<? extends Model, ?> getModelPopup(DataCenterStorageListModel source, UICommand lastExecutedCommand, Model windowModel) {
            DataCenterStorageListModel model = getModel();
            if (lastExecutedCommand == model.getAttachStorageCommand()) {
                return multiPopupProvider.get();
            } else if (lastExecutedCommand == model.getAttachISOCommand() || lastExecutedCommand == model.getAttachBackupCommand()) {
                return singlePopupProvider.get();
            } else {
                return super.getModelPopup(source, lastExecutedCommand, windowModel);
            }
        }

        @Override
        public AbstractModelBoundPopupPresenterWidget<? extends ConfirmationModel, ?> getConfirmModelPopup(DataCenterStorageListModel source, UICommand lastExecutedCommand) {
            if (lastExecutedCommand == getModel().getDetachCommand() || lastExecutedCommand.getName().equals("OnAttach")) {
                // $NON-NLS-1$ ) {
                return removeConfirmPopupProvider.get();
            } else if (lastExecutedCommand == getModel().getMaintenanceCommand() || lastExecutedCommand.getName().equals("OnMaintenance")) {
                // $NON-NLS-1$) {
                return removeConfirmPopupProvider.get();
            } else {
                return super.getConfirmModelPopup(source, lastExecutedCommand);
            }
        }
    };
    result.setMainModelProvider(mainModelProvider);
    result.setModelProvider(modelProvider);
    return result;
}
Also used : StorageDomain(org.ovirt.engine.core.common.businessentities.StorageDomain) DataCenterListModel(org.ovirt.engine.ui.uicommonweb.models.datacenters.DataCenterListModel) DataCenterIscsiBondListModel(org.ovirt.engine.ui.uicommonweb.models.datacenters.DataCenterIscsiBondListModel) DataCenterQuotaListModel(org.ovirt.engine.ui.uicommonweb.models.datacenters.DataCenterQuotaListModel) DataCenterListModel(org.ovirt.engine.ui.uicommonweb.models.datacenters.DataCenterListModel) DataCenterNetworkListModel(org.ovirt.engine.ui.uicommonweb.models.datacenters.DataCenterNetworkListModel) DataCenterStorageListModel(org.ovirt.engine.ui.uicommonweb.models.datacenters.DataCenterStorageListModel) DataCenterCpuQosListModel(org.ovirt.engine.ui.uicommonweb.models.datacenters.qos.DataCenterCpuQosListModel) NewHostNetworkQosModel(org.ovirt.engine.ui.uicommonweb.models.datacenters.qos.NewHostNetworkQosModel) PermissionListModel(org.ovirt.engine.ui.uicommonweb.models.configure.PermissionListModel) ConfirmationModel(org.ovirt.engine.ui.uicommonweb.models.ConfirmationModel) DataCenterClusterListModel(org.ovirt.engine.ui.uicommonweb.models.datacenters.DataCenterClusterListModel) DataCenterHostNetworkQosListModel(org.ovirt.engine.ui.uicommonweb.models.datacenters.qos.DataCenterHostNetworkQosListModel) DataCenterStorageQosListModel(org.ovirt.engine.ui.uicommonweb.models.datacenters.qos.DataCenterStorageQosListModel) Model(org.ovirt.engine.ui.uicommonweb.models.Model) DataCenterNetworkQoSListModel(org.ovirt.engine.ui.uicommonweb.models.datacenters.DataCenterNetworkQoSListModel) DataCenterEventListModel(org.ovirt.engine.ui.uicommonweb.models.datacenters.DataCenterEventListModel) DataCenterStorageListModel(org.ovirt.engine.ui.uicommonweb.models.datacenters.DataCenterStorageListModel) UICommand(org.ovirt.engine.ui.uicommonweb.UICommand) SearchableDetailTabModelProvider(org.ovirt.engine.ui.common.uicommon.model.SearchableDetailTabModelProvider) Singleton(com.google.inject.Singleton) Provides(com.google.inject.Provides)

Example 35 with Model

use of org.ovirt.engine.ui.uicommonweb.models.Model in project ovirt-engine by oVirt.

the class AbstractModelBoundPopupPresenterWidget method init.

/**
 * Initialize the view from the given model.
 */
public void init(final T model) {
    this.model = model;
    getView().init(model);
    // Set up async operation listeners to automatically display/hide progress bar
    asyncOperationCounter = 0;
    addRegisteredHandler(AsyncOperationStartedEvent.getType(), event -> {
        if (event.getTarget() != getModel() || getModel().getProgress() != null) {
            return;
        }
        if (asyncOperationCounter == 0) {
            startProgress(null);
        }
        asyncOperationCounter++;
    });
    addRegisteredHandler(AsyncOperationCompleteEvent.getType(), event -> {
        if (event.getTarget() != getModel() || getModel().getProgress() != null) {
            return;
        }
        asyncOperationCounter--;
        if (asyncOperationCounter == 0) {
            stopProgress();
        }
    });
    // Set up model command invoker
    this.modelCommandInvoker = new DeferredModelCommandInvoker(model) {

        @Override
        protected void commandFailed(UICommand command) {
            // Clear Window and ConfirmWindow models when "Cancel" command execution fails
            if (command.getIsCancel() && command.getTarget() instanceof Model) {
                Model source = (Model) command.getTarget();
                source.setWindow(null);
                source.setConfirmWindow(null);
            }
        }

        @Override
        protected void commandFinished(UICommand command) {
            // Enforce popup close after executing "Cancel" command
            if (command.getIsCancel()) {
                hideAndUnbind();
            }
        }
    };
    // Set common popup properties
    updateTitle(model);
    updateMessage(model);
    updateItems(model);
    updateHashName(model);
    updateHelpTag(model);
    model.getPropertyChangedEvent().addListener((ev, sender, args) -> {
        String propName = args.propertyName;
        if ("Title".equals(propName)) {
            // $NON-NLS-1$
            updateTitle(model);
        } else if ("Message".equals(propName)) {
            // $NON-NLS-1$
            updateMessage(model);
        } else if ("Items".equals(propName)) {
            // $NON-NLS-1$
            updateItems(model);
        } else if ("HashName".equals(propName)) {
            // $NON-NLS-1$
            updateHashName(model);
        } else if ("HelpTag".equals(propName)) {
            // $NON-NLS-1$
            updateHelpTag(model);
        } else if ("OpenDocumentation".equals(propName)) {
            // $NON-NLS-1$
            openDocumentation(model);
        }
    });
    // Add popup footer buttons
    addFooterButtons(model);
    if (model.getCommands() instanceof ObservableCollection) {
        ObservableCollection<UICommand> commands = (ObservableCollection<UICommand>) model.getCommands();
        commands.getCollectionChangedEvent().addListener((ev, sender, args) -> {
            getView().removeButtons();
            addFooterButtons(model);
            getView().updateTabIndexes();
        });
    }
    // Register dialog model property change listener
    popupHandler.initDialogModelListener(model);
    // Initialize popup contents from the model
    getView().edit(model);
    getView().updateTabIndexes();
    if (!model.hasEventBusSet()) {
        model.setEventBus((EventBus) getEventBus());
    }
}
Also used : DeferredModelCommandInvoker(org.ovirt.engine.ui.common.uicommon.model.DeferredModelCommandInvoker) ObservableCollection(org.ovirt.engine.ui.uicompat.ObservableCollection) ListModel(org.ovirt.engine.ui.uicommonweb.models.ListModel) ConfirmationModel(org.ovirt.engine.ui.uicommonweb.models.ConfirmationModel) Model(org.ovirt.engine.ui.uicommonweb.models.Model) UICommand(org.ovirt.engine.ui.uicommonweb.UICommand)

Aggregations

Model (org.ovirt.engine.ui.uicommonweb.models.Model)56 UICommand (org.ovirt.engine.ui.uicommonweb.UICommand)46 ConfirmationModel (org.ovirt.engine.ui.uicommonweb.models.ConfirmationModel)41 EntityModel (org.ovirt.engine.ui.uicommonweb.models.EntityModel)39 ArrayList (java.util.ArrayList)37 List (java.util.List)37 AsyncDataProvider (org.ovirt.engine.ui.uicommonweb.dataprovider.AsyncDataProvider)35 HelpTag (org.ovirt.engine.ui.uicommonweb.help.HelpTag)35 ConstantsManager (org.ovirt.engine.ui.uicompat.ConstantsManager)35 ActionType (org.ovirt.engine.core.common.action.ActionType)34 Frontend (org.ovirt.engine.ui.frontend.Frontend)34 QueryType (org.ovirt.engine.core.common.queries.QueryType)33 VDS (org.ovirt.engine.core.common.businessentities.VDS)32 Guid (org.ovirt.engine.core.compat.Guid)32 Linq (org.ovirt.engine.ui.uicommonweb.Linq)32 ActionReturnValue (org.ovirt.engine.core.common.action.ActionReturnValue)30 StorageDomain (org.ovirt.engine.core.common.businessentities.StorageDomain)30 QueryReturnValue (org.ovirt.engine.core.common.queries.QueryReturnValue)29 ActionParametersBase (org.ovirt.engine.core.common.action.ActionParametersBase)28 StorageDomainType (org.ovirt.engine.core.common.businessentities.StorageDomainType)28