private void InitValueExpr(ExprDependency exprDep, string trigger_control, string parent = CTRL_PARENT_FORM) { if (exprDep.HasValueDependency) { foreach (string name in exprDep.ValueExpr) { EbMobileControl ctrl = GetControl(name); EvaluateValueExpr(ctrl, trigger_control, parent); } } }
public static bool ContainsInValExpr(string dependencySource, string dependency, string parent = CTRL_PARENT_FORM) { if (!Instance.dependencyMap.HasDependency($"{parent}.{dependencySource}")) { return(false); } ExprDependency map = Instance.dependencyMap.GetDependency($"{parent}.{dependencySource}"); return(map.ValueExpr.Contains(dependency)); }
private void InitDisableExpr(ExprDependency exprDep, EbMobileControl currentControl = null, string parent = CTRL_PARENT_FORM) { if (exprDep.HasDisableDependency) { foreach (var name in exprDep.DisableExpr) { EbMobileControl ctrl = GetControl(name); this.EvaluateDisableExpr(ctrl, parent); } } else if (currentControl != null && currentControl.DisableExpr?.IsEmpty() == false) { this.EvaluateDisableExpr(currentControl, parent); } }
public static void EvaluateExprOnLoad(EbMobileControl ctrl, FormMode mode) { string parent = ctrl.Parent; if (Instance.dependencyMap.HasDependency($"{parent}.{ctrl.Name}")) { ExprDependency exprDep = Instance.dependencyMap.GetDependency($"{parent}.{ctrl.Name}"); if (mode == FormMode.NEW || mode == FormMode.EDIT || mode == FormMode.PREFILL) { if (mode == FormMode.NEW || mode == FormMode.PREFILL) { Instance.InitHideExpr(exprDep, ctrl, parent); Instance.InitDisableExpr(exprDep, ctrl, parent); } else if (mode == FormMode.EDIT) { if (ctrl.DoNotPersist) { Instance.InitValueExpr(exprDep, ctrl.Name, parent); } Instance.InitHideExpr(exprDep, ctrl, parent); } } } else { if (mode == FormMode.NEW || mode == FormMode.EDIT || mode == FormMode.PREFILL) { if (ctrl.HasExpression(ExpressionType.HideExpression)) { Instance.EvaluateHideExpr(ctrl, parent); } if ((mode == FormMode.NEW || mode == FormMode.PREFILL) && ctrl.HasExpression(ExpressionType.DisableExpression)) { Instance.EvaluateDisableExpr(ctrl, parent); } } } }
private void SetDefaultValueInternal(string controlName, string parent = CTRL_PARENT_FORM) { if (this.dependencyMap.HasDependency($"{parent}.{controlName}")) { ExprDependency exprDep = this.dependencyMap.GetDependency($"{parent}.{controlName}"); if (exprDep.HasDefaultDependency) { foreach (string name in exprDep.DefaultValueExpr) { this.SetDefaultValueInternal(name, parent); } } } EbMobileControl ctrl = GetControl($"{parent}.{controlName}"); if (ctrl.DefaultValueExpression != null && !ctrl.DefaultValueExpression.IsEmpty()) { this.EvaluateDefaultValueExpr(ctrl, parent); } }
public static void SwitchViewToEdit() { foreach (EbMobileControl ctrl in Instance.controls.Values) { if (!ctrl.ReadOnly) { ctrl.SetAsReadOnly(false); } if (Instance.dependencyMap.HasDependency($"{ctrl.Parent}.{ctrl.Name}")) { ExprDependency exprDep = Instance.dependencyMap.GetDependency($"{ctrl.Parent}.{ctrl.Name}"); if (ctrl.DoNotPersist) { Instance.InitValueExpr(exprDep, ctrl.Name, ctrl.Parent); } Instance.InitDisableExpr(exprDep, parent: ctrl.Parent); } } }