Пример #1
0
        public DateControl(ControlModel <DateTime?> model, DateOptions dateOptions = null)
        {
            var inner = new ControlHolder()
                        .Append(new Label <DateTime?>(model));

            var tb = new TextBox <DateTime?>(model)
                     .After(new StatusMessage());

            inner.Append(tb.WrapWith(new ControlWrapper()));

            tb.AddClass("datepicker js-datepicker vh");
            tb.Attr("aria-hidden", "true");

            dateOptions = dateOptions ?? new DateOptions();

            if (model.Value != null)
            {
                tb.Value(model.Value?.ToString(dateOptions.Format));
            }

            tb.Data("format", dateOptions.Format.ToUpperInvariant());
            tb.Data("output-format", dateOptions.OutputFormat.ToUpperInvariant());
            tb.Data("year-range", dateOptions.YearRange);
            tb.Data("today", dateOptions.ShowToday);

            Inner = inner;
        }
        public HierarchicalCheckboxItem(ControlModel <TProperty> model, SelectListItem item, bool isDisabled)
            : this("input")
        {
            var id = (string.IsNullOrWhiteSpace(model.Id) ? model.Name : model.Id) + "-" + item.Value;

            if (model.Value != null)
            {
                if (
                    ((IEnumerable)model.Value).Cast <object>()
                    .Any(m => (item.Value ?? "").Equals(m?.ToString(), StringComparison.OrdinalIgnoreCase)))
                {
                    Attr("checked", "checked");
                }
            }

            if (isDisabled)
            {
                Attr("disabled", "disabled");
            }

            Name(model.Name);
            Attr("type", "checkbox");
            Value(item.Value);
            Id(id);

            this.AddRules(model.Rules);

            Append(new Label <TProperty>(new ControlModel <TProperty>(id, model.Name, model.Value, item.Text)));
            Append(new HtmlTag("div", tag => tag.AddClass("chk-check")));
        }
Пример #3
0
 public IActionResult Post([FromBody] ControlModel control)
 {
     control.ControlModelId = 0;
     _context.ControlModels.Add(control);
     _context.SaveChanges();
     return(Ok());
 }
Пример #4
0
 TComponentControlModel (GadgetTest gadget)
   : this ()
 {
   if (gadget.NotNull ()) {
     ControlModel.CopyFrom (gadget);
   }
 }
        public TextboxControl(ControlModel <TProperty> model, string type = "text", bool disableAutocomplete = false, bool hideStatusMessage = false, string helpText = "")
        {
            if ("password".Equals(type, StringComparison.OrdinalIgnoreCase))
            {
                // SECURITY: never render the password
                model.Value = default(TProperty);
            }

            var inner = new ControlHolder()
                        .Append(new Label <TProperty>(model));

            var tb = new TextBox <TProperty>(model, type, disableAutocomplete);

            if (!string.IsNullOrEmpty(helpText))
            {
                tb.AppendHtml(new HelpText(helpText).ToString());
            }

            if (!hideStatusMessage)
            {
                tb.After(new StatusMessage());
            }

            inner.Append(tb.WrapWith(new ControlWrapper()));

            Inner = inner;
        }
Пример #6
0
        /// <summary>
        /// Builds the MQTT device configuration.
        /// </summary>
        private static void BuildMqttDeviceConfig(DeviceConfigEntry entry, ControlModel controlModel)
        {
            // subscription to control value
            entry.MqttDeviceConfig.Subscriptions.Add(new SubscriptionConfig
            {
                Topic       = controlModel.Topic,
                DisplayName = controlModel.Meta.Name,
                TagCode     = controlModel.Code
            });

            // subscription to control error
            entry.MqttDeviceConfig.Subscriptions.Add(new SubscriptionConfig
            {
                Topic       = controlModel.Topic + "/meta/error",
                DisplayName = controlModel.Meta.Name + " Error",
                TagCode     = controlModel.Code + "_error",
                JsEnabled   = true,
                JsFileName  = "wb_error.js"
            });

            // command
            if (!controlModel.Meta.ReadOnly)
            {
                entry.MqttDeviceConfig.Commands.Add(new CommandConfig
                {
                    Topic       = controlModel.Topic + "/on",
                    DisplayName = controlModel.Meta.Name,
                    CmdCode     = controlModel.Code
                });
            }
        }
