metatonic
1.0.0
Metatonic — это набор библиотек и инструментов для чрезвычайно быстрого написания больших приложений по вводу данных.
Конструктор приложений
Нормы поведения
Документация
Имя | Покрытие/статус | НПМ |
---|---|---|
метатоническое ядро | 96% | |
метатоническая реакция | 22% | |
метатоник-редукс | 46% | |
метатоническая реакция-редукция | 0% | |
приложения/разработчик приложений | В основном работает | |
приложения/только интерфейс | В основном работает | |
приложения/сервер-рендеринг с базой данных | Ранняя разработка | |
метатоник-сервер | Ранняя разработка | |
метатоник-метатстор | Мозговой штурм |
Все еще в стадии разработки. Буду рад вашей помощи, если вы согласны с Кодексом поведения.
Некоторые вещи, которые нас волнуют
@ editorFor ( "record" , FieldSet , { isDefault : true } )
export class RecordEditor extends BaseEditorModel < { [ key : string ] : any } , RecordSchemaType , BaseEditorModel < RecordSchemaType > , void > {
render ( ) {
let recordType = this . props . field . typeParameters . typeParams as SchemaRecordType ;
let fields = recordType . fields ;
return ( < > {
fields . map ( field =>
< FieldEditor value = { this . props . value [ field . name ] } field = { field } context = { createContext ( field , this . props . context ) } / >
) }
< / > )
}
}
@ editorFor ( "numeric" , InputBoxLabelContainer , { isDefault : true } )
export class NumericEditor extends BaseEditor < Numeric , NumericTypeInfo , BaseEditorModel < Numeric > , void > {
render ( ) {
return (
< input type = "number"
id = { this . uniqueId ( ) }
value = { this . value ( ) . toEditorString ( ) }
required = { this . field ( ) . required }
max = { this . props . field . max || undefined }
min = { this . props . field . min || undefined }
step = { 1 }
onChange = { this . notifyChanged }
/ >
) ;
}
}
@ model
export class Field {
@ field ( "text" , "Name" , SchemaEntryType . entry , { required : true } )
name : string ;
@ field ( "text" , "Label" , SchemaEntryType . entry , { required : true } )
label : string ;
@ field ( "code" , "Type" , SchemaEntryType . selection , { required : true } )
typeName : string ;
@ field ( "code" , "Type" , SchemaEntryType . selection , { required : true } )
entryType ?: SchemaEntryType ;
@ field ( "boolean" , "Multiple" , SchemaEntryType . entry , { required : true } )
multiple : boolean ;
@ field ( "boolean" , "Required" , SchemaEntryType . entry , { required : true } )
required : boolean ;
@ field ( "numeric" , "Max Length" , SchemaEntryType . entry , { required : false } )
maxLength ?: Maybe < number > ;
@ field ( "numeric" , "Max" , SchemaEntryType . entry , { required : false } )
max ?: Maybe < number > ;
@ field ( "numeric" , "Min" , SchemaEntryType . entry , { required : false } )
min ?: Maybe < number > ;
@ field ( "boolean" , "Can Add" , SchemaEntryType . entry , { required : false } )
canAdd ?: boolean ;
@ field ( "boolean" , "Can Add" , SchemaEntryType . entry , { required : false } )
canEditSelection ?: boolean ;
@ field ( "text" , "UI Preference" , SchemaEntryType . entry , { required : false } )
uiControlPreference ?: string ;
}