Esempio n. 1
0
 protected void bttnLeft_Click(object sender, EventArgs e)
 {
     try
     {
         foreach (ListItem item in lstSelected.Items)
         {
             if (item.Selected)
             {
                 StrategyInfo info = StrategyConfigs.Instance[item.Value.Trim()];
                 if (info == null)
                 {
                     continue;
                 }
                 UnSelectedList.Add(info);
                 //SelectedList.Remove(info);
                 Remove(SelectedList, info);
             }
         }
         bindData();
     }
     catch (Exception ex)
     {
         Messages.ShowError("当前操作出错!<br />详细信息:" + ex.Message);
     }
 }
Esempio n. 2
0
 protected virtual void DenoteEmptyUnSelectedList(MutableObject mutable, MutableObject defaultObject)
 {
     if (!UnSelectedList.Any())
     {
         UnSelectedList.Add(defaultObject);
     }
 }
Esempio n. 3
0
        public IEnumerator SelectOnly(IEnumerable <VisualPayload> payloads)
        {
            IEnumerator iterator;

            UnSelectedList.AddRange(SelectedList);
            SelectedList.Clear();

            foreach (var payload in payloads)
            {
                UnSelectedList.Remove(payload);
                SelectedList.Add(payload);

                payload.VisualData.Bound.ClearBounds();

                iterator = SelectedState.Transmit(payload);
                while (iterator.MoveNext())
                {
                    yield return(null);
                }
            }

            iterator = SendUnselected();
            while (iterator.MoveNext())
            {
                yield return(null);
            }

            iterator = TransmitMultiStates();
            while (iterator.MoveNext())
            {
                yield return(null);
            }
        }
Esempio n. 4
0
        /// <summary>
        /// 数据初始化
        /// </summary>
        private void Init()
        {
            try
            {
                bool fileexist = System.IO.File.Exists(Server.MapPath("/Plugins/IPStrategyPlugin/Plugin.xml"));
                if (!fileexist)
                {
                    Messages.ShowMessage(string.Format("如果要管理IP策略请安装IP策略管理插件!<a href=\"javascript:window.top.location.href='/admin/Plugin/PluginAdd.aspx?tab=0&qtext={0}&qtype=1&ptype=PLUGIN';void(0);\">去安装</a>", HttpUtility.UrlEncode("IP策略管理")), true);
                }
                else
                {
                    bool isinstalled = new PluginInfo(Server.MapPath("/Plugins/IPStrategyPlugin/Plugin.xml")).IsInstalled;
                    if (!isinstalled)
                    {
                        Messages.ShowMessage("如果要管理IP策略请激活IP策略管理插件!<a href=\"javascript:window.top.location.href='/admin/Plugin/PluginList.aspx';void(0);\">去激活</a>", true);
                    }
                    else
                    {
                        Messages.ShowMessage("已激活IP策略管理插件!<a href=\"javascript:window.top.location.href='/Plugins/IPStrategyPlugin/UI/StrateList.aspx';void(0);\">去管理</a>", true);
                    }
                }
                switch (Mode)
                {
                case StrategyMode.ARTICLE:
                    IPStrategy = ArticleHelper.QueryStrategy(ArticleID);
                    break;

                case StrategyMode.CHANNEL:
                    IPStrategy = ChannelHelper.QueryStrategy(ChannelID);
                    break;

                case StrategyMode.CONVENTION:
                    bttnSave.Visible = false;
                    break;
                }

                UnSelectedList.AddRange(StrategyConfigs.Instance.Items);

                if (!String.IsNullOrEmpty(IPStrategy))
                {
                    String[] strtgyList = IPStrategy.Split("|".ToCharArray());
                    foreach (string strtgy in strtgyList)
                    {
                        StrategyInfo info = StrategyConfigs.Instance[strtgy];
                        if (!String.IsNullOrEmpty(strtgy) && info != null)
                        {
                            SelectedList.Add(info);
                            Remove(UnSelectedList, info);
                            //UnSelectedList.Remove(info);
                        }
                    }
                }

                bindData();
            }
            catch (Exception ex)
            {
                Messages.ShowError("数据初始化出错!<Br />错误原因:" + ex.Message);
            }
        }
Esempio n. 5
0
        public IEnumerator Deselect(VisualPayload payload)
        {
            SelectedList.Remove(payload);

            UnSelectedList.Add(payload);

            payload.VisualData.Bound.ClearBounds();

            IEnumerator iterator;

            if (!SelectedList.Any())
            {
                iterator = SendNoneSelected();
                while (iterator.MoveNext())
                {
                    yield return(null);
                }
            }
            else
            {
                iterator = NormalState.Transmit(payload);
                while (iterator.MoveNext())
                {
                    yield return(null);
                }
            }

            iterator = TransmitMultiStates();
            while (iterator.MoveNext())
            {
                yield return(null);
            }
        }
