예제 #1
0
파일: BatchPage.cs 프로젝트: TabNoc/PiWeb
        public void FillJobDropDown()
        {
            _jobSelectDropdown.Clear();
            foreach (JobEntry jobEntry in PageStorage <ManualData> .Instance.StorageData.JobEntries)
            {
                bool           active = jobEntry.BatchEntries.Any(batchEntry => batchEntry.Name == _batch.Name);
                StylableAnchor entry  = _jobSelectDropdown.AddEntry(jobEntry.Name, active);
                entry.Click += (sender, args) =>
                {
                    if (active)
                    {
                        _appendToJobButton.IsHidden   = true;
                        _removeFromJobButton.IsHidden = false;
                    }
                    else
                    {
                        _appendToJobButton.IsHidden   = false;
                        _removeFromJobButton.IsHidden = true;
                    }
                    _jobSelectDropdown.Button.Text   = jobEntry.Name;
                    _jobNameMultiInputGroup.IsHidden = true;
                };
            }

            _jobSelectDropdown.AddDivider();
            _jobSelectDropdown.AddEntry(NewJobString).Click += (sender, args) =>
            {
                _jobSelectDropdown.Button.Text   = NewJobString;
                _jobNameMultiInputGroup.IsHidden = false;

                _appendToJobButton.IsHidden   = false;
                _removeFromJobButton.IsHidden = true;
            };
        }
예제 #2
0
파일: ChannelPage.cs 프로젝트: TabNoc/PiWeb
        private void AddHumiditySensor(ChannelData channel, Grid grid)
        {
            List <StylableAnchor> humiditySensorEntries = new List <StylableAnchor>();

            MultiInputGroup humiditySensorMultiInputGroup = new MultiInputGroup();

            humiditySensorMultiInputGroup.AddStyling(StylingOption.MarginTop, 4);
            humiditySensorMultiInputGroup.AppendLabel("Feuchtigkeitssensor");
            _humiditySensorEnabledTwoStateButtonGroup = new TwoStateButtonGroup("Aktiv", "Inaktiv", channel.HumiditySensorEnabled, !channel.HumiditySensorEnabled);
            humiditySensorMultiInputGroup.AppendCustomElement(_humiditySensorEnabledTwoStateButtonGroup, false);

            _humiditySensorDropdown = new Dropdown(new Button(StylingColor.Secondary, true, text: "N/A"));
            _humiditySensorDropdown.Button.SetAttribute("data-realName", channel.HumiditySensor);
            Anchor humiditySensorNone = _humiditySensorDropdown.AddEntry("Ohne", _humiditySensorDropdown.Button.GetAttribute("data-realName").ToString() == "");

            humiditySensorNone.Click += (sender, args) =>
            {
                _humiditySensorDropdown.Button.SetAttribute("data-realName", "");
                UpdateHumiditySensorDropDown(humiditySensorEntries, humiditySensorNone);
            };
            _humiditySensorDropdown.AddDivider();
            foreach ((string realSensorName, string customSensorName) in PageStorage <SettingsData> .Instance.StorageData.HumiditySensors)
            {
                StylableAnchor humiditySensorEntry = _humiditySensorDropdown.AddEntry(customSensorName, _humiditySensorDropdown.Button.GetAttribute("data-realName").ToString() == realSensorName);
                humiditySensorEntry.SetToolTip(ToolTipLocation.Right, realSensorName);
                humiditySensorEntry.Click += (sender, args) =>
                {
                    _humiditySensorDropdown.Button.SetAttribute("data-realName", realSensorName);
                    UpdateHumiditySensorDropDown(humiditySensorEntries, humiditySensorNone);
                };
                humiditySensorEntry.SetAttribute("data-realName", realSensorName);

                humiditySensorEntries.Add(humiditySensorEntry);
            }
            UpdateHumiditySensorDropDown(humiditySensorEntries, humiditySensorNone);
            humiditySensorMultiInputGroup.AppendCustomElement(_humiditySensorDropdown, false);

            grid.AddRow().AppendCollum(humiditySensorMultiInputGroup, autoSize: true);
        }
예제 #3
0
파일: HistoryPage.cs 프로젝트: TabNoc/PiWeb
        public HistoryPage() : base("div")
        {
            AddStyling(StylingOption.MarginRight, 5);
            AddStyling(StylingOption.MarginLeft, 5);
            AddStyling(StylingOption.PaddingRight, 5);
            AddStyling(StylingOption.PaddingLeft, 5);
            //Container wrappingContainer = new Container(this);
            Grid grid = new Grid(this);

            Dropdown messageKindDropdown = new Dropdown(new Button(StylingColor.Light, false, text: "Quelle auswählen!"));
            Row      headerRow           = new Grid(grid.AddRow()).AddRow();

            headerRow.AppendCollum(messageKindDropdown, 6);
            messageKindDropdown.AddStyling(StylingOption.MarginBottom, 4);

            // Table historyTable = new Table(new List<string>() { "Zeitpunkt", "Status", "Quelle", "Meldung" }, CreateHistoryTableContent(), true);
            Table <DateTime> historyTable = new Table <DateTime>(new List <string>()
            {
                "Zeitpunkt", "Status", "Quelle", "Meldung"
            }, FetchEntries, FetchSearchEntries, FetchAmount, PrimaryCellConverter, true, 14);

            grid.AddRow().AppendCollum(historyTable);

            messageKindDropdown.AddEntry("Alles").Click += (sender, args) =>
            {
                historyTable.SetFilter("", "", true);
                messageKindDropdown.Button.Text = "Alles anzeigen";
            };
            messageKindDropdown.AddDivider();
            messageKindDropdown.AddEntry("System").Click += (sender, args) =>
            {
                historyTable.SetFilter("Quelle", "System", true);
                messageKindDropdown.Button.Text = "System-Meldungen anzeigen";
            };
            messageKindDropdown.AddEntry("Automatikbetrieb").Click += (sender, args) =>
            {
                historyTable.SetFilter("Quelle", "Automatic", true);
                messageKindDropdown.Button.Text = "Automatikbetrieb-Meldungen anzeigen";
            };
            messageKindDropdown.AddEntry("Handbetrieb").Click += (sender, args) =>
            {
                historyTable.SetFilter("Quelle", "Manual", true);
                messageKindDropdown.Button.Text = "Handbetrieb-Meldungen anzeigen";
            };

            historyTable.SetCellValueColor("Status", "OK", StylingColor.Success);
            historyTable.SetCellValueColor("Status", "Warn", StylingColor.Warning);
            historyTable.SetCellValueColor("Status", "Warnung", StylingColor.Warning);
            historyTable.SetCellValueColor("Status", "Error", StylingColor.Danger);
            historyTable.SetCellValueColor("Status", "Fehler", StylingColor.Danger);

            Button refreshButton = headerRow.AppendCollum(new Button(StylingColor.Primary, true, Button.ButtonSize.Normal, false, "Inhalt Aktualisieren! "), 2, false);

            refreshButton.Click += (sender, args) =>
            {
                refreshButton.IsDisabled = true;
                historyTable.RefreshBeginningTableContent();
                refreshButton.IsDisabled = false;
                if (refreshButton.Text.Contains(" !"))
                {
                    refreshButton.Text = refreshButton.Text.Replace(" !", "! ");
                }
                else
                {
                    refreshButton.Text = refreshButton.Text.TrimEnd(' ', '!') + " !";
                }
            };

            historyTable.EndUpdate();
        }