Z-10-3-11

Prism

Prism de manière indépendante de code sample

Du HTML

<div class="row">
	<div class="col2">
		<?php echo template::button('userAddBack', [
			'class' => 'buttonGrey',
			'href' => helper::baseUrl(false),
			'ico' => 'home',
			'value' => 'Accueil'
		]); ?>
	</div>
	<div class="col2 offset8">
		<?php echo template::button('userAdd', [
			'href' => helper::baseUrl() . 'user/add',
			'ico' => 'plus',
			'value' => 'Utilisateur'
		]); ?>
	</div>
</div>

Du PHP

class user extends common {

	public static $actions = [
		'add' => self::GROUP_ADMIN,
		'delete' => self::GROUP_ADMIN,
		'edit' => self::GROUP_MEMBER,
		'forgot' => self::GROUP_VISITOR,
		'index' => self::GROUP_ADMIN,
		'login' => self::GROUP_VISITOR,
		'logout' => self::GROUP_MEMBER,
		'reset' => self::GROUP_VISITOR
	];

Du CSS

/**
* Petits écrans inférieurs à 768px de largeur, on supprime les marges
*/
@media (max-width: 768px) {
	body {
		margin:0px;
	}
	#site {
		margin:0px auto;
	}
	body > header {
		margin:0px 0px;
	}
	.tippy-tooltip {
		font-size:.8rem !important;
	}
	section {
		padding: 5px;
	}
}

Du JS

/**
 * Scripts à exécuter en dernier
 */
core.end = function() {
	/**
	 * Modifications non enregistrées du formulaire
	 */
	var formDOM = $("form");
	// Ignore :
	// - TinyMCE car il gère lui même le message
	// - Les champs avec data-no-dirty
	var inputsDOM = formDOM.find("input:not([data-no-dirty]), select:not([data-no-dirty]), textarea:not(.editorWysiwyg):not([data-no-dirty])");
	var inputSerialize = inputsDOM.serialize();
	$(window).on("beforeunload", function() {
		if(inputsDOM.serialize() !== inputSerialize) {
			return "Les modifications que vous avez apportées ne seront peut-être pas enregistrées.";
		}
	});
	formDOM.submit(function() {
		$(window).off("beforeunload");
	});
};
$(function() {
	core.end();
});