Exemplo n.º 1
0
        /// <summary>
        /// Loads the Current Item
        /// </summary>
        private void LoadCurrentItem()
        {
            if (CurrentItem == null)
            {
                return;
            }

            examGridPanel.Visible = true;
            ValidateItem();

            //set selected on menu
            DataUri[] dataUris = new DataUri[1];
            dataUris[0] = new DataUri(CurrentItem.ID);
            TreeviewDataContext.DefaultItem = CurrentItem.ID.ToString();
            TreeviewDataContext.Folder      = CurrentItem.Paths.FullPath;
            TreeviewDataContext.Selected    = dataUris;
            TreeviewDataContext.AddSelected(new DataUri(CurrentItem.ID));
            TreeviewDataContext.Refresh();

            //reset form
            SetDisplay();

            //make sure we are on a velir image
            IFieldSuiteImage fieldSuiteImage = FieldSuiteImageFactory.GetFieldSuiteImage(CurrentItem);

            if (fieldSuiteImage != null)
            {
                CreateContentEditor(CurrentItem);
            }
        }
Exemplo n.º 2
0
        private IFieldSuiteListItem GetListItem(string itemId, string fieldId)
        {
            Item item = Sitecore.Context.ContentDatabase.GetItem(itemId);

            if (item == null)
            {
                return(null);
            }

            IFieldSuiteImage fieldSuiteImage = FieldSuiteImageFactory.GetFieldSuiteImage(item);

            if (fieldSuiteImage == null)
            {
                return(null);
            }

            FieldSuiteImageListItem listItem = new FieldSuiteImageListItem();

            //set default
            string imageSrc = "/sitecore modules/shell/field suite/images/unknown.png";

            //set to image of the item
            if (!string.IsNullOrEmpty(fieldSuiteImage.ImageUrl))
            {
                //setup image and sitecore click event
                imageSrc = fieldSuiteImage.ImageUrl.ToLower();
            }

            //add thumbnail parameter
            string parameters = "w=125&h=125&thn=true&db=master";

            if (imageSrc.Contains("?"))
            {
                imageSrc += "&" + parameters;
            }
            else
            {
                imageSrc += "?" + parameters;
            }

            string titleText   = string.Format("{0}: {1}", item.Name, item.Paths.FullPath);
            string onclick     = string.Format("javascript:FieldSuite.Fields.ImagesField.ToggleItem(this, '{0}');", fieldId);
            string description = fieldSuiteImage.Title;

            if (description.Length > 21)
            {
                description = description.Substring(0, 21) + "...";
            }

            listItem.Text       = description;
            listItem.HoverText  = titleText;
            listItem.ReadOnly   = false;
            listItem.ItemClick  = onclick;
            listItem.Parameters = new List <object>();
            listItem.Parameters.Add(string.Format("<img border=\"0\" src=\"{0}\">", imageSrc));

            return(listItem);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Verify Velir Image
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void dataTreeView_OnClick(object sender, EventArgs e)
        {
            Item item = addItemDataContext.GetFolder();

            if (item == null)
            {
                return;
            }

            //get interface item
            IFieldSuiteImage fieldSuiteImage = FieldSuiteImageFactory.GetFieldSuiteImage(item);

            if (fieldSuiteImage == null)
            {
                SheerResponse.Alert(string.Format("{0} does not implement the velir image interface.", item.Name));
                return;
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// Saves the Form
        /// </summary>
        private void SaveForm()
        {
            Item item = addItemDataContext.GetFolder();

            if (item == null)
            {
                CloseApplication();
                return;
            }

            //get interface item
            IFieldSuiteImage fieldSuiteImage = FieldSuiteImageFactory.GetFieldSuiteImage(item);

            if (fieldSuiteImage == null)
            {
                SheerResponse.Alert(string.Format("{0} does not implement the velir image interface.", item.Name));
                return;
            }

            Context.ClientPage.ClientResponse.SetDialogValue(item.ID.ToString());
            CloseApplication();
        }
Exemplo n.º 5
0
        /// <summary>
        /// This will delete the current item from sitecore by instantiating the delete pipeline
        /// </summary>
        private void DeleteItem()
        {
            Item selectedItem = dataTreeView.GetSelectionItem();

            if (selectedItem == null)
            {
                return;
            }

            //make sure we are on a velir image
            IFieldSuiteImage fieldSuiteImage = FieldSuiteImageFactory.GetFieldSuiteImage(selectedItem);

            if (fieldSuiteImage == null)
            {
                return;
            }

            //remove from field
            RemoveItemFromField(false);

            Item parentItem = selectedItem.Parent;

            Item[] items = new Item[1];
            items[0] = selectedItem;

            //perform action
            Items.Delete(items);

            //set parent as selected
            if (parentItem.IsNull())
            {
                return;
            }

            //load parent
            CurrentItem = parentItem;

            SetDisplay();
        }
Exemplo n.º 6
0
        /// <summary>
        /// Sets the button and content area appropiately
        /// </summary>
        private void SetDisplay()
        {
            if (CurrentItem == null)
            {
                addButton.Visible    = false;
                removeButton.Visible = false;
                deleteButton.Visible = false;
                saveButton.Visible   = false;
                ResetDisplay(true);
                return;
            }

            //make sure we are on a velir image
            IFieldSuiteImage fieldSuiteImage = FieldSuiteImageFactory.GetFieldSuiteImage(CurrentItem);

            if (fieldSuiteImage == null)
            {
                addButton.Visible    = false;
                removeButton.Visible = false;
                deleteButton.Visible = false;
                saveButton.Visible   = false;
                ResetDisplay(true);
                return;;
            }

            //toggle add remove buttons
            bool isCurrentItemAdded = IsCurrentItemAdded();

            addButton.Visible    = !isCurrentItemAdded;
            removeButton.Visible = isCurrentItemAdded;

            deleteButton.Visible = true;
            saveButton.Visible   = true;

            ResetDisplay(false);
        }
Exemplo n.º 7
0
        /// <summary>
        /// Renders an item
        /// </summary>
        /// <param name="itemId"></param>
        /// <returns></returns>
        public override string RenderItem(string itemId, bool selectedItem)
        {
            if (string.IsNullOrEmpty(itemId))
            {
                return(string.Empty);
            }

            FieldSuiteImageListItem listItem = new FieldSuiteImageListItem();
            Item item = Sitecore.Context.ContentDatabase.GetItem(itemId);

            if (item.IsNull())
            {
                return(listItem.RenderItemNotFound(itemId, this.ID));
            }

            //get interface item
            IFieldSuiteImage fieldSuiteImage = FieldSuiteImageFactory.GetFieldSuiteImage(item);

            if (fieldSuiteImage == null)
            {
                return(listItem.RenderItemConfigured(itemId, this.ID));
            }

            //set default
            string imageSrc = "/sitecore modules/shell/field suite/images/unknown.png";

            //set to image of the item
            if (!string.IsNullOrEmpty(fieldSuiteImage.ImageUrl))
            {
                //setup image and sitecore click event
                imageSrc = fieldSuiteImage.ImageUrl.ToLower();
            }

            //add thumbnail parameter
            string parameters = "w=125&h=125&thn=true&db=" + MasterDatabase.Name.ToLower();

            if (imageSrc.Contains("?"))
            {
                imageSrc += "&" + parameters;
            }
            else
            {
                imageSrc += "?" + parameters;
            }

            string titleText = string.Format("{0}: {1}", item.Name, item.Paths.FullPath);

            //if the form is readonly
            string onclick = "";

            if (!this.ReadOnly)
            {
                onclick = string.Format("javascript:FieldSuite.Fields.ImagesField.ToggleItem(this, '{0}');", this.ID);
            }

            //setup description
            string description = string.Empty;

            if (!string.IsNullOrEmpty(fieldSuiteImage.Title))
            {
                description = fieldSuiteImage.Title;
                if (description.Length > 13)
                {
                    description = description.Substring(0, 13) + "...";
                }
            }

            listItem.Text       = description;
            listItem.HoverText  = titleText;
            listItem.ReadOnly   = this.ReadOnly;
            listItem.ItemClick  = onclick;
            listItem.Parameters = new List <object>();
            listItem.Parameters.Add(string.Format("<img border=\"0\" src=\"{0}\">", imageSrc));

            //for performance reason limit field gutter
            Int32 renderCount = RenderItemCount;

            if (selectedItem)
            {
                renderCount = RenderSelectedItemCount;
            }

            //for performance reason limit field gutter
            bool useFieldGutter = false;
            IFieldGutterProcessor fieldGutterProcessor = FieldGutterProcessorFactory.GetProcessor();

            if (fieldGutterProcessor != null)
            {
                Int32 maxCount = fieldGutterProcessor.MaxCount;
                if (maxCount != 0 && renderCount <= maxCount)
                {
                    useFieldGutter = true;
                }
            }

            //return list item as html
            if (selectedItem)
            {
                RenderSelectedItemCount++;
            }
            else
            {
                RenderItemCount++;
            }

            return(listItem.Render(item, item.ID.ToString(), this.ID, useFieldGutter));
        }