diff options
author | Jason Song <i@wolfogre.com> | 2022-09-02 15:58:49 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-02 15:58:49 +0800 |
commit | 84447df4d366324ab81894b028b00fd66be85caf (patch) | |
tree | 5291442a85faccb6bc17b54ca71a53c16530dfe3 /templates/repo/issue/fields | |
parent | b7a4b45ff83dc19febcfb85279215ea6bd224033 (diff) | |
download | gitea-84447df4d366324ab81894b028b00fd66be85caf.tar.gz gitea-84447df4d366324ab81894b028b00fd66be85caf.zip |
Support Issue forms and PR forms (#20987)
* feat: extend issue template for yaml
* feat: support yaml template
* feat: render form to markdown
* feat: support yaml template for pr
* chore: rename to Fields
* feat: template unmarshal
* feat: split template
* feat: render to markdown
* feat: use full name as template file name
* chore: remove useless file
* feat: use dropdown of fomantic ui
* feat: update input style
* docs: more comments
* fix: render text without render
* chore: fix lint error
* fix: support use description as about in markdown
* fix: add field class in form
* chore: generate swagger
* feat: validate template
* feat: support is_nummber and regex
* test: fix broken unit tests
* fix: ignore empty body of md template
* fix: make multiple easymde editors work in one page
* feat: better UI
* fix: js error in pr form
* chore: generate swagger
* feat: support regex validation
* chore: generate swagger
* fix: refresh each markdown editor
* chore: give up required validation
* fix: correct issue template candidates
* fix: correct checkboxes style
* chore: ignore .hugo_build.lock in docs
* docs: separate out a new doc for merge templates
* docs: introduce syntax of yaml template
* feat: show a alert for invalid templates
* test: add case for a valid template
* fix: correct attributes of required checkbox
* fix: add class not-under-easymde for dropzone
* fix: use more back-quotes
* chore: remove translation in zh-CN
* fix EasyMDE statusbar margin
* fix: remove repeated blocks
* fix: reuse regex for quotes
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Diffstat (limited to 'templates/repo/issue/fields')
-rw-r--r-- | templates/repo/issue/fields/checkboxes.tmpl | 12 | ||||
-rw-r--r-- | templates/repo/issue/fields/dropdown.tmpl | 14 | ||||
-rw-r--r-- | templates/repo/issue/fields/header.tmpl | 6 | ||||
-rw-r--r-- | templates/repo/issue/fields/input.tmpl | 4 | ||||
-rw-r--r-- | templates/repo/issue/fields/markdown.tmpl | 3 | ||||
-rw-r--r-- | templates/repo/issue/fields/textarea.tmpl | 6 |
6 files changed, 45 insertions, 0 deletions
diff --git a/templates/repo/issue/fields/checkboxes.tmpl b/templates/repo/issue/fields/checkboxes.tmpl new file mode 100644 index 0000000000..b70334681f --- /dev/null +++ b/templates/repo/issue/fields/checkboxes.tmpl @@ -0,0 +1,12 @@ +<div class="field"> + {{template "repo/issue/fields/header" .}} + {{$field := .}} + {{range $i, $opt := .Attributes.options}} + <div class="field"> + <div class="ui checkbox"> + <input type="checkbox" name="form-field-{{$field.ID}}-{{$i}}" {{if $opt.required}}readonly checked{{end}}> + <label>{{$opt.label}}</label> + </div> + </div> + {{end}} +</div> diff --git a/templates/repo/issue/fields/dropdown.tmpl b/templates/repo/issue/fields/dropdown.tmpl new file mode 100644 index 0000000000..83c2bb4aac --- /dev/null +++ b/templates/repo/issue/fields/dropdown.tmpl @@ -0,0 +1,14 @@ +<div class="field"> + {{template "repo/issue/fields/header" .}} + {{/* FIXME: required validation */}} + <div class="ui fluid selection dropdown {{if .Attributes.multiple}}multiple clearable{{end}}"> + <input type="hidden" name="form-field-{{.ID}}" value="0"> + <i class="dropdown icon"></i> + <div class="default text"></div> + <div class="menu"> + {{range $i, $opt := .Attributes.options}} + <div class="item" data-value="{{$i}}">{{$opt}}</div> + {{end}} + </div> + </div> +</div> diff --git a/templates/repo/issue/fields/header.tmpl b/templates/repo/issue/fields/header.tmpl new file mode 100644 index 0000000000..fb8511b4f0 --- /dev/null +++ b/templates/repo/issue/fields/header.tmpl @@ -0,0 +1,6 @@ +{{if .Attributes.label}} + <h3>{{.Attributes.label}}{{if .Validations.required}}<label class="required"></label>{{end}}</h3> +{{end}} +{{if .Attributes.description}} + <span class="help">{{RenderMarkdownToHtml .Attributes.description}}</span> +{{end}} diff --git a/templates/repo/issue/fields/input.tmpl b/templates/repo/issue/fields/input.tmpl new file mode 100644 index 0000000000..d73354f6d3 --- /dev/null +++ b/templates/repo/issue/fields/input.tmpl @@ -0,0 +1,4 @@ +<div class="field"> + {{template "repo/issue/fields/header" .}} + <input type="{{if .Validations.is_number}}number{{else}}text{{end}}" name="form-field-{{.ID}}" placeholder="{{.Attributes.placeholder}}" value="{{.Attributes.value}}" {{if .Validations.required}}required{{end}} {{if .Validations.regex}}pattern="{{.Validations.regex}}" title="{{.Validations.regex}}"{{end}}> +</div> diff --git a/templates/repo/issue/fields/markdown.tmpl b/templates/repo/issue/fields/markdown.tmpl new file mode 100644 index 0000000000..8236171523 --- /dev/null +++ b/templates/repo/issue/fields/markdown.tmpl @@ -0,0 +1,3 @@ +<div class="field"> + <div>{{RenderMarkdownToHtml .Attributes.value}}</div> +</div> diff --git a/templates/repo/issue/fields/textarea.tmpl b/templates/repo/issue/fields/textarea.tmpl new file mode 100644 index 0000000000..5ad82e2460 --- /dev/null +++ b/templates/repo/issue/fields/textarea.tmpl @@ -0,0 +1,6 @@ +<div class="field"> + {{template "repo/issue/fields/header" .}} + {{/* FIXME: preview markdown result */}} + {{/* FIXME: required validation for markdown editor */}} + <textarea name="form-field-{{.ID}}" placeholder="{{.Attributes.placeholder}}" class="edit_area {{if .Attributes.render}}no-easymde{{end}}" {{if and .Validations.required .Attributes.render}}required{{end}}>{{.Attributes.value}}</textarea> +</div> |