{"id":27001543,"url":"https://github.com/systopia/drupal-json_forms","last_synced_at":"2025-10-17T20:04:59.016Z","repository":{"id":186952594,"uuid":"520897167","full_name":"systopia/drupal-json_forms","owner":"systopia","description":"Drupal module to create a Drupal form from a JSONForms definition","archived":false,"fork":false,"pushed_at":"2025-01-30T09:05:19.000Z","size":247,"stargazers_count":3,"open_issues_count":2,"forks_count":1,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-01-30T09:32:41.347Z","etag":null,"topics":["drupal","drupal-module","json-forms","jsonforms"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/systopia.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-03T13:43:10.000Z","updated_at":"2025-01-30T09:05:22.000Z","dependencies_parsed_at":"2023-12-13T09:51:03.364Z","dependency_job_id":"46781c51-88e6-4382-aa14-e4d52e776af1","html_url":"https://github.com/systopia/drupal-json_forms","commit_stats":null,"previous_names":["systopia/drupal-json_forms"],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/systopia%2Fdrupal-json_forms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/systopia%2Fdrupal-json_forms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/systopia%2Fdrupal-json_forms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/systopia%2Fdrupal-json_forms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/systopia","download_url":"https://codeload.github.com/systopia/drupal-json_forms/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247118093,"owners_count":20886492,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["drupal","drupal-module","json-forms","jsonforms"],"created_at":"2025-04-04T04:19:09.219Z","updated_at":"2025-10-17T20:04:59.012Z","avatar_url":"https://github.com/systopia.png","language":"PHP","readme":"# JSON Forms for Drupal\n\nJSON Forms for Drupal is an implementation of the [JSON Forms](\nhttps://jsonforms.io/) specification for Drupal.\n\n## Additional features and keywords\n\nIn this implementation there are some custom features and keywords not\nspecified in standard JSON Forms. (TODO: Not all additional possibilities are\ndescribed here, yet.)\n\n### Array control: options `itemLayout` and `elements`\n\nThere are two additional options in controls referencing an array.\n\nThe option `itemLayout` allows to specify the layout for the individual controls\nof an array item (e.g. `VerticalLayout`). The default is `TableRow`.\n\nThe option `elements` allows to specify the controls for the properties of an\narray item. By default a control is generated for each item property.\n\nExample:\n```json\n{\n  \"itemLayout\": \"VerticalLayout\",\n  \"elements\": [\n    {\n      \"type\": \"Control\",\n      \"label\": \"Name\",\n      \"scope\": \"#/properties/name\"\n    },\n    {\n      \"type\": \"Control\",\n      \"label\": \"Birth Date\",\n      \"scope\": \"#/properties/birthDate\"\n    }\n  ]\n}\n```\n\n### Description display\n\nThe Keyword `descriptionDisplay` in Control options allows to specify the\ndisplay of the description. Possible options:\n\n* `after`\n* `before`\n* `invisible`\n* `tooltip`\n\nThe first three options are standard options available for the\n`#description_display` in Drupal.\n\nThe option `tooltip` leads to an additional CSS class on the description\nelement: `json-forms-description-tooltip`. This can be used to process it\nwith another module to display the description as tooltip.\n\nWith the module [Form Tips](https://www.drupal.org/project/formtips) it can\nbe achieved with this CSS selector:\n\n```css\n:not(.json-forms-description-tooltip)\n```\n\n## Limitations\n\nSome things cannot be done with (standard) Drupal forms, e.g.\n[Rules](https://jsonforms.io/docs/uischema/rules/) cannot completely be mapped\nto [conditional form fields](https://www.drupal.org/docs/drupal-apis/form-api/conditional-form-fields).\n\nThe [`detail` option](https://jsonforms.io/docs/uischema/controls#the-detail-option)\nfor controls referencing an array is unsupported.\n\nTODO: Describe all limitations.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsystopia%2Fdrupal-json_forms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsystopia%2Fdrupal-json_forms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsystopia%2Fdrupal-json_forms/lists"}