{"id":24423173,"url":"https://github.com/webability-go/templum","last_synced_at":"2026-01-31T09:31:22.839Z","repository":{"id":102393355,"uuid":"356363643","full_name":"webability-go/templum","owner":"webability-go","description":"A javascript foundation framework for games and applications","archived":false,"fork":false,"pushed_at":"2021-04-10T03:13:11.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-25T13:52:54.329Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"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/webability-go.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,"zenodo":null}},"created_at":"2021-04-09T18:24:50.000Z","updated_at":"2021-04-10T03:13:13.000Z","dependencies_parsed_at":"2023-03-13T15:20:13.597Z","dependency_job_id":null,"html_url":"https://github.com/webability-go/templum","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/webability-go/templum","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webability-go%2Ftemplum","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webability-go%2Ftemplum/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webability-go%2Ftemplum/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webability-go%2Ftemplum/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webability-go","download_url":"https://codeload.github.com/webability-go/templum/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webability-go%2Ftemplum/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28936133,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T08:53:31.997Z","status":"ssl_error","status_checked_at":"2026-01-31T08:51:38.521Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2025-01-20T10:17:01.915Z","updated_at":"2026-01-31T09:31:22.834Z","avatar_url":"https://github.com/webability-go.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Templum\nA 2D javascript foundation framework for games and applications\n\n# Manual\n\n## Interfaces\n\nThe interface system allow to create objects that will control full or part of the visible screen to interact with the user.\nThere are 3 types of interfaces:\n- The full screen is an interface that takes the full available area on screen to display its content.\n- The popup if an interface that will be put on the top of screen to ask a choice or to alert something to the user, without removint lower layers.\n- The takeover is an object that will be put on top of anything else and control/capture user interaction, but without removing lower layers.\n\nThere can be only one full screen at the same time, even if you define many full screen objects\nThere can be only one popup at the same time, even if you define many popup interfaces. The popup interfaces can be enqueued and will appear one after another.\nThere can be only one takeover at the same time, even if you define many take over objects.\n\nEvery interface object have a unique ID that cannot be repeated.\n\nThe interfaces work on 3 layers:\n\nlower layer: full screen interfaces. zIndex set to 0.\nmiddle layer: popup interfaces. zIndex set to 100.\ntop layer: takeover interfaces. zIndex set to 200.\n\n### Control functions:\n\n+ Create an interface:\n\n```\nitffs = TMPLM.interfaces.create(id, \"full\", template, language);\nitfpp = TMPLM.interfaces.create(id, \"popup\", template, language);\nitfto = TMPLM.interfaces.create(id, \"takeover\", template, language);\n```\n\nid is the unique ID of the interface, it is a string\ntemplate is a WA.XTemplate object\nlanguage is a WA.XLanguage object\nitf is a TMPLM.interfaces.interface object\n\n+ Switch to full screen object:\nAll other full screen will be hidden. Takeover will also be hidden, except if it's already the current one.\n \n```\nTMPLM.interfaces.show(itf|id);\n```\n\nid is the unique ID of the interface, or itf is the object of the interface\n\n+ Hide the interface object (lets an empty screen if it's a full screen): \n\n```\nTMPLM.interfaces.hide(itf|id);\n```\n\n+ Destroy an interface object\n\n```\nTMPLM.interfaces.destroy(object|\"id\");\n```\n\n### Queue\n\n\n+ Enqueue a pop object:\nIf the queue is not locked, the popup is inmediatly shown.\n\n```\nTMPLM.interfaces.addQueue(object|\"id\");\n```\n\n+ Remove a pop object from the queue\n\n```\nTMPLM.interfaces.removeQueue(object|\"id\");\n```\n\n+ Flush queue:\n\n```\nTMPLM.interfaces.flushQueue(object);\n```\n\n+ Locks queue:\nIf the queue is shown on screen, it will be hidden meanwhile it is locked.\n\n```\nTMPLM.interfaces.lockQueue();\n```\n\n+ Unlocks queue to be shown:\nIf the queue is not empty, next interface will be shown.\n\n```\nTMPLM.interfaces.unlockQueue();\n```\n\n\n### Public attributes\n\n```\nTMPLM.interfaces.fullid string  // id of active full screen\nTMPLM.interfaces.full {}  // id =\u003e objects of full screen\nTMPLM.interfaces.popupid string  // id of active popup if any\nTMPLM.interfaces.popup {}  // id =\u003e objects of popup\nTMPLM.interfaces.popupqueue []  // list of popup objects to show\nTMPLM.interfaces.takeoverid string  // id of active takeover\nTMPLM.interfaces.takeover {}  // id =\u003e objects of takeover\n```\n\n### Interface Object\n\n```\nTMPLM.interfaces.interface()\n{\n  screentype string\n  id string\n  template\n  language\n  node DOMNode\n}\n```\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebability-go%2Ftemplum","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebability-go%2Ftemplum","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebability-go%2Ftemplum/lists"}