and each post can display a dedicated photo. * NpgsqlBlogProvider.cs: implements a blog post photo storage * BlogsController.cs: implements a method to update the photo url * style.css: yastyle * AdminController.cs: refactoring the notification: Introduces a static `Notice` method, server side, to populate an array in `ViewData`, used in the paster page. * BlogsController.cs: Controls the photo update * YavscHelpers.cs: * yavsc.circles.js: * HomeController.cs: * GoogleController.cs: notification refactoring * App.master: - notification refactoring - html structure in the `nav` * hallo.js: event 'hallomodified' now also occurs at image modifications * to-markdown.js: ?Fixes? html images alt text and title to Markdown * yavsc.js: implements the photo in database * Edit.aspx: A nicer bill edition, with a photo * UserPost.aspx: Displays the photo * UserPosts.aspx: Fixes the new usage of `ResultPages` * Web.config: totem custo * instdbws.sql: adds a `photo` field in the `blog` table * BlogEntry.cs: defines the photo in the model * BlogManager.cs: a new method to set the photo on a blog post. * BlogProvider.cs: the blog provider now also gives some photo * LocalizedText.fr.Designer.cs: Reordering the french localisation resource * LocalizedText.fr.resx: Reorders the french localisation resource
51 lines
1.3 KiB
JavaScript
51 lines
1.3 KiB
JavaScript
var Yavsc = (function(apiBaseUrl){
|
|
var self = {};
|
|
|
|
self.apiBaseUrl = (apiBaseUrl || '/api');
|
|
|
|
self.showHide = function () {
|
|
var id = $(this).attr('did');
|
|
var target = $('#'+id);
|
|
if (target.hasClass('hidden')) {
|
|
target.removeClass('hidden');
|
|
if (typeof this.oldhtml == "undefined")
|
|
this.oldhtml = $(this).html();
|
|
$(this).html('['+this.oldhtml+']');
|
|
}
|
|
else {
|
|
target.addClass('hidden');
|
|
$(this).html(this.oldhtml);
|
|
}
|
|
};
|
|
self.dimiss = function () {
|
|
$(this).parent().remove();
|
|
}
|
|
self.notice = function (msg, msgok) {
|
|
if (!msgok) msgok='Ok';
|
|
if (msg) {
|
|
var note = $('<div class="notification">'+msg+'<br></div>');
|
|
$('<a class="actionlink"><i class="fa fa-check">'+msgok+'</i></a>').click(self.dimiss).appendTo(note);
|
|
note.appendTo("#notifications");
|
|
} };
|
|
|
|
|
|
self.onAjaxBadInput = function (data)
|
|
{
|
|
$.each(data.responseJSON, function (key, value) {
|
|
var errspanid = "Err_cr_" + value.key.replace("model.","");
|
|
var errspan = document.getElementById(errspanid);
|
|
if (errspan==null)
|
|
alert('enoent '+errspanid);
|
|
else
|
|
errspan.innerHTML=value.errors.join("<br/>");
|
|
});
|
|
|
|
}
|
|
self.onAjaxError = function (xhr, ajaxOptions, thrownError) {
|
|
if (xhr.status!=400)
|
|
Yavsc.notice(xhr.status+" : "+xhr.responseText);
|
|
else Yavsc.notice(false);
|
|
}
|
|
return self;
|
|
})();
|
|
|