public ConfigurationEditorConfigurationEditor()
            : base()
        {
            _service = new ConfigurationEditorService();

            var items = _service
                        .GetConfigurationEditors <IConfigurationEditorItem>(onlyPublic: true, ignoreFields: true)
                        .Select(x => new DataListItem
            {
                Icon        = x.Icon,
                Name        = x.Name,
                Description = x.Description,
                Value       = x.Type
            });

            Fields.Add(
                Items,
                nameof(Items),
                "Select the configuration editors to use.",
                IOHelper.ResolveUrl(ItemPickerDataEditor.DataEditorViewPath),
                new Dictionary <string, object>
            {
                { AllowDuplicatesConfigurationField.AllowDuplicates, Constants.Values.False },
                { ItemPickerConfigurationEditor.Items, items },
                { ItemPickerTypeConfigurationField.ListType, ItemPickerTypeConfigurationField.List },
                { ItemPickerConfigurationEditor.OverlayView, IOHelper.ResolveUrl(ItemPickerDataEditor.DataEditorOverlayViewPath) },
                { EnableDevModeConfigurationField.EnableDevMode, Constants.Values.False },
            });

            Fields.Add(new EnableFilterConfigurationField());
            Fields.Add(new OverlaySizeConfigurationField());
            Fields.Add(new MaxItemsConfigurationField());
            Fields.Add(new DisableSortingConfigurationField());
        }
예제 #2
0
        public ContentBlocksTypesConfigurationField(
            IEnumerable <IContentType> elementTypes,
            ConfigurationEditorService configurationEditorService)
        {
            var items = elementTypes
                        .OrderBy(x => x.Name)
                        .Select(x => new ConfigurationEditorModel
            {
                Type          = x.Key.ToString(),
                Name          = x.Name,
                Description   = x.Alias,
                Icon          = x.Icon,
                DefaultValues = new Dictionary <string, object>
                {
                    { "elementType", new DataListItem
                      {
                          Name        = x.Name,
                          Description = x.GetUdi().ToString(),
                          Icon        = x.Icon
                      } },
                    { "nameTemplate", $"{x.Name} {{{{ $index + 1 }}}}" },
                },
                Fields = configurationEditorService.GetConfigurationFields(typeof(ContentBlocksTypeConfiguration))
            });

            Key         = ContentBlockTypes;
            Name        = "Block types";
            Description = "Configure the block types to use.";
            View        = IOHelper.ResolveUrl(ConfigurationEditorDataEditor.DataEditorViewPath);
            Config      = new Dictionary <string, object>
            {
                { AllowDuplicatesConfigurationField.AllowDuplicates, Constants.Values.False },
                { EnableFilterConfigurationField.EnableFilter, Constants.Values.True },
                { ConfigurationEditorConfigurationEditor.OverlayView, IOHelper.ResolveUrl(ConfigurationEditorDataEditor.DataEditorOverlayViewPath) },
                { ConfigurationEditorConfigurationEditor.Items, items },
                { OverlaySizeConfigurationField.OverlaySize, OverlaySizeConfigurationField.Small },
            };
        }
        public DataListConfigurationEditor()
            : base()
        {
            var configEditorViewPath      = IOHelper.ResolveUrl(ConfigurationEditorDataEditor.DataEditorViewPath);
            var defaultConfigEditorConfig = new Dictionary <string, object>
            {
                { MaxItemsConfigurationField.MaxItems, 1 },
                { DisableSortingConfigurationField.DisableSorting, Constants.Values.True },
                { OverlaySizeConfigurationField.OverlaySize, OverlaySizeConfigurationField.Small },
                { ConfigurationEditorConfigurationEditor.OverlayView, IOHelper.ResolveUrl(ConfigurationEditorDataEditor.DataEditorOverlayViewPath) },
                { EnableDevModeConfigurationField.EnableDevMode, Constants.Values.False },
            };

            var service     = new ConfigurationEditorService();
            var dataSources = service.GetConfigurationEditors <IDataListSource>();
            var listEditors = service.GetConfigurationEditors <IDataListEditor>();

            Fields.Add(
                DataSource,
                "Data source",
                "Select and configure the data source.",
                configEditorViewPath,
                new Dictionary <string, object>(defaultConfigEditorConfig)
            {
                { ConfigurationEditorConfigurationEditor.Items, dataSources }
            });

            Fields.Add(
                ListEditor,
                "List editor",
                "Select and configure the type of editor for the data list.",
                configEditorViewPath,
                new Dictionary <string, object>(defaultConfigEditorConfig)
            {
                { ConfigurationEditorConfigurationEditor.Items, listEditors }
            });
        }
        public TextInputConfigurationEditor()
            : base()
        {
            Fields.Add(
                PlaceholderText,
                "Placeholder text",
                "Add placeholder text for the text input. This is to be used as instructional information, not as a default value.",
                "textstring");

            Fields.Add(
                "autocomplete",
                "Enable autocomplete?",
                "Select to enable autocomplete functionality on the text input.",
                "boolean");

            Fields.Add(
                "maxChars",
                "Maximum allowed characters",
                "Enter the maximum number of characters allowed for the text input.<br>The default is a 500 character limit.",
                "number");

            //Fields.Add(
            //    "prepend",
            //    "Prepend Icon",
            //    "[Add friendly description]",
            //    IOHelper.ResolveUrl(IconPickerDataEditor.DataEditorViewPath),
            //    new Dictionary<string, object>
            //    {
            //        { DefaultIconConfigurationField.DefaultIcon, string.Empty },
            //        { IconPickerSizeConfigurationField.Size, IconPickerSizeConfigurationField.Large }
            //    });

            //Fields.Add(
            //    "append",
            //    "Append Icon",
            //    "[Add friendly description]",
            //    IOHelper.ResolveUrl(IconPickerDataEditor.DataEditorViewPath),
            //    new Dictionary<string, object>
            //    {
            //        { DefaultIconConfigurationField.DefaultIcon, string.Empty },
            //        { IconPickerSizeConfigurationField.Size, IconPickerSizeConfigurationField.Large }
            //    });

            var service     = new ConfigurationEditorService();
            var dataSources = service.GetConfigurationEditors <IDataListSource>();

            Fields.Add(
                Items,
                "Data list",
                "<em>(optional)</em> Select and configure the data source to provide a HTML5 &lt;datalist&gt; for this text input.",
                IOHelper.ResolveUrl(ConfigurationEditorDataEditor.DataEditorViewPath),
                new Dictionary <string, object>()
            {
                { OverlaySizeConfigurationField.OverlaySize, OverlaySizeConfigurationField.Small },
                { ConfigurationEditorConfigurationEditor.OverlayView, IOHelper.ResolveUrl(ConfigurationEditorDataEditor.DataEditorOverlayViewPath) },
                { ConfigurationEditorConfigurationEditor.Items, dataSources },
                { EnableDevModeConfigurationField.EnableDevMode, Constants.Values.False },
                { DisableSortingConfigurationField.DisableSorting, Constants.Values.True },
                { MaxItemsConfigurationField.MaxItems, 1 },
            });
        }