コード例 #1
0
        static MapColorProvider[] GetMapColors()
        {
            var strategies = IsolationLogic.GetIsolationStrategies().SelectDictionary(t => TypeLogic.GetCleanName(t), p => p);

            return(new[]
            {
                new MapColorProvider
                {
                    Name = "isolation",
                    NiceName = "Isolation",
                    AddExtra = t =>
                    {
                        var s = strategies.TryGetS(t.typeName);

                        if (s == null)
                        {
                            return;
                        }

                        t.extra["isolation"] = s.ToString();
                    },
                    Order = 3,
                },
            });
        }
コード例 #2
0
        static MapColorProvider[] GetMapColors()
        {
            var strategies = IsolationLogic.GetIsolationStrategies().SelectDictionary(t => Navigator.ResolveWebTypeName(t), p => p);

            return(new[]
            {
                new MapColorProvider
                {
                    Name = "isolation",
                    NiceName = "Isolation",
                    GetJsProvider = ColorsModule["isolationColors"](MapClient.NodesConstant),
                    AddExtra = t =>
                    {
                        var s = strategies.TryGetS(t.webTypeName);

                        if (s == null)
                        {
                            return;
                        }

                        t.extra["isolation"] = s.ToString();
                    },
                    Order = 3,
                },
            });
        }
コード例 #3
0
        private static IEnumerable <ChooserOption> GetIsolationChooserOptions(Type type)
        {
            var isolations = IsolationLogic.Isolations.Value.Select(iso => iso.ToChooserOption());

            if (IsolationLogic.GetStrategy(type) != IsolationStrategy.Optional)
            {
                return(isolations);
            }

            var list = isolations.ToList();

            list.Add(new ChooserOption("", "Null"));
            return(list);
        }
コード例 #4
0
        public static IWidget CreateWidget(WidgetContext ctx)
        {
            Entity entity = (Entity)ctx.Entity;

            var iso = entity.Isolation();

            if (iso == null)
            {
                if (IsolationLogic.GetStrategy(entity.GetType()) == IsolationStrategy.Isolated)
                {
                    throw new InvalidOperationException("Isolation not set");
                }
            }

            return(new IsolationWidget
            {
                Isolation = iso,
                Prefix = ctx.Prefix
            });
        }