示例#1
0
        public void spreadsheet(HtmlGenericControl widgetElementsDiv, WidgetElement schemaElement, XmlNode widgetNode)
        {
            if (!Widget_Builder.HasSpreadsheet)
            {
                return;
            }

            //deserialize element prevalues
            SpreadsheetOptions prevalues = jsonSerializer.Deserialize<SpreadsheetOptions>(schemaElement.prevalues);

            HtmlGenericControl controlWrapper = buildControlWrapper(widgetElementsDiv, prevalues.elementName, prevalues.title, prevalues.description, schemaElement, widgetNode);

            DataInterface dataExtractor = new DataInterface();

            //get the value from the XML
            try
            {
                XmlNode element = widgetNode.SelectSingleNode(prevalues.elementName);
                dataExtractor.Value = element.OuterXml;
            }
            catch (Exception e)
            {
                Log.Add(LogTypes.Custom, 0, "WidgetBuilder=>"+e.Message);
                dataExtractor.Value = "<table class=''><thead></thead><tbody></tbody></table>";
            }

            SpreadsheetDataEditor spreadSheet = new SpreadsheetDataEditor(dataExtractor, HttpUtility.UrlDecode(prevalues.classes) + "|");

            HtmlGenericControl spreadsheetWrapper = new HtmlGenericControl();
            spreadsheetWrapper.Controls.Add(spreadSheet);
            spreadsheetWrapper.TagName = "div";
            spreadsheetWrapper.Attributes["class"] = "widgetSpreadsheet " + prevalues.className;
            controlWrapper.Controls.Add(spreadSheet);
        }
示例#2
0
        public void mediapicker(HtmlGenericControl widgetElementsDiv, WidgetElement schemaElement, XmlNode widgetNode)
        {
            //deserialize element prevalues
            MediaPickerOptions prevalues = jsonSerializer.Deserialize<MediaPickerOptions>(schemaElement.prevalues);

            HtmlGenericControl controlWrapper = buildControlWrapper(widgetElementsDiv, prevalues.elementName, prevalues.title, prevalues.description, schemaElement, widgetNode);

            //include media picker JS
            string mediaPickerJS = string.Format("<script src=\"{0}\" ></script>", "/umbraco/controls/Images/ImageViewer.js");
            ScriptManager.RegisterClientScriptBlock(Page, typeof(Widget_Builder_DataEditor), "WidgetBuilderMediaPicker", mediaPickerJS, false);

            DataInterface dataExtractor = new DataInterface();

            //get the value from the XML
            try
            {
                XmlNode element = widgetNode.SelectSingleNode(prevalues.elementName);
                dataExtractor.Value = element.InnerText;
            }
            catch (Exception e) {
                dataExtractor.Value = "";
            }
            mediaChooser mediaChooser = new mediaChooser(dataExtractor, true, true);

            HtmlGenericControl mediaWrapper = new HtmlGenericControl();
            mediaWrapper.Controls.Add(mediaChooser);
            mediaWrapper.TagName = "div";
            mediaWrapper.Attributes["class"] = "widgetMediaPicker " + prevalues.className;

            controlWrapper.Controls.Add(mediaChooser);
        }
示例#3
0
        public void list(HtmlGenericControl widgetElementsDiv, WidgetElement schemaElement, XmlNode widgetNode)
        {
            //deserialize element prevalues
            ListOptions prevalues = jsonSerializer.Deserialize<ListOptions>(schemaElement.prevalues);

            HtmlGenericControl controlWrapper = buildControlWrapper(widgetElementsDiv, prevalues.elementName, prevalues.title, prevalues.description, schemaElement, widgetNode);

            DataInterface dataExtractor = new DataInterface();

            TextBoxListOptions listOptions = new TextBoxListOptions();
            listOptions.indentedLimit = prevalues.maxIndents.ToString();
            TextBoxList_DataEditor list = new TextBoxList_DataEditor(dataExtractor, listOptions);

            //get the value from the XML
            try
            {
                XmlNode element = widgetNode.SelectSingleNode(prevalues.elementName);
                dataExtractor.Value = element.InnerXml;
                list.currentData = element.InnerXml;
            }
            catch (Exception e)
            {
                dataExtractor.Value = "<list><item indent='0'/></list>";
            }

            HtmlGenericControl listWrapper = new HtmlGenericControl();
            listWrapper.Controls.Add(list);
            listWrapper.TagName = "div";
            listWrapper.Attributes["class"] = "widgetList " + prevalues.className;

            controlWrapper.Controls.Add(listWrapper);
        }
示例#4
0
        public void map(HtmlGenericControl widgetElementsDiv, WidgetElement schemaElement, XmlNode widgetNode)
        {
            //deserialize element prevalues
            MapOptions prevalues = jsonSerializer.Deserialize<MapOptions>(schemaElement.prevalues);

            HtmlGenericControl controlWrapper = buildControlWrapper(widgetElementsDiv, prevalues.elementName, prevalues.title, prevalues.description, schemaElement, widgetNode);

            DataInterface dataExtractor = new DataInterface();
            dataExtractor.Value = "";

            XmlNode element = widgetNode.SelectSingleNode(prevalues.elementName);
            uNews.GoogleMap.DataEditor googleMap = new uNews.GoogleMap.DataEditor(dataExtractor, new uNews.GoogleMap.Options() { lat = prevalues.lat,  lng=prevalues.lng, address=prevalues.address, zoom=prevalues.zoom});

            try
            {
                googleMap.CurrentData = element.OuterXml;
            }
            catch (Exception e)
            {
                googleMap.CurrentData = uNews.GoogleMap.DefaultData.defaultXML;
            }

            controlWrapper.Controls.Add(googleMap);
        }
示例#5
0
        public void contentpicker(HtmlGenericControl widgetElementsDiv, WidgetElement schemaElement, XmlNode widgetNode)
        {
            //deserialize element prevalues
            ContentPickerOptions prevalues = jsonSerializer.Deserialize<ContentPickerOptions>(schemaElement.prevalues);

            HtmlGenericControl controlWrapper = buildControlWrapper(widgetElementsDiv, prevalues.elementName, prevalues.title, prevalues.description, schemaElement, widgetNode);

            DataInterface dataExtractor = new DataInterface();
            dataExtractor.Value = "";

            //get the value from the XML

            XmlNode element = widgetNode.SelectSingleNode(prevalues.elementName);
            ContentPicker_DataEditor contentPicker = new ContentPicker_DataEditor(dataExtractor, new ContentPicker_Options() {startNodeID=prevalues.startNodeID, allowedDocTypeIDs=prevalues.allowedDocTypeIDs, allowMultiple=prevalues.allowMultiple, showAllDocTypes=prevalues.showAllDocTypes, jsPath=prevalues.jsPath, cssPath=prevalues.cssPath});

            try
            {
                contentPicker.currentData = element.InnerXml;
            }
            catch (Exception e)
            {
                contentPicker.currentData = "<contentPicker/>";
            }

            HtmlGenericControl mediaWrapper = new HtmlGenericControl();
            mediaWrapper.Controls.Add(contentPicker);
            mediaWrapper.TagName = "div";
            mediaWrapper.Attributes["class"] = "widgeContentPicker " + prevalues.className;

            controlWrapper.Controls.Add(contentPicker);
        }