start on content type setting
This commit is contained in:
parent
723e217a6f
commit
1d501de6c4
2 changed files with 57 additions and 4 deletions
|
@ -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" />
|
||||
|
|
|
@ -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) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue