Exemplo n.º 1
0
        void AppendSubrenderState(object value)
        {
            if (value == null)
            {
                value = (JsonPayload)"null";
            }

            if (value is JsonPayload)
            {
                try {
                    value = context.Document.Context.GlobalObject.xiexports
                            .DeserializeDotNetObject((string)(JsonPayload)value);
                } catch (Exception e) {
                    Log.Error(TAG, $"JavaScript threw while deserializing: {value}", e);
                }
            }

            foreach (var renderer in context.Renderers.GetRenderers(value))
            {
                renderer.Bind(renderState.With(context, value));
                if (!renderer.IsEnabled)
                {
                    continue;
                }

                foreach (var representation in renderer.GetRepresentations())
                {
                    var rendererTitle = representation.ShortDisplayName;
                    itemStates = itemStates.Add(new ItemState {
                        Title    = rendererTitle,
                        Renderer = renderer,
                        RendererRepresentation = representation
                    });
                }
            }

            itemStates = itemStates.Sort((a, b)
                                         => a.RendererRepresentation.Order.CompareTo(b.RendererRepresentation.Order));
        }
Exemplo n.º 2
0
        void AppendSubrenderState(object value)
        {
            foreach (var renderer in context.Renderers.GetRenderers(value))
            {
                renderer.Bind(renderState.With(context, value));
                if (!renderer.IsEnabled)
                {
                    continue;
                }

                foreach (var representation in renderer.GetRepresentations())
                {
                    var rendererTitle = representation.ShortDisplayName;
                    itemStates = itemStates.Add(new ItemState {
                        Title    = rendererTitle,
                        Renderer = renderer,
                        RendererRepresentation = representation
                    });
                }
            }

            itemStates = itemStates.Sort((a, b)
                                         => a.RendererRepresentation.Order.CompareTo(b.RendererRepresentation.Order));
        }