public void GenerateDefaultFormForResourceType_DesignMode() { EntityData form = EditFormHelper.GenerateDefaultFormForResourceType("test:allFields", true); Assert.IsNotNull(form); CheckAllTempObjectMarkedAsCreate(form); }
public void TestDefaultLayoutEntityDataCorrectDataState( ) { EntityData form = EditFormHelper.GenerateDefaultFormForResourceType("core:person", false); Assert.IsNotNull(form); CheckAllTempObjectMarkedAsCreate(form); }
public void TestGetNewNumberText() { Assert.AreEqual("1", EditFormHelper.GetNewNumberTextInternal("0", null, null)); Assert.AreEqual("18", EditFormHelper.GetNewNumberTextInternal("17", null, null)); Assert.AreEqual("1", EditFormHelper.GetNewNumberTextInternal("5", minText: null, maxText: "5")); Assert.AreEqual("2", EditFormHelper.GetNewNumberTextInternal("5", minText: "2", maxText: "5")); }
/// <summary> /// Given a type, get the generated form for it. /// </summary> /// <param name="entityType">Type of the entity.</param> /// <param name="isInDesignMode">if set to <c>true</c> [is in design mode].</param> /// <returns> /// A response containing entity data for the form /// </returns> public static HttpResponseMessage <JsonQueryResult> GetGeneratedFormForType(EntityRef entityType, bool isInDesignMode) { EntityData formEntityData = EditFormHelper.GenerateDefaultFormForResourceType(entityType, isInDesignMode); var entityBatch = new EntityPackage( ); entityBatch.AddEntityData(formEntityData, "formEntity"); return(new HttpResponseMessage <JsonQueryResult>(entityBatch.GetQueryResult( ))); }
public void GenerateDefaultFormForResourceType_Has_CanCreateType_Field() { EntityData form = EditFormHelper.GenerateDefaultFormForResourceType("test:allFields", true); Assert.IsNotNull(form); bool canCreateType; bool.TryParse(form.GetRelationship("console:typeToEditWithForm").Instances[0].Entity.GetField("canCreateType").Value.ValueString, out canCreateType); Assert.IsTrue(canCreateType); }
/// <summary> /// 把当前程序集中的表单接口名和参数保存下来,供客户端拉取表单字段属性 /// </summary> /// <param name="ass">ass</param> public static void Initlize() { if (apiArgs == null) { lock (root) { if (apiArgs == null) { apiArgs = new Dictionary <string, List <EditFormApiResult> >(); // var runtimeId = RuntimeEnvironment.GetRuntimeIdentifier(); // var assemblies = DependencyContext.Default.GetRuntimeAssemblyNames(runtimeId); // var assArrary = assemblies.ToArray(); // 找到所有依赖的程序集 // var GrantAss = assArrary.Where(a => a.FullName.ToLower().StartsWith("grant")).ToArray(); // List<Type> allTypes = new List<Type>(); // foreach (var qt in GrantAss) // { // Assembly asb = AssemblyLoadContext.Default.LoadFromAssemblyName(qt); // allTypes.AddRange(asb.GetTypes()); // } ApiHelper.ApiHelper helper = new ApiHelper.ApiHelper(Assembly.GetEntryAssembly()); var list = helper.GetAllInterface(); // 找到所有的app foreach (var t in list) { var param = helper.GetInterfaceParam(t); // 找每个app的args // 看args是否标记为EditForm var editAttr = EditFormHelper.GetEditForm(param.args); if (editAttr != null) { // List<Type> dbList = new List<Type>(); // foreach (var edit in editAttr.DbContextFullName) // { // var dbType = allTypes.Where(a => a.FullName.ToLower().EndsWith(edit.ToLower())).ToArray(); // dbList.AddRange(dbType); // } List <EditFormApiResult> apiList = new List <EditFormApiResult>(); EditFormHelper.GetEditFormField(param.args, ref apiList); var key = t.Name.ToLower(); if (apiArgs.ContainsKey(key)) { apiArgs[key] = apiList; } else { apiArgs.Add(key, apiList); } } } } } } }
public void TestGetNewDateText_NoPlaceholder() { Assert.AreEqual("", EditFormHelper.GetNewDateTextInternal("", null)); Assert.AreEqual("02/01/1983", EditFormHelper.GetNewDateTextInternal("01/01/1983", null)); Assert.AreEqual("02/12/1983", EditFormHelper.GetNewDateTextInternal("1/12/1983", null)); Assert.AreEqual("12/02/1983", EditFormHelper.GetNewDateTextInternal("12/1/1983", null)); Assert.AreEqual("01/12/1983", EditFormHelper.GetNewDateTextInternal("12/12/1983", null)); // if one is above then the lower must be manipulated Assert.AreEqual("13/03/1983", EditFormHelper.GetNewDateTextInternal("13/02/1983", null)); Assert.AreEqual("03/13/1983", EditFormHelper.GetNewDateTextInternal("02/13/1983", null)); Assert.AreEqual("20/01/2027", EditFormHelper.GetNewDateTextInternal("20/12/2027", null)); Assert.AreEqual("20/07/2027", EditFormHelper.GetNewDateTextInternal("20/06/2027", null)); Assert.AreEqual("2017-07-20", EditFormHelper.GetNewDateTextInternal("2017-06-20", null)); }
public void TestGetNewDateText_WithPlaceholder() { Assert.AreEqual("", EditFormHelper.GetNewDateTextInternal("", "MM/yyyy")); Assert.AreEqual("02/1983", EditFormHelper.GetNewDateTextInternal("01/1983", "MM/yyyy")); //different language Assert.AreEqual("02/1983", EditFormHelper.GetNewDateTextInternal("01/1983", "MM/aaaa")); //different separator Assert.AreEqual("02-1983", EditFormHelper.GetNewDateTextInternal("01-1983", "MM-yyyy")); // day first Assert.AreEqual("01/02/1983", EditFormHelper.GetNewDateTextInternal("01/01/1983", "dd/MM/yyyy")); //different language Assert.AreEqual("01/02/1983", EditFormHelper.GetNewDateTextInternal("01/01/1983", "dd/MM/aaaa")); Assert.AreEqual("2017-07-20", EditFormHelper.GetNewDateTextInternal("2017-06-20", "dd-MM-aaaa")); }
/// <summary> /// Given a type, get the default form for it. /// </summary> /// <param name="entityType">Type of the entity.</param> /// <param name="isInDesignMode">if set to <c>true</c> [is in design mode].</param> /// <param name="forceGenerate">Force a generated form to be used</param> /// <returns> /// A response containing entity data for the form /// </returns> public static HttpResponseMessage <JsonQueryResult> GetDefaultFormForType(EntityType entityType, bool isInDesignMode, bool forceGenerate) { CustomEditForm formRef = entityType.DefaultEditForm; if (formRef != null && !forceGenerate) { var entityBatch = new EntityPackage( ); EntityData formEntityData = EditFormHelper.GetFormAsEntityData(formRef); entityBatch.AddEntityData(formEntityData, "formEntity"); return(new HttpResponseMessage <JsonQueryResult>(entityBatch.GetQueryResult( ))); } //TODO: return something to indicate that there is no form return(GetGeneratedFormForType(entityType, isInDesignMode)); }
/// <summary> /// Gets the form as entity data. /// </summary> /// <param name="formId">The form identifier.</param> /// <param name="isInDesignMode">if set to <c>true</c> [is in design mode].</param> /// <returns></returns> public EntityData GetFormAsEntityData(long formId, bool isInDesignMode) { EntityData formEntityData; _formsCache.TryGetOrAdd(formId, out formEntityData, key => { var formEntity = EditFormHelper.GetFormAsEntityData(key, isInDesignMode); if (formEntity == null) { throw new Exception("entityData was null"); } return(formEntity); }); return(formEntityData); }
public void TestCompareDates() { Assert.AreEqual(true, EditFormHelper.CompareDates("2027-12-20", "20/12/2027")); }
public void Test_GetForm_DesignMode() { EntityData form = EditFormHelper.GetFormAsEntityData("console:resourceInfoEditForm", true); Assert.IsNotNull(form); }