File

teal-src/util/dataforms.d.tl @ 13465:54a936345aaa 0.12

prosodyctl check: Warn about invalid domain names in the config file This ensures that domain names of virtual hosts and components are valid in XMPP, and that they are encoded correctly.
author Matthew Wild <mwild1@gmail.com>
date Wed, 27 Mar 2024 15:35:15 +0000
parent 11432:113f3912c7cb
child 12614:d498e7e7853a
line wrap: on
line source

local stanza_t = require "util.stanza".stanza_t

local enum form_type
	"form"
	"submit"
	"cancel"
	"result"
end

local enum field_type
	"boolean"
	"fixed"
	"hidden"
	"jid-multi"
	"jid-single"
	"list-multi"
	"list-single"
	"text-multi"
	"text-private"
	"text-single"
end

local record form_field

	type : field_type
	var : string -- protocol name
	name :  string -- internal name

	label : string
	desc : string

	datatype : string
	range_min : number
	range_max : number

	value : any -- depends on field_type
	options : table
end

local record dataform
	title : string
	instructions : string
	{ form_field } -- XXX https://github.com/teal-language/tl/pull/415

	form : function ( dataform, table, form_type ) : stanza_t
end

local record lib
	new : function ( dataform ) : dataform
end

return lib