Dataset profile Editor. Ui fixes. Visibility Rules fix.
This commit is contained in:
parent
2df5c6820a
commit
b04e2b3482
|
@ -6,11 +6,16 @@ export class DatasetIdModel {
|
||||||
type: string;
|
type: string;
|
||||||
|
|
||||||
constructor(data: any) {
|
constructor(data: any) {
|
||||||
|
try{
|
||||||
const parsed = JSON.parse(data);
|
const parsed = JSON.parse(data);
|
||||||
if (!isNullOrUndefined(parsed)) {
|
if (!isNullOrUndefined(parsed)) {
|
||||||
this.identifier = parsed.identifier;
|
this.identifier = parsed.identifier;
|
||||||
this.type = parsed.type;
|
this.type = parsed.type;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
catch(error){
|
||||||
|
console.warn('Could not parse DatasetIdModel');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
buildForm(): FormGroup {
|
buildForm(): FormGroup {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { FormGroup } from "@angular/forms";
|
import { FormGroup, Validators } from "@angular/forms";
|
||||||
import { Rule } from "../../../../core/model/admin/dataset-profile/dataset-profile";
|
import { Rule } from "../../../../core/model/admin/dataset-profile/dataset-profile";
|
||||||
import { BaseFormModel } from "../../../../core/model/base-form-model";
|
import { BaseFormModel } from "../../../../core/model/base-form-model";
|
||||||
|
|
||||||
|
@ -21,9 +21,9 @@ export class RuleEditorModel extends BaseFormModel {
|
||||||
buildForm(disabled: boolean = false, skipDisable: Array<String> = []): FormGroup {
|
buildForm(disabled: boolean = false, skipDisable: Array<String> = []): FormGroup {
|
||||||
const formGroup = this.formBuilder.group({
|
const formGroup = this.formBuilder.group({
|
||||||
// sourceField: [this.sourceField],
|
// sourceField: [this.sourceField],
|
||||||
target: [{ value: this.target, disabled: (disabled && !skipDisable.includes('RuleEditorModel.target')) }],
|
target: [{ value: this.target, disabled: (disabled && !skipDisable.includes('RuleEditorModel.target')) }, [Validators.required]],
|
||||||
ruleStyle: [{ value: this.ruleStyle, disabled: (disabled && !skipDisable.includes('RuleEditorModel.ruleStyle')) }],
|
ruleStyle: [{ value: this.ruleStyle, disabled: (disabled && !skipDisable.includes('RuleEditorModel.ruleStyle')) }],
|
||||||
value: [{ value: this.value, disabled: (disabled && !skipDisable.includes('RuleEditorModel.value')) }],
|
value: [{ value: this.value, disabled: (disabled && !skipDisable.includes('RuleEditorModel.value')) }, [Validators.required]],
|
||||||
ruleType: [{ value: this.ruleType, disabled: (disabled && !skipDisable.includes('RuleEditorModel.ruleType')) }],
|
ruleType: [{ value: this.ruleType, disabled: (disabled && !skipDisable.includes('RuleEditorModel.ruleType')) }],
|
||||||
valueType: [{ value: this.valueType, disabled: (disabled && !skipDisable.includes('RuleEditorModel.valueType')) }]
|
valueType: [{ value: this.valueType, disabled: (disabled && !skipDisable.includes('RuleEditorModel.valueType')) }]
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { Component, Input, OnChanges, OnInit } from '@angular/core';
|
import { ChangeDetectorRef, Component, Input, OnChanges, OnInit } from '@angular/core';
|
||||||
import { AbstractControl, FormArray, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';
|
import { AbstractControl, FormArray, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';
|
||||||
import { FieldEditorModel } from '../../../admin/field-editor-model';
|
import { FieldEditorModel } from '../../../admin/field-editor-model';
|
||||||
import { Guid } from '@common/types/guid';
|
import { Guid } from '@common/types/guid';
|
||||||
|
@ -73,6 +73,7 @@ export class DatasetProfileEditorCompositeFieldComponent implements OnInit, OnCh
|
||||||
viewStyleEnum = DatasetProfileFieldViewStyle;
|
viewStyleEnum = DatasetProfileFieldViewStyle;
|
||||||
|
|
||||||
viewTypeEnum = ViewStyleType;
|
viewTypeEnum = ViewStyleType;
|
||||||
|
|
||||||
private myCustomValidators:EditorCustomValidators = new EditorCustomValidators();
|
private myCustomValidators:EditorCustomValidators = new EditorCustomValidators();
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
|
@ -245,7 +246,6 @@ export class DatasetProfileEditorCompositeFieldComponent implements OnInit, OnCh
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// generatePreview(){
|
// generatePreview(){
|
||||||
// const editorModel = new DatasetDescriptionCompositeFieldEditorModel();
|
// const editorModel = new DatasetDescriptionCompositeFieldEditorModel();
|
||||||
// editorModel.title = this.form.get('title').value;
|
// editorModel.title = this.form.get('title').value;
|
||||||
|
@ -806,7 +806,6 @@ export class DatasetProfileEditorCompositeFieldComponent implements OnInit, OnCh
|
||||||
}
|
}
|
||||||
|
|
||||||
(<FormArray>this.form.get('fields')).push(new FieldEditorModel().fromModel(field).buildForm());
|
(<FormArray>this.form.get('fields')).push(new FieldEditorModel().fromModel(field).buildForm());
|
||||||
|
|
||||||
// fieldForm.get('viewStyle').get('renderStyle').updateValueAndValidity();
|
// fieldForm.get('viewStyle').get('renderStyle').updateValueAndValidity();
|
||||||
// fieldForm.get('data').updateValueAndValidity();
|
// fieldForm.get('data').updateValueAndValidity();
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
{{'GENERAL.VALIDATION.REQUIRED' | translate}}
|
{{'GENERAL.VALIDATION.REQUIRED' | translate}}
|
||||||
</mat-slide-toggle>
|
</mat-slide-toggle>
|
||||||
</li>
|
</li>
|
||||||
<li class="list-inline-item" *ngIf="!viewOnly && viewType">
|
<li class="list-inline-item" *ngIf="!viewOnly && viewType && canApplyVisibility">
|
||||||
<mat-icon style="cursor: pointer;" (click)="addNewRule()" [matTooltip]="'DATASET-PROFILE-EDITOR.ACTIONS.FIELD.ADD-VISIBILITY-RULE' | translate">visibility</mat-icon>
|
<mat-icon style="cursor: pointer;" (click)="addNewRule()" [matTooltip]="'DATASET-PROFILE-EDITOR.ACTIONS.FIELD.ADD-VISIBILITY-RULE' | translate">visibility</mat-icon>
|
||||||
</li>
|
</li>
|
||||||
<li class="list-inline-item" *ngIf="!viewOnly && viewType && canBeDeleted">
|
<li class="list-inline-item" *ngIf="!viewOnly && viewType && canBeDeleted">
|
||||||
|
|
|
@ -380,8 +380,26 @@ export class DatasetProfileEditorFieldComponent extends BaseComponent implements
|
||||||
// });
|
// });
|
||||||
};
|
};
|
||||||
|
|
||||||
|
get canApplyVisibility():boolean{
|
||||||
|
|
||||||
|
|
||||||
|
switch(this.viewType){
|
||||||
|
case this.viewTypeEnum.TextArea:
|
||||||
|
case this.viewTypeEnum.FreeText:
|
||||||
|
case this.viewTypeEnum.BooleanDecision:
|
||||||
|
case this.viewTypeEnum.RadioBox:
|
||||||
|
case this.viewTypeEnum.Select:
|
||||||
|
case this.viewTypeEnum.CheckBox:
|
||||||
|
case this.viewTypeEnum.DatePicker:
|
||||||
|
return true;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// validTicket:string;
|
// validTicket:string;
|
||||||
// generatePreview(){
|
// generatePreview(){
|
||||||
// const fieldEditorModel = new DatasetDescriptionFieldEditorModel();
|
// const fieldEditorModel = new DatasetDescriptionFieldEditorModel();
|
||||||
|
@ -417,6 +435,9 @@ export class DatasetProfileEditorFieldComponent extends BaseComponent implements
|
||||||
|
|
||||||
const field: Field = this.form.getRawValue();
|
const field: Field = this.form.getRawValue();
|
||||||
field.defaultValue = {type:null, value: null};
|
field.defaultValue = {type:null, value: null};
|
||||||
|
if(!this.canApplyVisibility){
|
||||||
|
field.visible.rules = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -767,6 +788,8 @@ export class DatasetProfileEditorFieldComponent extends BaseComponent implements
|
||||||
fields.removeAt(index);
|
fields.removeAt(index);
|
||||||
fields.insert(index, form);
|
fields.insert(index, form);
|
||||||
this.form = form;
|
this.form = form;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
setTimeout(() => { //TODO
|
setTimeout(() => { //TODO
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
<!-- SELECTION -->
|
<!-- SELECTION -->
|
||||||
<mat-form-field class="col align-self-center">
|
<mat-form-field class="col align-self-center">
|
||||||
<mat-label>{{'DATASET-PROFILE-EDITOR.STEPS.FORM.RULE.FIELDS.RULE-THEN'| translate}}</mat-label>
|
<mat-label>{{'DATASET-PROFILE-EDITOR.STEPS.FORM.RULE.FIELDS.RULE-THEN'| translate}}</mat-label>
|
||||||
<mat-select formControlName="target" required>
|
<mat-select formControlName="target" (openedChange)="computeOptions($event)">
|
||||||
<!-- SHOW SECTIONS -->
|
<!-- SHOW SECTIONS -->
|
||||||
<!-- <mat-optgroup label="Sections" *ngIf="false">
|
<!-- <mat-optgroup label="Sections" *ngIf="false">
|
||||||
<mat-option *ngFor="let option of sectionOptions" [value]="option.id" style="line-height: normal;"
|
<mat-option *ngFor="let option of sectionOptions" [value]="option.id" style="line-height: normal;"
|
||||||
|
@ -43,7 +43,10 @@
|
||||||
<!-- SHOW FIELDSETS -->
|
<!-- SHOW FIELDSETS -->
|
||||||
<mat-optgroup [label]="'DATASET-PROFILE-EDITOR.STEPS.FORM.RULE.FIELDS.FIELDSETS' | translate">
|
<mat-optgroup [label]="'DATASET-PROFILE-EDITOR.STEPS.FORM.RULE.FIELDS.FIELDSETS' | translate">
|
||||||
<mat-option *ngFor="let option of fieldSetOptions" [value]="option.id" style="line-height: normal;"
|
<mat-option *ngFor="let option of fieldSetOptions" [value]="option.id" style="line-height: normal;"
|
||||||
[disabled]="parentIds.includes(option.id)">
|
[disabled]="parentIds.includes(option.id) || hiddenBy.includes(option.id)"
|
||||||
|
[matTooltip]="getToolTipMessage(option.id)"
|
||||||
|
[matTooltipShowDelay]="700"
|
||||||
|
>
|
||||||
<span>
|
<span>
|
||||||
{{option.label? option.label:'<'+ ('DATASET-PROFILE-EDITOR.STEPS.GENERAL-INFO.UNTITLED' | translate) + '>'}}
|
{{option.label? option.label:'<'+ ('DATASET-PROFILE-EDITOR.STEPS.GENERAL-INFO.UNTITLED' | translate) + '>'}}
|
||||||
</span> <br>
|
</span> <br>
|
||||||
|
@ -55,7 +58,10 @@
|
||||||
<!-- SHOW FIELDS -->
|
<!-- SHOW FIELDS -->
|
||||||
<mat-optgroup [label]="'DATASET-PROFILE-EDITOR.STEPS.FORM.RULE.FIELDS.FIELDS' | translate">
|
<mat-optgroup [label]="'DATASET-PROFILE-EDITOR.STEPS.FORM.RULE.FIELDS.FIELDS' | translate">
|
||||||
<mat-option *ngFor="let option of fieldOptions" [value]="option.id" style="line-height: normal;"
|
<mat-option *ngFor="let option of fieldOptions" [value]="option.id" style="line-height: normal;"
|
||||||
[disabled]="parentIds.includes(option.id)">
|
[disabled]="parentIds.includes(option.id) ||hiddenBy.includes(option.id)"
|
||||||
|
[matTooltip]="getToolTipMessage(option.id)"
|
||||||
|
[matTooltipShowDelay]="700"
|
||||||
|
>
|
||||||
<span>
|
<span>
|
||||||
{{option.label? option.label:'<'+ ('DATASET-PROFILE-EDITOR.STEPS.GENERAL-INFO.UNTITLED' | translate) + '>'}}
|
{{option.label? option.label:'<'+ ('DATASET-PROFILE-EDITOR.STEPS.GENERAL-INFO.UNTITLED' | translate) + '>'}}
|
||||||
</span> <br>
|
</span> <br>
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
import { Component, Input, OnInit } from '@angular/core';
|
import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';
|
||||||
import { FormArray, FormControl, FormGroup } from '@angular/forms';
|
import { FormArray, FormControl, FormGroup } from '@angular/forms';
|
||||||
import { DatasetProfileFieldViewStyle } from '../../../../../../core/common/enum/dataset-profile-field-view-style';
|
import { DatasetProfileFieldViewStyle } from '../../../../../../core/common/enum/dataset-profile-field-view-style';
|
||||||
import { DatasetProfileComboBoxType } from '../../../../../../core/common/enum/dataset-profile-combo-box-type';
|
import { DatasetProfileComboBoxType } from '../../../../../../core/common/enum/dataset-profile-combo-box-type';
|
||||||
import { ToCEntryType } from '../../../table-of-contents/table-of-contents-entry';
|
import { ToCEntryType } from '../../../table-of-contents/table-of-contents-entry';
|
||||||
|
import { Rule } from '@app/core/model/admin/dataset-profile/dataset-profile';
|
||||||
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-dataset-profile-editor-rule-component',
|
selector: 'app-dataset-profile-editor-rule-component',
|
||||||
|
@ -12,6 +14,7 @@ import { ToCEntryType } from '../../../table-of-contents/table-of-contents-entry
|
||||||
|
|
||||||
export class DatasetProfileEditorRuleComponent implements OnInit{
|
export class DatasetProfileEditorRuleComponent implements OnInit{
|
||||||
|
|
||||||
|
|
||||||
@Input() form: FormArray;
|
@Input() form: FormArray;
|
||||||
|
|
||||||
@Input() viewStyleForCheck: DatasetProfileFieldViewStyle;
|
@Input() viewStyleForCheck: DatasetProfileFieldViewStyle;
|
||||||
|
@ -20,6 +23,16 @@ export class DatasetProfileEditorRuleComponent implements OnInit{
|
||||||
@Input() comboBoxTypeForCheck: DatasetProfileComboBoxType;
|
@Input() comboBoxTypeForCheck: DatasetProfileComboBoxType;
|
||||||
@Input() viewOnly: boolean;
|
@Input() viewOnly: boolean;
|
||||||
|
|
||||||
|
|
||||||
|
options: OptionItem[];
|
||||||
|
sectionOptions: OptionItem[];
|
||||||
|
fieldSetOptions: OptionItem[];
|
||||||
|
fieldOptions: OptionItem[];
|
||||||
|
|
||||||
|
constructor(private language: TranslateService){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
targetValidation() {
|
targetValidation() {
|
||||||
//TODO
|
//TODO
|
||||||
}
|
}
|
||||||
|
@ -29,8 +42,11 @@ export class DatasetProfileEditorRuleComponent implements OnInit{
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
|
this._computeOptions();
|
||||||
|
}
|
||||||
|
|
||||||
|
private _computeOptions(){
|
||||||
this.options = this.getOptions();
|
this.options = this.getOptions();
|
||||||
// TODO TO SEE IF THE COMPONENT IS NOT DESTROYED AND THE FORM UPDATES
|
|
||||||
|
|
||||||
this.sectionOptions = [];
|
this.sectionOptions = [];
|
||||||
this.fieldOptions = [];
|
this.fieldOptions = [];
|
||||||
|
@ -50,12 +66,39 @@ export class DatasetProfileEditorRuleComponent implements OnInit{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
//remove options to hide if given fieldset is already hidden by option
|
||||||
|
|
||||||
|
this.fieldOptions.forEach(e=>this._buildHiddenBy(e));
|
||||||
|
this.fieldSetOptions.forEach(e=>this._buildHiddenBy(e));
|
||||||
}
|
}
|
||||||
options: OptionItem[];
|
|
||||||
sectionOptions: OptionItem[];
|
|
||||||
fieldSetOptions: OptionItem[];
|
|
||||||
fieldOptions: OptionItem[];
|
computeOptions(isOpened: boolean){
|
||||||
|
if(isOpened){
|
||||||
|
this._computeOptions();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private _buildHiddenBy(fo:OptionItem){
|
||||||
|
try{
|
||||||
|
this.fieldOptions.forEach(foption=>{
|
||||||
|
const rules = (foption.form.get('visible').get('rules') as FormArray).controls.map(c=>(c as FormGroup).getRawValue()) as Rule[]
|
||||||
|
const targets = rules.map(rule=>rule.target);
|
||||||
|
targets.forEach(target=>{
|
||||||
|
if(fo.parentsIds.includes(target) && !fo.hiddenBy.includes(foption.id)){
|
||||||
|
fo.hiddenBy.push(...foption.parentsIds);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
});
|
||||||
|
}catch{
|
||||||
|
console.log('error');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
getOptions():OptionItem[]{
|
getOptions():OptionItem[]{
|
||||||
|
@ -96,7 +139,9 @@ export class DatasetProfileEditorRuleComponent implements OnInit{
|
||||||
type: type,
|
type: type,
|
||||||
label: type ===ToCEntryType.Field? form.get('data').get('label').value :form.get('title').value,
|
label: type ===ToCEntryType.Field? form.get('data').get('label').value :form.get('title').value,
|
||||||
// parentsIds: [form.get('id').value]
|
// parentsIds: [form.get('id').value]
|
||||||
parentsIds: [...parentIds, form.get('id').value]
|
parentsIds: [...parentIds, form.get('id').value],
|
||||||
|
form: form,
|
||||||
|
hiddenBy:[]
|
||||||
}
|
}
|
||||||
result.push(currentOptionItem);
|
result.push(currentOptionItem);
|
||||||
|
|
||||||
|
@ -130,6 +175,26 @@ export class DatasetProfileEditorRuleComponent implements OnInit{
|
||||||
}
|
}
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
get hiddenBy(): string[]{
|
||||||
|
if(!this.formControlForCheck.get('id')) return [];
|
||||||
|
|
||||||
|
const current = this.options.find(opt=> opt.id === this.formControlForCheck.get('id').value);
|
||||||
|
|
||||||
|
if(current){
|
||||||
|
return current.hiddenBy;
|
||||||
|
}
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
getToolTipMessage(id: string){
|
||||||
|
if(this.parentIds.includes(id)){
|
||||||
|
// return 'Cannot hide element that contain the field';
|
||||||
|
return this.language.instant('DATASET-PROFILE-EDITOR.STEPS.FORM.RULE.HINTS.ELEMENT-CHILD-OF-TARGET');
|
||||||
|
}else if(this.hiddenBy.includes(id)){
|
||||||
|
return this.language.instant('DATASET-PROFILE-EDITOR.STEPS.FORM.RULE.HINTS.ELEMENT-HIDDEN-FROM-ELEMENT');
|
||||||
|
}
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -138,5 +203,7 @@ interface OptionItem{
|
||||||
id: string,
|
id: string,
|
||||||
label: string,
|
label: string,
|
||||||
type: ToCEntryType,
|
type: ToCEntryType,
|
||||||
parentsIds: string[]
|
parentsIds: string[],
|
||||||
|
form:FormGroup,
|
||||||
|
hiddenBy:string[]
|
||||||
}
|
}
|
|
@ -118,7 +118,8 @@ export class DatasetProfileEditorSectionFieldSetComponent implements OnInit, OnC
|
||||||
this.numbering = this.tocentry.numbering;
|
this.numbering = this.tocentry.numbering;
|
||||||
this._selectedFieldSetId = null;
|
this._selectedFieldSetId = null;
|
||||||
|
|
||||||
this._scrollToElement(this.tocentry.id);
|
// this._scrollToElement(this.tocentry.id);
|
||||||
|
this._scrollOnTop();
|
||||||
}else if(this.tocentry.type === ToCEntryType.FieldSet){
|
}else if(this.tocentry.type === ToCEntryType.FieldSet){
|
||||||
this.form = this.tocentry.form.parent.parent;
|
this.form = this.tocentry.form.parent.parent;
|
||||||
const numberingArray = this.tocentry.numbering.split('.');
|
const numberingArray = this.tocentry.numbering.split('.');
|
||||||
|
|
|
@ -69,10 +69,11 @@ mat-row:hover {
|
||||||
// // background-color: #eef0fb;
|
// // background-color: #eef0fb;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
::ng-deep .mat-paginator-container {
|
:host ::ng-deep .mat-paginator-container {
|
||||||
flex-direction: row-reverse !important;
|
flex-direction: row-reverse !important;
|
||||||
justify-content: space-between !important;
|
justify-content: space-between !important;
|
||||||
background-color: #f6f6f6;
|
background-color: #f6f6f6;
|
||||||
|
align-items: center;
|
||||||
// height: 30px;
|
// height: 30px;
|
||||||
// min-height: 30px !important;
|
// min-height: 30px !important;
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,7 +72,7 @@
|
||||||
<!-- [ngClass]="{'border-left-active':itemSelected?.id == parentLink?.id, 'pl-1':itemSelected?.id == parentLink?.id, 'pb-4': isDragging && (parentLink?.type!= tocEntryType.FieldSet) && (parentLink?.id != draggingItemId) }" -->
|
<!-- [ngClass]="{'border-left-active':itemSelected?.id == parentLink?.id, 'pl-1':itemSelected?.id == parentLink?.id, 'pb-4': isDragging && (parentLink?.type!= tocEntryType.FieldSet) && (parentLink?.id != draggingItemId) }" -->
|
||||||
<div dragula="TABLEDRAG" class="ml-2"
|
<div dragula="TABLEDRAG" class="ml-2"
|
||||||
[ngClass]="{'border-left-active':itemSelected?.id == parentLink?.id, 'ml-1':itemSelected?.id == parentLink?.id, 'pb-4': isDragging && (parentLink?.type!= tocEntryType.FieldSet) && (parentLink?.id != draggingItemId) }"
|
[ngClass]="{'border-left-active':itemSelected?.id == parentLink?.id, 'ml-1':itemSelected?.id == parentLink?.id, 'pb-4': isDragging && (parentLink?.type!= tocEntryType.FieldSet) && (parentLink?.id != draggingItemId) }"
|
||||||
[hidden]="!((parentLink?.subEntriesType!= tocEntryType.FieldSet) || selectedItemInLinks || parentLink?.id === itemSelected?.id || dragHoveringOver ||isDragging)"
|
[hidden]="!((parentLink?.subEntriesType!= tocEntryType.FieldSet) || selectedItemInLinks || parentLink?.id === itemSelected?.id ||isDragging)"
|
||||||
class="cdk-link-list"
|
class="cdk-link-list"
|
||||||
[id]="parentLink.id"
|
[id]="parentLink.id"
|
||||||
[ngStyle]="{'border': overContainerId === parentLink?.id? '1px solid #129D99': '', 'min-height': ((!links?.length||(links.length ==1) ) && (parentLink?.type != tocEntryType.FieldSet) && (isDragging) && (draggingItemId != parentLink?.id)) ? '3em':'inherit'}"
|
[ngStyle]="{'border': overContainerId === parentLink?.id? '1px solid #129D99': '', 'min-height': ((!links?.length||(links.length ==1) ) && (parentLink?.type != tocEntryType.FieldSet) && (isDragging) && (draggingItemId != parentLink?.id)) ? '3em':'inherit'}"
|
||||||
|
|
|
@ -84,7 +84,7 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
||||||
|
|
||||||
|
|
||||||
if(!(elementId && targetId && sourceId)){
|
if(!(elementId && targetId && sourceId)){
|
||||||
console.error('Elements not have an id');
|
console.info('Elements do not have an id');
|
||||||
this.dataNeedsRefresh.emit();
|
this.dataNeedsRefresh.emit();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -95,7 +95,7 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
||||||
const sourceContainer:ToCEntry = this._findTocEntryById(sourceId, this.links);
|
const sourceContainer:ToCEntry = this._findTocEntryById(sourceId, this.links);
|
||||||
|
|
||||||
if(!(element && (targetContainer ||((element.type===ToCEntryType.Page) && (targetId === this.ROOT_ID))) && (sourceContainer||((element.type===ToCEntryType.Page) && (sourceId === this.ROOT_ID))))){
|
if(!(element && (targetContainer ||((element.type===ToCEntryType.Page) && (targetId === this.ROOT_ID))) && (sourceContainer||((element.type===ToCEntryType.Page) && (sourceId === this.ROOT_ID))))){
|
||||||
console.info('Could not find elements');
|
// console.info('Could not find elements');
|
||||||
this.dataNeedsRefresh.emit();
|
this.dataNeedsRefresh.emit();
|
||||||
drake.cancel(true);
|
drake.cancel(true);
|
||||||
return;
|
return;
|
||||||
|
@ -107,7 +107,7 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
||||||
if(targetContainer.type != this.tocEntryType.Section){
|
if(targetContainer.type != this.tocEntryType.Section){
|
||||||
// const message = 'Fieldset can only be child of Subsections';
|
// const message = 'Fieldset can only be child of Subsections';
|
||||||
const message = this.language.instant('DATASET-PROFILE-EDITOR.STEPS.FORM.TABLE-OF-CONTENTS.ERROR-MESSAGES.FIELDSET-MUST-HAVE-PARENT-SECTION');
|
const message = this.language.instant('DATASET-PROFILE-EDITOR.STEPS.FORM.TABLE-OF-CONTENTS.ERROR-MESSAGES.FIELDSET-MUST-HAVE-PARENT-SECTION');
|
||||||
console.error(message);
|
// console.error(message);
|
||||||
this.notifyUser(message)
|
this.notifyUser(message)
|
||||||
this.dataNeedsRefresh.emit();
|
this.dataNeedsRefresh.emit();
|
||||||
return;
|
return;
|
||||||
|
@ -118,7 +118,7 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
||||||
// const message = 'Cannot have inputs and sections on the same level';
|
// const message = 'Cannot have inputs and sections on the same level';
|
||||||
const message = this.language.instant('DATASET-PROFILE-EDITOR.STEPS.FORM.TABLE-OF-CONTENTS.ERROR-MESSAGES.INPUT-SECTION-SAME-LEVEL');
|
const message = this.language.instant('DATASET-PROFILE-EDITOR.STEPS.FORM.TABLE-OF-CONTENTS.ERROR-MESSAGES.INPUT-SECTION-SAME-LEVEL');
|
||||||
this.notifyUser(message);
|
this.notifyUser(message);
|
||||||
console.error(message);
|
// console.error(message);
|
||||||
this.dataNeedsRefresh.emit();
|
this.dataNeedsRefresh.emit();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -128,7 +128,7 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
||||||
const sourceFieldsets = sourceContainer.form.get('fieldSets') as FormArray;
|
const sourceFieldsets = sourceContainer.form.get('fieldSets') as FormArray;
|
||||||
|
|
||||||
if(!targetFieldsets){
|
if(!targetFieldsets){
|
||||||
console.error('Not target fieldsets container found');
|
console.info('Not target fieldsets container found');
|
||||||
this.dataNeedsRefresh.emit();
|
this.dataNeedsRefresh.emit();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -196,7 +196,7 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
||||||
// const message = 'Cannot have inputs and sections on the same level';
|
// const message = 'Cannot have inputs and sections on the same level';
|
||||||
const message = this.language.instant('DATASET-PROFILE-EDITOR.STEPS.FORM.TABLE-OF-CONTENTS.ERROR-MESSAGES.INPUT-SECTION-SAME-LEVEL');;
|
const message = this.language.instant('DATASET-PROFILE-EDITOR.STEPS.FORM.TABLE-OF-CONTENTS.ERROR-MESSAGES.INPUT-SECTION-SAME-LEVEL');;
|
||||||
this.notifyUser(message);
|
this.notifyUser(message);
|
||||||
console.info(message);
|
// console.info(message);
|
||||||
this.dataNeedsRefresh.emit();
|
this.dataNeedsRefresh.emit();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -331,7 +331,7 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
||||||
// const message = 'Drag not support to specific container';
|
// const message = 'Drag not support to specific container';
|
||||||
const message = this.language.instant('DATASET-PROFILE-EDITOR.STEPS.FORM.TABLE-OF-CONTENTS.ERROR-MESSAGES.DRAG-NOT-SUPPORTED');
|
const message = this.language.instant('DATASET-PROFILE-EDITOR.STEPS.FORM.TABLE-OF-CONTENTS.ERROR-MESSAGES.DRAG-NOT-SUPPORTED');
|
||||||
this.notifyUser(message);
|
this.notifyUser(message);
|
||||||
console.info(message);
|
// console.info(message);
|
||||||
this.dataNeedsRefresh.emit();
|
this.dataNeedsRefresh.emit();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -346,7 +346,7 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
||||||
// const message = 'A page element can only be at top level';
|
// const message = 'A page element can only be at top level';
|
||||||
const message = this.language.instant('DATASET-PROFILE-EDITOR.STEPS.FORM.TABLE-OF-CONTENTS.ERROR-MESSAGES.PAGE-ELEMENT-ONLY-TOP-LEVEL');
|
const message = this.language.instant('DATASET-PROFILE-EDITOR.STEPS.FORM.TABLE-OF-CONTENTS.ERROR-MESSAGES.PAGE-ELEMENT-ONLY-TOP-LEVEL');
|
||||||
this.notifyUser(message);
|
this.notifyUser(message);
|
||||||
console.info(message);
|
// console.info(message);
|
||||||
this.dataNeedsRefresh.emit();
|
this.dataNeedsRefresh.emit();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -413,7 +413,7 @@ export class DatasetProfileTableOfContents extends BaseComponent implements OnIn
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
|
||||||
console.error('Could not support moving objects for specific type of element');
|
console.info('Could not support moving objects for specific type of element');
|
||||||
this.dataNeedsRefresh.emit();
|
this.dataNeedsRefresh.emit();
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::ng-deep .mat-paginator-container {
|
:host ::ng-deep .mat-paginator-container {
|
||||||
flex-direction: row-reverse !important;
|
flex-direction: row-reverse !important;
|
||||||
justify-content: space-between !important;
|
justify-content: space-between !important;
|
||||||
background-color: #f6f6f6;
|
background-color: #f6f6f6;
|
||||||
|
@ -41,25 +41,25 @@
|
||||||
min-height: 30px !important;
|
min-height: 30px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
::ng-deep .mat-paginator-page-size {
|
:host ::ng-deep .mat-paginator-page-size {
|
||||||
height: 43px;
|
height: 43px;
|
||||||
}
|
}
|
||||||
|
|
||||||
::ng-deep .mat-paginator-range-label {
|
:host ::ng-deep .mat-paginator-range-label {
|
||||||
margin: 15px 32px 0 24px !important;
|
margin: 15px 32px 0 24px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
::ng-deep .mat-paginator-range-actions {
|
:host ::ng-deep .mat-paginator-range-actions {
|
||||||
width: 55% !important;
|
width: 55% !important;
|
||||||
min-height: 43px !important;
|
min-height: 43px !important;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
|
|
||||||
::ng-deep .mat-paginator-navigation-previous {
|
:host ::ng-deep .mat-paginator-navigation-previous {
|
||||||
margin-left: auto !important;
|
margin-left: auto !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
::ng-deep .mat-icon-button {
|
:host ::ng-deep .mat-icon-button {
|
||||||
height: 30px !important;
|
height: 30px !important;
|
||||||
font-size: 12px !important;
|
font-size: 12px !important;
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,7 +59,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::ng-deep .mat-paginator-container {
|
:host ::ng-deep .mat-paginator-container {
|
||||||
// flex-direction: row-reverse !important;
|
// flex-direction: row-reverse !important;
|
||||||
// justify-content: space-between !important;
|
// justify-content: space-between !important;
|
||||||
// height: 30px;
|
// height: 30px;
|
||||||
|
|
|
@ -199,11 +199,11 @@
|
||||||
padding-bottom: 0 !important;
|
padding-bottom: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
::ng-deep .mat-form-field-appearance-outline .mat-form-field-infix {
|
:host ::ng-deep .mat-form-field-appearance-outline .mat-form-field-infix {
|
||||||
padding: 0.3rem 0rem 0.6rem 0rem !important;
|
padding: 0.3rem 0rem 0.6rem 0rem !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
::ng-deep .mat-paginator-container {
|
:host ::ng-deep .mat-paginator-container {
|
||||||
flex-direction: row-reverse !important;
|
flex-direction: row-reverse !important;
|
||||||
justify-content: space-between !important;
|
justify-content: space-between !important;
|
||||||
background-color: #f6f6f6;
|
background-color: #f6f6f6;
|
||||||
|
@ -211,27 +211,27 @@
|
||||||
min-height: 30px !important;
|
min-height: 30px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
::ng-deep .mat-paginator-page-size {
|
:host ::ng-deep .mat-paginator-page-size {
|
||||||
height: 43px;
|
height: 43px;
|
||||||
}
|
}
|
||||||
|
|
||||||
::ng-deep .mat-icon-button {
|
:host ::ng-deep .mat-icon-button {
|
||||||
height: 30px !important;
|
height: 30px !important;
|
||||||
font-size: 12px !important;
|
font-size: 12px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
::ng-deep .mat-paginator-range-label {
|
:host ::ng-deep .mat-paginator-range-label {
|
||||||
margin: 15px 32px 0 24px !important;
|
margin: 15px 32px 0 24px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
::ng-deep .mat-paginator-range-actions {
|
:host ::ng-deep .mat-paginator-range-actions {
|
||||||
width: auto !important;
|
width: auto !important;
|
||||||
min-width: 55% !important;
|
min-width: 55% !important;
|
||||||
min-height: 43px !important;
|
min-height: 43px !important;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
|
|
||||||
::ng-deep .mat-paginator-navigation-previous {
|
:host ::ng-deep .mat-paginator-navigation-previous {
|
||||||
margin-left: auto !important;
|
margin-left: auto !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,12 +6,12 @@
|
||||||
.lightblue-btn {
|
.lightblue-btn {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
::ng-deep .mat-paginator-container {
|
:host ::ng-deep .mat-paginator-container {
|
||||||
height: auto !important;
|
height: auto !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::ng-deep .mat-paginator-container {
|
:host ::ng-deep .mat-paginator-container {
|
||||||
flex-direction: row-reverse !important;
|
flex-direction: row-reverse !important;
|
||||||
justify-content: space-between !important;
|
justify-content: space-between !important;
|
||||||
background-color: #f6f6f6;
|
background-color: #f6f6f6;
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
min-height: 30px !important;
|
min-height: 30px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
::ng-deep .mat-paginator-page-size {
|
:host ::ng-deep .mat-paginator-page-size {
|
||||||
height: 43px;
|
height: 43px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,18 +28,18 @@
|
||||||
font-size: 12px !important;
|
font-size: 12px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
::ng-deep .mat-paginator-range-label {
|
:host ::ng-deep .mat-paginator-range-label {
|
||||||
margin: 15px 32px 0 24px !important;
|
margin: 15px 32px 0 24px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
::ng-deep .mat-paginator-range-actions {
|
:host ::ng-deep .mat-paginator-range-actions {
|
||||||
width: auto !important;
|
width: auto !important;
|
||||||
min-width: 55% !important;
|
min-width: 55% !important;
|
||||||
min-height: 43px !important;
|
min-height: 43px !important;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
|
|
||||||
::ng-deep .mat-paginator-navigation-previous {
|
:host ::ng-deep .mat-paginator-navigation-previous {
|
||||||
margin-left: auto !important;
|
margin-left: auto !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -256,7 +256,7 @@
|
||||||
padding-bottom: 0 !important;
|
padding-bottom: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
::ng-deep .mat-form-field-appearance-outline .mat-form-field-infix {
|
:host::ng-deep .mat-form-field-appearance-outline .mat-form-field-infix {
|
||||||
padding: 0.3rem 0rem 0.6rem 0rem !important;
|
padding: 0.3rem 0rem 0.6rem 0rem !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -384,6 +384,9 @@ export class FormFieldComponent extends BaseComponent implements OnInit {
|
||||||
}
|
}
|
||||||
|
|
||||||
parseTags() {
|
parseTags() {
|
||||||
|
try{
|
||||||
|
|
||||||
|
|
||||||
let stringValue = this.form.get('value').value;
|
let stringValue = this.form.get('value').value;
|
||||||
if (typeof stringValue === 'string') {
|
if (typeof stringValue === 'string') {
|
||||||
stringValue = (<string>stringValue).replace(new RegExp('{', 'g'), '{"').replace(new RegExp('=', 'g'), '":"').replace(new RegExp(',', 'g'), '",').replace(new RegExp(', ', 'g'), ', "').replace(new RegExp('}', 'g'), '"}');
|
stringValue = (<string>stringValue).replace(new RegExp('{', 'g'), '{"').replace(new RegExp('=', 'g'), '":"').replace(new RegExp(',', 'g'), '",').replace(new RegExp(', ', 'g'), ', "').replace(new RegExp('}', 'g'), '"}');
|
||||||
|
@ -397,6 +400,9 @@ export class FormFieldComponent extends BaseComponent implements OnInit {
|
||||||
}
|
}
|
||||||
const tagArray = JSON.parse(stringValue);
|
const tagArray = JSON.parse(stringValue);
|
||||||
this.form.patchValue({'value': tagArray});
|
this.form.patchValue({'value': tagArray});
|
||||||
|
}catch(e){
|
||||||
|
console.warn('Could not parse tags');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
filterTags(value: string): Observable<ExternalSourceItemModel[]> {
|
filterTags(value: string): Observable<ExternalSourceItemModel[]> {
|
||||||
|
|
|
@ -468,6 +468,10 @@
|
||||||
"RULE-THEN": "then show Field With Id",
|
"RULE-THEN": "then show Field With Id",
|
||||||
"FIELDSETS": "Questions",
|
"FIELDSETS": "Questions",
|
||||||
"FIELDS":"Inputs"
|
"FIELDS":"Inputs"
|
||||||
|
},
|
||||||
|
"HINTS":{
|
||||||
|
"ELEMENT-CHILD-OF-TARGET":"This element is parent of selected input.",
|
||||||
|
"ELEMENT-HIDDEN-FROM-ELEMENT":"This element hides the element or a parent element of the input you are trying to apply visibility rule from."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"FORM-VALIDATION":{
|
"FORM-VALIDATION":{
|
||||||
|
@ -515,8 +519,8 @@
|
||||||
"FIELDSET": {
|
"FIELDSET": {
|
||||||
"ADD-INPUT": "Add new input",
|
"ADD-INPUT": "Add new input",
|
||||||
"COMMENT-FIELD": "Comment field",
|
"COMMENT-FIELD": "Comment field",
|
||||||
"INCLUDE-COMMENT-FIELD": "A comment field input is appended to the givven question.",
|
"INCLUDE-COMMENT-FIELD": "A comment field input is appended to the given question.",
|
||||||
"ENABLE-MULTIPLICITY": "User may provide more than one answer to the givven question.",
|
"ENABLE-MULTIPLICITY": "User may provide more than one answer to the given question.",
|
||||||
"MULTIPLICITY": "Multiplicity",
|
"MULTIPLICITY": "Multiplicity",
|
||||||
"MORE": "More.."
|
"MORE": "More.."
|
||||||
}
|
}
|
||||||
|
|
|
@ -468,6 +468,10 @@
|
||||||
"RULE-THEN": "then show Field With Id",
|
"RULE-THEN": "then show Field With Id",
|
||||||
"FIELDSETS": "Questions",
|
"FIELDSETS": "Questions",
|
||||||
"FIELDS":"Inputs"
|
"FIELDS":"Inputs"
|
||||||
|
},
|
||||||
|
"HINTS":{
|
||||||
|
"ELEMENT-CHILD-OF-TARGET":"This element is parent of selected input.",
|
||||||
|
"ELEMENT-HIDDEN-FROM-ELEMENT":"This element hides the element or a parent element of the input you are trying to apply visibility rule from."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"FORM-VALIDATION":{
|
"FORM-VALIDATION":{
|
||||||
|
@ -515,8 +519,8 @@
|
||||||
"FIELDSET": {
|
"FIELDSET": {
|
||||||
"ADD-INPUT": "Add new input",
|
"ADD-INPUT": "Add new input",
|
||||||
"COMMENT-FIELD": "Comment field",
|
"COMMENT-FIELD": "Comment field",
|
||||||
"INCLUDE-COMMENT-FIELD": "A comment field input is appended to the givven question.",
|
"INCLUDE-COMMENT-FIELD": "A comment field input is appended to the given question.",
|
||||||
"ENABLE-MULTIPLICITY": "User may provide more than one answer to the givven question.",
|
"ENABLE-MULTIPLICITY": "User may provide more than one answer to the given question.",
|
||||||
"MULTIPLICITY": "Multiplicity",
|
"MULTIPLICITY": "Multiplicity",
|
||||||
"MORE": "More.."
|
"MORE": "More.."
|
||||||
}
|
}
|
||||||
|
|
|
@ -468,6 +468,10 @@
|
||||||
"RULE-THEN": "entonces muestra el campo con identificación",
|
"RULE-THEN": "entonces muestra el campo con identificación",
|
||||||
"FIELDSETS": "Questions",
|
"FIELDSETS": "Questions",
|
||||||
"FIELDS":"Inputs"
|
"FIELDS":"Inputs"
|
||||||
|
},
|
||||||
|
"HINTS":{
|
||||||
|
"ELEMENT-CHILD-OF-TARGET":"This element is parent of selected input.",
|
||||||
|
"ELEMENT-HIDDEN-FROM-ELEMENT":"This element hides the element or a parent element of the input you are trying to apply visibility rule from."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"FORM-VALIDATION":{
|
"FORM-VALIDATION":{
|
||||||
|
@ -515,8 +519,8 @@
|
||||||
"FIELDSET": {
|
"FIELDSET": {
|
||||||
"ADD-INPUT": "Add new input",
|
"ADD-INPUT": "Add new input",
|
||||||
"COMMENT-FIELD": "Comment field",
|
"COMMENT-FIELD": "Comment field",
|
||||||
"INCLUDE-COMMENT-FIELD": "A comment field input is appended to the givven question.",
|
"INCLUDE-COMMENT-FIELD": "A comment field input is appended to the given question.",
|
||||||
"ENABLE-MULTIPLICITY": "User may provide more than one answer to the givven question.",
|
"ENABLE-MULTIPLICITY": "User may provide more than one answer to the given question.",
|
||||||
"MULTIPLICITY": "Multiplicity",
|
"MULTIPLICITY": "Multiplicity",
|
||||||
"MORE": "More.."
|
"MORE": "More.."
|
||||||
}
|
}
|
||||||
|
|
|
@ -468,6 +468,10 @@
|
||||||
"RULE-THEN": "τότε δείξε το Πεδίο με ταυτοποίηση",
|
"RULE-THEN": "τότε δείξε το Πεδίο με ταυτοποίηση",
|
||||||
"FIELDSETS": "Questions",
|
"FIELDSETS": "Questions",
|
||||||
"FIELDS":"Inputs"
|
"FIELDS":"Inputs"
|
||||||
|
},
|
||||||
|
"HINTS":{
|
||||||
|
"ELEMENT-CHILD-OF-TARGET":"This element is parent of selected input.",
|
||||||
|
"ELEMENT-HIDDEN-FROM-ELEMENT":"This element hides the element or a parent element of the input you are trying to apply visibility rule from."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"FORM-VALIDATION":{
|
"FORM-VALIDATION":{
|
||||||
|
@ -515,8 +519,8 @@
|
||||||
"FIELDSET": {
|
"FIELDSET": {
|
||||||
"ADD-INPUT": "Add new input",
|
"ADD-INPUT": "Add new input",
|
||||||
"COMMENT-FIELD": "Comment field",
|
"COMMENT-FIELD": "Comment field",
|
||||||
"INCLUDE-COMMENT-FIELD": "A comment field input is appended to the givven question.",
|
"INCLUDE-COMMENT-FIELD": "A comment field input is appended to the given question.",
|
||||||
"ENABLE-MULTIPLICITY": "User may provide more than one answer to the givven question.",
|
"ENABLE-MULTIPLICITY": "User may provide more than one answer to the given question.",
|
||||||
"MULTIPLICITY": "Multiplicity",
|
"MULTIPLICITY": "Multiplicity",
|
||||||
"MORE": "More.."
|
"MORE": "More.."
|
||||||
}
|
}
|
||||||
|
|
|
@ -468,6 +468,10 @@
|
||||||
"RULE-THEN": "então mostrar Campo com o Id",
|
"RULE-THEN": "então mostrar Campo com o Id",
|
||||||
"FIELDSETS": "Questions",
|
"FIELDSETS": "Questions",
|
||||||
"FIELDS":"Inputs"
|
"FIELDS":"Inputs"
|
||||||
|
},
|
||||||
|
"HINTS":{
|
||||||
|
"ELEMENT-CHILD-OF-TARGET":"This element is parent of selected input.",
|
||||||
|
"ELEMENT-HIDDEN-FROM-ELEMENT":"This element hides the element or a parent element of the input you are trying to apply visibility rule from."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"FORM-VALIDATION":{
|
"FORM-VALIDATION":{
|
||||||
|
@ -515,8 +519,8 @@
|
||||||
"FIELDSET": {
|
"FIELDSET": {
|
||||||
"ADD-INPUT": "Add new input",
|
"ADD-INPUT": "Add new input",
|
||||||
"COMMENT-FIELD": "Comment field",
|
"COMMENT-FIELD": "Comment field",
|
||||||
"INCLUDE-COMMENT-FIELD": "A comment field input is appended to the givven question.",
|
"INCLUDE-COMMENT-FIELD": "A comment field input is appended to the given question.",
|
||||||
"ENABLE-MULTIPLICITY": "User may provide more than one answer to the givven question.",
|
"ENABLE-MULTIPLICITY": "User may provide more than one answer to the given question.",
|
||||||
"MULTIPLICITY": "Multiplicity",
|
"MULTIPLICITY": "Multiplicity",
|
||||||
"MORE": "More.."
|
"MORE": "More.."
|
||||||
}
|
}
|
||||||
|
|
|
@ -468,6 +468,10 @@
|
||||||
"RULE-THEN": "then show Field With Id",
|
"RULE-THEN": "then show Field With Id",
|
||||||
"FIELDSETS": "Questions",
|
"FIELDSETS": "Questions",
|
||||||
"FIELDS":"Inputs"
|
"FIELDS":"Inputs"
|
||||||
|
},
|
||||||
|
"HINTS":{
|
||||||
|
"ELEMENT-CHILD-OF-TARGET":"This element is parent of selected input.",
|
||||||
|
"ELEMENT-HIDDEN-FROM-ELEMENT":"This element hides the element or a parent element of the input you are trying to apply visibility rule from."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"FORM-VALIDATION":{
|
"FORM-VALIDATION":{
|
||||||
|
@ -515,8 +519,8 @@
|
||||||
"FIELDSET": {
|
"FIELDSET": {
|
||||||
"ADD-INPUT": "Add new input",
|
"ADD-INPUT": "Add new input",
|
||||||
"COMMENT-FIELD": "Comment field",
|
"COMMENT-FIELD": "Comment field",
|
||||||
"INCLUDE-COMMENT-FIELD": "A comment field input is appended to the givven question.",
|
"INCLUDE-COMMENT-FIELD": "A comment field input is appended to the given question.",
|
||||||
"ENABLE-MULTIPLICITY": "User may provide more than one answer to the givven question.",
|
"ENABLE-MULTIPLICITY": "User may provide more than one answer to the given question.",
|
||||||
"MULTIPLICITY": "Multiplicity",
|
"MULTIPLICITY": "Multiplicity",
|
||||||
"MORE": "More.."
|
"MORE": "More.."
|
||||||
}
|
}
|
||||||
|
|
|
@ -468,6 +468,10 @@
|
||||||
"RULE-THEN": "tada prikazati polje sa Id",
|
"RULE-THEN": "tada prikazati polje sa Id",
|
||||||
"FIELDSETS": "Questions",
|
"FIELDSETS": "Questions",
|
||||||
"FIELDS":"Inputs"
|
"FIELDS":"Inputs"
|
||||||
|
},
|
||||||
|
"HINTS":{
|
||||||
|
"ELEMENT-CHILD-OF-TARGET":"This element is parent of selected input.",
|
||||||
|
"ELEMENT-HIDDEN-FROM-ELEMENT":"This element hides the element or a parent element of the input you are trying to apply visibility rule from."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"FORM-VALIDATION":{
|
"FORM-VALIDATION":{
|
||||||
|
@ -515,8 +519,8 @@
|
||||||
"FIELDSET": {
|
"FIELDSET": {
|
||||||
"ADD-INPUT": "Add new input",
|
"ADD-INPUT": "Add new input",
|
||||||
"COMMENT-FIELD": "Comment field",
|
"COMMENT-FIELD": "Comment field",
|
||||||
"INCLUDE-COMMENT-FIELD": "A comment field input is appended to the givven question.",
|
"INCLUDE-COMMENT-FIELD": "A comment field input is appended to the given question.",
|
||||||
"ENABLE-MULTIPLICITY": "User may provide more than one answer to the givven question.",
|
"ENABLE-MULTIPLICITY": "User may provide more than one answer to the given question.",
|
||||||
"MULTIPLICITY": "Multiplicity",
|
"MULTIPLICITY": "Multiplicity",
|
||||||
"MORE": "More.."
|
"MORE": "More.."
|
||||||
}
|
}
|
||||||
|
|
|
@ -468,6 +468,10 @@
|
||||||
"RULE-THEN": "sonra alanı kimliği ile göster",
|
"RULE-THEN": "sonra alanı kimliği ile göster",
|
||||||
"FIELDSETS": "Questions",
|
"FIELDSETS": "Questions",
|
||||||
"FIELDS":"Inputs"
|
"FIELDS":"Inputs"
|
||||||
|
},
|
||||||
|
"HINTS":{
|
||||||
|
"ELEMENT-CHILD-OF-TARGET":"This element is parent of selected input.",
|
||||||
|
"ELEMENT-HIDDEN-FROM-ELEMENT":"This element hides the element or a parent element of the input you are trying to apply visibility rule from."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"FORM-VALIDATION":{
|
"FORM-VALIDATION":{
|
||||||
|
@ -515,8 +519,8 @@
|
||||||
"FIELDSET": {
|
"FIELDSET": {
|
||||||
"ADD-INPUT": "Add new input",
|
"ADD-INPUT": "Add new input",
|
||||||
"COMMENT-FIELD": "Comment field",
|
"COMMENT-FIELD": "Comment field",
|
||||||
"INCLUDE-COMMENT-FIELD": "A comment field input is appended to the givven question.",
|
"INCLUDE-COMMENT-FIELD": "A comment field input is appended to the given question.",
|
||||||
"ENABLE-MULTIPLICITY": "User may provide more than one answer to the givven question.",
|
"ENABLE-MULTIPLICITY": "User may provide more than one answer to the given question.",
|
||||||
"MULTIPLICITY": "Multiplicity",
|
"MULTIPLICITY": "Multiplicity",
|
||||||
"MORE": "More.."
|
"MORE": "More.."
|
||||||
}
|
}
|
||||||
|
|
|
@ -180,7 +180,7 @@
|
||||||
<div class="options-menu" id="options-menu">
|
<div class="options-menu" id="options-menu">
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-7">
|
<div class="col-12 col-md-7">
|
||||||
<ul class="nav nav-tabs">
|
<ul class="nav nav-tabs">
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link active" data-toggle="tab" id="multiple-navigation-1" data-img-fragment href="#create_and_add">Create & Add</a>
|
<a class="nav-link active" data-toggle="tab" id="multiple-navigation-1" data-img-fragment href="#create_and_add">Create & Add</a>
|
||||||
|
@ -280,7 +280,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- Images -->
|
<!-- Images -->
|
||||||
<div class="col">
|
<div class="col" style="min-height: 20em;">
|
||||||
<img src="../assets/img/3_dmp_editor.png" class="img-fragment-step opacity-1 img-sharp" id="img-fragment-dmp-editor" alt="DMP editor">
|
<img src="../assets/img/3_dmp_editor.png" class="img-fragment-step opacity-1 img-sharp" id="img-fragment-dmp-editor" alt="DMP editor">
|
||||||
<img src="../assets/img/dmp_out.png" class="img-fragment-step img-sharp" id="img-fragment-dmp-out" alt="DMP outputs">
|
<img src="../assets/img/dmp_out.png" class="img-fragment-step img-sharp" id="img-fragment-dmp-out" alt="DMP outputs">
|
||||||
<img src="../assets/img/4_dataset_editor.png" class="img-fragment-step img-sharp" id="img-fragment-dataset-editor" alt="Dataset editor">
|
<img src="../assets/img/4_dataset_editor.png" class="img-fragment-step img-sharp" id="img-fragment-dataset-editor" alt="Dataset editor">
|
||||||
|
|
Loading…
Reference in New Issue