{"action":"created","comment":{"url":"https://api.github.com/repos/qooxdoo/qooxdoo/pulls/comments/80794778","pull_request_review_id":1825275,"id":80794778,"diff_hunk":"@@ -0,0 +1,245 @@\n+/* ************************************************************************\n+\n+   qooxdoo - the new era of web development\n+\n+   http://qooxdoo.org\n+\n+   Copyright:\n+     2016 Visionet GmbH, http://www.visionet.de\n+     2016 OETIKER+PARTNER AG, https://www.oetiker.ch\n+\n+   License:\n+     MIT: https://opensource.org/licenses/MIT\n+     See the LICENSE file in the project's top-level directory for details.\n+\n+   Authors:\n+     * Dietrich Streifert (level420)\n+     * Tobias Oetiker (oetiker)\n+\n+************************************************************************ */\n+\n+\n+/**\n+ * Dynamically load non qx scripts on first instance init\n+ *\n+ * Usage example:\n+ *\n+ * <code>\n+ *  ... assets ...\n+ * /**\n+ *  * @asset(myapp/jquery/*)\n+ *  * @asset(myapp/highcharts/*)\n+ *  *\n+ *  * @ignore(jQuery.*)\n+ *  * @ignore(Highcharts.*)\n+ *  ...\n+ *\n+ *\n+ *    // in debug mode load the uncompressed unobfuscated scripts\n+ *    var src = '';\n+ *    var min = '.min';\n+ *    if (qx.core.Environment.get(\"qx.debug\")) {\n+ *      src = '.src';\n+ *      min = '';\n+ *    }\n+ *    var callback = function(){\n+ *        console.log(\"Got it\");\n+ *    };\n+ *    // initialize the script loading\n+ *    var dynLoader = qx.io.DynamicScriptLoader.getInstance();\n+ *\n+ *\n+ *    var readyId = dynLoader.addListenerOnce('ready',function(e){\n+ *      console.log(\"all scripts have been loaded!\");\n+ *    });\n+\n+ *    dynLoader.addListener('failed',function(e){\n+ *      var data = e.getData();\n+ *      dynLoader.removeListenerById(readyId);\n+ *      console.log(\"failed to load \"+data.script);\n+ *    });\n+ *\n+ *    var lastScript = dynLoader.load([\n+ *        \"myapp/jquery/jquery\"+min+\".js\",\n+ *        \"myapp/highcharts/highcharts\"+src+\".js\",\n+ *        \"myapp/highcharts/highcharts-more\"+src+\".js\",\n+ *        \"myapp/highcharts/highcharts-modifications.js\"\n+ *    ],callback,this);\n+ *\n+ *    if (lastScript === null){\n+ *      var loadId = loader.addListener('loaded',function(e){\n+ *        var data = e.getData();\n+ *        if (data.script == lastScript){\n+ *          console.log('Last Script Loaded');\n+ *          dynLoader.removeListenerById(loadId);\n+ *        }\n+ *      }, this);\n+ *    }\n+ *    else {\n+ *      console.log('Scripts have already been loaded');\n+ *    }\n+ * </code>\n+ */\n+qx.Class.define(\"qx.io.DynamicScriptLoader\", {","path":"framework/source/class/qx/io/DynamicScriptLoader.js","position":null,"original_position":83,"commit_id":"fcbb22c48afcb9ad4fb957dd8ea937dfc120d205","original_commit_id":"e7aeca8fd95f830cdc9923d01e37446f6c77c584","user":{"login":"oetiker","id":429279,"avatar_url":"https://avatars.githubusercontent.com/u/429279?v=3","gravatar_id":"","url":"https://api.github.com/users/oetiker","html_url":"https://github.com/oetiker","followers_url":"https://api.github.com/users/oetiker/followers","following_url":"https://api.github.com/users/oetiker/following{/other_user}","gists_url":"https://api.github.com/users/oetiker/gists{/gist_id}","starred_url":"https://api.github.com/users/oetiker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oetiker/subscriptions","organizations_url":"https://api.github.com/users/oetiker/orgs","repos_url":"https://api.github.com/users/oetiker/repos","events_url":"https://api.github.com/users/oetiker/events{/privacy}","received_events_url":"https://api.github.com/users/oetiker/received_events","type":"User","site_admin":false},"body":"done","created_at":"2016-09-27T21:04:27Z","updated_at":"2016-09-27T21:04:27Z","html_url":"https://github.com/qooxdoo/qooxdoo/pull/9194#discussion_r80794778","pull_request_url":"https://api.github.com/repos/qooxdoo/qooxdoo/pulls/9194","_links":{"self":{"href":"https://api.github.com/repos/qooxdoo/qooxdoo/pulls/comments/80794778"},"html":{"href":"https://github.com/qooxdoo/qooxdoo/pull/9194#discussion_r80794778"},"pull_request":{"href":"https://api.github.com/repos/qooxdoo/qooxdoo/pulls/9194"}}},"pull_request":{"url":"https://api.github.com/repos/qooxdoo/qooxdoo/pulls/9194","id":86922298,"html_url":"https://github.com/qooxdoo/qooxdoo/pull/9194","diff_url":"https://github.com/qooxdoo/qooxdoo/pull/9194.diff","patch_url":"https://github.com/qooxdoo/qooxdoo/pull/9194.patch","issue_url":"https://api.github.com/repos/qooxdoo/qooxdoo/issues/9194","number":9194,"state":"open","locked":false,"title":"Singleton DynamicScriptLoader","user":{"login":"oetiker","id":429279,"avatar_url":"https://avatars.githubusercontent.com/u/429279?v=3","gravatar_id":"","url":"https://api.github.com/users/oetiker","html_url":"https://github.com/oetiker","followers_url":"https://api.github.com/users/oetiker/followers","following_url":"https://api.github.com/users/oetiker/following{/other_user}","gists_url":"https://api.github.com/users/oetiker/gists{/gist_id}","starred_url":"https://api.github.com/users/oetiker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oetiker/subscriptions","organizations_url":"https://api.github.com/users/oetiker/orgs","repos_url":"https://api.github.com/users/oetiker/repos","events_url":"https://api.github.com/users/oetiker/events{/privacy}","received_events_url":"https://api.github.com/users/oetiker/received_events","type":"User","site_admin":false},"body":"Singleton DynamicScriptLoader based on MDynamicScriptLoader as propos ed by @level420 in #9188","created_at":"2016-09-27T12:45:25Z","updated_at":"2016-09-27T21:04:27Z","closed_at":null,"merged_at":null,"merge_commit_sha":"77765d4b165f878f334b5a64e2179437682b7c39","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/qooxdoo/qooxdoo/pulls/9194/commits","review_comments_url":"https://api.github.com/repos/qooxdoo/qooxdoo/pulls/9194/comments","review_comment_url":"https://api.github.com/repos/qooxdoo/qooxdoo/pulls/comments{/number}","comments_url":"https://api.github.com/repos/qooxdoo/qooxdoo/issues/9194/comments","statuses_url":"https://api.github.com/repos/qooxdoo/qooxdoo/statuses/fcbb22c48afcb9ad4fb957dd8ea937dfc120d205","head":{"label":"oetiker:scriptloader","ref":"scriptloader","sha":"fcbb22c48afcb9ad4fb957dd8ea937dfc120d205","user":{"login":"oetiker","id":429279,"avatar_url":"https://avatars.githubusercontent.com/u/429279?v=3","gravatar_id":"","url":"https://api.github.com/users/oetiker","html_url":"https://github.com/oetiker","followers_url":"https://api.github.com/users/oetiker/followers","following_url":"https://api.github.com/users/oetiker/following{/other_user}","gists_url":"https://api.github.com/users/oetiker/gists{/gist_id}","starred_url":"https://api.github.com/users/oetiker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oetiker/subscriptions","organizations_url":"https://api.github.com/users/oetiker/orgs","repos_url":"https://api.github.com/users/oetiker/repos","events_url":"https://api.github.com/users/oetiker/events{/privacy}","received_events_url":"https://api.github.com/users/oetiker/received_events","type":"User","site_admin":false},"repo":{"id":63147342,"name":"qooxdoo","full_name":"oetiker/qooxdoo","owner":{"login":"oetiker","id":429279,"avatar_url":"https://avatars.githubusercontent.com/u/429279?v=3","gravatar_id":"","url":"https://api.github.com/users/oetiker","html_url":"https://github.com/oetiker","followers_url":"https://api.github.com/users/oetiker/followers","following_url":"https://api.github.com/users/oetiker/following{/other_user}","gists_url":"https://api.github.com/users/oetiker/gists{/gist_id}","starred_url":"https://api.github.com/users/oetiker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oetiker/subscriptions","organizations_url":"https://api.github.com/users/oetiker/orgs","repos_url":"https://api.github.com/users/oetiker/repos","events_url":"https://api.github.com/users/oetiker/events{/privacy}","received_events_url":"https://api.github.com/users/oetiker/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/oetiker/qooxdoo","description":"qooxdoo - Universal JavaScript Framework","fork":true,"url":"https://api.github.com/repos/oetiker/qooxdoo","forks_url":"https://api.github.com/repos/oetiker/qooxdoo/forks","keys_url":"https://api.github.com/repos/oetiker/qooxdoo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/oetiker/qooxdoo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/oetiker/qooxdoo/teams","hooks_url":"https://api.github.com/repos/oetiker/qooxdoo/hooks","issue_events_url":"https://api.github.com/repos/oetiker/qooxdoo/issues/events{/number}","events_url":"https://api.github.com/repos/oetiker/qooxdoo/events","assignees_url":"https://api.github.com/repos/oetiker/qooxdoo/assignees{/user}","branches_url":"https://api.github.com/repos/oetiker/qooxdoo/branches{/branch}","tags_url":"https://api.github.com/repos/oetiker/qooxdoo/tags","blobs_url":"https://api.github.com/repos/oetiker/qooxdoo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/oetiker/qooxdoo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/oetiker/qooxdoo/git/refs{/sha}","trees_url":"https://api.github.com/repos/oetiker/qooxdoo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/oetiker/qooxdoo/statuses/{sha}","languages_url":"https://api.github.com/repos/oetiker/qooxdoo/languages","stargazers_url":"https://api.github.com/repos/oetiker/qooxdoo/stargazers","contributors_url":"https://api.github.com/repos/oetiker/qooxdoo/contributors","subscribers_url":"https://api.github.com/repos/oetiker/qooxdoo/subscribers","subscription_url":"https://api.github.com/repos/oetiker/qooxdoo/subscription","commits_url":"https://api.github.com/repos/oetiker/qooxdoo/commits{/sha}","git_commits_url":"https://api.github.com/repos/oetiker/qooxdoo/git/commits{/sha}","comments_url":"https://api.github.com/repos/oetiker/qooxdoo/comments{/number}","issue_comment_url":"https://api.github.com/repos/oetiker/qooxdoo/issues/comments{/number}","contents_url":"https://api.github.com/repos/oetiker/qooxdoo/contents/{+path}","compare_url":"https://api.github.com/repos/oetiker/qooxdoo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/oetiker/qooxdoo/merges","archive_url":"https://api.github.com/repos/oetiker/qooxdoo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/oetiker/qooxdoo/downloads","issues_url":"https://api.github.com/repos/oetiker/qooxdoo/issues{/number}","pulls_url":"https://api.github.com/repos/oetiker/qooxdoo/pulls{/number}","milestones_url":"https://api.github.com/repos/oetiker/qooxdoo/milestones{/number}","notifications_url":"https://api.github.com/repos/oetiker/qooxdoo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/oetiker/qooxdoo/labels{/name}","releases_url":"https://api.github.com/repos/oetiker/qooxdoo/releases{/id}","deployments_url":"https://api.github.com/repos/oetiker/qooxdoo/deployments","created_at":"2016-07-12T10:00:06Z","updated_at":"2016-07-12T10:00:19Z","pushed_at":"2016-09-27T14:12:58Z","git_url":"git://github.com/oetiker/qooxdoo.git","ssh_url":"git@github.com:oetiker/qooxdoo.git","clone_url":"https://github.com/oetiker/qooxdoo.git","svn_url":"https://github.com/oetiker/qooxdoo","homepage":"http://qooxdoo.org","size":230111,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"qooxdoo:master","ref":"master","sha":"e34764ac7ea74744cde1e6dd8cf9f90adfa419e7","user":{"login":"qooxdoo","id":105118,"avatar_url":"https://avatars.githubusercontent.com/u/105118?v=3","gravatar_id":"","url":"https://api.github.com/users/qooxdoo","html_url":"https://github.com/qooxdoo","followers_url":"https://api.github.com/users/qooxdoo/followers","following_url":"https://api.github.com/users/qooxdoo/following{/other_user}","gists_url":"https://api.github.com/users/qooxdoo/gists{/gist_id}","starred_url":"https://api.github.com/users/qooxdoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/qooxdoo/subscriptions","organizations_url":"https://api.github.com/users/qooxdoo/orgs","repos_url":"https://api.github.com/users/qooxdoo/repos","events_url":"https://api.github.com/users/qooxdoo/events{/privacy}","received_events_url":"https://api.github.com/users/qooxdoo/received_events","type":"Organization","site_admin":false},"repo":{"id":548213,"name":"qooxdoo","full_name":"qooxdoo/qooxdoo","owner":{"login":"qooxdoo","id":105118,"avatar_url":"https://avatars.githubusercontent.com/u/105118?v=3","gravatar_id":"","url":"https://api.github.com/users/qooxdoo","html_url":"https://github.com/qooxdoo","followers_url":"https://api.github.com/users/qooxdoo/followers","following_url":"https://api.github.com/users/qooxdoo/following{/other_user}","gists_url":"https://api.github.com/users/qooxdoo/gists{/gist_id}","starred_url":"https://api.github.com/users/qooxdoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/qooxdoo/subscriptions","organizations_url":"https://api.github.com/users/qooxdoo/orgs","repos_url":"https://api.github.com/users/qooxdoo/repos","events_url":"https://api.github.com/users/qooxdoo/events{/privacy}","received_events_url":"https://api.github.com/users/qooxdoo/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/qooxdoo/qooxdoo","description":"qooxdoo - Universal JavaScript Framework","fork":false,"url":"https://api.github.com/repos/qooxdoo/qooxdoo","forks_url":"https://api.github.com/repos/qooxdoo/qooxdoo/forks","keys_url":"https://api.github.com/repos/qooxdoo/qooxdoo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/qooxdoo/qooxdoo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/qooxdoo/qooxdoo/teams","hooks_url":"https://api.github.com/repos/qooxdoo/qooxdoo/hooks","issue_events_url":"https://api.github.com/repos/qooxdoo/qooxdoo/issues/events{/number}","events_url":"https://api.github.com/repos/qooxdoo/qooxdoo/events","assignees_url":"https://api.github.com/repos/qooxdoo/qooxdoo/assignees{/user}","branches_url":"https://api.github.com/repos/qooxdoo/qooxdoo/branches{/branch}","tags_url":"https://api.github.com/repos/qooxdoo/qooxdoo/tags","blobs_url":"https://api.github.com/repos/qooxdoo/qooxdoo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/qooxdoo/qooxdoo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/qooxdoo/qooxdoo/git/refs{/sha}","trees_url":"https://api.github.com/repos/qooxdoo/qooxdoo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/qooxdoo/qooxdoo/statuses/{sha}","languages_url":"https://api.github.com/repos/qooxdoo/qooxdoo/languages","stargazers_url":"https://api.github.com/repos/qooxdoo/qooxdoo/stargazers","contributors_url":"https://api.github.com/repos/qooxdoo/qooxdoo/contributors","subscribers_url":"https://api.github.com/repos/qooxdoo/qooxdoo/subscribers","subscription_url":"https://api.github.com/repos/qooxdoo/qooxdoo/subscription","commits_url":"https://api.github.com/repos/qooxdoo/qooxdoo/commits{/sha}","git_commits_url":"https://api.github.com/repos/qooxdoo/qooxdoo/git/commits{/sha}","comments_url":"https://api.github.com/repos/qooxdoo/qooxdoo/comments{/number}","issue_comment_url":"https://api.github.com/repos/qooxdoo/qooxdoo/issues/comments{/number}","contents_url":"https://api.github.com/repos/qooxdoo/qooxdoo/contents/{+path}","compare_url":"https://api.github.com/repos/qooxdoo/qooxdoo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/qooxdoo/qooxdoo/merges","archive_url":"https://api.github.com/repos/qooxdoo/qooxdoo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/qooxdoo/qooxdoo/downloads","issues_url":"https://api.github.com/repos/qooxdoo/qooxdoo/issues{/number}","pulls_url":"https://api.github.com/repos/qooxdoo/qooxdoo/pulls{/number}","milestones_url":"https://api.github.com/repos/qooxdoo/qooxdoo/milestones{/number}","notifications_url":"https://api.github.com/repos/qooxdoo/qooxdoo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/qooxdoo/qooxdoo/labels{/name}","releases_url":"https://api.github.com/repos/qooxdoo/qooxdoo/releases{/id}","deployments_url":"https://api.github.com/repos/qooxdoo/qooxdoo/deployments","created_at":"2010-03-05T10:01:27Z","updated_at":"2016-09-26T20:19:57Z","pushed_at":"2016-09-27T14:12:59Z","git_url":"git://github.com/qooxdoo/qooxdoo.git","ssh_url":"git@github.com:qooxdoo/qooxdoo.git","clone_url":"https://github.com/qooxdoo/qooxdoo.git","svn_url":"https://github.com/qooxdoo/qooxdoo","homepage":"http://qooxdoo.org","size":265910,"stargazers_count":530,"watchers_count":530,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":193,"mirror_url":null,"open_issues_count":55,"forks":193,"open_issues":55,"watchers":530,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/qooxdoo/qooxdoo/pulls/9194"},"html":{"href":"https://github.com/qooxdoo/qooxdoo/pull/9194"},"issue":{"href":"https://api.github.com/repos/qooxdoo/qooxdoo/issues/9194"},"comments":{"href":"https://api.github.com/repos/qooxdoo/qooxdoo/issues/9194/comments"},"review_comments":{"href":"https://api.github.com/repos/qooxdoo/qooxdoo/pulls/9194/comments"},"review_comment":{"href":"https://api.github.com/repos/qooxdoo/qooxdoo/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/qooxdoo/qooxdoo/pulls/9194/commits"},"statuses":{"href":"https://api.github.com/repos/qooxdoo/qooxdoo/statuses/fcbb22c48afcb9ad4fb957dd8ea937dfc120d205"}}}}
{"actor":{"display_login":"oetiker"}}