Пример #7
0
        public LinkListControl()
        {
            this.model = new ControlModel();
            this.DataContext = this.model;

            this.InitializeComponent();
        }
        public HierarchicalCheckBoxControl(ControlModel <TProperty> model,
                                           IEnumerable <HierarchicalCheckBoxListItem> items, bool isDisabled)
        {
            Inner = new HtmlTag("div").AddClass("js-hierarchical-checkboxes");

            BuildCheckbox(Inner, items, model, isDisabled, 1);
        }
        private static void BuildCheckbox(HtmlTag currentParent, IEnumerable <HierarchicalCheckBoxListItem> options,
                                          ControlModel <TProperty> model, bool isDisabled, int level)
        {
            foreach (var option in options)
            {
                var selectListItem = new SelectListItem
                {
                    Text     = option.Text,
                    Value    = option.Value,
                    Selected = option.Selected
                };

                var divCtrlHolder = new ControlHolder().Append(new HtmlTag("span").AddClass("label")).Id(selectListItem.Value);
                var divOption     = new HtmlTag("div", tag => tag.AddClass("option"));

                divOption.Append(new HierarchicalCheckboxItem <TProperty>(model, selectListItem, isDisabled));
                divOption.After(new StatusMessage());
                divCtrlHolder.Append(divOption.WrapWith(new ControlWrapper()));

                currentParent.Append(divCtrlHolder);

                if (!option.Children.Any())
                {
                    continue;
                }

                level++;

                var divChildrenHolder = new HtmlTag("div").AddClass($"ctrl-lvl-{level}");

                currentParent.Append(divChildrenHolder);

                BuildCheckbox(divChildrenHolder, option.Children, model, isDisabled, level);
            }
        }
Пример #10
0
 public SearchViewModel()
 {
     // Init
     ProgressBar = new ProgressBarModel {
         Visibility = Visibility.Hidden
     };
     ButtonGo = new ControlModel {
         IsEnabled = true
     };
     AliItems     = new ObservableCollection <AliItem>();
     ProxyServers = new ObservableCollection <ProxyServer>();
     CurrentProxy = new ProxyServer();
     BrokenUrls   = new List <string>();
     _itemNo      = 0;
     _currItemNo  = 0;
     // Commands status
     _canExecute = true;
     // Background worker settings
     _bw.WorkerReportsProgress      = true;
     _bw.WorkerSupportsCancellation = true;
     _bw.ProgressChanged           += ProgressChanged;
     _bw.DoWork             += DoWork;
     _bw.RunWorkerCompleted += BackgroundWorker_RunWorkerCompleted;
     // Subscribe events
     StatusViewModel.OnTaskCanceled += CancelWork;
     StatusViewModel.OnTaskStarted  += () => { ButtonGo.IsEnabled = false; };
     StatusViewModel.OnTaskFinished += () => { ButtonGo.IsEnabled = true; };
 }
Пример #11
0
        public OptionsControl()
        {
            this.model = new ControlModel();
            this.DataContext = this.model;

            this.InitializeComponent();
        }
Пример #12
0
        private void OnGUI()
        {
            switch (CurrentControlState)
            {
            case ControlModel.CmKeyboard:
                if (ControllerInputReceived())
                {
                    print("Switch to Gamepad!");
                    CurrentControlState = ControlModel.CmGamepad;
                }
                break;

            case ControlModel.CmGamepad:
                if (KeyboardInputReceived())
                {
                    print("Switch to Keyboard!");
                    CurrentControlState = ControlModel.CmKeyboard;
                }
                break;

            default:
                Assert.IsTrue(false);
                break;
            }
        }
