diff --git a/lib/es6_module_transpiler/rails.rb b/lib/es6_module_transpiler/rails.rb index f9fafb626d5..f932d6761fe 100644 --- a/lib/es6_module_transpiler/rails.rb +++ b/lib/es6_module_transpiler/rails.rb @@ -11,20 +11,6 @@ module ES6ModuleTranspiler @compile_to = target end - def self.prefix_patterns - @prefix_patterns ||= [] - end - - def self.add_prefix_pattern(pattern, prefix) - prefix_patterns << [pattern, prefix] - end - - def self.lookup_prefix(path) - _, prefix = prefix_patterns.detect {|pattern, prefix| pattern =~ path } - - prefix - end - def self.transform=(transform) @transform = transform end diff --git a/lib/es6_module_transpiler/tilt/es6_module_transpiler_template.rb b/lib/es6_module_transpiler/tilt/es6_module_transpiler_template.rb index 574397176e8..a8ae2070d4e 100644 --- a/lib/es6_module_transpiler/tilt/es6_module_transpiler_template.rb +++ b/lib/es6_module_transpiler/tilt/es6_module_transpiler_template.rb @@ -83,13 +83,17 @@ module Tilt end def module_name(root_path, logical_path) - path = '' - if prefix = ES6ModuleTranspiler.lookup_prefix(File.join(root_path, logical_path)) - path = File.join(prefix, logical_path) - else - path = logical_path + path = nil + + # If the resource is a plugin, use the plugin name as a prefix + if root_path =~ /(.*\/discourse\/plugins\/[^\/]+)\// + plugin_path = "#{Regexp.last_match[1]}/plugin.rb" + + plugin = Discourse.plugins.find {|p| p.path == plugin_path } + path = "discourse/plugins/#{plugin.name}/#{logical_path.sub(/javascripts\//, '')}" if plugin end + path ||= logical_path if ES6ModuleTranspiler.transform path = ES6ModuleTranspiler.transform.call(path) end diff --git a/plugins/poll/assets/javascripts/poll-controller.js.es6 b/plugins/poll/assets/javascripts/poll-controller.js.es6 deleted file mode 100644 index 5deef83b3b3..00000000000 --- a/plugins/poll/assets/javascripts/poll-controller.js.es6 +++ /dev/null @@ -1,44 +0,0 @@ -export default Discourse.Controller.extend({ - poll: null, - showResults: Em.computed.oneWay('poll.closed'), - disableRadio: Em.computed.any('poll.closed', 'loading'), - showToggleClosePoll: function() { - return this.get('poll.post.topic.details.can_edit') && !Discourse.SiteSettings.allow_user_locale; - }.property('poll.post.topic.details.can_edit'), - - actions: { - selectOption: function(option) { - if (this.get('disableRadio')) { - return; - } - - if (!this.get('currentUser.id')) { - this.get('postController').send('showLogin'); - return; - } - - this.set('loading', true); - this.get('poll').saveVote(option).then(function() { - this.set('loading', false); - this.set('showResults', true); - }.bind(this)); - }, - - toggleShowResults: function() { - this.set('showResults', !this.get('showResults')); - }, - - toggleClosePoll: function() { - this.set('loading', true); - return Discourse.ajax("/poll/toggle_close", { - type: "PUT", - data: {post_id: this.get('poll.post.id')} - }).then(function(topicJson) { - this.set('poll.post.topic.title', topicJson.basic_topic.title); - this.set('poll.post.topic.fancy_title', topicJson.basic_topic.title); - this.set('loading', false); - }.bind(this)); - } - } -}); - diff --git a/plugins/poll/assets/javascripts/poll_ui.js b/plugins/poll/assets/javascripts/poll_ui.js index 7f2362e52e5..ed5c810bb27 100644 --- a/plugins/poll/assets/javascripts/poll_ui.js +++ b/plugins/poll/assets/javascripts/poll_ui.js @@ -41,7 +41,7 @@ var Poll = Discourse.Model.extend({ } }); -var PollController = require("javascripts/poll-controller").default; +var PollController = require("discourse/plugins/poll/controllers/poll").default; var PollView = Ember.View.extend({ templateName: "poll", diff --git a/plugins/poll/plugin.rb b/plugins/poll/plugin.rb index 14f576dabb2..9a3b152b8b5 100644 --- a/plugins/poll/plugin.rb +++ b/plugins/poll/plugin.rb @@ -142,7 +142,7 @@ after_initialize do end # Poll UI. -register_asset "javascripts/poll-controller.js.es6" +register_asset "javascripts/controllers/poll.js.es6" register_asset "javascripts/discourse/templates/poll.js.handlebars" register_asset "javascripts/poll_ui.js" register_asset "javascripts/poll_bbcode.js", :server_side