start on content type setting

This commit is contained in:
Luke Pulverenti 2014-12-21 13:58:17 -05:00
parent 723e217a6f
commit 1d501de6c4
2 changed files with 57 additions and 4 deletions

View file

@ -44,6 +44,10 @@
</div>
<div style="padding: 10px 0;">
<div data-role="fieldcontain" id="fldContentType" style="display:none;">
<label for="selectContentType">${LabelContentType}</label>
<select id="selectContentType" data-mini="true"></select>
</div>
<div data-role="fieldcontain" id="fldPath">
<label for="txtPath">${LabelPath}</label>
<input type="text" id="txtPath" data-mini="true" readonly="readonly" />

View file

@ -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 '<option value="' + i.Value + '">' + i.Name + '</option>';
}).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();
});
return false;
} else {
afterContentTypeUpdated();
}
});
};
self.getDateFromForm = function (form, element, property) {