private void LoadRecent() { var list = AppHost.Settings.Get(ControlsFieldTypeSelectorRecent, GetStorageKey(), string.Empty) as string; if (string.IsNullOrEmpty(list)) { return; } var items = list.Split('|'); AddSection(Rocks.Resources.FieldTypeSelector_LoadRecent_Recently_Used_Field_Types); foreach (var item in items) { var parts = item.Split('^'); var name = parts[0]; var itemId = new ItemId(new Guid(parts[1])); var itemUri = new ItemUri(DatabaseUri, itemId); var fieldType = new FieldTypeHeader(itemUri, name, string.Empty, string.Empty, "Recent"); AddFieldType(fieldType); } }
public static void GetFieldTypes([NotNull] this DataService dataService, [NotNull] DatabaseUri databaseUri, [NotNull] GetFieldTypesCompleted callback) { Assert.ArgumentNotNull(dataService, nameof(dataService)); Assert.ArgumentNotNull(databaseUri, nameof(databaseUri)); Assert.ArgumentNotNull(callback, nameof(callback)); ExecuteCompleted c = delegate(string response, ExecuteResult executeResult) { if (!DataService.HandleExecute(response, executeResult)) { callback(Enumerable.Empty <FieldTypeHeader>(), Enumerable.Empty <FieldValidationHeader>()); return; } var root = Parse(response); if (root == null) { callback(Enumerable.Empty <FieldTypeHeader>(), Enumerable.Empty <FieldValidationHeader>()); return; } var fieldTypes = new List <FieldTypeHeader>(); var fieldTypesElement = root.Element(@"fieldtypes"); if (fieldTypesElement != null) { foreach (var element in fieldTypesElement.Elements()) { var item = new FieldTypeHeader(new ItemUri(databaseUri, new ItemId(new Guid(element.GetAttributeValue("id")))), element.GetAttributeValue("name"), element.GetAttributeValue("icon"), element.GetAttributeValue("path"), element.GetAttributeValue("section")); fieldTypes.Add(item); } } fieldTypes.Sort(new FieldTypeHeaderComparer()); var validations = new List <FieldValidationHeader>(); var validationsElement = root.Element(@"validations"); if (validationsElement != null) { foreach (var element in validationsElement.Elements()) { var item = new FieldValidationHeader { Name = element.GetAttributeValue("name"), Section = element.GetAttributeValue("section"), ItemUri = new ItemUri(databaseUri, new ItemId(new Guid(element.GetAttributeValue("id")))) }; validations.Add(item); } } callback(fieldTypes, validations); }; dataService.ExecuteAsync("Templates.GetFieldTypes", c, databaseUri.DatabaseName.ToString()); }
private void AddFieldType([NotNull] FieldTypeHeader fieldType) { Debug.ArgumentNotNull(fieldType, nameof(fieldType)); var item = new ListBoxItem { Tag = fieldType, Content = fieldType.Name, Margin = new Thickness(16, 0, 0, 0) }; FieldTypes.Items.Add(item); }
public void AddToRecent([NotNull] FieldTypeHeader fieldType) { Assert.ArgumentNotNull(fieldType, nameof(fieldType)); var s = fieldType.Name + @"^" + fieldType.ItemUri.ItemId; var entries = new List <string>(); var list = AppHost.Settings.Get(ControlsFieldTypeSelectorRecent, GetStorageKey(), string.Empty) as string ?? string.Empty; if (!string.IsNullOrEmpty(list)) { entries.AddRange(list.Split('|')); } entries.Remove(s); entries.Insert(0, s); while (entries.Count > 10) { entries.RemoveAt(10); } var result = string.Empty; foreach (var entry in entries) { if (!string.IsNullOrEmpty(result)) { result += @"|"; } result += entry; } AppHost.Settings.Set(ControlsFieldTypeSelectorRecent, GetStorageKey(), result); }