public static void Reset() { NodeDisplayMode = NodeDisplay.Name; LinkDisplayMode = LinkDisplay.Name; StreamDisplayMode = StreamDisplay.Name; DomainDisplayMode = DomainDisplay.Name; RenderNode = true; RenderNodeText = true; RenderLink = true; RenderLinkText = true; RenderStream = true; RenderStreamText = true; RenderDomain = true; RenderDomainText = true; }
public void RefreshUI() { for (int i = link_display_holder.childCount - 1; i >= 0; i--) { Destroy(link_display_holder.GetChild(i).gameObject); } foreach (KeyValuePair <TriggerableBasePiece, TriggerBasePiece> kvp in build_manager.triggerable_to_trigger) { TriggerableBasePiece trap = kvp.Key; TriggerBasePiece trigger = kvp.Value; LinkDisplay new_link_display = Instantiate(link_display_prefab, link_display_holder); new_link_display.trap_title = trap.piece_name; new_link_display.trigger_title = trigger.piece_name; new_link_display.delete_button.onClick.AddListener(() => { build_manager.DeleteLink(trigger, trap); EndHover(); }); new_link_display.SetEnterAction(() => StartHover(trap)); new_link_display.SetExitAction(() => EndHover()); } }
public override object ConvertDbToEditor(Property property, PropertyType propertyType, IDataTypeService dataTypeService) { if (property.Value == null) { return(Enumerable.Empty <object>()); } var value = property.Value.ToString(); if (string.IsNullOrEmpty(value)) { return(Enumerable.Empty <object>()); } try { var umbHelper = new UmbracoHelper(UmbracoContext.Current); var services = ApplicationContext.Current.Services; var entityService = services.EntityService; var contentTypeService = services.ContentTypeService; string deletedLocalization = null; string recycleBinLocalization = null; var dtos = JsonConvert.DeserializeObject <List <LinkDto> >(value); var documentLinks = dtos.FindAll(link => link.Udi != null && link.Udi.EntityType == Constants.UdiEntityType.Document ); var mediaLinks = dtos.FindAll(link => link.Udi != null && link.Udi.EntityType == Constants.UdiEntityType.Media ); var entities = new List <IUmbracoEntity>(); if (documentLinks.Count > 0) { entities.AddRange( entityService.GetAll(UmbracoObjectTypes.Document, documentLinks.Select(link => link.Udi.Guid).ToArray()) ); } if (mediaLinks.Count > 0) { entities.AddRange( entityService.GetAll(UmbracoObjectTypes.Media, mediaLinks.Select(link => link.Udi.Guid).ToArray()) ); } var links = new List <LinkDisplay>(); foreach (var dto in dtos) { var link = new LinkDisplay { Icon = "icon-link", IsMedia = false, Name = dto.Name, Published = true, QueryString = dto.QueryString, Target = dto.Target, Trashed = false, Udi = dto.Udi, Url = dto.Url ?? "", }; links.Add(link); if (dto.Udi == null) { continue; } var entity = entities.Find(e => e.Key == dto.Udi.Guid); if (entity == null) { if (deletedLocalization == null) { deletedLocalization = services.TextService.Localize("general/deleted"); } link.Published = false; link.Trashed = true; link.Url = deletedLocalization; } else { var entityType = Equals(entity.AdditionalData["NodeObjectTypeId"], Constants.ObjectTypes.MediaGuid) ? Constants.UdiEntityType.Media : Constants.UdiEntityType.Document; var udi = new GuidUdi(entityType, entity.Key); var contentTypeAlias = (string)entity.AdditionalData["ContentTypeAlias"]; if (entity.Trashed) { if (recycleBinLocalization == null) { recycleBinLocalization = services.TextService.Localize("general/recycleBin"); } link.Trashed = true; link.Url = recycleBinLocalization; } if (udi.EntityType == Constants.UdiEntityType.Document) { var contentType = contentTypeService.GetContentType(contentTypeAlias); if (contentType == null) { continue; } link.Icon = contentType.Icon; link.Published = Equals(entity.AdditionalData["IsPublished"], true); if (link.Trashed == false) { link.Url = umbHelper.Url(entity.Id, UrlProviderMode.Relative); } } else { link.IsMedia = true; var mediaType = contentTypeService.GetMediaType(contentTypeAlias); if (mediaType == null) { continue; } link.Icon = mediaType.Icon; if (link.Trashed) { continue; } var media = umbHelper.TypedMedia(entity.Id); if (media != null) { link.Url = media.Url; } } } } return(links); } catch (Exception ex) { ApplicationContext.Current.ProfilingLogger.Logger.Error <MultiUrlPickerPropertyValueEditor>($"Error getting links.\r\n{property.Value}", ex); } return(base.ConvertDbToEditor(property, propertyType, dataTypeService)); }