Пример #13
0
    public void SelectModel (GadgetTest gadget)
    {
      if (gadget.NotNull ()) {
        ControlModel.GadgetName = gadget.GadgetName;
        ControlModel.Description = gadget.Description;
        ControlModel.ExternalLink = gadget.ExternalLink;

        if (gadget.ValidateId) {
          if (ControlModel.Contains (gadget.Id).IsFalse ()) {
            ComponentControlModels.Clear ();

            ControlModel.CopyFrom (gadget);

            if (ControlModel.HasContentTest) {
              var contents = new Collection<GadgetTest> ();
              ControlModel.RequestContent (contents);

              foreach (var gadgetTest in contents) {
                var controlModel = TComponentControlModel.CreateDefault;
                controlModel.ControlModel.CopyFrom (gadgetTest.Clone ());

                ComponentControlModels.Add (controlModel);
              }
            }
          }
        }
      }
    }
Пример #14
0
        /// <summary>
        /// 方法:实现将两个系统进行反馈连接,返回之后得到的系统
        /// 其中:a为正向通道系统模型,b为反向通道系统模型,isPositive检测是否为正反馈
        /// </summary>
        /// <param name="a"></param>
        /// <param name="b"></param>
        /// <param name="isPositive"></param>
        /// <returns></returns>
        public override ControlModel FeedbackConnection(ControlModel a, ControlModel b, bool isPositive)
        {
            int cc = isPositive ? (-1) : (+1);//负反馈使用1进行运算,正反馈使用-1进行运算

            //下面使用传递函数矩阵的反馈来完成
            return(new TransferFunction());
        }
Пример #15
0
 public SuccessSummaryControl(ControlModel <TProperty> model)
 {
     Inner = new HtmlTag("div", tag => tag.AddClass("form-summary is-success"))
             .Append(new HtmlTag("div", tag => tag.AddClass("form-summary-title"))
                     .Append(new HtmlTag("h2").Text("Success")))
             .Append(new HtmlTag("p").Text(model.DisplayName));
 }
Пример #16
0
        public Select(ControlModel <TProperty> model, IEnumerable <SelectListItem> options)
            : this("select")
        {
            foreach (var item in options)
            {
                if (model.HasId)
                {
                    Id(model.Id);
                }

                Name(model.Name);

                Append(new HtmlTag("option", tag =>
                {
                    tag.Text(item.Text);
                    tag.Value(item.Value);
                    if (model.Value != null && item.Value == model.Value?.ToString())
                    {
                        tag.Attr("selected", "selected");
                    }
                }));
            }

            this.AddRules(model.Rules);
        }
Пример #17
0
        public TransferControl()
        {
            this.model = new ControlModel();
            this.DataContext = this.model;

            this.InitializeComponent();
        }
Пример #18
0
 private void Start()
 {
     if (!_isInitialized)
     {
         CurrentControlState = ControlModel.CmKeyboard;
         _isInitialized      = true;
     }
 }
Пример #19
0
    public void Cleanup ()
    {
      ControlModel.CopyFrom (GadgetTest.CreateDefault);

      ComponentControlModels.Clear ();

      MaterialImage = null;
    }
Пример #20
0
        public ResultView()
        {
            InitializeComponent();

            LoadingAnimationModel = new ControlModel {
                Visibility = Visibility.Hidden
            };
        }
Пример #21
0
        public void Setup()
        {
            m_Logger = Substitute.For <ILogger>();
            m_Bus = Substitute.For <IBus>();

            m_Model = new ControlModel(m_Logger,
                                       m_Bus);
        }
