Skip to content

Commit

Permalink
#1050 refactor form, seperator datatype components to reuse in parame…
Browse files Browse the repository at this point in the history
…ter view
  • Loading branch information
DavidBlaa committed Feb 7, 2023
1 parent 55cf9a2 commit 5383af7
Show file tree
Hide file tree
Showing 16 changed files with 1,295 additions and 267 deletions.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,10 @@
<SubType>Designer</SubType>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="App_Data\datacite\metadata - Kopie.xsd">
<SubType>Designer</SubType>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="ConvertTo_XmlToJson.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public void OneTimeSetUp()
// get schame path
string path = AppDomain.CurrentDomain.BaseDirectory;
string dic = Path.Combine(path, "App_Data/datacite/");
_schemaPath = Path.Combine(path, dic, "metadata.xsd");
_schemaPath = Path.Combine(path, dic, "metadata - Kopie.xsd");

if (!File.Exists(_schemaPath))
{
Expand Down
19 changes: 10 additions & 9 deletions Components/XML/BExIS.Xml.Helpers/Mapping/XmlSchemaManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1649,7 +1649,7 @@ private MetadataParameterUsage createMetadataParameterUsage(MetadataAttribute me
if(x.Annotation!= null) description = GetDescription(x.Annotation);


var parameter = createMetadataParameter(metadataAttribute, parameterUsageName, description, dataTypeManager);
var parameter = createMetadataParameter(metadataAttribute, parameterUsageName, description, x.Datatype);
if (parameter != null)
{
// if not exist then create in db
Expand All @@ -1675,16 +1675,15 @@ private MetadataParameterUsage createMetadataParameterUsage(MetadataAttribute me

return null;
}
private MetadataParameter createMetadataParameter(MetadataAttribute metadataAttribute, string name,string description, DataTypeManager dataTypeManager)
private MetadataParameter createMetadataParameter(MetadataAttribute metadataAttribute, string name,string description, XmlSchemaDatatype type)
{
if (string.IsNullOrEmpty(name)) return null;


DataType dt1 = dataTypeManager.Repo.Get(p => p.Name.ToLower().Equals("string")).FirstOrDefault();
string datatype = type?.ValueType.Name;
string typeCodename = type?.TypeCode.ToString();
DataType dataType = GetDataType(datatype, typeCodename);

if (dt1 == null)
{
dt1 = dataTypeManager.Create("string", "A test String", System.TypeCode.String);
}
MetadataParameter parameter = getExistingMetadataParameter(name); ;

if(parameter == null)
Expand All @@ -1695,8 +1694,7 @@ private MetadataParameter createMetadataParameter(MetadataAttribute metadataAttr
ShortName = name,
Name = name,
Description = description,
DataType = dt1,

DataType = dataType,
};

}
Expand Down Expand Up @@ -1989,6 +1987,9 @@ private MetadataPackage getExistingMetadataPackage(string name)
// vielleicht besser mit festen datatypes im system
private DataType GetDataType(string dataTypeAsString, string typeCodeName)
{
// if nothing exist then use string as datatype
if (string.IsNullOrEmpty(dataTypeAsString) && string.IsNullOrEmpty(typeCodeName)) return GetDataType("string", "");

DataTypeManager dataTypeManager = new DataTypeManager();
try
{
Expand Down
7 changes: 7 additions & 0 deletions Console/BExIS.Web.Shell/Areas/DCM/BExIS.Modules.Dcm.UI.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -249,6 +249,7 @@
<Compile Include="Models\Metadata\MetadataInstanceModel.cs" />
<Compile Include="Models\Metadata\MetadataPackageModel.cs" />
<Compile Include="Models\Metadata\MetadataParameterModel.cs" />
<Compile Include="Models\Metadata\UIComponentModel.cs" />
<Compile Include="Models\PrimaryKeyViewModel.cs" />
<Compile Include="Models\Push\SendBigFilesToServerModel.cs" />
<Compile Include="Models\SelectAreasModel.cs" />
Expand Down Expand Up @@ -586,6 +587,12 @@
<None Include="Properties\PublishProfiles\BexisServer_test.pubxml" />
<None Include="Properties\PublishProfiles\FolderProfile.pubxml" />
<Content Include="Views\Form\_metadataParameterView.cshtml" />
<Content Include="Views\Form\_integer.cshtml" />
<Content Include="Views\Form\_displayonly.cshtml" />
<Content Include="Views\Form\_bool.cshtml" />
<Content Include="Views\Form\_number.cshtml" />
<Content Include="Views\Form\_date.cshtml" />
<Content Include="Views\Form\_list.cshtml" />
<None Include="Web.Debug.config">
<DependentUpon>Web.config</DependentUpon>
</None>
Expand Down
12 changes: 6 additions & 6 deletions Console/BExIS.Web.Shell/Areas/DCM/Content/bexis-metadata.css
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ Green 05 #eff7f6
}

.bx-metadataFormTextInput {
width: 490px;
width: 100%;
max-width: 490px;
}

Expand Down Expand Up @@ -125,16 +125,16 @@ Green 05 #eff7f6
}

.bx-paremeter-input {
width: 400px;
padding-right:10px;
width: auto;
min-width: 50%;
max-width: 90%;
padding-right: 10px;
float: left;
/*border:ridge 1px yellow;*/
}

input:disabled, .bx-input.bx-disabled-parameter {
border-color: #afb0b1;
background-color: #f5f5f5;
color: #565655;

padding-top: 5px;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
using System;
using System.Collections.Generic;

namespace BExIS.Modules.Dcm.UI.Models.Metadata
{
public enum MetadataAttrType
{
Attribute = 0,
Parameter = 1
}

public class UIComponentModel
{
public MetadataAttrType Type { get; set; }
public string IdInput { get; set; }
public string IdByXpath { get; set; }

public long ParentId { get; set; }

public string DisplayName { get; set; }
public string DisplayPattern { get; set; }
public string Discription { get; set; }

public object Value { get; set; }

public bool Locked { get; set; }

public List<object> DomainList { get; set; }

public string SystemType { get; set; }

public string ErrorMessage { get; set; }
public string ErrorClass { get; set; }
public string LockedClass { get; set; }

public string OnChangeAction { get; set; }

public UIComponentModel(MetadataAttrType type)
{
Type = type;
IdInput = String.Empty;
IdByXpath = String.Empty;
ParentId = 0;
DisplayName = String.Empty;
DisplayPattern = String.Empty;
Value = String.Empty;
DomainList = new List<object>();
SystemType = String.Empty;
ErrorMessage = String.Empty;
LockedClass = String.Empty;
OnChangeAction = String.Empty;

}
}
}
135 changes: 130 additions & 5 deletions Console/BExIS.Web.Shell/Areas/DCM/Scripts/Form.js
Original file line number Diff line number Diff line change
Expand Up @@ -208,10 +208,7 @@ var afterClosed = false;
function OnChangeTextInput(e, ui) {

console.log("change");
//console.log("e", e);
//console.log("target", e.target);
//console.log("ui", ui);


var value;

if (ui.item === null) {
Expand Down Expand Up @@ -364,6 +361,39 @@ function OnChange(e) {
});
}

function OnChangeParameter(e) {
//console.log("OnChange");
var substr = e.id.split('_');
var id = substr[0];
var parentid = substr[1];
var parentname = $("#" + e.id).attr("title");
var number = substr[2];
var ParentModelNumber = substr[3];
var ParentStepID = substr[5];

$.post("/DCM/Form/ValidateMetadataParameterUsage",
{
value: e.value,
id: id,
attrUsageId: parentid,
number: number,
parentModelNumber: ParentModelNumber,
ParentStepId: ParentStepID
},
function (response) {
var index = e.id.lastIndexOf("_");
var newId = e.id.substr(0, index);

$("#" + newId).replaceWith(response);

updateHeader();

if ($('textarea') !== null) {
autosize($('textarea'));
}
});
}

function OnChangeCheckBox(e) {
var substr = e.id.split('_');
var id = substr[0];
Expand Down Expand Up @@ -403,6 +433,41 @@ function OnChangeCheckBox(e) {
updateHeader();
});
}
function OnChangeParameterCheckBox(e) {
var substr = e.id.split('_');
var id = substr[0];
var parentid = substr[1];
var parentname = $("#" + e.id).attr("title");
var number = substr[2];
var ParentModelNumber = substr[3];
var ParentStepID = substr[5];

var value;

if ($("#" + e.id).attr('checked')) {
value = true;
} else {
value = false;
}

$.post("/DCM/Form/ValidateMetadataParameterUsage",
{
value: value,
id: id,
attrUsageId: parentid,
number: number,
parentModelNumber: ParentModelNumber,
ParentStepId: ParentStepID
},
function (response) {

var index = e.id.lastIndexOf("_");
var newId = e.id.substr(0, index);

$("#" + newId).replaceWith(response);
updateHeader();
});
}

function OnChangeDropDown(e) {
var idParentDiv = $(this).attr("id");
Expand Down Expand Up @@ -434,7 +499,6 @@ function OnChangeDropDown(e) {

});
};

function OnChangeParameterDropDown(e) {
var idParentDiv = $(this).attr("id");
var substr = e.target.id.split('_');
Expand Down Expand Up @@ -496,6 +560,36 @@ function OnChangeNumbers(e) {
updateHeader();
});
}
function OnChangeParameterNumbers(e) {
var idParentDiv = $(this).attr("id");
var value = $(e.currentTarget).val();
var substr = e.target.id.split('_');
var id = substr[0];
var parentid = substr[1];
var parentname = ""//e.target.attr("title");
var metadataStructureId = substr[2];
var number = substr[3];
var ParentModelNumber = substr[4];
var ParentStepID = substr[5];

$.post("/DCM/Form/ValidateMetadataParameterUsage",
{
value: value,
id: id,
attrUsageId: parentid,
number: number,
parentModelNumber: ParentModelNumber,
ParentStepId: ParentStepID
},
function (response) {
var index = idParentDiv.lastIndexOf("_");
var newId = idParentDiv.substr(0, index);

$("#" + newId).replaceWith(response);

updateHeader();
});
}

function OnChangeDatePicker(e) {
//console.log(e.value);
Expand Down Expand Up @@ -529,6 +623,37 @@ function OnChangeDatePicker(e) {
updateHeader();
});
}
function OnChangeParameterDatePicker(e) {
//console.log(e.value);

var value = $(e.currentTarget).val(); // data value as normal text string (not as DateTime string -> e.value)
var idParentDiv = $(this).attr("id");
var substr = e.target.id.split('_');
var id = substr[0];
var parentid = substr[1];
var parentname = $("#" + e.id).attr("title");
var number = substr[2];
var ParentModelNumber = substr[3];
var ParentStepID = substr[5];

$.post("/DCM/Form/ValidateMetadataParameterUsage",
{
value: value,
id: id,
attrUsageId: parentid,
number: number,
parentModelNumber: ParentModelNumber,
ParentStepId: ParentStepID
},
function (response) {
var index = idParentDiv.lastIndexOf("_");
var newId = idParentDiv.substr(0, index);

$("#" + newId).replaceWith(response);

updateHeader();
});
}

function OnClickAdd(e, max) {
var substr = e.id.split('_');
Expand Down
33 changes: 33 additions & 0 deletions Console/BExIS.Web.Shell/Areas/DCM/Views/Form/_bool.cshtml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
@model BExIS.Modules.Dcm.UI.Models.Metadata.UIComponentModel
@using BExIS.Modules.Dcm.UI.Models.Metadata

@{
bool value = false;//(bool?)Model.Value ?? false;
try
{
value = Convert.ToBoolean(Model.Value);
}
catch
{
value = false;
}

string action = "OnChangeCheckBox(this)";
if (Model.Type.Equals(MetadataAttrType.Parameter)){ action = "OnChangeParameterCheckBox(this)"; }

string disabled = Model.Locked ? "disabled" : "";
}


@Html.CheckBox(Model.DisplayName, value,
new{
idbyxpath = @Model.IdByXpath,
OnClick = action,
disabled = disabled,
Name = @Model.DisplayName,
Id = @Model.IdInput,
PackageId = @Model.ParentId,
Title = @Model.ErrorMessage
})


Loading

0 comments on commit 5383af7

Please sign in to comment.