Esempio n. 6
0
        public IEnumerator Select(VisualPayload payload)
        {
            bool sendNormal = !SelectedList.Any();

            UnSelectedList.Remove(payload);

            SelectedList.Add(payload);

            payload.VisualData.Bound.ClearBounds();

            var iterator = SelectedState.Transmit(payload);

            while (iterator.MoveNext())
            {
                yield return(null);
            }

            if (sendNormal)
            {
                iterator = SendUnselected();
                while (iterator.MoveNext())
                {
                    yield return(null);
                }
            }

            iterator = TransmitMultiStates();
            while (iterator.MoveNext())
            {
                yield return(null);
            }
        }
Esempio n. 7
0
        public IEnumerator Deselect(IEnumerable <VisualPayload> payloads)
        {
            if (!payloads.Any())
            {
                yield return(null);

                yield break;
            }

            IEnumerator iterator;

            foreach (var payload in payloads)
            {
                if (UnSelectedList.Contains(payload))
                {
                    continue;
                }

                SelectedList.Remove(payload);
                UnSelectedList.Add(payload);
            }

            //var newNodeState = SelectedList.Count == 0 ? NoneSelectedState : NormalState;

            if (SelectedList.Any())
            {
                foreach (var payload in payloads)
                {
                    payload.VisualData.Bound.ClearBounds();

                    iterator = NormalState.Transmit(payload);
                    while (iterator.MoveNext())
                    {
                        yield return(null);
                    }
                }
            }
            else
            {
                iterator = SendNoneSelected();
                while (iterator.MoveNext())
                {
                    yield return(null);
                }
            }


            iterator = TransmitMultiStates();
            while (iterator.MoveNext())
            {
                yield return(null);
            }
        }
Esempio n. 8
0
        protected void bttnLeftAll_Click(object sender, EventArgs e)
        {
            try
            {
                UnSelectedList.AddRange(SelectedList);
                SelectedList.Clear();

                bindData();
            }
            catch (Exception ex)
            {
                Messages.ShowError("当前操作出错!<br />详细信息:" + ex.Message);
            }
        }
Esempio n. 9
0
        public IEnumerator Select(IEnumerable <VisualPayload> payloads)
        {
            if (!payloads.Any())
            {
                yield return(null);

                yield break;
            }

            bool sendNormal = !SelectedList.Any();

            IEnumerator iterator;

            foreach (var payload in payloads)
            {
                if (SelectedList.Contains(payload))
                {
                    continue;
                }

                UnSelectedList.Remove(payload);
                SelectedList.Add(payload);

                payload.VisualData.Bound.ClearBounds();

                iterator = SelectedState.Transmit(payload);
                while (iterator.MoveNext())
                {
                    yield return(null);
                }
            }

            if (sendNormal)
            {
                iterator = SendUnselected();
                while (iterator.MoveNext())
                {
                    yield return(null);
                }
            }

            iterator = TransmitMultiStates();
            while (iterator.MoveNext())
            {
                yield return(null);
            }
        }
Esempio n. 10
0
        public IEnumerator DeselectAll()
        {
            IEnumerator iterator;

            UnSelectedList.AddRange(SelectedList);
            SelectedList.Clear();

            iterator = SendNoneSelected();
            while (iterator.MoveNext())
            {
                yield return(null);
            }

            iterator = TransmitMultiStates();
            while (iterator.MoveNext())
            {
                yield return(null);
            }
        }
Esempio n. 11
0
        public IEnumerator SelectAll()
        {
            IEnumerator iterator;

            foreach (var payload in UnSelectedList)
            {
                payload.VisualData.Bound.ClearBounds();

                iterator = SelectedState.Transmit(payload);
                while (iterator.MoveNext())
                {
                    yield return(null);
                }
            }

            SelectedList.AddRange(UnSelectedList);
            UnSelectedList.Clear();

            iterator = TransmitMultiStates();
            while (iterator.MoveNext())
            {
                yield return(null);
            }
        }
