Add server-rendered 1C form editor
This commit is contained in:
@@ -330,7 +330,7 @@ def render_html5_object_context(
|
||||
or '<p class="muted padded">Реквизиты не найдены</p>'
|
||||
)
|
||||
compact_body += ''.join(_tabular_section_item(item) for item in sections[:8])
|
||||
compact_body += ''.join(_ui_form_item(item) for item in ui_forms[:8])
|
||||
compact_body += ''.join(_ui_form_item(project_id, item) for item in ui_forms[:8])
|
||||
elif normalized_mode == "impact":
|
||||
compact_body = ''.join(_integration_endpoint_item(item) for item in integration_items[:8])
|
||||
compact_body += ''.join(_named_node_item("command", item) for item in commands[:8])
|
||||
@@ -351,7 +351,7 @@ def render_html5_object_context(
|
||||
or '<p class="muted padded">Реквизиты не найдены</p>'
|
||||
)
|
||||
compact_body += ''.join(_tabular_section_item(item) for item in sections[:4])
|
||||
compact_body += ''.join(_ui_form_item(item) for item in ui_forms[:4])
|
||||
compact_body += ''.join(_ui_form_item(project_id, item) for item in ui_forms[:4])
|
||||
compact_body += ''.join(_role_access_item(item) for item in grants[:6])
|
||||
compact_body += ''.join(_integration_endpoint_item(item) for item in integration_items[:4])
|
||||
compact_body += ''.join(_named_node_item("command", item) for item in commands[:6])
|
||||
@@ -659,12 +659,13 @@ def _role_access_item(grant: object) -> str:
|
||||
"""
|
||||
|
||||
|
||||
def _ui_form_item(form_semantics: object) -> str:
|
||||
def _ui_form_item(project_id: str, form_semantics: object) -> str:
|
||||
form = getattr(form_semantics, "form", None)
|
||||
commands = getattr(form_semantics, "commands", []) or []
|
||||
elements = getattr(form_semantics, "elements", []) or []
|
||||
handlers = getattr(form_semantics, "command_handlers", {}) or {}
|
||||
form_name = getattr(form, "qualified_name", None) or getattr(form, "name", "form")
|
||||
form_lineage = str(getattr(form, "lineage_id", "") or "")
|
||||
command_names = [
|
||||
str(getattr(command, "name", getattr(command, "qualified_name", "")))
|
||||
for command in commands[:3]
|
||||
@@ -684,6 +685,15 @@ def _ui_form_item(form_semantics: object) -> str:
|
||||
<article class="object-context-item" data-html5-object-context-item="ui-form">
|
||||
<strong>{escape(str(form_name))}</strong>
|
||||
<small>{escape(" · ".join(details) or "UI metadata")}</small>
|
||||
<span class="inline-actions">
|
||||
<a
|
||||
href="/html5/projects/{quote(project_id)}/forms/editor?form={quote(form_lineage, safe='')}"
|
||||
hx-get="/html5/projects/{quote(project_id)}/forms/editor?form={quote(form_lineage, safe='')}"
|
||||
hx-target="body"
|
||||
hx-swap="outerHTML"
|
||||
data-html5-form-editor-link
|
||||
>Редактор формы</a>
|
||||
</span>
|
||||
</article>
|
||||
"""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user