public MongoJsonEditorViewModel(string title, MongoDBComponent mongoComponent, string propertyValue, List <ITemplateSource> templateSources, string defaultText, SegmentedDocumentSerialiser serialiser, IDesignerContext designerContext) : base(designerContext) { Title = "MongoDB " + title; this.propertyValue = propertyValue; this.serialiser = serialiser; serialiser.AddConstructor("placeholder", (offset, text) => new PlaceholderSegment(offset, text, serialiser)); serialiser.AddConstructor("query", (offset, text) => new QueryPlaceholder(offset, text, serialiser)); serialiser.AddConstructor("queryarray", (offset, text) => new QueryArrayPlaceholder(offset, text, serialiser)); serialiser.AddConstructor("value", (offset, text) => new ValuePlaceholder(offset, text, serialiser)); serialiser.AddConstructor("valueArray", (offset, text) => new ValueArrayPlaceholder(offset, text, serialiser)); serialiser.AddConstructor("field", (offset, text) => new FieldNamePlaceholder(offset, text, serialiser)); serialiser.AddConstructor("pipelineOperator", (offset, text) => new AggregationPipeLineOperatorPlaceHolder(offset, text, serialiser)); serialiser.AddConstructor("pipelineOperatorArray", (offset, text) => new AggregationPipeLineOperatorArrayPlaceholder(offset, text, serialiser)); serialiser.AddConstructor("namevaluearray", (offset, text) => new NameValueArrayPlaceholder(offset, text, serialiser)); serialiser.AddConstructor("updateOperatorArray", (offset, text) => new UpdateOperatorArrayPlaceholder(offset, text, serialiser)); serialiser.AddConstructor("updateOperator", (offset, text) => new UpdateOperatorPlaceholder(offset, text, serialiser)); serialiser.AddConstructor("groupoperatorarray", (offset, text) => new GroupOperatorArray(offset, text, serialiser)); serialiser.AddConstructor("expression", (offset, text) => new ExpressionPlaceholder(offset, text, serialiser)); serialiser.AddConstructor("NameExpressionArray", (offset, text) => new NameExpressionArrayPlaceholder(offset, text, serialiser)); TemplateSources = templateSources; this.defaultText = defaultText; }
public MongoDatabaseTemplateSource(MongoDBComponent component, SegmentedDocumentSerialiser serialiser) { mongoComponent = component; Name = "Database Fields"; this.serialiser = serialiser; }