{"id":13282483,"url":"https://github.com/AJARProject/AJUI_Alignment","last_synced_at":"2025-03-10T04:31:32.395Z","repository":{"id":94874333,"uuid":"297318089","full_name":"AJARProject/AJUI_Alignment","owner":"AJARProject","description":"4D Component to align form objects","archived":false,"fork":false,"pushed_at":"2020-09-22T15:02:39.000Z","size":27,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-07-29T16:16:55.521Z","etag":null,"topics":["4d-code","4d-component","ajui-alignment","ui"],"latest_commit_sha":null,"homepage":"","language":"4D","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AJARProject.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2020-09-21T11:25:22.000Z","updated_at":"2024-07-29T16:16:55.522Z","dependencies_parsed_at":"2023-04-20T20:07:56.230Z","dependency_job_id":null,"html_url":"https://github.com/AJARProject/AJUI_Alignment","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AJARProject%2FAJUI_Alignment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AJARProject%2FAJUI_Alignment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AJARProject%2FAJUI_Alignment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AJARProject%2FAJUI_Alignment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AJARProject","download_url":"https://codeload.github.com/AJARProject/AJUI_Alignment/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242789569,"owners_count":20185487,"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":["4d-code","4d-component","ajui-alignment","ui"],"created_at":"2024-07-29T15:54:10.996Z","updated_at":"2025-03-10T04:31:32.386Z","avatar_url":"https://github.com/AJARProject.png","language":"4D","readme":"# AJUI_Alignment\n\nThis is a 4D Component to help aligning form objects in a 4D application.\n\nIt is still in devlopment so feel free to test and participate to it.\n\nYou can find, in the `4D_Flex_alignment_PROTO.json` file, the definition structure that will tell how the container and its items will behave.\n\nNot everything is yet implemented :\n| Feature | Implemented |\n| - | :-: |\n| display | ❌ |\n| alignContent | ❌ |\n| alignItems | ❌ |\n| direction | ✅ |\n| wrap | ✅ |\n| justifyContent | ✅ |\n| padding | ✅ |\n| margin | ✅ |\n| marginRight | ✅ |\n| marginTop | ✅ |\n| marginLeft | ✅ |\n| marginBottom | ✅ |\n| height | ✅ |\n| width | ✅ |\n| minHeight | ✅ |\n| minWidth | ✅ |\n| maxHeight | ✅ |\n| maxWidth | ✅ |\n| items (recursive) | ✅ |\n\nThe purpose was to provide something similar to what we have with CSS flexbox. But more I tried to implement the same more it became complicated. That is why I started up from scratch and went down to `justifyContent` and stopped (because of lack of time also). Maybe we should not try to have something too much complicated and what we have today is enough.\n\nThe code is not too much factorized because it will slow down a lot the execution cycle (tried during the devlopment phase). The purpose is to execute the alignment during the `On Resize` event so it must be really fast not to make the resizing be laggy. Maybe it is even possible to speed up the execution by doing some optimization (`for` instead of `for each`?)\n\n## Tests\n\nYou can do some tests with the `flexboxFormTest` by launching the `launch_flexboxFormTest` method.\nThe description of the items are in the `Resources/test1.json` file.\n","funding_links":[],"categories":["User Interface"],"sub_categories":["Preemptive"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAJARProject%2FAJUI_Alignment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAJARProject%2FAJUI_Alignment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAJARProject%2FAJUI_Alignment/lists"}