diff --git a/dashboard-ui/edititemmetadata.html b/dashboard-ui/edititemmetadata.html
index f4068d16f..8c19b9188 100644
--- a/dashboard-ui/edititemmetadata.html
+++ b/dashboard-ui/edititemmetadata.html
@@ -44,6 +44,10 @@
+
+
+
+
diff --git a/dashboard-ui/scripts/edititemmetadata.js b/dashboard-ui/scripts/edititemmetadata.js
index 76a6301db..6758b736c 100644
--- a/dashboard-ui/scripts/edititemmetadata.js
+++ b/dashboard-ui/scripts/edititemmetadata.js
@@ -1,6 +1,7 @@
(function ($, document, window) {
var currentItem;
+ var metadataEditorInfo;
function updateTabs(page, item) {
@@ -21,6 +22,7 @@
$.when(promise1, promise2).done(function (response1, response2) {
var item = response1[0];
+ metadataEditorInfo = response2[0];
currentItem = item;
@@ -31,10 +33,11 @@
$('.editPageInnerContent', page).show();
}
- var metadataEditorInfo = response2[0];
var languages = metadataEditorInfo.Cultures;
var countries = metadataEditorInfo.Countries;
+ renderContentTypeOptions(page, metadataEditorInfo);
+
loadExternalIds(page, item, metadataEditorInfo.ExternalIdInfos);
Dashboard.populateLanguages($('#selectLanguage', page), languages);
@@ -99,6 +102,24 @@
});
}
+ function renderContentTypeOptions(page, metadataInfo) {
+
+ if (metadataInfo.ContentTypeOptions.length) {
+ $('#fldContentType', page).show();
+ } else {
+ $('#fldContentType', page).hide();
+ }
+
+ var html = metadataInfo.ContentTypeOptions.map(function (i) {
+
+
+ return '';
+
+ }).join('');
+
+ $('#selectContentType', page).html(html).val(metadataInfo.ContentType || '').selectmenu('refresh');
+ }
+
function onExternalIdChange() {
var formatString = this.getAttribute('data-formatstring');
@@ -871,17 +892,45 @@
var tagline = $('#txtTagline', form).val();
item.Taglines = tagline ? [tagline] : [];
- ApiClient.updateItem(item).done(function () {
+ self.submitUpdatedItem(form, item);
+
+ return false;
+ };
+
+ self.submitUpdatedItem = function (form, item) {
+
+ function afterContentTypeUpdated() {
Dashboard.alert(Globalize.translate('MessageItemSaved'));
MetadataEditor.getItemPromise().done(function (i) {
$(form).parents('.page').trigger('itemsaved', [i]);
});
+ }
+
+ ApiClient.updateItem(item).done(function () {
+
+ var newContentType = $('#selectContentType', form).val() || '';
+
+ if ((metadataEditorInfo.ContentType || '') != newContentType) {
+
+ ApiClient.ajax({
+
+ url: ApiClient.getUrl('Items/' + item.Id + '/ContentType', {
+ ContentType: newContentType
+ }),
+
+ type: 'POST'
+
+ }).done(function () {
+ afterContentTypeUpdated();
+ });
+
+ } else {
+ afterContentTypeUpdated();
+ }
});
-
- return false;
};
self.getDateFromForm = function (form, element, property) {