diff --git a/assets/javascripts/admin/adapters/provider.js.es6 b/assets/javascripts/admin/adapters/provider.js.es6 new file mode 100644 index 0000000..c55aab7 --- /dev/null +++ b/assets/javascripts/admin/adapters/provider.js.es6 @@ -0,0 +1,5 @@ +import buildPluginAdapter from 'admin/adapters/build-plugin'; + +export default buildPluginAdapter('chat').extend({ + +}); \ No newline at end of file diff --git a/assets/javascripts/admin/adapters/rule.js.es6 b/assets/javascripts/admin/adapters/rule.js.es6 new file mode 100644 index 0000000..c55aab7 --- /dev/null +++ b/assets/javascripts/admin/adapters/rule.js.es6 @@ -0,0 +1,5 @@ +import buildPluginAdapter from 'admin/adapters/build-plugin'; + +export default buildPluginAdapter('chat').extend({ + +}); \ No newline at end of file diff --git a/assets/javascripts/admin/chat-route-map.js.es6 b/assets/javascripts/admin/chat-route-map.js.es6 index 4a3bd7d..92b74e4 100644 --- a/assets/javascripts/admin/chat-route-map.js.es6 +++ b/assets/javascripts/admin/chat-route-map.js.es6 @@ -3,8 +3,9 @@ export default { path: '/plugins', map() { this.route('chat', function(){ - this.route('index', { 'path': '/' }); - this.route('provider', {path: '/:provider'}); - }); + this.route('provider', {path: '/:provider'}); + }); + + } }; \ No newline at end of file diff --git a/assets/javascripts/admin/controllers/admin-plugins-chat-provider.js.es6 b/assets/javascripts/admin/controllers/admin-plugins-chat-provider.js.es6 index 4d286e1..76dd99a 100644 --- a/assets/javascripts/admin/controllers/admin-plugins-chat-provider.js.es6 +++ b/assets/javascripts/admin/controllers/admin-plugins-chat-provider.js.es6 @@ -1,4 +1,4 @@ -import FilterRule from 'discourse/plugins/discourse-chat/admin/models/filter-rule' +import Rule from 'discourse/plugins/discourse-chat/admin/models/rule' import { ajax } from 'discourse/lib/ajax'; import computed from "ember-addons/ember-computed-decorators"; import showModal from 'discourse/lib/show-modal'; diff --git a/assets/javascripts/admin/controllers/admin-plugins-chat.js.es6 b/assets/javascripts/admin/controllers/admin-plugins-chat.js.es6 new file mode 100644 index 0000000..9a0501a --- /dev/null +++ b/assets/javascripts/admin/controllers/admin-plugins-chat.js.es6 @@ -0,0 +1,3 @@ +export default Ember.Controller.extend({ + +}); \ No newline at end of file diff --git a/assets/javascripts/admin/controllers/modals/admin-plugins-chat-edit-rule.js.es6 b/assets/javascripts/admin/controllers/modals/admin-plugins-chat-edit-rule.js.es6 index f4bde63..2faf71f 100644 --- a/assets/javascripts/admin/controllers/modals/admin-plugins-chat-edit-rule.js.es6 +++ b/assets/javascripts/admin/controllers/modals/admin-plugins-chat-edit-rule.js.es6 @@ -1,9 +1,9 @@ -import FilterRule from 'discourse/plugins/discourse-chat/admin/models/filter-rule' +import Rule from 'discourse/plugins/discourse-chat/admin/models/rule' import { ajax } from 'discourse/lib/ajax'; export default Ember.Controller.extend({ - model: FilterRule.create({}), + model: Rule.create({}), actions: { cancel: function(){ diff --git a/assets/javascripts/admin/models/provider.js.es6 b/assets/javascripts/admin/models/provider.js.es6 new file mode 100644 index 0000000..70f1166 --- /dev/null +++ b/assets/javascripts/admin/models/provider.js.es6 @@ -0,0 +1,7 @@ +import RestModel from 'discourse/models/rest'; +import Category from 'discourse/models/category'; +import computed from "ember-addons/ember-computed-decorators"; + +export default RestModel.extend({ + +}); diff --git a/assets/javascripts/admin/models/filter-rule.js.es6 b/assets/javascripts/admin/models/rule.js.es6 similarity index 100% rename from assets/javascripts/admin/models/filter-rule.js.es6 rename to assets/javascripts/admin/models/rule.js.es6 diff --git a/assets/javascripts/admin/routes/admin-plugins-chat-index.js.es6 b/assets/javascripts/admin/routes/admin-plugins-chat-index.js.es6 index 1e97fb0..b56c8d3 100644 --- a/assets/javascripts/admin/routes/admin-plugins-chat-index.js.es6 +++ b/assets/javascripts/admin/routes/admin-plugins-chat-index.js.es6 @@ -1,7 +1,7 @@ import AdminPluginsChatProvider from 'discourse/plugins/discourse-chat/admin/routes/admin-plugins-chat-provider' -export default AdminPluginsChatProvider.extend({ - afterModel(model, transition) { - this.transitionTo('adminPlugins.chat.provider', model); +export default Discourse.Route.extend({ + afterModel(model, transition) { + this.transitionTo('adminPlugins.chat.provider', model.get('firstObject').name); } }); diff --git a/assets/javascripts/admin/routes/admin-plugins-chat-provider.js.es6 b/assets/javascripts/admin/routes/admin-plugins-chat-provider.js.es6 index 914b382..37c6673 100644 --- a/assets/javascripts/admin/routes/admin-plugins-chat-provider.js.es6 +++ b/assets/javascripts/admin/routes/admin-plugins-chat-provider.js.es6 @@ -1,21 +1,23 @@ -import FilterRule from 'discourse/plugins/discourse-chat/admin/models/filter-rule' +import Rule from 'discourse/plugins/discourse-chat/admin/models/rule' import { ajax } from 'discourse/lib/ajax'; export default Discourse.Route.extend({ model(params, transition) { - - var url = '/admin/plugins/chat' - if(params.provider !== undefined){ - url += `/${params.provider}` - } - url += '.json' + console.log("Loading rules for "+params.provider) + return this.store.find('rule', {provider: params.provider}); - return ajax(url).then(result => { - var rules = result.rules.map(v => FilterRule.create(v)) - var providers = result.providers - return {provider: result.provider, rules: rules, providers: providers}; - }); + // var url = '/admin/plugins/chat' + // if(params.provider !== undefined){ + // url += `/${params.provider}` + // } + // url += '.json' + + // return ajax(url).then(result => { + // var rules = result.rules.map(v => FilterRule.create(v)) + // var providers = result.providers + // return {provider: result.provider, rules: rules, providers: providers}; + // }); }, serialize: function(model, params) { diff --git a/assets/javascripts/admin/routes/admin-plugins-chat.js.es6 b/assets/javascripts/admin/routes/admin-plugins-chat.js.es6 new file mode 100644 index 0000000..34135c4 --- /dev/null +++ b/assets/javascripts/admin/routes/admin-plugins-chat.js.es6 @@ -0,0 +1,7 @@ +import AdminPluginsChatProvider from 'discourse/plugins/discourse-chat/admin/routes/admin-plugins-chat-provider' + +export default Discourse.Route.extend({ + model(params, transition) { + return this.store.findAll('provider'); + } +}); diff --git a/assets/javascripts/discourse/templates/admin/plugins-chat-provider.hbs b/assets/javascripts/discourse/templates/admin/plugins-chat-provider.hbs index f031eb4..e8748d1 100644 --- a/assets/javascripts/discourse/templates/admin/plugins-chat-provider.hbs +++ b/assets/javascripts/discourse/templates/admin/plugins-chat-provider.hbs @@ -1,14 +1,5 @@ -
| {{rule.channel}} | {{rule.filterName}} | @@ -60,4 +51,3 @@ title="chat.reset_settings" label="chat.reset_settings"}} {{/d-button}} - diff --git a/assets/javascripts/discourse/templates/admin/plugins-chat.hbs b/assets/javascripts/discourse/templates/admin/plugins-chat.hbs new file mode 100644 index 0000000..a7e608d --- /dev/null +++ b/assets/javascripts/discourse/templates/admin/plugins-chat.hbs @@ -0,0 +1,13 @@ +