{"action":"created","issue":{"url":"https://api.github.com/repos/MichMich/MagicMirror/issues/819","repository_url":"https://api.github.com/repos/MichMich/MagicMirror","labels_url":"https://api.github.com/repos/MichMich/MagicMirror/issues/819/labels{/name}","comments_url":"https://api.github.com/repos/MichMich/MagicMirror/issues/819/comments","events_url":"https://api.github.com/repos/MichMich/MagicMirror/issues/819/events","html_url":"https://github.com/MichMich/MagicMirror/issues/819","id":218952304,"number":819,"title":"[RFE] provide possibility to relocate a module node","user":{"login":"McFoggy","id":1119660,"avatar_url":"https://avatars1.githubusercontent.com/u/1119660?v=3","gravatar_id":"","url":"https://api.github.com/users/McFoggy","html_url":"https://github.com/McFoggy","followers_url":"https://api.github.com/users/McFoggy/followers","following_url":"https://api.github.com/users/McFoggy/following{/other_user}","gists_url":"https://api.github.com/users/McFoggy/gists{/gist_id}","starred_url":"https://api.github.com/users/McFoggy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/McFoggy/subscriptions","organizations_url":"https://api.github.com/users/McFoggy/orgs","repos_url":"https://api.github.com/users/McFoggy/repos","events_url":"https://api.github.com/users/McFoggy/events{/privacy}","received_events_url":"https://api.github.com/users/McFoggy/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2017-04-03T14:30:33Z","updated_at":"2017-04-04T05:38:55Z","closed_at":null,"body":"**Platform**: not relevant, working on windows targetting RaspberryPi\r\n\r\n**Node Version**: not relevant, working on v6.10.0\r\n\r\n**MagicMirror Version**: v2, forked\r\n\r\n**Description**: \r\n\r\nas a _module designer_ I would like that, at runtime , my module has the possibility to relocate itself in a new predefined location ; example from `bottom_center` to `fullscreen_above`.\r\n\r\nI would probably require an API like the following:\r\n\r\n```\r\n\t/* relocateModule(module, target, hideSpeed, retargetCallback, showSpeed, finalCallback)\r\n\t * Relocate the module in another zone.\r\n\t *\r\n\t * argument module Module - The module to relocate.\r\n\t * argument target String - location of the target zone (one of \"top_bar\", \"top_left\", \"top_center\", \"top_right\", \"upper_third\", \"middle_center\", \"lower_third\", \"bottom_left\", \"bottom_center\", \"bottom_right\", \"bottom_bar\", \"fullscreen_above\", \"fullscreen_below\")\r\n\t * argument hideSpeed Number - The speed of the hide animation (in milliseconds).\r\n\t * argument relocateCallback function - Called when the module DOM wrapper has been re-attached to its new location\r\n\t * argument showSpeed Number - The speed of the show animation (in milliseconds).\r\n\t * argument finalCallback function - Called when the new element is shown in its nw place\r\n\t */\r\n\tfunction relocateModule(module, target, hideSpeed, relocateCallback, showSpeed, finalCallback)\r\n```\r\n\r\n**Expected Results**: Having this in place I could have one module being able to change its UI & UI location depending on some context.\r\n\r\n**Actual Results**: To simulate the same currently, one has to use several modules (one for each place) and coordinate hide/show of all of them.\r\n"},"comment":{"url":"https://api.github.com/repos/MichMich/MagicMirror/issues/comments/291398549","html_url":"https://github.com/MichMich/MagicMirror/issues/819#issuecomment-291398549","issue_url":"https://api.github.com/repos/MichMich/MagicMirror/issues/819","id":291398549,"user":{"login":"McFoggy","id":1119660,"avatar_url":"https://avatars1.githubusercontent.com/u/1119660?v=3","gravatar_id":"","url":"https://api.github.com/users/McFoggy","html_url":"https://github.com/McFoggy","followers_url":"https://api.github.com/users/McFoggy/followers","following_url":"https://api.github.com/users/McFoggy/following{/other_user}","gists_url":"https://api.github.com/users/McFoggy/gists{/gist_id}","starred_url":"https://api.github.com/users/McFoggy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/McFoggy/subscriptions","organizations_url":"https://api.github.com/users/McFoggy/orgs","repos_url":"https://api.github.com/users/McFoggy/repos","events_url":"https://api.github.com/users/McFoggy/events{/privacy}","received_events_url":"https://api.github.com/users/McFoggy/received_events","type":"User","site_admin":false},"created_at":"2017-04-04T05:38:55Z","updated_at":"2017-04-04T05:38:55Z","body":"> The position is currently up to the user.\r\n\r\nthe position is up to the integrator of the system, for me the user is the one in front of the mirror using it.\r\nDepending on what you use the library for this makes a big difference. I am working in healthcare for a software company, we want to use your framework to deliver new functionnalities to our end users (physicians, nurse, surgeon, hospital members), so we do the integration and the users are 'just' using the mirror as it is provided.\r\n\r\n> Can you give any use cases in which this is interesting?\r\n\r\nof course, currently I am building a system with vocal regonition where modules can on the fly register/unregister vocal commands depending on their context/workflow. This vocal recognition is also a module that, by default, shows a message at the bottom of the screen. When the user says 'help me', the list of registered commands is shown full screen.\r\nAs I said the feature can be easily by passed by using several 'modules' and playing with the visibiity of each but then you have related functionnalities/domain object/.... that are splitted in different modules which is not very cool for maintenance."}}
{"actor":{"display_login":"McFoggy"}}