Пример #22
0
        public RadioCheckboxItem(ControlModel <TProperty> model, SelectListItem item, string type, string tooltip = "",
                                 string helptext = "")
            : this("input")
        {
            string id;

            if (item != null)
            {
                id = (string.IsNullOrWhiteSpace(model.Id) ? model.Name : model.Id) + "-" + item.Value;

                if (model.Value != null &&
                    (item.Value ?? "").Equals(model.Value?.ToString(), StringComparison.OrdinalIgnoreCase))
                {
                    Attr("checked", "checked");
                }
            }
            else
            {
                id = string.IsNullOrWhiteSpace(model.Id) ? model.Name : model.Id;

                if (model.Value != null &&
                    (model.Value.ToString()).Equals(bool.TrueString, StringComparison.OrdinalIgnoreCase))
                {
                    Attr("checked", "checked");
                }

                item = new SelectListItem
                {
                    Text  = model.DisplayName,
                    Value = model.Value?.ToString()
                };
            }

            Name(model.Name);
            Attr("type", type);
            Value(item.Value);
            Id(id);

            this.AddRules(model.Rules);

            var label = new Label <TProperty>(new ControlModel <TProperty>(id, model.Name, model.Value, item.Text));

            // Tooltip
            if (!string.IsNullOrEmpty(tooltip))
            {
                label.AppendHtml(new Tooltip(tooltip).ToString());
            }

            // Help text
            if (!string.IsNullOrEmpty(helptext))
            {
                label.AppendHtml(new HelpText(helptext).ToString());
            }

            Append(label);

            Append(new HtmlTag("div", tag => tag.AddClass("chk-check")));
        }
Пример #23
0
        public LoggingControl()
        {
            this.model = new ControlModel();
            this.DataContext = this.model;

            this.InitializeComponent();
            this.Unloaded += HandleUnloaded;
            this.Loaded += HandleLoaded;
        }
Пример #24
0
        public ControlViewModel(ControlModel model, IPackageContext packageContext)
        {
            _model          = model;
            _packageContext = packageContext;

            _settings = packageContext.ControlSettings;
            _buildProgressViewModel = new BuildProgressViewModel(_settings);

            packageContext.ControlSettingsChanged += OnControlSettingsChanged;
        }
Пример #25
0
        public ActionResult DeleteControlForPer(ControlModel controlModel)
        {
            IControlService controlService = new ControlService();

            controlService.AddControlForPer(baseAddress, "control/deletecontrolforper", controlModel);

            List <ControlModel> lstControlPer = controlService.GetControlPer(baseAddress, $"control/getcontrolper?perId={controlModel.permissionId}");

            return(Json(lstControlPer));
        }
Пример #26
0
        public IActionResult DropDownList(string month)
        {
            ControlModel cm = new ControlModel
            {
                ControlElement = "Drop-Down List",
                Result         = month,
                Name           = "Month: "
            };

            return(View("ResultControl", cm));
        }
Пример #27
0
        public IActionResult ListBox(string month)
        {
            ControlModel cm = new ControlModel
            {
                ControlElement = "List Box",
                Result         = month,
                Name           = "Month: "
            };

            return(View("ResultControl", cm));
        }
        public IActionResult TextArea(string TA)
        {
            ControlModel cm = new ControlModel
            {
                ControlElement = "Text Area",
                Result         = TA,
                Name           = "Text: "
            };

            return(View("ResultControl", cm));
        }
        public IActionResult TextBox(string TB)
        {
            ControlModel cm = new ControlModel
            {
                ControlElement = "Text Box",
                Result         = TB,
                Name           = "Text: "
            };

            return(View("ResultControl", cm));
        }
Пример #30
0
        public IActionResult RadioButton(string month)
        {
            ControlModel cm = new ControlModel
            {
                ControlElement = "Radio",
                Result         = month,
                Name           = "Month: "
            };

            return(View("ResultControl", cm));
        }
