{"id":16170729,"url":"https://github.com/holtwick/seakit-nsdocument-state","last_synced_at":"2025-07-17T13:35:20.365Z","repository":{"id":66971156,"uuid":"137856520","full_name":"holtwick/seakit-nsdocument-state","owner":"holtwick","description":"NSDocument and states example ","archived":false,"fork":false,"pushed_at":"2018-09-17T18:20:58.000Z","size":41,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-02-13T11:47:52.596Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://holtwick.de/blog/2018-09-17-nsdocstate","language":"Objective-C","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/holtwick.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":"2018-06-19T07:35:58.000Z","updated_at":"2018-10-07T19:28:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"fc9edac1-578f-448a-bd12-b29fe8100a19","html_url":"https://github.com/holtwick/seakit-nsdocument-state","commit_stats":{"total_commits":13,"total_committers":2,"mean_commits":6.5,"dds":0.07692307692307687,"last_synced_commit":"555b330a409e307151181e1138d848e01bd116f7"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holtwick%2Fseakit-nsdocument-state","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holtwick%2Fseakit-nsdocument-state/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holtwick%2Fseakit-nsdocument-state/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/holtwick%2Fseakit-nsdocument-state/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/holtwick","download_url":"https://codeload.github.com/holtwick/seakit-nsdocument-state/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247612078,"owners_count":20966661,"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":[],"created_at":"2024-10-10T03:19:31.354Z","updated_at":"2025-04-07T07:33:03.418Z","avatar_url":"https://github.com/holtwick.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NSDocument and States\n\nAn example of how to implement a central state in a `NSDocument` environment and use it for back and forward navigation by making use of `NSUndoManager`\n\n#### Some bullet points\n\n- Reference to document is available in `NSViewController` via `document` property, which is dynamically assigned\n- On any change of `document` the respective `setupController` and `cleanupController` methods are called for custom document related setup\n- A `state` object in the document class describes UI states, it is KVO compatible\n- A helper can easily observe property changes\n- Navigation between states is managed by an `NSUndoManager` instance\n- A special container view class can load view controllers and pass the document reference\n- The example includes first responder mapping to the state by `tag`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fholtwick%2Fseakit-nsdocument-state","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fholtwick%2Fseakit-nsdocument-state","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fholtwick%2Fseakit-nsdocument-state/lists"}