1
0
mirror of https://github.com/2ec0b4/kaamelott-soundboard.git synced 2025-12-08 23:53:24 +00:00

Révise l'utilisation de require

This commit is contained in:
Antoine
2016-05-29 20:47:35 +02:00
parent 77f1820fa5
commit 0ce3b318e4
14 changed files with 309 additions and 345 deletions

View File

@@ -162,6 +162,9 @@ header h1 {
* FOOTER
* -----------------------------------------------------------------------------
*/
.likely {
opacity: 0;
}
footer {
height: 40px;
text-align: center;
@@ -481,12 +484,12 @@ noscript p {
margin: 0;
padding: 0;
}
#app {
#main {
margin: 0 auto;
padding: 0;
width: 90%;
}
#app .uil-ring-css {
#main .uil-ring-css {
margin: 0 auto;
-ms-transform: scale(0.4);
-webkit-transform: scale(0.4);
@@ -562,7 +565,7 @@ noscript p {
.ribbon {
display: none;
}
#app {
#main {
padding-bottom: 50px;
padding-top: 90px;
}
@@ -576,7 +579,7 @@ noscript p {
header h1 {
font-size: 1.6em;
}
#app {
#main {
padding-top: 75px;
}
}

View File

@@ -45,7 +45,6 @@
<meta itemprop="description" content="Quelques-unes des meilleures répliques sonores de Kaamelott. C'était ça ou chante Sloubi.">
<meta itemprop="image" content="http://kaamelott-soundboard.2ec0b4.fr/img/ks.jpg">
<link rel="stylesheet" href="/js/vendor/likely/likely.css" media="screen">
<link rel="stylesheet" href="/css/style.css" media="screen">
</head>
<body>
@@ -56,13 +55,13 @@
<h1>Kaamelott Soundboard</h1>
</header>
<div id="app">
<main id="main" class="site-main" role="main">
<noscript>
<p>Ça va mal se mettre si JavaScript n'est pas activé sur votre navigateur</p>
</noscript>
<div class="uil-ring-css"><div></div></div>
</div>
</main>
<footer>
<div class="likely likely-light" data-url="http://kaamelott-soundboard.2ec0b4.fr/">
@@ -73,6 +72,6 @@
</footer>
</div>
<script data-main="/js/app/app" src="/js/vendor/require/require.js"></script>
<script data-main="/js/app/main" src="/node_modules/requirejs/require.js"></script>
</body>
</html>

View File