Пример #31
0
        /// <summary>
        /// Builds the channels.
        /// </summary>
        private void BuildCnls(DeviceConfigEntry entry, ControlModel controlModel,
                               ChannelNumberingOptions options, int?objNum, int deviceNum, ref int cnlNum)
        {
            string      namePrefix  = options.PrependDeviceName ? entry.DeviceEntity.Name + " - " : "";
            ControlMeta controlMeta = controlModel.Meta;
            int?        formatID    = GetFormatID(controlMeta);
            int?        quantityID  = GetQuantityID(controlMeta);
            int?        unitID      = GetUnitID(controlMeta);

            // control value
            entry.Cnls.Add(new Cnl
            {
                CnlNum     = cnlNum++,
                Active     = true,
                Name       = namePrefix + controlMeta.Name + " Last",
                CnlTypeID  = CnlTypeID.Input,
                ObjNum     = objNum,
                DeviceNum  = deviceNum,
                TagCode    = controlModel.Code,
                FormatID   = formatID,
                QuantityID = quantityID,
                UnitID     = unitID
            });

            // control error
            entry.Cnls.Add(new Cnl
            {
                CnlNum    = cnlNum++,
                Active    = true,
                Name      = namePrefix + controlMeta.Name + " Error",
                CnlTypeID = CnlTypeID.Input,
                ObjNum    = objNum,
                DeviceNum = deviceNum,
                TagCode   = controlModel.Code + "_error"
            });

            // calculated channel
            entry.Cnls.Add(new Cnl
            {
                CnlNum         = cnlNum++,
                Active         = true,
                Name           = namePrefix + controlMeta.Name,
                CnlTypeID      = controlMeta.ReadOnly ? CnlTypeID.Calculated : CnlTypeID.CalculatedOutput,
                ObjNum         = objNum,
                DeviceNum      = deviceNum,
                TagCode        = controlModel.Code,
                FormulaEnabled = true,
                InFormula      = "WB_CalcControl()",
                FormatID       = formatID,
                QuantityID     = quantityID,
                UnitID         = unitID,
                EventMask      = ControlEventMask
            });
        }
Пример #32
0
    public void CopyFrom (TComponentControlModel alias)
    {
      if (alias.NotNull ()) {
        Cleanup ();

        ControlModel.CopyFrom (alias.ControlModel);

        foreach (var item in alias.ComponentControlModels) {
          ComponentControlModels.Add (item);
        }
      }
    }
Пример #33
0
        public static void CustomizeMove <T, U>(T objT, U objU, Form form) where T : Control where U : Control
        {
            controlModel = new ControlModel((float)objT.Location.X, (float)objT.Location.Y);
            mainForm     = form;

            objT.MouseDown += Obj_MouseDown;
            objT.MouseUp   += Obj_MouseUp;
            objT.MouseMove += Obj_MouseMove;

            objU.MouseDown += Obj_MouseDown;
            objU.MouseUp   += Obj_MouseUp;
            objU.MouseMove += Obj_MouseMove;
        }
Пример #34
0
        public override Task <ControlResult> WriteStation(ControlModel request, ServerCallContext context)
        {
            //var service = CollectOilStationDataService.Instance;
            //var controlTag = ControlHelp.GetControlTagByRequest(request.Target, request.Action);

            //service.WritePLCTag("tianchang93", controlTag.TagInfo, controlTag.newValue);
            //return Task.FromResult(new ControlResult { Result = "OK" });
            return(Task.FromResult(new ControlResult
            {
                //Message = CollectOilStationDataService.Instance.GetDemoPLC()
                Result = "发送站点指令: " + request.Action
            }));
        }
        public TextAreaControl(ControlModel <TProperty> model)
        {
            var inner = new ControlHolder()
                        .Append(new Label <TProperty>(model));

            var tb = new TextArea <TProperty>(model)
                     .After(new StatusMessage());

            // always wrap
            inner.Append(tb.WrapWith(new ControlWrapper()));

            Inner = inner;
        }
Пример #36
0
 public static LinkModel FromLink(Link link, ControlModel owner)
 {
     return new LinkModel
     {
         Owner = owner,
         Link = link,
         Name = link.Url.ToString(),
         Hosting = link.Hosting
     };
 }
Пример #37
0
 public static ResourceModel FromResource(Resource resource, ControlModel owner)
 {
     return new ResourceModel
     {
         Owner = owner,
         Source = resource,
         Name = resource.Name,
         Hosting = resource.Hosting,
         Size = resource.Size
     };
 }