Exemple #1
0
        public override IDictionary <string, object> ToValueEditor(object configuration)
        {
            var config = base.ToValueEditor(configuration);

            if (config.TryGetValue(Items, out var items) && items is JArray array && array.Count > 0)
            {
                var types = new List <Type>();

                foreach (var item in array)
                {
                    var type = TypeFinder.GetTypeByName(item.Value <string>());
                    if (type != null)
                    {
                        types.Add(type);
                    }
                }

                config[Items]   = _service.GetConfigurationEditors <IConfigurationEditorItem>(types);
                config[OrderBy] = string.Empty; // Set to empty, so to preserve the selected order.
            }

            if (config.ContainsKey(OverlayView) == false)
            {
                config.Add(OverlayView, IOHelper.ResolveUrl(ConfigurationEditorDataEditor.DataEditorOverlayViewPath));
            }

            return(config);
        }
        public DataListConfigurationEditor()
            : base()
        {
            var defaultConfigEditorConfig = new Dictionary <string, object>
            {
                { MaxItemsConfigurationField.MaxItems, 1 },
                { DisableSortingConfigurationField.DisableSorting, Constants.Values.True },
                { ConfigurationEditorConfigurationEditor.OverlaySize, ConfigurationEditorConfigurationEditor.OverlaySizeConfigurationField.Large },
                { ConfigurationEditorConfigurationEditor.OverlayView, IOHelper.ResolveUrl(ConfigurationEditorDataEditor.DataEditorOverlayViewPath) },
                { ConfigurationEditorConfigurationEditor.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.",
                IOHelper.ResolveUrl(ConfigurationEditorDataEditor.DataEditorViewPath),
                new Dictionary <string, object>(defaultConfigEditorConfig)
            {
                { ConfigurationEditorConfigurationEditor.Items, dataSources }
            });

            Fields.Add(
                ListEditor,
                "List editor",
                "Select and configure the type of editor for the data list.",
                IOHelper.ResolveUrl(ConfigurationEditorDataEditor.DataEditorViewPath),
                new Dictionary <string, object>(defaultConfigEditorConfig)
            {
                { ConfigurationEditorConfigurationEditor.Items, listEditors }
            });

            Fields.AddHideLabel();
        }
Exemple #3
0
        public ConfigurationEditorConfigurationEditor()
            : base()
        {
            _service = new ConfigurationEditorService();

            var configEditors = _service.GetConfigurationEditors <IConfigurationEditorItem>(onlyPublic: true, ignoreFields: true);
            var items         = new List <DataListItem>();

            foreach (var configEditor in configEditors)
            {
                items.Add(new DataListItem
                {
                    Icon        = configEditor.Icon,
                    Name        = configEditor.Name,
                    Description = configEditor.Description,
                    Value       = configEditor.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) },
                { ItemPickerConfigurationEditor.EnableDevMode, Constants.Values.False },
            });

            Fields.Add(
                EnableFilter,
                "Enable filter?",
                "Select to enable the search filter in the overlay selection panel.",
                "boolean");

            Fields.Add(new OverlaySizeConfigurationField());
            Fields.AddMaxItems();
            Fields.AddDisableSorting();
            Fields.AddHideLabel();
        }