@@ -1,53 +1,44 @@
requirejs(['main'], function () {
"use strict";
require([
'backbone',
'jquery',
'marionette',
'underscore',
'likely',
'controllers/soundboard',
'views/main'
],
function(Backbone, $, Marionette, _, Likely,
SoundboardController,
MainView) {
"use strict";
define('app', function(require) {
var Marionette = require('marionette'),
Radio = require('backbone.radio'),
SoundboardController = require('controllers/soundboard'),
app;
var initialize = function initialize() {
window.App = (window.App) || new Marionette.Application();
require('css!../../node_modules/ilyabirman-likely/release/likely.css');
require('likely');
App.on("start", start);
App.addRegions({
'app': '#app'
app = Marionette.Application.extend({
initialize: function intialize() {
this.addRegions({
'mainRegion': "#main"
});
App.controllers = {};
App.controllers.soundboard = new SoundboardController();
Radio.channel('app').reply('region:show', this.showRegion.bind(this));
App.router = new Marionette.AppRouter();
this.router = new Marionette.AppRouter();
App.router.processAppRoutes(App.controllers.soundboard, {
this.start();
},
start: function start() {
var soundboardController = new SoundboardController();
this.router.processAppRoutes(soundboardController, {
"": "index"
});
App.start();
};
var start = function () {
var mainView = new MainView();
App.getRegion('app').show(mainView);
if (Backbone.history) {
Backbone.history.start();
App.trigger("backbone:history:start");
this.trigger("backbone:history:start");
}
likely.initiate();
};
},
initialize();
});
showRegion: function showRegion(params) {
this.mainRegion.show(params.view);
}
);
});
return app;
});

View File

@@ -1,14 +1,11 @@
define(
'collections/sounds',
[
'backbone',
'underscore',
'models/sound'
],
function (Backbone, _, Sound) {
define('collections/sounds', function(require) {
"use strict";
var Sounds = Backbone.Collection.extend({
var Backbone = require('backbone'),
Sound = require('models/sound'),
Sounds;
Sounds = Backbone.Collection.extend({
model: Sound,
url: 'sounds/sounds.json',
comparator: function(a, b) {

View File

@@ -1,21 +1,20 @@
define(
'controllers/soundboard',
[
'marionette',
'radios/sounds',
'views/soundboard'
],
function (Marionette, SoundsRadio, SoundboardView) {
define('controllers/soundboard', function(require) {
"use strict";
var SoundboardController = Marionette.Object.extend({
var Marionette = require('marionette'),
Radio = require('backbone.radio'),
SoundsRadio = require('radios/sounds'),
SoundboardView = require('views/soundboard'),
SoundboardController;
SoundboardController = Marionette.Object.extend({
initialize: function() {
this.soundsRadio = new SoundsRadio();
var soundsRadio = new SoundsRadio();
},
index: function() {
var currentView = App.getRegion('app').currentView;
var view = new SoundboardView();
currentView.showChildView('main', new SoundboardView());
Radio.channel('app').request('region:show', { view: view });
}
});

View File

@@ -1,25 +1,36 @@
requirejs.config({
require.config({
baseUrl: 'js/app',
urlArgs:'t=160525',
paths: {
'backbone': '/js/vendor/backbone/backbone-min',
'backbone.radio': '/js/vendor/backbone/plugins/backbone.radio/backbone.radio.min',
'hbs': '/js/vendor/require/plugins/require-handlebars-plugin/hbs',
'jquery': '/js/vendor/jquery/jquery-1.12.2.min',
'likely': '/js/vendor/likely/likely',
'marionette': '/js/vendor/marionette/backbone.marionette.min',
'underscore': '/js/vendor/underscore/underscore-min'
},
hbs: {
"templateExtension": "hbs",
"hbs/underscore": "underscore"
'backbone': '../../node_modules/backbone/backbone-min',
'backbone.radio': '../../node_modules/backbone.radio/build/backbone.radio',
'css': '../../node_modules/require-css/css',
'handlebars': '../../node_modules/handlebars/dist/handlebars.min',
'hbs': '../../node_modules/requirejs-handlebars/hb',
'jquery': '../../node_modules/jquery/dist/jquery.min',
'likely': '../../node_modules/ilyabirman-likely/release/likely',
'marionette': '../../node_modules/backbone.marionette/lib/backbone.marionette.min',
'text': '../../node_modules/requirejs-text/text',
'underscore': '../../node_modules/underscore/underscore-min',
'app': './app'
},
shim: {
'likely' : {
exports: 'likely'
'backbone': {
deps: ['underscore', 'jquery'],
exports: 'Backbone'
},
'hbs': {
'templateExtension': 'hbs',
'hbs/underscore': 'underscore'
},
'marionette' : {
deps: ['jquery', 'backbone', 'underscore']
deps: ['backbone']
}
}
});
define(function(require) {
var App = require('app');
new App();
});

View File

@@ -1,12 +1,10 @@
define(
'models/sound',
[
'backbone'
],
function (Backbone) {
define('models/sound', function(require) {
"use strict";
var Sound = Backbone.Model.extend({
var Backbone = require('backbone'),
Sound;
Sound = Backbone.Model.extend({
audio: null,
defaults: {
title: "",

View File

@@ -1,14 +1,12 @@
define(
'radios/sounds',
[
'marionette',
'backbone.radio',
'collections/sounds'
],
function (Marionette, Radio, SoundsCollection) {
define('radios/sounds', function(require) {
"use strict";
var SoundsRadio = Marionette.Object.extend({
var Marionette = require('marionette'),
Radio = require('backbone.radio'),
SoundsCollection = require('collections/sounds'),
SoundsRadio;
SoundsRadio = Marionette.Object.extend({
initialize : function () {
this.channel = Radio.channel('Sounds');

View File

@@ -1,3 +0,0 @@
<main class="site-main" role="main">
</main>

View File

@@ -1,14 +1,12 @@
define(
'views/filter',
[
'marionette',
'backbone.radio',
'hbs!templates/filter'
],
function (Marionette, Radio, SoundsFilterTemplate) {
define('views/filter', function(require) {
"use strict";
var SoundsFilterView = Marionette.LayoutView.extend({
var Marionette = require('marionette'),
Radio = require('backbone.radio'),
SoundsFilterTemplate = require('hbs!templates/filter.hbs'),
SoundsFilterView;
SoundsFilterView = Marionette.LayoutView.extend({
template: SoundsFilterTemplate,
ui: {
searchForm: 'form',

View File

@@ -1,18 +0,0 @@
define(
'views/main',
[
'marionette',
'hbs!templates/main'
],
function (Marionette, MainTemplate) {
"use strict";
var MainView = Marionette.LayoutView.extend({
template: MainTemplate,
regions: {
'main': 'main'
}
});
return MainView;
});

View File

@@ -1,15 +1,13 @@
define(
'views/sound',
[
'marionette',
'models/sound',
'hbs!templates/sound'
],
function (Marionette, SoundModel, SoundBlockTemplate) {
define('views/sound', function(require) {
"use strict";
var SoundBlockView = Marionette.ItemView.extend({
template: SoundBlockTemplate,
var Marionette = require('marionette'),
SoundModel = require('models/sound'),
SoundTemplate = require('hbs!templates/sound.hbs'),
SoundView;
SoundView = Marionette.ItemView.extend({
template: SoundTemplate,
model: SoundModel,
tagName: 'li',
ui: {
@@ -65,5 +63,5 @@ define(
}
});
return SoundBlockView;
return SoundView;
});

View File

@@ -1,25 +1,21 @@
define(
'views/soundboard',
[
'marionette',
'views/filter',
'views/sounds',
'hbs!templates/soundboard'
],
function (Marionette, SoundsFilterView, SoundsView, SoundboardTemplate) {
define('views/soundboard', function(require) {
"use strict";
var SoundboardView = Marionette.LayoutView.extend({
var Marionette = require('marionette'),
SoundsFilterView = require('views/filter'),
SoundsView = require('views/sounds'),
SoundboardTemplate = require('hbs!templates/soundboard.hbs'),
SoundboardView;
SoundboardView = Marionette.LayoutView.extend({
template: SoundboardTemplate,
regions: {
'filter': '#filter',
'list': '#list'
},
onShow: function() {
this.showChildView('filter', new SoundsFilterView());
this.showChildView('list', new SoundsView());
}
});

View File

@@ -1,16 +1,13 @@
define(
'views/sounds',
[
'marionette',
'backbone.radio',
'underscore',
'collections/sounds',
'views/sound'
],
function (Marionette, Radio, _, SoundsCollection, SoundView) {
define('views/sounds', function(require) {
"use strict";
var SoundsCollectionView = Marionette.CollectionView.extend({
var Marionette = require('marionette'),
Radio = require('backbone.radio'),
SoundsCollection = require('collections/sounds'),
SoundView = require('views/sound'),
SoundsCollectionView;
SoundsCollectionView = Marionette.CollectionView.extend({
childView: SoundView,
collection: new SoundsCollection(),
tagName: 'ul',