internal void RemoveAttributeLower(string nameLower) { if (!_values.ContainsKey(nameLower)) { return; } _values.Remove(nameLower); if (nameLower == "checked") { SetCheckedDelta.Enqueue(_element, false); } else { AttributeRemovedDelta.Enqueue(_element, nameLower); } _element.AttributeChanged(nameLower, null); }
internal void SetAttributeLower(string nameLower, string?value) { if (nameLower == "slot" && _element.ParentElement != null) { throw new InvalidOperationException(Resources.SlotOnlyParent); } if (_values.TryGetValue(nameLower, out var previous)) { if (previous == value) { return; } _values.Remove(nameLower); } _values.Add(nameLower, value); if (nameLower == "value") { SetValueDelta.Enqueue(_element, value); } else if (nameLower == "checked") { SetCheckedDelta.Enqueue(_element, true); } else if (nameLower == "id") { SetIdDelta.Enqueue(_element, value ?? ""); } else { AttributeEditedDelta.Enqueue(_element, nameLower, value); } _element.AttributeChanged(nameLower, value); if (nameLower == "slot") { _element.UpdateSlotted(); } }