Thème clair opé, WIP circles
* animate.css: animations css * links.css: liens avec le fond blanc qui se déroule * links.css: WIP liens thème sombre * GitHub.ico: un petit merci à GitHub * live-concert-fg.png: image de plan rapproché : les fans * live-concert-scene.jpg: Image de fond : la scene * splash-image-2.jpg: image de fond : photo colorée, public de concert, vient de totemproduction.fr * links.css: ficher de définitions globales du style des bouttons (encore inutilisé) * yavsc.user.js: WIP implémente le widget "utilisateur", permettant l'affichage des liens rapides pour tout nom d'ulitisateur, le cas échéant, vers l'ajout à un cercle, vers son blog, vers des methodes choisies d'administateur, vers ses réseaux sociaux, voir plus. * About.aspx: Implémente une page "à propos" * Test.aspx: Page de test: désolé pour le bruit, elle n'est compilée qu'en mode `Debug` (elle n'est pas accessible en production) * NpgsqlBlogProvider.cs: Corrige la méthode pour enlever un tag à un article ... * NpgsqlBlogProvider.csproj: . * NpgsqlCircleProvider.cs: liste les cercles auquels appartient un utilisateur. * BasketController.cs: * NpgsqlContentProvider.cs: Les commandes sont fortement typée. * README.md: mise à jour des priorités * style.css: réécriture du thème clair * style.css: * implémente un classe css `clickme` pour attirer l'oeil sur le boutton de validation après la modification d'un champ de formulaire. * enlève tous les coins arrondis * modifie la chasse de caractères (une seule utilisée pour le moment) * * style.css: * integre la référence à la feuille de style des [animations](https://daneden.github.io/animate.css/) * corrige des marges, alignements * supprime ce qui reste de coin arrondi * néttoye les définitions obsolètes * définit la classe `username` * corrige le survol à la suppression de tag * FrontOfficeController.cs: renomme des methodes, refabriqué pour s'adapter aux changements de l'API du workflow, WIP propose les cercles utilisateurs pour l'ajout des profiles préstataires aux cercles. * HomeController.cs: implémente une page "à propos" * T.cs: re-autorise le titre vide de page, au cas où ... car ce n'est pas un véritable défaut fonctionnel. * YavscHelpers.cs: Implemente un outil de presentation des liens action traduits. Tous les liens action utilisent maintenant cette nouvelle methode, au profile de celle du framework `HtmlHelpers.ActionLink` * App.master: corrige l'usage du contrôle utilisateur des cotes dans le cadre des cotes de billet. * AppAdmin.master: * Index.aspx: * Service.aspx: * ProductCategory.aspx: traduction des liens action * NoLogin.master: * traduction des liens action * suppression des liens de remerciement dans le bas de page, cette information a été déplacée dans la page `/Home/Credits` * to-markdown.js: transforme maintenant les noeuds Html `div` en paragraphes Markdown. * yavsc.hidefieldset.js: Le script règle la forme de la souris au survol du bouton, le cas échéant. * yavsc.js: nouvelle fonction javascript pour logger un objet arbitraire. * yavsc.rate.js: Fixe la possibilité de mettre des cotes très basses ou très hautes (reste encore un mieux à faire), Affiche au survol des descriptions optionnelles de la cote. * Title.aspx: * UserPost.aspx: * Edit.aspx: * Index.aspx: * Brand.aspx: * Index.aspx: * PostActions.ascx: * TitleNotFound.aspx: * Booking.aspx: * Command.aspx: * ChangePasswordSuccess.aspx: Traduction des liens action * Login.aspx: * Traduction des liens actionTraduction des liens action * Profile.aspx: * Traduction des liens actionTraduction des liens action * utilisation de la classe css `mayhide` qui autorise maintenant un champ d'entrées de formulaire à être plié/déplié au click sur sa légende. * Admin.aspx: Traduction des liens actionTraduction des liens actionTraduction des liens actionTraduction des liens actionTraduction des liens actionTraduction des liens action * Backups.aspx: * RoleList.aspx: * UserList.aspx: * Index.aspx: Traduction des liens actionTraduction des liens action * Edit.aspx: * refabrication de la structure Html * Traduction des liens actionTraduction des liens action * Index.aspx: Simlpification des apperçus de blog * TagControl.ascx: refabrication pour simplifier l'implémentation du contrôle utilisateur des tags * UserPosts.aspx: Traduction des liens action, et simplification du listing de blog * Basket.aspx: Affiche les articles du panier de commandes avec leur vue dédiée à leur type (les commande sont maintenant fortement typées) * Catalog.aspx: Traduction des liens action, correctin du lien vers le produit (cassé depuis une vielle refabrication des routes) * DoAnEstimate.aspx: refabrication de la vue de création du devis: renommée depuis `Estimate` * Performer.ascx: * un message supplementaire à l'absence de compétence affichée par un préstataire * des guillemets autour du commentaire du préstataire sur sa compétence * ajout du préstataire au cercles * Performers.aspx: Décrit en détail les informations sur la disponibilité d'un préstataire, à la date demandée. * YourEstimates.aspx: renomage de cette page, pour préciser sa fonction : Vos devis. * Contact.aspx: structure Html de la page de contact * Credits.aspx: Ajoute les remerciements aux communauté du libre * Index.aspx: ne fait rien * Web.config: * import de `System.Transactions` * mise à jour des credits libres * WebDeploy.targets: utilise les séparateurs de chemin vers ficher à la POSIX, ne change rien pour ma config ... (TODO tester sous WoinDose) * Yavsc.csproj: déploie des pages des scripts Javascript et des images et feuilles de style en plus. * CircleManager.cs: implémente les methodes utilisées à la construction du contrôle utilisateur. * CircleProvider.cs: * doc xml * extension de interface * Commande.cs: l'objet `Command` devient abstrait, pour exister (être instanciée), une commande doit maintenant hériter de cet objet abstrait. * LocalizedText.resx: * LocalizedText.fr.resx: * LocalizedText.Designer.cs: * LocalizedText.fr.Designer.cs: traductions * IContentProvider.cs: doc xml * SiteSkills.aspx: renomage de cette page, pour préciser sa fonction : les compétences sur ce site.
This commit is contained in:
parent
c23b737144
commit
d999ae5a8e
82 changed files with 4856 additions and 594 deletions
|
|
@ -404,7 +404,12 @@ module.exports = [
|
|||
return '\n\n' + content + '\n\n';
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
filter: 'div',
|
||||
replacement: function (content) {
|
||||
return '\n\n' + content + '\n\n';
|
||||
}
|
||||
},
|
||||
{
|
||||
filter: 'br',
|
||||
replacement: function () {
|
||||
|
|
@ -457,7 +462,6 @@ module.exports = [
|
|||
return '`' + content + '`';
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
filter: function (node) {
|
||||
return node.nodeName === 'A' && node.getAttribute('href');
|
||||
|
|
|
|||
|
|
@ -3,34 +3,38 @@
|
|||
return jQuery.widget('Yavsc.hidefieldset', {
|
||||
options: {
|
||||
jsCallBack: null,
|
||||
disabled: false
|
||||
disabled: false,
|
||||
classOpen: 'fa-minus',
|
||||
classClosed: 'fa-plus',
|
||||
},
|
||||
button: null,
|
||||
_create: function() {
|
||||
var $ctl = $(this.element);
|
||||
var _this = this;
|
||||
var _btn = $ctl.children('legend');
|
||||
if (!this.options.disabled && _btn) {
|
||||
_btn.addClass('actionlink');
|
||||
if (!_this.options.disabled && _btn) {
|
||||
_btn.css('cursor','pointer');
|
||||
_btn.addClass('fa');
|
||||
_btn.addClass('fa-eye');
|
||||
this.button = _btn;
|
||||
_btn.addClass(_this.options.classClosed);
|
||||
_this.button = _btn;
|
||||
$ctl.children(':not(legend)').hide();
|
||||
this.button.click( function (e) {
|
||||
if ( _btn.hasClass('fa-eye') ) {
|
||||
_btn.removeClass('fa-eye');
|
||||
_btn.addClass('fa-eye-slash');
|
||||
|
||||
$ctl.children(':not(legend)').show();
|
||||
var onactivate = function (e) {
|
||||
if ( _btn.hasClass(_this.options.classClosed) ) {
|
||||
_btn.removeClass(_this.options.classClosed);
|
||||
_btn.addClass(_this.options.classOpen);
|
||||
$ctl.children(':not(legend)').show();
|
||||
}
|
||||
else {
|
||||
_btn.addClass('fa-eye');
|
||||
_btn.removeClass('fa-eye-slash');
|
||||
|
||||
$ctl.children(':not(legend)').hide();
|
||||
else {
|
||||
_btn.addClass(_this.options.classClosed);
|
||||
_btn.removeClass(_this.options.classOpen);
|
||||
$ctl.children(':not(legend)').hide();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
_this.button.click(onactivate);
|
||||
//_this.button.hover(onactivate,onactivate);
|
||||
//_this.click(onactivate);
|
||||
//_this.hover(onactivate,onactivate);
|
||||
}
|
||||
},
|
||||
})})(jQuery);
|
||||
|
|
|
|||
|
|
@ -2,14 +2,19 @@
|
|||
var Yavsc = (function(apiBaseUrl){
|
||||
var self = {};
|
||||
|
||||
self.apiBaseUrl = (apiBaseUrl || '/api');
|
||||
|
||||
self.dumpprops = function (obj) {
|
||||
var str = "";
|
||||
for(var k in obj)
|
||||
if (obj.hasOwnProperty(k))
|
||||
str += k + " = " + obj[k] + "\n";
|
||||
return (str); }
|
||||
str += " "+k + " = " + obj[k] + "\n";
|
||||
return (str); };
|
||||
|
||||
self.apiBaseUrl = (apiBaseUrl || '/api');
|
||||
self.logObj = function(obj) {
|
||||
console.log('obj:'+obj);
|
||||
console.log('-props:'+self.dumpprops(obj));
|
||||
};
|
||||
|
||||
self.showHide = function () {
|
||||
var id = $(this).attr('did');
|
||||
|
|
|
|||
|
|
@ -23,11 +23,12 @@
|
|||
};
|
||||
var id = $ratectl.data('id');
|
||||
$ratectl.addClass('rate');
|
||||
$ratectl.css('cursor','pointer');
|
||||
$ratectl.click(function (e) {
|
||||
var oset = $ratectl.offset();
|
||||
var x = ((e.pageX - oset.left) * 100 ) / $ratectl.width();
|
||||
// here, x may be greater than 100, or lower than 0 here,
|
||||
// depending on padding & mergin on the $ratectl node,
|
||||
var x = ((e.pageX - oset.left) * 100 ) / ($ratectl.innerWidth());
|
||||
// here, x may be greater than 100, (or lower than 0, i saw it),
|
||||
// depending on padding & margin on the $ratectl node,
|
||||
// when it's a span, and there is a line return within,
|
||||
// the values on second star line are false.
|
||||
// Time to sanitize:
|
||||
|
|
@ -40,21 +41,21 @@
|
|||
});
|
||||
},
|
||||
updateRate: function (ctl,rate) {
|
||||
// Using 10 half stars, it makes 11 choices (from 0 to 10)
|
||||
var rounded = Math.round(rate / 11);
|
||||
var _this = this;
|
||||
var rounded = Math.round(rate / 10);
|
||||
var HasHalf = (rounded % 2 == 1);
|
||||
var NbFilled = Math.floor(rounded / 2);
|
||||
var NbEmpty = (5 - NbFilled) - ((HasHalf)?1:0) ;
|
||||
ctl.empty();
|
||||
var i=0;
|
||||
for (i=0; i<NbFilled; i++)
|
||||
ctl.append('<i class="fa fa-star"></i>');
|
||||
if (HasHalf)
|
||||
ctl.append('<i class="fa fa-star-half-o"></i>');
|
||||
ctl.append('<i class="fa fa-star" title="'+_this.options.labels[i]+'"></i>');
|
||||
if (HasHalf) { i++;
|
||||
ctl.append('<i class="fa fa-star-half-o" title="'+_this.options.labels[i]+'"></i>');
|
||||
}
|
||||
for (var j=0; j<NbEmpty; j++, i++ )
|
||||
ctl.append('<i class="fa fa-star-o"></i>');
|
||||
ctl.append('<i class="fa fa-star-o" title="'+_this.options.labels[i]+'"></i>');
|
||||
|
||||
ctl.append
|
||||
},
|
||||
})})(jQuery);
|
||||
}).call(this);
|
||||
|
|
|
|||
48
web/Scripts/yavsc.user.js
Normal file
48
web/Scripts/yavsc.user.js
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
(function() {
|
||||
(function(jQuery) {
|
||||
return jQuery.widget('Yavsc.user', {
|
||||
options: {
|
||||
disabled: false,
|
||||
circles: [],
|
||||
},
|
||||
buttonCircles: null,
|
||||
buttonBlog: null,
|
||||
buttonInstMsg: null,
|
||||
buttonMailling: null,
|
||||
buttonAdmin: null,
|
||||
circles: [],
|
||||
_create: function() {
|
||||
var _this = this;
|
||||
var $this = $(this);
|
||||
var $ctl = $(this.element);
|
||||
if (!_this.options.disabled) {
|
||||
var roles = $this.data('roles');
|
||||
var bcounter = $this.data('blog-counter');
|
||||
var circlesspec = $this.data('circles');
|
||||
console.log('here');
|
||||
if (bcounter)
|
||||
if (bcounter>0) {
|
||||
_this.buttonBlog = $('<a><i class="fa fa-folder"></i></a>');
|
||||
$ctl.append(_this.buttonBlog);
|
||||
}
|
||||
|
||||
if (circlesspec)
|
||||
{
|
||||
_this.circles = circlesspec.split(' ');
|
||||
}
|
||||
|
||||
var text = '<form><fieldset class="mayhide"><i class="fa fa-users"></i></fieldset>\n';
|
||||
for (i = 0; i < _this.options.circles.length; i++) {
|
||||
var checked = _this.circles.indexOf(_this.options.circles[i])>-1;
|
||||
if (checked) checked = " checked";
|
||||
text += "<input type='checkbox'"+checked+">"+ _this.options.circles[i] + "</option>\n";
|
||||
}
|
||||
text += "</form>";
|
||||
_this.buttonCircles = $(text);
|
||||
$ctl.append(_this.buttonCircles);
|
||||
return $ctl;
|
||||
}
|
||||
},
|
||||
})})(jQuery);
|
||||
}).call(this);
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue