Skip to content

Commit

Permalink
#1644 refine frontend impl, new validation for dataset.description
Browse files Browse the repository at this point in the history
  • Loading branch information
René Reitmann committed Oct 22, 2018
1 parent 1ba461f commit 70bd157
Show file tree
Hide file tree
Showing 7 changed files with 43 additions and 64 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import eu.dzhw.fdz.metadatamanagement.common.domain.AbstractRdcDomainObject;
import eu.dzhw.fdz.metadatamanagement.common.domain.I18nString;
import eu.dzhw.fdz.metadatamanagement.common.domain.util.Patterns;
import eu.dzhw.fdz.metadatamanagement.common.domain.validation.I18nStringNotEmpty;
import eu.dzhw.fdz.metadatamanagement.common.domain.validation.I18nStringSize;
import eu.dzhw.fdz.metadatamanagement.common.domain.validation.StringLengths;
import eu.dzhw.fdz.metadatamanagement.datasetmanagement.domain.validation.UniqueDatasetNumberInProject;
Expand Down Expand Up @@ -65,8 +66,11 @@ public class DataSet extends AbstractRdcDomainObject {
@NotEmpty(message = "data-set-management.error.data-set.data-acquisition-project.id.not-empty")
private String dataAcquisitionProjectId;

@NotNull(message = "data-set-management.error.data-set.description.not-null")
@I18nStringSize(max = StringLengths.LARGE,
message = "data-set-management.error.data-set.description.i18n-string-size")
@I18nStringNotEmpty(
message = "data-set-management.error.data-set.description." + "i18n-string-not-empty")
private I18nString description;

@NotNull(message = "data-set-management.error.data-set.number.not-null")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ angular.module('metadatamanagementApp')
var i18nPrefix = 'data-acquisition-project-management.log-messages.' +
'data-acquisition-project.';
ctrl.searchText = '';
ctrl.selectedProject = CurrentProjectService.getCurrentProject();

$scope.$on('current-project-changed',
function(event, project) { // jshint ignore:line
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@
<table md-autofocus fdz-table ng-if="dataSetAttachments && dataSetAttachments.length > 0" style="width: 100%;" flex>
<thead>
<tr>
<th style="max-width: 600px;">{{'data-set-management.detail.attachments.choose-previous-version.attachment-description' | translate }}
<th style="max-width: 600px;">{{'data-set-management.detail.attachments.choose-previous-version.attachment-title' | translate }}
<md-tooltip hide-gt-xs md-direction="right">
{{'data-set-management.detail.attachments.choose-previous-version.attachment-description' | translate }}
{{'data-set-management.detail.attachments.choose-previous-version.attachment-title' | translate }}
</md-tooltip>
</th>
<th>{{'data-set-management.detail.attachments.choose-previous-version.lastModified' | translate }}
Expand All @@ -31,7 +31,7 @@
</thead>
<tbody>
<tr ng-repeat="attachment in dataSetAttachments" ng-click="attachment.id && select(attachment, $index)" ng-class="{'fdz-current-version': isCurrentVersion($index), 'fdz-deleted-version': !attachment.id}">
<td ng-if="attachment.id" display-i18n-string="attachment.description" class="fdz-truncate-string" style="max-width: 600px;" title="{{ getVersionTitle($index) }}"></td>
<td ng-if="attachment.id" class="fdz-truncate-string" style="max-width: 600px;" title="{{ getVersionTitle($index) }}">{{attachment.title}}</td>
<td ng-if="!attachment.id" class="fdz-truncate-string" style="max-width: 600px;" title="{{'data-set-management.detail.attachments.choose-previous-version.attachment-deleted' | translate}}"></td>
<td class="fdz-table-nowrap" title="{{ attachment.lastModifiedDate + 'Z'| date:'fullDate'}} {{ attachment.lastModifiedDate + 'Z'| date:'mediumTime'}}">
<span am-time-ago="attachment.lastModifiedDate | amUtc | amLocal"></span> {{ 'data-set-management.detail.attachments.choose-previous-version.lastModifiedBy' | translate }} {{ attachment.lastModifiedBy }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,19 +54,6 @@
</md-card-header>
<md-divider></md-divider>
<md-card-content>
<div layout-gt-sm="row" layout="column">
<md-input-container flex="50" style="margin-bottom: 42px;" md-is-error="!dataSetAttachmentForm.type.$valid && (dataSetAttachmentForm.type.$dirty || dataSetAttachmentForm.type.$touched)">
<label>{{'data-set-management.detail.label.attachments.type' | translate}}</label>
<md-select required ng-model="ctrl.dataSetAttachmentMetadata.type" ng-model-options="{trackBy: '$value.de'}" name="type">
<md-option ng-value="type" ng-repeat="type in ctrl.dataSetAttachmentTypes">{{type[currentLanguage]}}</md-option>
</md-select>
<div ng-if="!dataSetAttachmentForm.type.$dirty && !dataSetAttachmentForm.type.$touched" class="fdz-input-hint">{{'data-set-management.detail.attachments.hints.type' | translate}}</div>
<div ng-messages="dataSetAttachmentForm.type.$error" multiple>
<div ng-message="required">{{'data-set-management.error.data-set-attachment-metadata.type.not-null' | translate}}</div>
</div>
</md-input-container>
<div flex="50"></div>
</div>
<div layout-gt-sm="row" layout="column">
<md-autocomplete required flex="50" md-input-name="language2" md-floating-label="{{'data-set-management.detail.label.attachments.language' | translate}}" md-require-match="true" md-select-on-match="true"
md-match-case-insensitive="true" md-selected-item="ctrl.selectedLanguage" md-min-length="0" md-search-text="ctrl.languageSearchText" md-items="item in ctrl.searchLanguages(ctrl.languageSearchText)" md-item-text="item.displayLanguage[currentLanguage]"
Expand All @@ -85,6 +72,17 @@
</md-autocomplete>
<div flex="50"></div>
</div>
<div layout="row">
<md-input-container flex style="margin-right: 8px;" md-is-error="!dataSetAttachmentForm.title.$valid && (dataSetAttachmentForm.title.$dirty || dataSetAttachmentForm.title.$touched)">
<label class="fdz-input-required">{{'data-set-management.detail.label.attachments.title' | translate}} ({{'global.in' | translate}} {{ctrl.selectedLanguage.displayLanguage[currentLanguage]?ctrl.selectedLanguage.displayLanguage[currentLanguage]:'?'}})</label>
<textarea fdz-required rows="4" md-maxlength="2048" ng-model="ctrl.dataSetAttachmentMetadata.title" name="title"></textarea>
<div ng-if="!dataSetAttachmentForm.title.$dirty && !dataSetAttachmentForm.title.$touched" class="fdz-input-hint">{{'data-set-management.detail.attachments.hints.title' | translate}}</div>
<div ng-messages="dataSetAttachmentForm.title.$error" multiple>
<div ng-message="md-maxlength">{{'data-set-management.error.data-set-attachment-metadata.title.string-size' | translate}}</div>
<div ng-message="fdz-required">{{'data-set-management.error.data-set-attachment-metadata.title.not-null' | translate}}</div>
</div>
</md-input-container>
</div>
<div layout-gt-sm="row" layout="column">
<md-input-container flex="50" style="margin-right: 8px;" md-is-error="!dataSetAttachmentForm.descriptionDe.$valid && (dataSetAttachmentForm.descriptionDe.$dirty || dataSetAttachmentForm.descriptionDe.$touched)">
<label class="fdz-input-required">{{'data-set-management.detail.label.attachments.description' | translate}} ({{'global.in-german' | translate}})</label>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ angular.module('metadatamanagementApp')
$timeout(function() {
$state.go('search', {
lang: LanguageService.getCurrentInstantly(),
type: 'dataSets'
type: 'data_sets'
});
}, 1000);
};
Expand Down Expand Up @@ -192,7 +192,7 @@ angular.module('metadatamanagementApp')
};

ctrl.updateElasticSearchIndex = function() {
return ElasticSearchAdminService.processUpdateQueue('dataSets');
return ElasticSearchAdminService.processUpdateQueue('data_sets');
};

ctrl.onSavedSuccessfully = function() {
Expand Down Expand Up @@ -395,8 +395,12 @@ angular.module('metadatamanagementApp')
});
};

ctrl.types = [
'PAPI', 'CAPI', 'CATI', 'CAWI'
ctrl.types = [{de: 'Personendatensatz', en: 'Individual Data'},
{de: 'Episodendatensatz', en: 'Spell Data'}
];

ctrl.formats = [{de: 'breit', en: 'wide'},
{de: 'lang', en: 'long'}
];

init();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<div layout-gt-sm="row" layout="column">
<md-input-container flex="50" ng-class="{'fdz-add-right-margin': $mdMedia('gt-sm')}" md-is-error="!dataSetForm.descriptionDe.$valid && (dataSetForm.descriptionDe.$dirty || dataSetForm.descriptionDe.$touched)">
<label class="fdz-input-required">{{'data-set-management.detail.label.description' | translate}} ({{'global.in-german' | translate}})</label>
<input md-maxlength="512" fdz-required="!ctrl.dataSet.description.en" ng-model="ctrl.dataSet.description.de" name="descriptionDe" lang="de" md-no-asterisk>
<input md-maxlength="2048" fdz-required="!ctrl.dataSet.description.en" ng-model="ctrl.dataSet.description.de" name="descriptionDe" lang="de" md-no-asterisk>
<div ng-if="!dataSetForm.descriptionDe.$dirty && !dataSetForm.descriptionDe.$touched" class="fdz-input-hint">{{'data-set-management.edit.hints.description.de' | translate}}</div>
<div ng-messages="dataSetForm.descriptionDe.$error" multiple>
<div ng-message="fdz-required">{{'data-set-management.error.dataSet.description.i18n-string-not-empty' | translate}}</div>
Expand All @@ -24,7 +24,7 @@
</md-input-container>
<md-input-container flex="50" md-is-error="!dataSetForm.descriptionEn.$valid && (dataSetForm.descriptionEn.$dirty || dataSetForm.descriptionEn.$touched)">
<label class="fdz-input-required">{{'data-set-management.detail.label.description' | translate}} ({{'global.in-english' | translate}})</label>
<input md-maxlength="512" fdz-required="!ctrl.dataSet.description.de" ng-model="ctrl.dataSet.description.en" name="descriptionEn" lang="en" md-no-asterisk>
<input md-maxlength="2048" fdz-required="!ctrl.dataSet.description.de" ng-model="ctrl.dataSet.description.en" name="descriptionEn" lang="en" md-no-asterisk>
<div ng-if="!dataSetForm.descriptionEn.$dirty && !dataSetForm.descriptionEn.$touched" class="fdz-input-hint">{{'data-set-management.edit.hints.description.en' | translate}}</div>
<div ng-messages="dataSetForm.descriptionEn.$error" multiple>
<div ng-message="fdz-required">{{'data-set-management.error.dataSet.description.i18n-string-not-empty' | translate}}</div>
Expand All @@ -33,48 +33,22 @@
</md-input-container>
</div>
<div layout-gt-sm="row" layout="column">
<md-input-container flex="50" ng-class="{'fdz-add-right-margin': $mdMedia('gt-sm')}" md-is-error="!dataSetForm.titleDe.$valid && (dataSetForm.titleDe.$dirty || dataSetForm.titleDe.$touched)">
<label class="fdz-input-required">{{'data-set-management.detail.label.title' | translate}} ({{'global.in-german' | translate}})</label>
<input md-maxlength="2048" fdz-required="!ctrl.dataSet.title.en" ng-model="ctrl.dataSet.title.de" name="titleDe" lang="de" md-no-asterisk>
<div ng-if="!dataSetForm.titleDe.$dirty && !dataSetForm.titleDe.$touched" class="fdz-input-hint">{{'data-set-management.edit.hints.title.de' | translate}}</div>
<div ng-messages="dataSetForm.titleDe.$error" multiple>
<div ng-message="fdz-required">{{'data-set-management.error.dataSet.title.i18n-string-not-empty' | translate}}</div>
<div ng-message="md-maxlength">{{'data-set-management.error.dataSet.title.i18n-string-size' | translate}}</div>
</div>
</md-input-container>
<md-input-container flex="50" md-is-error="!dataSetForm.titleEn.$valid && (dataSetForm.titleEn.$dirty || dataSetForm.titleEn.$touched)">
<label class="fdz-input-required">{{'data-set-management.detail.label.title' | translate}} ({{'global.in-english' | translate}})</label>
<input md-maxlength="2048" fdz-required="!ctrl.dataSet.title.de" ng-model="ctrl.dataSet.title.en" name="titleEn" lang="en" md-no-asterisk>
<div ng-if="!dataSetForm.titleEn.$dirty && !dataSetForm.titleEn.$touched" class="fdz-input-hint">{{'data-set-management.edit.hints.title.en' | translate}}</div>
<div ng-messages="dataSetForm.titleEn.$error" multiple>
<div ng-message="fdz-required">{{'data-set-management.error.dataSet.title.i18n-string-not-empty' | translate}}</div>
<div ng-message="md-maxlength">{{'data-set-management.error.dataSet.title.i18n-string-size' | translate}}</div>
</div>
</md-input-container>
</div>
<div layout-gt-sm="row" layout="column">
<md-input-container flex="50" ng-class="{'fdz-add-right-margin': $mdMedia('gt-sm')}" md-is-error="!dataSetForm.subtitleDe.$valid && (dataSetForm.subtitleDe.$dirty || dataSetForm.subtitleDe.$touched)">
<label>{{'data-set-management.detail.label.subtitle' | translate}} ({{'global.in-german' | translate}})</label>
<input md-maxlength="2048" ng-model="ctrl.dataSet.subtitle.de" name="subtitleDe" lang="de" md-no-asterisk>
<div ng-if="!dataSetForm.subtitleDe.$dirty && !dataSetForm.subtitleDe.$touched" class="fdz-input-hint">{{'data-set-management.edit.hints.subtitle.de' | translate}}</div>
<div ng-messages="dataSetForm.subtitleDe.$error" multiple>
<div ng-message="md-maxlength">{{'data-set-management.error.dataSet.subtitle.i18n-string-size' | translate}}</div>
</div>
</md-input-container>
<md-input-container flex="50" md-is-error="!dataSetForm.subtitleEn.$valid && (dataSetForm.subtitleEn.$dirty || dataSetForm.subtitleEn.$touched)">
<label>{{'data-set-management.detail.label.subtitle' | translate}} ({{'global.in-english' | translate}})</label>
<input md-maxlength="2048" ng-model="ctrl.dataSet.subtitle.en" name="subtitleEn" lang="en" md-no-asterisk>
<div ng-if="!dataSetForm.subtitleEn.$dirty && !dataSetForm.subtitleEn.$touched" class="fdz-input-hint">{{'data-set-management.edit.hints.subtitle.en' | translate}}</div>
<div ng-messages="dataSetForm.subtitleEn.$error" multiple>
<div ng-message="md-maxlength">{{'data-set-management.error.dataSet.subtitle.i18n-string-size' | translate}}</div>
</div>
<md-input-container flex="50" md-is-error="!dataSetForm.format.$valid && (dataSetForm.format.$dirty || dataSetForm.format.$touched)">
<label>{{'data-set-management.detail.label.format' | translate}}</label>
<md-select ng-model="ctrl.dataSet.format" ng-model-options="{trackBy: '$value.de'}" name="format">
<md-option ng-value="format" ng-repeat="format in ctrl.formats">{{format[currentLanguage]}}</md-option>
</md-select>
<div ng-if="!dataSetForm.format.$dirty && !dataSetForm.format.$touched" class="fdz-input-hint">{{'data-set-management.edit.hints.format' | translate}}</div>
<div ng-messages="dataSetForm.format.$error" multiple>
</div>
</md-input-container>
<div flex="50"></div>
</div>
<div layout-gt-sm="row" layout="column">
<md-input-container flex="50" md-is-error="!dataSetForm.type.$valid && (dataSetForm.type.$dirty || dataSetForm.type.$touched)">
<label>{{'data-set-management.detail.label.type' | translate}}</label>
<md-select required ng-model="ctrl.dataSet.type" ng-model-options="{trackBy: '$value'}" name="type">
<md-option ng-value="type" ng-repeat="type in ctrl.types">{{type}}</md-option>
<md-select required ng-model="ctrl.dataSet.type" ng-model-options="{trackBy: '$value.de'}" name="type">
<md-option ng-value="type" ng-repeat="type in ctrl.types">{{type[currentLanguage]}}</md-option>
</md-select>
<div ng-if="!dataSetForm.type.$dirty && !dataSetForm.type.$touched" class="fdz-input-hint">{{'data-set-management.edit.hints.type' | translate}}</div>
<div ng-messages="dataSetForm.type.$error" multiple>
Expand Down Expand Up @@ -115,7 +89,6 @@
<textarea rows="4" md-maxlength="2048" ng-model="ctrl.dataSet.annotations.de" name="annotationsDe" lang="de" md-no-asterisk></textarea>
<div ng-if="!dataSetForm.annotationsDe.$dirty && !dataSetForm.annotationsDe.$touched" class="fdz-input-hint">{{'data-set-management.edit.hints.annotations.de' | translate}}</div>
<div ng-messages="dataSetForm.annotationsDe.$error" multiple>
<div ng-message="fdz-required">{{'data-set-management.error.dataSet.annotations.i18n-string-not-empty' | translate}}</div>
<div ng-message="md-maxlength">{{'data-set-management.error.dataSet.annotations.i18n-string-size' | translate}}</div>
</div>
</md-input-container>
Expand Down Expand Up @@ -150,9 +123,9 @@
<th style="min-height: 40px;">
&nbsp;
</th>
<th>{{'data-set-management.detail.label.attachments.type' | translate }}
<th class="fdz-table-half-absorbing-column">{{'data-set-management.detail.label.attachments.title' | translate }}
<md-tooltip hide-gt-xs md-direction="right">
{{'data-set-management.detail.label.attachments.type' | translate }}
{{'data-set-management.detail.label.attachments.title' | translate }}
</md-tooltip>
</th>
<th class="fdz-table-half-absorbing-column">{{'data-set-management.detail.label.attachments.description' | translate }}
Expand Down Expand Up @@ -199,7 +172,7 @@
<md-icon md-font-set="material-icons">delete_forever</md-icon>
</md-button>
</td>
<td lang="{{row.language}}">{{row.type | displayI18nString}}&nbsp;</td>
<td lang="{{row.language}}">{{row.title}}&nbsp;</td>
<td display-i18n-string="row.description" fdz-hyphenate class="fdz-text-block"></td>
<td>{{row.language | displayIsoLanguage: currentLanguage}}&nbsp;</td>
<td><a ng-href="{{row.id}}" target="_blank">{{row.fileName}}
Expand Down

0 comments on commit 70bd157

Please sign in to comment.