Esempio n. 12
0
        public override IEnumerator ReceivePayload(VisualPayload payload)
        {
            foreach (var entry in Scope.GetEntries(payload.Data))
            {
                SelectGroups(entry);

                //var firstEntry = EntryField.GetEntries(payload.Data).First().Last();
                //
                //if (firstEntry != null)
                //    firstEntry = firstEntry.CloneKeys();
                //else
                //    firstEntry = new MutableObject();
                //
                //if (!firstEntry.ContainsKey(ImplicitSchemaIndicator.KeyName))
                //    firstEntry.Add(ImplicitSchemaIndicator.KeyName, new ImplicitSchemaIndicator(this));
                //
                //
                //DenoteEmptySelectedList(payload.Data, firstEntry);
                //DenoteEmptyUnSelectedList(payload.Data, firstEntry);

                if (NewPayloadOnly.GetFirstValue(payload.Data))
                {
                    if (AllowEmptyLists.GetFirstValue(payload.Data) || SelectedList.Any())
                    {
                        var iterator = SelectedSet.Transmit(
                            new VisualPayload(new MutableObject
                        {
                            { SelectedListTarget.LastKey, SelectedList }
                        }, payload.VisualData));
                        while (iterator.MoveNext())
                        {
                            yield return(null);
                        }
                    }

                    if (AllowEmptyLists.GetFirstValue(payload.Data) || UnSelectedList.Any())
                    {
                        var iterator = UnSelectedSet.Transmit(
                            new VisualPayload(new MutableObject
                        {
                            { UnSelectedListTarget.LastKey, UnSelectedList }
                        }, payload.VisualData));
                        while (iterator.MoveNext())
                        {
                            yield return(null);
                        }
                    }
                }
                else
                {
                    SelectedListTarget.SetValue(SelectedList, entry);
                    UnSelectedListTarget.SetValue(UnSelectedList, entry);
                }
            }

            if (!NewPayloadOnly.GetFirstValue(payload.Data))
            {
                if (AllowEmptyLists.GetFirstValue(payload.Data) || SelectedList.Any())
                {
                    var iterator = SelectedSet.Transmit(payload);
                    while (iterator.MoveNext())
                    {
                        yield return(null);
                    }
                }

                if (AllowEmptyLists.GetFirstValue(payload.Data) || UnSelectedList.Any())
                {
                    var iterator = UnSelectedSet.Transmit(payload);
                    while (iterator.MoveNext())
                    {
                        yield return(null);
                    }
                }
            }
        }
        protected override void SelectGroups(List <MutableObject> entry)
        {
            SelectedList.Clear();
            UnSelectedList.Clear();

            var maintainCountAtEdges = MaintainCountAtEdgesField.GetLastKeyValue(entry.Last());

            var entries      = EntryField.GetEntries(entry);
            var entriesCount = entries.Count();

            if (entriesCount == 0)
            {
                Debug.LogError("What?  Empty entries?");
            }

            var beforeWidth = SelectBeforeCount.GetLastKeyValue(entry.Last());
            var afterWidth  = SelectAfterCount.GetLastKeyValue(entry.Last());

            var lowerBound = maintainCountAtEdges?Mathf.Min(beforeWidth, entriesCount - 1):0;
            var upperBound = maintainCountAtEdges ? Mathf.Max(entriesCount - afterWidth - 1, 0) : entriesCount - 1;

            if (lowerBound >= upperBound)
            {
                // use the lower of the two values for both bounds to avoid overlap
                lowerBound = Mathf.Min(lowerBound, upperBound);
                upperBound = Mathf.Min(lowerBound, upperBound);
            }

            var index = Mathf.Clamp(CenterIndex.GetLastKeyValue(entry.Last()),
                                    lowerBound, upperBound);

            var minIndex = Mathf.Max(index - beforeWidth, 0);
            var maxIndex = Mathf.Min(index + afterWidth, entriesCount - 1);

            //var i = 0;
            //foreach ( var entry in entries )
            //{
            //    if ( i < minIndex )
            //    UnSelectedList.
            //}

            bool selectedListOnly = SelectedListOnly.GetValue(entry);

            int currentIndex = 0;

            if (selectedListOnly)
            {
                foreach (var subEntry in EntryField.GetEntries(entry))
                {
                    if (currentIndex > maxIndex)
                    {
                        break;
                    }
                    if (currentIndex >= minIndex)
                    {
                        SelectedList.Add(subEntry.Last());
                    }
                    currentIndex++;
                }
            }
            else
            {
                foreach (var subEntry in EntryField.GetEntries(entry))
                {
                    if (currentIndex < minIndex || currentIndex > maxIndex)
                    {
                        UnSelectedList.Add(subEntry.Last());
                    }
                    else
                    {
                        SelectedList.Add(subEntry.Last());
                    }

                    currentIndex++;
                }
            }
        }