diff --git a/assets/javascripts/discourse/controllers/admin-plugins-explorer.js.es6 b/assets/javascripts/discourse/controllers/admin-plugins-explorer.js.es6
index 22fbed3..65c4833 100644
--- a/assets/javascripts/discourse/controllers/admin-plugins-explorer.js.es6
+++ b/assets/javascripts/discourse/controllers/admin-plugins-explorer.js.es6
@@ -1,7 +1,7 @@
import showModal from 'discourse/lib/show-modal';
import Query from 'discourse/plugins/discourse-data-explorer/discourse/models/query';
-export default Ember.Controller.extend({
+export default Ember.ArrayController.extend({
selectedItem: null,
actions: {
@@ -12,9 +12,13 @@ export default Ember.Controller.extend({
dummy() {},
create() {
- var newQuery = Query.create({name: this.get('newQueryName')});
- //var newQuery = this.store.createRecord('query', {name: this.get('newQueryName')});
- newQuery.save();
+ const self = this;
+ var newQuery = this.store.createRecord('query', {name: this.get('newQueryName')});
+ newQuery.save().then(function(result) {
+ self.pushObject(result.target);
+ self.set('selectedItem', result.target);
+ debugger;
+ });
},
importQuery() {
diff --git a/assets/javascripts/discourse/models/query.js.es6 b/assets/javascripts/discourse/models/query.js.es6
index 1f71f82..ac00458 100644
--- a/assets/javascripts/discourse/models/query.js.es6
+++ b/assets/javascripts/discourse/models/query.js.es6
@@ -14,7 +14,4 @@ const Query = RestModel.extend({
}
});
-console.log('query model loaded');
-
-Discourse.Query = Query;
export default Query;
diff --git a/assets/javascripts/discourse/templates/admin/plugins-explorer-show.hbs b/assets/javascripts/discourse/templates/admin/plugins-explorer-show.hbs
index a8180ba..6edc411 100644
--- a/assets/javascripts/discourse/templates/admin/plugins-explorer-show.hbs
+++ b/assets/javascripts/discourse/templates/admin/plugins-explorer-show.hbs
@@ -1,6 +1,21 @@
{{#if model}}
-
{{model.name}}
- {{model.description}}
- {{textarea value=model.sql}}
+
+ {{#if editName}}
+ {{text-field value=model.name}}
+ {{else}}
+
{{model.name}}
+ {{d-button action="editName" icon="pencil" class="no-text"}}
+ {{/if}}
+
+
+ {{#if editName}}
+ {{textarea value=model.description}}
+ {{else}}
+ {{model.description}}
+ {{/if}}
+
+
+ {{textarea value=model.sql}}
+
{{d-button action="run" label="explorer.run"}}
{{/if}}
diff --git a/assets/javascripts/discourse/templates/admin/plugins-explorer.hbs b/assets/javascripts/discourse/templates/admin/plugins-explorer.hbs
index 23ab322..30fb60d 100644
--- a/assets/javascripts/discourse/templates/admin/plugins-explorer.hbs
+++ b/assets/javascripts/discourse/templates/admin/plugins-explorer.hbs
@@ -1,9 +1,9 @@
+Queries
{{text-field value=newQueryName placeholderKey="explorer.create_placeholder"}}
{{d-button action="create" label="explorer.create" icon="plus"}}
{{d-button action="importQuery" label="explorer.import.label" icon="upload" class="import-button"}}
-
-Queries
-
+
+
Name |
@@ -19,7 +19,12 @@
{{/each}}
-
-{{render "admin/plugins-explorer-show" selectedItem}}
-
-{{! results }}
+
+
+
+ {{render "admin/plugins-explorer-show" selectedItem}}
+
+
+
+ {{results}}
+
diff --git a/assets/stylesheets/tagging.scss b/assets/stylesheets/tagging.scss
index 301aa41..ef5871a 100644
--- a/assets/stylesheets/tagging.scss
+++ b/assets/stylesheets/tagging.scss
@@ -1,68 +1,20 @@
-.topic-title-outlet.choose-tags {
- margin-left: 25px;
- margin-top: 3px;
+.query-list {
+ overflow-y: scroll;
+ max-height: 15em;
}
-.tag-cloud {
- .discourse-tag {
- display: inline-block;
- color: #333 !important;
- }
+.query-edit .sql textarea {
+ width: 800px;
+ height: 100px;
+ font-family: monospace;
+ border-color: $tertiary;
}
-.extra-info-wrapper {
- .discourse-tag {
- -webkit-animation: fadein .7s;
- animation: fadein .7s;
- }
+.query-edit .desc textarea {
+ width: 200px;
}
-
-.add-tags .select2 {
- margin: 0;
-}
-
-.discourse-tag-count {
- font-size: 0.8em;
- color: #999;
-}
-
-.select2-result-label .discourse-tag {
- margin-right: 0;
-}
-
-.discourse-tag {
- padding: 0;
- margin: 0 5px 0 0;
- font-size: 0.857em;
-
- /* !important is needed in the select2 widget to overwrite default styles */
- color: #999 !important;
- border: 0 !important;
- border-radius: 0 !important;
- background-color: transparent !important;
- font-weight: bold !important;
- line-height: 1.4em !important;
-}
-
-.list-tags {
- display: inline;
- margin-left: 4px;
-}
-
-.tag-chooser {
- width: 500px;
- margin: 5px 0;
-}
-
-.tag-notification-menu {
- float: right;
- margin-bottom: 10px;
-}
-.tag-notification-menu .dropdown-menu {
- right: 0;
- top: 30px;
- bottom: auto;
- left: auto;
+.query-list, .query-edit, .query-results {
+ margin: 10px 0;
}
diff --git a/plugin.rb b/plugin.rb
index d4b9112..5b15886 100644
--- a/plugin.rb
+++ b/plugin.rb
@@ -240,7 +240,7 @@ SQL
def create
# guardian.ensure_can_create_explorer_query!
- query = DataExplorer::Query.from_hash params.permit(:name, :sql, :defaults, :description)
+ query = DataExplorer::Query.from_hash params.require(:query)
# Set the ID _only_ if undeleting
if params[:recover]
query.id = params[:id].to_i
@@ -252,8 +252,9 @@ SQL
def update
query = DataExplorer::Query.find(params[:id].to_i)
+ hash = params.require(:query)
[:name, :sql, :defaults, :description].each do |sym|
- query.send("#{sym}=", params[sym]) if params[sym]
+ query.send("#{sym}=", params[sym]) if hash[sym]
end
query.save
@@ -321,7 +322,7 @@ SQL
DataExplorer::Engine.routes.draw do
root to: "query#index"
get 'queries' => "query#index"
- # POST /query -> explorer#create
+ post 'queries' => "query#create"
# GET /query/:id -> explorer#show
# PUT /query/:id -> explorer#update
# DELETE /query/:id -> explorer#destroy