diff --git a/cms/static/client_templates/metadata_editor.html b/cms/static/client_templates/metadata_editor.html index bf618bd6f1..6780c4f1da 100644 --- a/cms/static/client_templates/metadata_editor.html +++ b/cms/static/client_templates/metadata_editor.html @@ -1,7 +1,6 @@ \ No newline at end of file diff --git a/cms/static/client_templates/metadata_string_entry.html b/cms/static/client_templates/metadata_string_entry.html index af49dc0291..647e48400a 100644 --- a/cms/static/client_templates/metadata_string_entry.html +++ b/cms/static/client_templates/metadata_string_entry.html @@ -5,4 +5,4 @@ -<%= model.get('help') %> \ No newline at end of file +<%= model.get('help') %> diff --git a/cms/static/js/views/metadata_editor_view.js b/cms/static/js/views/metadata_editor_view.js index 9665b456dd..4e35deba9f 100644 --- a/cms/static/js/views/metadata_editor_view.js +++ b/cms/static/js/views/metadata_editor_view.js @@ -24,6 +24,8 @@ CMS.Views.Metadata.Editor = Backbone.View.extend({ model: new CMS.Models.Metadata(item) }; if (item.options.length > 0) { + // Right now, all our option types only hold strings. Should really support + // any type though. self.views[key] = new CMS.Views.Metadata.Option(data); } else { diff --git a/cms/static/js/views/metadata_number_view.js b/cms/static/js/views/metadata_number_view.js new file mode 100644 index 0000000000..a1be53eafa --- /dev/null +++ b/cms/static/js/views/metadata_number_view.js @@ -0,0 +1,14 @@ +if (!CMS.Views['Metadata']) CMS.Views.Metadata = {}; + +CMS.Views.Metadata.Number = CMS.Views.Metadata.String.extend({ + + getValue: function() { + var stringVal = this.$el.find('#' + this.uniqueId).val(); + if (this.isInteger) { + return parseInt(stringVal) + } + else { + return parseFloat(stringVal) + } + } +}); \ No newline at end of file diff --git a/cms/static/js/views/metadata_option_view.js b/cms/static/js/views/metadata_option_view.js index b619747282..28c49fb3d4 100644 --- a/cms/static/js/views/metadata_option_view.js +++ b/cms/static/js/views/metadata_option_view.js @@ -18,6 +18,11 @@ CMS.Views.Metadata.Option = Backbone.View.extend({ $('#' + self.uniqueId + " option").filter(function() { return $(this).text() === self.model.get('value'); }).prop('selected', true); + if (self.model.get('explicitly_set')) { + self.$el.addClass('is-set'); + self.$el.find('#'+self.uniqueId + " .setting-clear").addClass('active'); + } + } ); }, diff --git a/cms/static/js/views/metadata_string_view.js b/cms/static/js/views/metadata_string_view.js index 2cb5c04e1b..465b75ba8b 100644 --- a/cms/static/js/views/metadata_string_view.js +++ b/cms/static/js/views/metadata_string_view.js @@ -15,6 +15,10 @@ CMS.Views.Metadata.String = Backbone.View.extend({ function (raw_template) { self.template = _.template(raw_template); self.$el.append(self.template({model: self.model, uniqueId: self.uniqueId})); + if (self.model.get('explicitly_set')) { + self.$el.addClass('is-set'); + self.$el.find('#'+self.uniqueId + " .setting-clear").addClass('active'); + } } ); }, diff --git a/cms/templates/base.html b/cms/templates/base.html index 5825cdb1b9..6649affefb 100644 --- a/cms/templates/base.html +++ b/cms/templates/base.html @@ -53,6 +53,7 @@ +